In today’s competitive job market it is more important than ever for developers to be able to market and promote themselves more effectively to stand out in the crowd. There are many ways that you can do this on-top of just being a great developer. This is something I realised my self over the last 2 years.
The best tactic you can start with is to try and create a public persona, and there are plenty of ways you can do this, via blogging, micro blogging (twitter), pod-casting, screen-casting, or contributing to web communities like stack overflow.
Whatever medium you choose to adopt, the overall theme is that you are trying to help people by sharing your knowledge. This could be via in-depth technical articles, commentary and op-ed pieces, or shorter technical articles explaining how you solve a particular problem. You can pretty much guarantee that if a piece of information was useful to you, then it will be useful for someone else.
There is an excellent introductory training course about this very subject by Scott Hanselman and Rob Conery on Pluralsight called Get Involved! – Online Training Course for Developers. What is even better is that this course is completely free to watch, so you don’t need to already have a Pluralsight account, although I recommend getting one as it is a fantastic training resource. The course is an 1 hour and 49 minutes long and covers the following subjects.
- User Groups
For me, the most relevant section was the Blogging part and there were some good tips in here. One bit I thought was important was a discussion about when the act of blogging overtakes coding and you loose the balance. This is a good point and something worth keeping an eye on as it is very easy to end up just focusing on writing and not doing as much coding. I have fallen into this trap a couple of times. Scott also runs through the creation of one of his posts which is a really interesting process to watch as Scott runs a successful blog already, so his advice here is very valuable.
Another key piece of advice, which I have heard from many sources, is to decide on and keep to a regular posting schedule. This could be once a week, or more, but you have to try and stick to it. This is where running a blog becomes a real commitment instead of an adhoc bit of fun, and it is usually the bit where people fail at blogging and then end up abandoning them.
My Experiences from Blogging
At the time of writing I have been running this blog for 18 months and I keep to a schedule of 1 post a week minimum. Sometimes I write more if I have a lot to say, sometimes I just stick to the minimum. I have noticed a definite trend in traffic over the past 18 months though. When I first started I had virtually no traffic what so ever, but gradually as time went one the traffic stats started going up, people would start sharing the posts on facebook, linkedin, reddit, hacker news etc. I wouldn’t say I was a high traffic blog at all, but I am getting there. I thought I would share some average stats about my blog at this time of writing.
On an average day where I haven’t posted anything new I get around 250-300 unique visitors a day. Out of that around 40% stay on the site for longer than 2 minutes. When I publish a new post and start promoting the posts generally get a traffic spike for the next 2 days. The size of that spike depends on the type of article. The articles where I have spent a lot of time planing and preparing a long technical topic, generally get a lower initial spike of around 700-2000 visitors a day for a couple of days after publishing, and a shorter opinion piece / commentary article can get a much larger spike of anywhere from 2000 visitors to 30,000 visits in a single day, which is my current record.
The longer technical articles, although they get a lower initial burst, maintain a better traffic rate over time, where as the large spike op-ed pieces generally tail off after a few weeks into a smaller trickle, so I have noticed a definite trending pattern. The key is to write a mixture of post types.
Promoting your Posts
Once you write a blog post, you then need to promote the post to interested parties. Unless you have blog subscribers who will be notified when you write a different post or RSS subscribers, then no one will know about the post until you start to get organic traffic from search engines, but that takes time. Below are some of the ways in which I promote my-posts.
Facebook : I normally share a post on facebook as a large proportion of my Facebook Friends are also developers. You mileage may vary here. If you use Facebook mainly for family and friends, then sharing a technical article may not be relevant.
Twitter : Twitter is a great way to promote your posts if you have a good, relevant following. Also, if people like your post, then they will tent to re-tweet the post. If you are very lucky this can start a snowball effect of re-tweets. I have only experienced this 3 times, but it makes a big difference to the numbers of people coming onto your blog.
Reddit : Reddit is a social bookmarking tool where people vote on links to drive them to the top of the page. Reddit is split into different sub-reddits which are focused on different topics. Generally you are ok to promote your own posts as-long as they are relevant to the sub-reddit that you are posting too. Each sub-reddit has it’s own rules, so you should read those first, but generally just make sure your post is relevant and of value. One word of warning though, people on reddit can be quite critical when they post comments. Only post on Reddit if you are OK with criticism. Normally any criticism is constructive, but a general complaint from bloggers is that some people on Reddit can be quite rude. I have experienced this a few times, but mostly people just like a good healthy debate.
Hacker News : Hackers News is similar in concept to Reddit, but is focused just around technology. The Hacker News community are generally a good constructive bunch and some of my posts have ended up with good debates in the comments, which I really like.
LinkedIn : LinkedIn is another great place to post your articles, whether it is on your profile stream, or into specific groups. Again, you must make sure that what you are sharing is relevant to your audience.
Has it Made an Impact
I started this blog for a few reasons. First it was for self promotion and as a way to get my name out there. The second reason was as a way to practice technical writing as it was never my strong point. I wont claim to be an expert technical writer, but regularly writing and publishing has really helped me to get better at writing and planning documents, which is a very useful skill to practice.
As for the self promotion aspect, has this benefited me? Well yes it has. I am now getting many great contracting offers coming my way from companies that have come across my blog. This is great, even though I don’t want to enter the contracting market yet until my kids are little older. It has also helped me in getting a new full time job. It was a talking point of my interview and I could refer to different posts I had written on various subjects. When I applied for the job, I noticed people from the company that I applied too accessing the blog (I keep on an eye on visitors via statcounter) and reading through lots of different articles on both technical subject and some of my leadership posts It was a leadership role that I applied for. So for me, it has been very valuable on that front. I also regularly get emails from people who get in touch via the contact form, which I love. The post I wrote on transitioning from a Developer to a Manager has caused lots of people to contact me and ask my advice on the subject. This is also going to lead to a follow up article on the subject.
If you are thinking that you need to raise your profile a bit more, then you need to spend some time and effort on it in addition to being a great coder. In my opinion, blogging is a great platform to share your expertise and personal thoughts on your craft. You are not limited to blogging though, and watching the free course on Pluralsight, Get Involved! – Online Training Course for Developers, is a great way to get some ideas to get you started.
Which ever idea you try, it is going to be hard work, but you need to stick with it. Don’t expect immediate success, but prepare for a gradual return on your investment. If writing some technical articles helps you land your next dream job, then all that hard work will have paid off. Hiring managers and interviewers love talking to developers that are passionate and work on projects in their spare time, so if you have any pet programming projects, then make sure you talk about them on your blogs too. These can make great development diaries and technical how-to articles, and people are always much more receptive when there is a personal story attached.