Why developers should learn how to sell

Much has been written about Why marketing and bd professionals should learn to code. As everyone knows by now, Growth Hacker is the new VP Marketing. If you aren’t learning to code, you are going to get left behind.

Not so fast.

On the other side of the argument there are those imploring you to “Please don’t learn to code”.

6a0120a85dcdae970b016766803772970b-800wi

While the debate rages on without an end in sight, there is a much subtler point that is being overlooked in all of this.

Cue dramatic pause for effect.

Once basic coding skills become common place amongst traditionally non-technical disciplines, what are people who’s primary role is coding going to do?

Of course, there will always be a need for talented programmers, but those who got by on simply being a ‘coder’ and not having any other talent or skill are going to be left in the dust.

In fact, all hope is not lost for these coders. Look at the list of founder’s of large internet companies who like Instagrams CEO, who had no formal programming training, and the list is fairly short.

Contrast this with the ever-expanding list of coding luminaries like Mark Zuckerberg, Sergey Brin & Larry Page and Bill Gates, just to name a few. All of these formally trained engineers were forced to learn the nuances of product, sales, business development and marketing out of necessity and ended up being good enough at each of them.

So the next time that one of your non-coding friends in sales asks you wether or not they should learn to code, instead of encouraging them one way or the other, simply give tell them that you will help them learn to code, as long as they help you learn to sell.

Want start learning how to market?

Follow My Growth Hacks Board on Quora

How to Remove the Facebook Likebox Border

Facebook provides a nifty little likebox widget that can be customized to display your facebook pages current fans (or likers), but the widget comes with an ugly blue border that cannot be overridden with css because it is in a facebook iframe.

The Solution: Wrap the likebox in an extra div (with a border color set to your pages background color, and position the wrapper to overlap the likebox). Code below.

The HTML

{code type=html}

{/code}

The CSS

{code type=cssl}
#likebox-frame{
border:2px solid #F0F9F4;
width:894px;
z-index:10;
height: 156px;
overflow: hidden;
position:relative;
top:-1px;
left:-2px;
}

#likebox-frame iframe{
left:-5px;
overflow:hidden;
position:relative;
top:-1px;
}
{/code}

How to camouflage wordpress

camo

Sometimes you don’t want to broadcast to the world that your site is running on wordpress. Here are some steps to take to remove some of the “traces” of wordpress in your code.

Step 1: Update .htaccess

To mask the paths of your wp-content and theme directories in you will need to make some modifications to your .htaccess file. Place the following code at the top of your .htaccess at the root of your site.

{code type=php}

# BEGIN REWRITES

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^images/(.*)$ wp-content/themes/THEMNAME/images/$1 [PT]
RewriteRule ^css/(.*)$ wp-content/themes/THEMNAME/css/$1 [PT]
RewriteRule ^js/(.*)$ wp-content/themes/THEMNAME/js/$1 [PT]
RewriteRule ^uploads/(.*)$ wp-content/uploads/$1 [PT]
RewriteRule ^plugins/(.*)$ wp-content/plugins/$1 [PT]

# END REWRITES

{/code}

In your wp-config.php, add the following line to customize your plugin directory url.

{code type=php}
define( ‘WP_PLUGIN_URL’, ‘http://www.yoururlhere.com/plugins’ );
{/code}

Step 2: Modify functions.php

Get rid of pesky meta-data that wordpress leaves in your header with the following actions added to your theme’s functions.php.

{code type=php}

remove_action(‘wp_head’, ‘wp_generator’);
remove_action(‘wp_head’, ‘wlwmanifest_link’);
remove_action(‘wp_head’, ‘rsd_link’);

{/code}

Step 3: Remove html comments from plugins you use.

Some wordpress plugins leave behind html comments such as “powered by such-and-such”. It is generally assumed that you will leave in those comments as free advertising for the plugin author, but you are allowed to remove them if you like in almost every case.

Step 4: Modify wp-admin path

Add the following to your .htaccess file. Fully documented here

{code type=php}
RewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{QUERY_STRING} !YOURSECRETWORDHERE
RewriteRule .*.php [F,L]
RewriteCond %{QUERY_STRING} !YOURSECRETWORDHERE
RewriteRule ^ADMINFOLDER/(.*) wp-admin/$1?%{QUERY_STRING}&YOURSECRETWORDHERE [L]
{/code}

Spicing up you’re wordpress RSS feed

Here’s a nifty little function you can add to you’re theme’s functions.php
to append the post category link in you’re rss feed, but the same technique can be applied to add just about anything. This can be especially useful if some sites are scraping you’re content from you’re rss feed and you want to include a link back. It utilizes the ‘the_excerpt_rss’ and ‘the_content_rss’ hooks depending on how you’re rss feed is configured.

{code type=php}

//Add a feed link back to category level page
function feed_link($content) { global $post;

foreach((get_the_category()) as $category) {
if ($category->category_parent == 0) {
$cat_name = $category->name;
$cat_ID = $category->cat_ID;
$link = get_category_link( $cat_ID );
break;
}
}
$content = $content.'<br /><a href=”‘.$link.'”>More ‘.$cat_name.’  posts</a>’;
return $content;

}
add_filter(‘the_excerpt_rss’,’feed_link’);
add_filter(‘the_content_rss’,’feed_link’);

{/code}

The Direct Traffic Myth

Have you ever wondered how exactly “direct” traffic is measured in Google Analytics? For the most part, this traffic comes from users directly navigating to your site through their browser toolbar or a bookmark. As it turns out there could be other sources that are counted as direct traffic when they aren’t. These include ppc,display or links from other sites that for some reason don’t pass a referrer.

You can paste the following code into you’re browser toolbar after clicking through an ad to you’re site to see if (any) referrer was passed. If it’s empty than Google Analytics will count it towards direct traffic if you don’t pass any campaign tracking parameters.

{code type=javascript}
javascript:alert(document.referrer)
{/code}

How do I fix this?

1. Realize that a chunk of the traffic that shows up in your “direct” bucket ~(10-15%) could be attributed to some other source e.g (ppc,display,link). This could be from click-through traffic or type-in traffic (where people see you’re ad and type in you’re url instead of clicking on it.) The latter case is essentially free advertising and while hard to measure directly should be considered into the ROI calculation for advertising. This is why it’s always important to display a url in you’re advertisement.

2. Always use tracking parameters in your urls when possible. http://www.google.com/support/googleanalytics

Speeding up WordPress

Once your wordpress blog starts getting traffic besides your mom and cousins you will likely have to start taking measures to reduce it’s cpu footprint.

Note: Some of these methods will work on a shared host without root access, but ssh is required for some methods, like installing memcached.

Step 1: Offload Images to Amazon S3

Images generally make up a large percentage of the total page load (up to 50%, see below). By using Amazon S3 as a CDN, you can save on bandwidth costs with your host and speed up your page load times significantly.

graphs

Graph taken from the YSlow firefox plugin, a great tool to help diagnose page load performance issues.

Costs for S3 are reasonable, but can add up if you are hosting large files. Below is a report of costs for the first 10 hours of a blog that I run. Most requests are for a single image (2k in size) loaded externally.

aws

Tantan S3 is a great plugin for wordpress that links your Amazon S3 account to your wordpress blog. You can configure it such that your media uploads are sent to your S3 “bucket” on upload.

Another useful tool is S3Fox, a plugin for firefox that you can use to manage and sync files in your S3 account through your browser. You will need your S3 security credentials to set it up.

Continue reading