Do you want to get a better job?
Want to make more money?
Perhaps you just want to get a promotion at your current job or open more opportunities.
Good, you are not alone. Who doesn’t want to make more money and be more successful or have better opportunities?
The problem is most software developers don’t realize that they always need to be actively marketing themselves.
1. Start a blog
I’m going to start with the most obvious thing and it really shouldn’t take you much convincing, since you are reading my blog right now.
A blog allows you to show the depth of your knowledge much better than you could possibly do in a resume or in a short job interview.
Hiring software developers is a gamble because anyone can make up some experience or pretend to know how to program. A candidate for a software development job can even memorize common interview questions or be exceptionally good at interviewing, but it is pretty hard to fake a blog.
More importantly though, since this post is about marketing yourself as a software developer, a blog puts your name out there in the search engines for a variety of topics.
All kinds of opportunities have come my way via my blog. Almost every major advancement in my career over the last 3-4 years has in some way been a direct result of my blog.
Do you know of any “famous” software developers that don’t have a blog?
Perhaps you do, but there aren’t many. So it goes to show you, if you want to get your name out there, it is essential to have a blog.
Starting a blog is pretty easy. In fact, if you are reading this post, there is a good chance you’ve already started a blog, but perhaps you haven’t seen much success from it. That is probably due to the hard part about blogging, which is keeping up with it.
Anyone can start a blog, but to be successful at it and to really see its benefits, you have to be consistent. This doesn’t mean you have to blog 3 times a week, but it does mean that you have to be blogging at some regular interval and you have to keep it up for a long time.
An easy way to get started is to use a shared hosting plan, like the one I am currently using at BlueHost, to create a simple WordPress site very quickly for a very cheap price. If you get bigger, you eventually might need to scale out, but this is a good and fast cheap way to get started.
2. Build a network
Selling is easy if you don’t have to sell.
What I mean by this is that it is much easier to “sell” a product into an existing audience than it is to go out and look for people to buy your product.
No one wants to be sold anything, but people like to find solutions for their problems and help people they like.
So what does this have to do with marketing yourself?
Well, the next time you need a job or you are looking for a new opportunity, or even if you planning on selling a product or starting your own business, don’t you think it would be great if you could just reach out to people who already know and like you rather than cold calling recruiters or sending out impersonal cover letters en masse?
The best jobs I’ve gotten in my career and every good opportunity has been the result of someone from my network either bringing the opportunity to me or helping me get my foot in the door.
I am actually working on a product right now that will help software developers learn to market themselves and when I launch this product I’ll already have a large audience of potential customers from my network.
Building a network isn’t difficult, but it takes time and it does take some effort. Networking is not about finding out what other people can do for you, but finding out what you can do for other people.
The easiest way to build a network is to start helping people and taking an interest in what they are doing.
You should have the mindset of always networking. Every new person you meet, every person you interact with online is potentially someone who can become part of your network.
You also have to get out, meet and interact with people, both offline and online. There are many ways you can do this:
- Join local user groups
- Go to conferences
- Blog and comment on other people’s blogs
- Ask people in your network to introduce you to people they think you should meet
- Follow and interact with them people Twitter and other social networks
- Host your own dinner or get together about a topic you are interested in
And remember networking is all about what you can do for someone else, not what they can do for you; whether you believe in it or not the principle of Karma is real.
3. Build a personal brand (the best way to market yourself as a software developer)
You hear about personal brands quite a bit these days, but people are often pretty confused about what a personal brand is.
I overheard someone on a HGTV design show talking about how their personal brand was all about industrial looking modern designs or some other hogwash like that.
That person, although they were an experienced designer, didn’t understand the key concept about a personal brand: it is no different than corporate branding.
Branding is all about sending a consistent message that is recognized by some repeated stimulus which when seen instantly reminds the viewer of that message.
For example, when you see the famous golden arches, you probably think McDonalds. And when you think McDonalds, you probably think Big Macs, Quarter Pounders, Happy Meals and Egg McMuffins.
No matter where you go, if you are driving down the highway and pull off an exit to go to a McDonalds, you have a certain set of expectations about that place, which you have come to expect from repeated exposures to a consistent message associated with a distinct set of imagery.
Building a personal brand is no different than building a brand like McDonalds or Starbucks or any other brand. Decide what imagery you are going to use, and the message you are going to convey, and do it consistently.
For instance, if you come to my blog, you have a certain set of expectations about what kind of posts you will see here. You know that you won’t see some crap that I threw together in 5 minutes just so I can get a post out. You know that you are likely to get something technical, like Getting Started with Dart, or something more about developer psychology and principals, like this post.
I don’t have the budget of a company like McDonalds, and I’m still learning about personal branding myself, but everywhere I go I try to present a consistent visual image and message.
I use the same logo for Simple Programmer everywhere, and I include the same headshot, and almost all of my content somehow relates back to the idea of making the complex simple. That is what I do. I make the complex simple, whether through creating online courses for Pluralsight, writing articles in my blog, doing YouTube videos or even podcasting about Health and Fitness.
I want you to understand that when you see my logo or you see my name, you are going to be dealing with someone who genuinely wants to help you understand things that sometimes seem complex and understand how simple they really are.
So, if you want to get started building a personal brand, decide your message, decide the visualization you want to associate with that message, and start using it consistently everywhere you can.
It is all about changing your mindset
Marketing isn’t easy, but it is an essential skill that most software developers don’t realize they need to have.
Most software developers—myself included, for most of my career—think of career advancement in terms of acquiring new skills and climbing the corporate ladder, but a much more effective way to think about career advancement is to think of yourself as a business and treating your skills and unique talents as an offering that you actively promote.
This fundamental change in mindset is critical to taking your career to the next level and making a name for yourself in the world of software development. That is exactly why I am building a product around this idea that will show you exactly step-by-step how to do it.
If you are really eager to be one of the first to find out what I am doing and want to know about this mysterious product the moment it comes out, you can reserve your spot in line, by signing up here. I’ll be offering some free goodies and other stuff to some of the first people who sign up as I get closer to the product launch and need to get some early testers.
Strangely enough, this post is about why I blog.
I try to avoid posts about blogging, but I thought it might be worthwhile to think about and explain why I blog.
The mental exercise of blogging provides an opportunity for me to…
Refine my own thoughts
When I think about the why I blog, this one reason sticks out the most to me.
Sometimes, I don’t enjoy writing. Sometimes a post doesn’t end up just flowing out of my finger tips—it feels more like I am yanking a tooth out. But, I always have to go through a process of refining my thoughts on a subject and there is definitely value in that process.
Since I’ve started writing and teaching, I’ve found that my head is full of plenty of undeveloped ideas about many different topics. I’ve learned that on almost all subjects that I haven’t thoroughly examined, I have large holes and gaps in the path which leads to the conclusions I’ve formed about those subjects.
I’ve often said that you don’t truly learn something till you teach it, but before you can teach it, the thought must be refined in your own head.
Sometimes I like to think of my blog as a place where I am teething on my own thoughts. It’s often a painful process that takes a long time, until finally the enamel of a fully formed hardened idea erupts from my skull.
I’ve found that as I do blog, I start to really refine my thoughts about a subject and develop strong convictions on that subject.
Holding them loosely
I’ve come up with a saying that explains quite a bit about me.
I have strong convictions which are loosely held.
At first, this might seem like a contradiction, how loosely can you hold convictions that are strong, or how strong can they be if they are loosely held?
To me, the answer lies in the alternative. How useful is it to have weak convictions about things? To me having a weak conviction is akin to not having thought long and hard enough about a subject to form a strong conviction.
As for holding onto that conviction loosely. I basically say that I reserve the right to change my mind. There is no point in holding onto any conviction tightly, because that conviction’s soundness should be based on logic and reasoning. When that conviction’s foundation fails, so falls the conviction.
I try to live my life adhering to this principle. This is one of the reasons why you’ll find some of my posts contradictory. I’ll start out being sure of one thing, but a year later, I’ll be convinced of just the opposite. You, as a reader, are watching me grow.
Now, some people might say this makes me a waffler and unsteady, but I think I’d rather be called either of those than be stubborn or wishy-washy. I don’t see that there is a middle ground in this area.
I also tend to think of and use my blog in that way.
There are many times when I do a search on my own blog to either look for a solution to a problem that I can’t recall, or to find out why I did a certain thing a certain way. I find the blog not only captures the solution, but how and why I was thinking about a particular problem or technology.
Sometimes I just search my blog to find out what the heck I was thinking at a particular time or to self-check my progression through time to see if the present me has gained any wisdom over the past me.
In that same regard, I find that perusing my early posts is often a humbling experience. It is good to humble yourself every once in a while. It is much better to do it yourself than to have someone else do it for you. I try to remember that.
Also this reference often comes in handy when needing to quickly explain my thoughts on a matter to someone without having to try and rehash it right there on the spot. In a discussion or in answer to a question, I can often give someone a link to a blog post I have written on a subject which gives a detailed explanation of my thoughts on that subject.
Career and opportunity
I’d be lying and doing you a great disservice in representing the truth, if I tried to claim that none of my motivation for blogging comes from my own material gain.
Now I don’t get paid to blog—and I assure you when you click on one of my few Amazon associate links, I don’t get paid anything more than it basically costs to host this blog—but I cannot tell you how this blog has helped my career and opened opportunities which I would have never had before.
I’ve always felt that a blog is far better than any resume. Want to know what I think on a subject or my knowledge on an particular area? Search my blog. What to see if I am consistent or if I am actually improving my skills and learning anything over time? Check my blog.
With a traditional resume, we are often constrained to what can fit on a page or two. It is very difficult for me to explain the totality of my experience and journey as a developer in two pages, especially when I have to cram 50 keywords in there as well so that it doesn’t get filtered out by resume scanning software.
Now, not every prospective employer will look at my blog, but the ones that do and really take it into account are much more likely to be the ones that I would like to work for anyway.
Aside from just W-2 or salaried income, I feel that my blog is a launching point for so many other opportunities. Through my blog I’ve gotten opportunities to meet people I would never have met before, invitations to speak at various events, invitations to write books and plenty of opportunities to train on consult.
I’ve also found that my blog is a great medium for conveying ideas or viewpoints sometimes subtly to coworkers or management. It’s not always easy to come right out and say something, and often that approach is not best anyway.
Posting a blog post on a subject affords me the opportunity to really think about an idea and to make sure my ideas are well baked before they are presented. It also assures that my message will be heard and digested instead of quickly reacted to.
One of the main reasons I blog is that I am planting seeds that will grow my professional career. I like that idea. It makes me feel like I am building something that has lasting value rather than just getting work done for the day.
A sounding board
Often my blog serves the purpose of checking my ideas against reality. It is amazing what kind of crazy notions you can come up with just thinking about ideas in your head.
I’ve often posted on certain topics, because I am not sure what I think or I have an idea of something and I want to get a gauge from the general community if my idea makes any sense outside my head.
I’ve had plenty of posts where I’ve learned much more from the comments than I have in preparing the post. (Although sometimes it is a painful process to do so.)
Learning to write
When I look back on my earliest posts, I can definitely see a progression in my writing skills.
Writing is an important skill in just about any career, since we are always communicating our ideas.
I’ve found that the ability to effectively communicate ideas in writing ties directly to my ability to communicate ideas in all other mediums as well.
Writing, to me, is an exercise in thinking. The more I write, the better I learn to think and to express my thoughts.
So the next time you read one of my blog posts and you think "hey, that guy doesn’t know what he is talking about." you are probably right!
Remember, I am just teething on my thoughts; I may come to a completely different conclusion tomorrow or next year.
Feel free to set me straight, I won’t be offended.