Well, the day has finally arrived.
A HUGE amount of work went into creating this package and many sleepless nights were spent getting everything ready, but…
How To Market Yourself as a Software Developer is now LIVE!
If you have any questions, don’t hesitate to ask.
And a special thanks to everyone that gave me the support to put this package together and helped me with feedback on it.
For software developers, there is no guidebook that tells you how to advance from one stage of your career to the next.
Many programmers start out quickly in their careers, advancing up the ranks, only to find that they have hit the proverbial glass ceiling which caps their earnings and gives them the choice to either jump tracks to the management career plan or stay stagnant where they are.
It doesn’t have to be this way though.
In this article, I’m going to tell you how you can shatter that glass ceiling and keep on advancing.
Why the glass is there
Before we talk about how to break the glass, let’s talk about why the glass is there in the first place.
The big reason most software developers hit an imaginary ceiling on their income and career advancement is because they stay with the pack.
Most people have what I call the herd mentality. It means that you stick with the herd and you value yourself based on where you fit in the herd. If you are at the front of the herd, you are doing good. If you are at the back of the herd, things aren’t looking so good for you—you are in danger of becoming a hungry lion’s next meal.
The developers at the front of the herd make more money and have nicer offices, and the ones at the back make less and live in tiny cubicles, but they are all part of the herd. So, even though there is a difference in pay from the junior developer to the senior one, there isn’t much of a difference in pay from one senior developer to another one, even if one of the senior developers is more valuable and has more advanced skills.
Now, there are a few developer animals out there that break away from the herd. These developers have figured out that they don’t have to try and compete to be at the front of the pack, instead they can run on their own where they don’t have to worry about their position in the pack, because they can just outrun it.
This is, of course, easier said than done. In fact, I have quite a bit to say about how to go about doing this and what exactly this means, but let’s not get into that just yet.
First, I want to break up this example a bit more and apply it to real life.
As software developers, we are acutely aware of our position within the pecking order. We know which developers are higher up than us and which ones are lower. We have titles at our jobs which help us to know our place.
But, it is important to remember that the rest of the world has no idea about which developers have greater skill and can do a better job, and for the most part, they don’t care—they just see a pack. They see a pack with some developers at the front and other developers at the back.
When an employer hires you for a job, they just want to know where you are in the pack. Are you at the front? The back? The middle? They pay you accordingly based on your ranking within the pack.
If you aren’t explicitly standing out far beyond the pack, you are going to be grouped right in with the pack and paid accordingly. And once you make it to the front of the pack, you’ve got nowhere to go in their eyes—you’re already the best.
So, the glass ceiling isn’t there because someone mandated that software developers shall only make so much money and live in 5 by 5 cubicles. Instead, the glass ceiling is there, because unless you are doing something extreme enough to differentiate yourself from the pack completely, you are part of the pack and the pack is always going to stick together. That means that the average salary of software developers will be used to determine what the developers at the front of the pack will be paid, as well as what the developers at the back of the pack will be paid.
Breaking away from the pack
So, if you want to increase your value as a software developer, your goal should be to break away from the pack. But, how do you do it?
Let’s start by looking at an example outside of the software development world—the restaurant business.
Suppose you are a cook. There are quite a few cooks in the world. In fact, each restaurant in the world, whether it be a fast food joint or an elegant upscale restaurant, needs at least one cook of some sort.
Cooks run in packs. There are low level cooks who don’t make much money at all. Some of these cooks work at McDonalds or another fast food restaurant. Some of these cooks work at more reputable places, and we typically call them chefs instead.
But, you’ll probably find that most high level cooks also cap out around the same level. That is except for a few that end up having their own television shows, write books and make millions.
The same is true for musicians. There are quite a few musicians who are really good and talented, but only a small number of them break away from the pack to become rock stars. The rest are relegated to the pack.
If I asked you why you honestly think Gordon Ramsey, or Rachael Ray, or Wolfgang Puck make so much more money than other chefs, what would you say?
You might be first tempted to reply that it is because they are so much better than other chefs, but we both know that isn’t true. Sure, they are probably in the top tiers of skill level, but the real reason these celebrity chefs make so much money is precisely because they are celebrities.
They are primarily being paid for their names. There are hundreds of chefs in the world at a similar skill level, but those hundreds of chefs are relatively unknown. The same applies for musical talent and even software development.
Now, I’m not saying you need to become a celebrity to break away from the pack and advance your career as a software developer, but what you do need to learn how to do, which most celebrities and famous people already know how to do, is to market yourself.
Unfortunately, there isn’t a guidebook for software developers on marketing themselves either.
But, that is precisely why I wrote one.
Well, more than just wrote one. I put together a complete package on marketing yourself as a software developer.
I’ve been in the industry a pretty long time and I’ve made my share of mistakes. I got stuck for a pretty long time at my own personal glass ceiling, until I started to notice how the developers I would read articles from and see speaking in front of thousands at conferences, had figured out a way to break away from the herd.
I talked to many of these ultra-successful developers, (I won’t use the term rock star here, since it is so overused,) and I found out how they were doing it.
I started applying what I was learning and discovering to my own career, and it didn’t take long before I was able to really break through my own glass ceiling and see that there actually was no limit to the earning potential of a software developer who knows how to market him or herself.
Since then, I’ve been hired for dream projects at my own price. I’ve been on numerous podcasts and publications. I’ve created a successful and popular blog that gets over 100,000 visits a month, and I’ve gotten countless other opportunities.
Now I want to share the information with you.
I’ve put together the guidebook that I said didn’t exist. The one that will help you break away from the herd and put your head right through that glass ceiling.
Only it will be more than just a simple guidebook. I’ve put together a complete package which includes two complete video courses; several eBooks on topics like how to market yourself, social networks, professional resume advice, networking; and even some video interviews with top developers who have already broken away from the herd themselves and will share their secrets with you.
This isn’t a scam or some marketing mumbo-jumbo, it is real tried and tested career advice from myself and other software developers who have figured out how to make their names stand out. The fact that you are reading this post proves that what I am offering works.
I used to think I was a real hot shot.
I used to think I could conquer the entire world all by myself with just an IDE and a mechanical keyboard.
I couldn’t have been further from the truth.
(Oh, and yes that really is a picture of me—don’t ask!)
All of us are stronger than one of us
Too many software developers today have that same flawed mindset that I had back when I was running around thinking I was hot stuff.
It is a limited way of thinking that prevents you from reaching your true potential. For years, my real abilities lay dormant while I pretended to be much more than I was. I thought I knew all the answers and that anyone that didn’t agree with me was wrong.
I was caught in my own trap—one I had set for myself. I was limited by my own ideas and perspective and I was filtering out anything that didn’t agree with my preconceived notions of how software should be developed.
The reason why I was caught in this trap, wasn’t because I was a big jerk—although the Perl developers that faced my wrath would beg to differ. No, it was because I was so isolated. I wasn’t part of the community. I was in my own little world.
Bad things happen when we isolate ourselves. Our thinking and perspectives are limited, but that isn’t the only thing that happens. No only do we cut off the ability for the outside world to influence us and shape our ideas, but we severely limit our own ability to influence others.
You might not think influencing others is very important to your career, but it is one of the cornerstones of building a network. People who benefit from a relationship with you, professionally and otherwise, are people who you can rely on when you need help in the future.
Many software developers severely limit their impact and influence by avoiding the community and staying holed up in their caves.
One of the biggest pains of going it all on your own is loneliness. Yes, it is lonely out there trying to conquer the world by yourself. Even if you succeed, who will you share the accomplishment with? Many otherwise fun activities lose their charm when we don’t have anyone to share them with. Victories are less sweet and defeats are far more painful.
The benefits of community
Fortunately, you don’t have to go it alone. There is a huge software development community out there waiting to welcome you.
By joining and interacting with this community you can avoid having to face all your struggles on your own. It is always nice to have someone whom with you can share the problems you are going though. Getting an outside perspective often helps you to think about a problem in a new way or to see something you didn’t see before. At the very least it validates your problem as a real one.
When you decide to participate in the community, you are suddenly exposed to a new world of opportunities. You never know what kind of connections you’ll make and how those connections will benefit you in the future. I’ve met so many people that have positively influenced my life or gave me that extra push through my involvement with the community.
But, perhaps the biggest draw to joining the developer community is the feeling of belonging to something bigger than yourself. The software development world is huge and it is easy to feel like you are just a small little voice in a room full of people shouting at the top of their lungs. When you join the community, you identify with the accomplishments of everyone in it. You go from a small little voice on your own to an integral component of a choir. Suddenly your voice individually doesn’t matter as much, but collectively it is much more important.
How to get involved
By now you might be agreeing with me that interacting with the software development community is valuable—both to your career and to your well being. But, how do you actually get involved and become part of the community?
There are many ways to get involved in the software development community, but one of the easiest ways is to just start being social.
Step outside into the fresh air and share what you have learned and the struggles you are facing. Jump on social networks like Twitter or Facebook and start a conversation. You can find groups on communities like LinkedIn and Google+ where many different developers or congregating.
You can even comment on other people’s blogs—or better yet start your own blog. If you are reading this post now, leave a comment and get involved. Instead of just reading blogs passively, start a conversation.
And don’t forget, networking events and user groups. There are plenty of user groups around most metropolitan areas that you can get involved with. If you can’t seem to find one, you can always start your own mastermind group with a couple of other developers to meet weekly and discuss problems each of you are facing.
Finding your unique gift
The most valuable members of any community are those members who can carve out a niche for themselves and provide specific guidance and advice to the community in that particular area.
Take some time to think about what your own personal brand is and what you would like to be known for. Do you have an interest in mobile development on Android? Are you a C# language guru? Perhaps, you are just comic relief for an overly stressed environment. Find something that you can do to contribute to the community in a unique way.
They key to a thriving community: giving value
There are many ways you can contribute to the software development community.
A good place to start is by creating your own blog and sharing what you know and what you learn with others there. Blogs are a very valuable resources for software developers and if you spend time writing blog posts, others will appreciate and start to recognize your contributions.
If you feel a bit more adventurous, you can create your own Podcast. Compared to many communities, there is a real shortage of podcasts in the developer community.
Writing a book, even if you just self-publish, is a way to contribute to the community and make some money while doing it—although, don’t expect to get rich from book sales alone.
And, of course there is open source. Many open source software projects need developers who are willing to put in some time and goodwill to help get them off the ground or to keep up with the maintenance associated with any large scale software effort.
The key thing to remember is that you help the community by creating value for others. A majority of it should of course be free, but not all of it has to be free to be valuable.
If you are with me so far, you agree that being actively involved in the software development community is a good thing and you know some ways to do it, but talking about it and actually doing it are two different things. So, how do you actually get started?
Well, the easiest way is to just jump right in and get involved in whatever way you can. You don’t have to be a genius or an expert on a topic to blog about, talk about it, or just share your excitement. In fact, sometimes being a beginner is a big asset.
If you want a little more help though—I know writing your first blog or trying to speak in front of an audience can be extremely unnerving—I’ve got something you might be interested in.
Next week on March 27th, I’ll be launching a brand new program called “How To Market Yourself as a Software Developer.” In this complete package, you’ll find lots of advice about how to get involved in the community by learning how to create a blog, and in other ways as well.
I think you’ll be particularly interested in my interview with Derick Bailey who is the creator of the popular open source project, Marionette.js. In that interview Derick explains exactly how he got involved in the the development community and how it benefited his career.
After talking with many software developers from all around the world, I’ve come to a pretty startling conclusion: most developers hate their jobs.
I guess it might not be all that startling to you—especially if you are one of them—but, to me, it was kind of a shocker.
I’ve definitely had some jobs I’ve hated, in the past—one in particular. I won’t name names, but I do recall one job I had where my boss was a complete a-hole. I was supposed to be a “programmer,” but he had me running all around a certain big city associated with an apple, doing tech support.
Now, I don’t mind doing tech support—when I am 16 and broke as $#!^.—but, as a kick-ass C++ programmer who just saved the company hundreds of thousands of dollars by reverse engineering some propriety binary format and writing a C++ program to interpret the data, I felt my talents were being… underutilized.
On top of that, I had to wear a tie to the office every day and he monitored—and questioned—my every move. It was like living in prison, only I didn’t get to go out to the yard and lift weights.
Anyway, when the day came that I finally got laid off from that job, I was ecstatic. It was like I was just told that I had won the lottery or my dead dog had come back to life. (Ok, I’m not so sure about the second one, but you get my point.)
What about you? What do you dislike about your current job?
Perhaps you aren’t quite in the same position I was, but you just have some things that annoy you about your present circumstances—or, maybe you do really wish your boss would die in a horrific car accident—either way, I’m going to take a shot at guessing what’s bothering you.
Your work is not interesting—you want to do cool stuff
Let me guess. When you interviewed for the job, they promised you that you’d get to use the latest version of ASP.NET MVC and do test driven development. The only problem is when you actually started your first day of work, you ended up maintaining some legacy VB6 application that you deploy right into production every night?
Ok, so it might not be that bad, but there is a good chance that if you are unhappy with your current job it is because you are doing work that you don’t find interesting. You want to work with the latest technologies. You want to use that new-fangled Angular.js framework and run it on Node—I know, I get you. I’m with you on that one.
Your boss is a jerk
Sometimes the perfect job is ruined just by having a bad boss. What is that principle that causes a good engineer to get promoted up to an incompetent manager? Oh yeah, the Peter Principle. Let’s just pretend, the current douchebag that is barking orders at you and micromanaging everything you do got promoted because he was a brilliant engineer.
Anyway, having a bad boss sucks. And there isn’t much you can really do about it. If you are in this position, I feel sorry for you—really.
You hate the commute
Ugh. Driving. Ugh traffic. Ugh stupid inclement weather making you late.
I don’t commute anymore, but when I did, it sucked. I hated getting up every morning, getting dressed, scrambling to grab my coffee and get out the door and then driving to some dreary office building.
Sometimes the biggest detriment to job satisfaction has nothing to do with the job itself.
Forced to work too many hours
It is easy to fall into this trap. You take a job and expect to work a normal 40 hour workweek only to find this unspoken expectation that you will work 10 hour days and come in on Saturdays. You answer work email from home. You always feel like you are on the clock.
“I’m going to need you to come in on Saturday… mmmmkay?”
Not doing something meaningful
This one is a big one. If you don’t feel like what you are doing matters, it is hard to find the motivation to keep doing it. I’ve been at plenty of jobs where it felt like the work I was doing was not appreciated and didn’t really matter.
If you work for a small company or startup, this probably isn’t the case, but all too often in the corporate world developers are absorbed into the collective and feel like their individual contributions don’t really count towards much.
No opportunity for advancement
Perhaps the worst feeling of any job is that you have nowhere to go. Maybe you are already at the top of the development track, or maybe the company you work for doesn’t really have any kind of career path laid out for technical people.
It is really easy to bump your head against that glass ceiling and feel like you are just wasting away your years grinding out project after project with no rainbow in sight.
What can you do about it?
Ok, so you might be wondering where I am going with all this. My goal isn’t to make you depressed and hate life. No, instead, I want to tell you what you can do about your situation to make it better.
Interested? Good. Read on.
The obvious solution to hating your job is to find a new one—or even strike out completely on your own. But, finding a new job is sometimes a scary proposition. Most of us would rather stick it out in a non-ideal situation than deal with the pain and fear of change.
But, if you are ready for change—or at least if you are considering it—here are some practical things you can do to help you get a better job.
Improve your skills
The first place to start is with improving your existing skills and perhaps acquiring a few new ones.
If you are stuck in a job you hate, try dedicating the first couple of hours each morning—before you head into the office—to improving your skills and learning new ones.
By paying yourself with the first couple of hours of your day, you’ll make sure you are able to devote some quality time to your own personal development, before your soul-sucking job drains you of the will to live.
I’ve found early morning is the best time to get some uninterrupted time to grow as a developer. Sure, you’ll have to wake up a bit earlier, but it is worth the sacrifice. Just trade a couple of hours at night for some in the morning—you’ll be glad you did.
Learn how to market yourself
If you’ve been following my blog, you probably know it is getting close to the launch date for my “How To Market Yourself as a Software Developer” package, so it probably comes as no surprise that I was going to find some way to plug the course in this post.
But, in all seriousness, and awesome courses you should definitely buy aside, you really do need to learn how to market your skills if you want to get a better job and have better opportunities. I know I beat this horse to death, but I only do so because it is so vitally important.
The truth is, most software developers have the skills they need to get an excellent job—to get the job of their dreams—but, the one thing holding them back is exposure. No one knows that they exist and no one knows the skills they posses.
Most developers aren’t good at personal branding and marketing—I know I wasn’t. I had to learn things the hard way and study quite a bit on the subject. But, guess what? It paid off big time.
Once I learned how to effectively market my skills, I was in the position of turning down job offers instead of worrying about how I would find a new job if I ever lost mine or just couldn’t take it anymore. I’ll tell you the truth, learning these skills easily quintupled my salary. Yes, that is right, quintupled, as in I make 5 times as much money now as I did when I didn’t know how to market myself.
Oh, I have your attention now?
Sign up here and you’ll be one of the first to know when I launch “How To Market Yourself as a Software Developer” on March 27th. I’ll also send you a 20% off discount code right to your inbox on the day of the launch.
Bonus: with the right skills you can work from anywhere in the world
I thought I’d throw this one in there since so many people often fantasize about being able to work from the comfort of their own home or to travel the world working from their laptop.
One major benefit of developing your skills and learning to market those skills effectively is freedom—that’s right, freedom.
When you are in high demand, you have many options to choose from, instead of being forced into the only option that is available to you. A skilled software developer who posseses the knowledge to market those skills can find many different ways to work remotely and on their own terms.
You can get the remote, work-from-home jobs, that everyone wants. Those jobs are hard to come by, but if you have a solid reputation and know how to advertise your skills properly, all kinds of doors open for you.
You can also get out on your own and start your own consulting business. When clients are coming to you because of your name and reputation, you can literally just pick up and work wherever you want without having to worry.
So, if you hate your job, don’t despair. Help is within reach, you’ve just got to be willing to invest a little time and money to reach it.
Oh, and if you know someone who needs to read this post… share the love.
Software developers usually make pretty decent salaries, but did you know that companies that hire software developers usually make much more money off of a single software developer than they pay that software developer?
I guess, if you think about it, it is common sense. Why hire programmers if those programmers don’t make more money for your company than the salary you are paying them?
But sometimes this disparity between what a software developer actually makes and the value that software developer brings to the table is large—sometimes it’s really large.
In fact, if you are being paid an hourly rate as a contractor, you are probably making about half of what the client is being billed for, if even that.
Being a commodity
One of the big problems many software developers face is that they can be easily treated as a commodity.
This problem is becoming more and more prevalent as basic programming skills become easier to come by and more and more people are becoming programmers all over the world.
If you go onto oDesk or ELance today, you can find software developers willing to write code for less than $10 an hour; you can find really good software developers writing code for $25 an hour.
If you are letting yourself be treated like a commodity and the price of that commodity is dropping, you are in big trouble.
Forget about job security at a single job. You’ve got to worry about your entire career and all the investment you put into your skills.
If you want a long and prosperous future doing what you love to do, you’ve got to be able to justify why someone should hire you and keep paying you at your current rate instead of hiring someone at $10 an hour to do the same work.
What makes something a commodity?
In order to solve this problem, you’ve got to examine what exactly it is that makes something a commodity.
But, before we go any further, let’s take a moment to make sure we are on the same page about what a commodity is.
I like this definition from the Wikipedia entry on Commodity:
“The exact definition of the term commodity is specifically applied to goods . It is used to describe a class of goods for which there is demand, but which is supplied without qualitative differentiation across a market.”
The key thing here is “without qualitative differentiation across a market.”
This means that if the service or product you provide isn’t much different than what everyone else is selling, it can be considered a commodity. And, as such, the price will be determined by the market, not by the actual value you provide.
So, even though you may be providing your employer with $500,000 worth of value per year by writing code, your employer can turn around and pay you whatever the market says a software developer with your years of experience and skill level is worth.
That is unless…
You find a way to be something more than a commodity
That is the key to being paid what you are actually worth instead of what the commodity market for software developers says you are worth.
But, it isn’t easy to stand out. It isn’t easy to be perceived as something more than a commodity if you don’t know how to do it.
I want to show you an example of how some people break out of commodity markets and differentiate themselves to make more money.
Have you ever heard of a voice-over?
A voice over is when you have someone who has good oratory skills or a particular accent, or sounds create a recording for something like an advertisement or a cartoon character’s voice in a cartoon.
There is quite a big market for people who do voice overs. Just about every radio ad, podcast advertisement, and animated film or show needs voice over talent to create voice overs.
But, did you know it is a commodity market?
That’s right; I can actually go onto Fiverr.com and pick from a multitude of skilled voice over actors to do a voice over for me for $5. Not only can I do it—I have done it. I’ve hired two different voice over actors to do voice overs for my podcast for just $5.
But, believe it or not, some voice over actors get paid millions of dollars each year to do basically the same work.
So, what separates the voice over actors who get paid millions from the ones who get paid five bucks?
I’ll give you a hint—and it’s not talent—it’s marketing.
Those voice over actors that are making the big bucks have figured out how to market themselves to land the right gigs, which increases the value of their name and gets them more and higher paying gigs.
If you don’t believe me, go on Fiverr.com yourself and check out the talent level of some of the top people on there that are doing voice overs for just five dollars—you will be impressed.
No one tells software developers how to market themselves
In the entertainment industry self-promotion and marketing is the name of the game.
There are whole companies that do nothing but market talent. I mean, actors have agents, so do musicians, and yes, even people who do voice overs have agents… at least the successful ones do.
But, when it comes to software development, you are not very likely to find the same kind of resources of knowledge about self-promotion and advertising that envelope the entertainment world.
Have you ever heard of a software developer having an agent?
Well, even though it sounds silly, you’ve got to be your own agent if you want to rise above the crowd and stand out. If you want a chance at making the big bucks and setting your own price, you’ve got to figure out how to market yourself.
There are plenty of software developers that are already doing it. You’ve heard them on popular podcasts and read articles written by them in trade magazines or heard them speak at conferences.
But, no one ever talks about how they achieve their success… at least not until now.
Over the past few years, I’ve been talking to developers who have broken away from the herd. I’ve studied their careers and asked them about how they’ve achieved their success. I’ve been able to duplicate their results to a large degree myself, and since no one else is doing it, I want to share that information with you now.
Check out this package I am putting together called “How To Market Yourself As A Software Developer.” I’m going to be launching this this package, on March 27th.
Well, I hope this article has been helpful to you and helped you realized that you’ve got to make a fundamental shift in your thinking if you want to be able to really advance your career and not be treated like a commodity.
If you are a regular reader of my blog, you probably know that for the past few months I’ve been working on a really big project.
I get many emails from developers wanting to know how to boost their career by either finding a new job, starting a consulting business, or even just getting a raise.
I try to help as many of these developers as much as possible through emails and Skype calls, but there is only so much of me and those types of communication don’t easily scale.
I was trying to figure out how to solve this problem
Then, I had an idea…
What if I put together a full program which teaches developers what I think is the most important skill required in boosting their career—marketing themselves?
I don’t mean the cheesy kind of marketing yourself that gives marketing a bad name. I mean the true, down-to-earth, I want to help someone and by helping them I’ll build a reputation for myself, marketing.
I found in my career, this approach to marketing—of providing value to others—was the single most impactful thing I had done to increase the amount of money I make and to open up all kinds of opportunities for me.
So, that is how the idea was born. My Pluralsight courses on all kinds of technologies were very popular, but I feel like the biggest value I could provide—more valuable than any technical course—is to show developers how to get out there and build a name for themselves in the community.
Here is what I created
I didn’t want to just create a normal video tutorial. I feel like the material in this course is better served by a combination of video, books, interviews and more.
I want developers who buy the package to feel like they are getting a huge value for the price. I want to make sure that I am not leaving out any of the advice I would have given my younger self if I had a time machine and could travel back in time.
I started out by writing the flagship book for the course, “Why Marketing Yourself Is Important.” I feel this book is a good starting point for the program and gives readers an understanding of what exactly the value of marketing yourself is and what exactly it entails.
The book is designed to introduce the concepts that are covered in more detail in other parts of the program and to get a reader more familiar with these concepts so that they understand where each piece fits in.
Next up, I created the “Building a Brand” video course. The goal of this course is to talk about the importance of building a brand and show viewers exactly how to do it. I want to cover more than just the surface level understanding of what a brand is and really dive deep into what makes a great personal brand and the value having a great personal brand can bring.
I wanted this course to be structured like you are having a real conversation with me. So, I shot a majority of the course in full HD video with me talking into the camera. In this course I take you from the basics of understanding what makes up a brand all the way to the creation of your own brand and I answer the most common questions related to personal branding that I have received from talking about this topic at code camps and conferences.
Since having a blog is a central part of the strategy I recommend, I created a full step-by-step course that shows you how to build a blog from scratch and gives you the tools and advice I’ve learned over the years for making your blog successful.
In this course I go over all the options for setting up a blog, including free hosting, shared hosting and using a full blown virtual private server. But, I don’t want to just talk about building blogs, so I took the extra steps and actually show you how to create a blog using each possible option.
I end the course by giving you all the tips and tricks I’ve used to build this blog up to a blog that gets over 100,000 visitors each month—around 3 thousand per day on average.
I feel that learning to use social networks effectively is a very important skill for getting your name out there and spreading the content you create. So, I wrote another book called “The Ultimate Developer’s Guide to Social Networks.”
In this book, I lay out my overall strategy for gaining traction on social networks. I talk about concepts like building an audience and connecting with people. I cover my strategies for each of the major social networks. I also give a run down of all the tools I use to manage my social networks effectively and not spend hours each week keeping up my presence in them.
One area that I feel is sorely lacking for most developers is the area of creating a good resume. So, I decided to write a “Resume Advice That Will Make Or Break You” in the form of: do this, don’t do that. I included all the best resume advice I’ve gotten from recruiters and hiring managers over the years along with tips that I’ve used myself to land good jobs and negotiate higher salaries.
Next, comes the big topic of getting your name out there. I decided to write “The Complete Guide to Getting Your Name Out There” to cover this topic in detail. In this book I talk about all the different mediums you can use to get your name and brand out there where people can see it.
I start out by talking about how to get people coming to your blog. Then, I give you some advice on getting published in magazines or other blogs. I cover writing your own book and either self-publishing it or getting it published by a traditional publisher. I even talk about all the tips and tricks I use to create video tutorials and screencasts or shoot high quality YouTube videos. I also cover the topic of getting on developer podcasts or creating your own podcast—it isn’t that hard. And finally, I give you some practical advice on getting out there in the community either by speaking or through open source. There is a ton of information packed into this book.
I really want to make this package valuable, so I didn’t stop there. I created a list of networking do’s and don’ts and I hired a graphic designer to create a beautiful inforgraphic out of it. I am really happy with how this thing came out. In this infographic I reveal all the networking secrets I’ve learned over the years from countless books, articles and just plain old trial and error.
Finally, I reached out and contacted the most prominent and well know software developers I could think of. I was able to get Bob Martin, Jeff Atwood, Jon Skeet, Rob Conery and a bunch of other developers to let me interview them. I feel like these interviews alone are worth the price of the course—Mark Freedman, even agrees with me.
— Mark Freedman (@MarkFreedman) March 9, 2014
In these interviews I dig deep into what made these famous software developers so successful. They share plenty of secrets I haven’t heard anywhere else. One interview in particular that I think you’ll find extremely valuable is the one I did with Pinal Dave. Pinal is the creator of SQLAuthority, an extremely successful blog that gets over 1.8 million views per month. That’s right 1.8 million! For the first time, he shares his secrets to success.
I’ll also be updating the package with more interviews and other content as I get feedback about the content. I want to make this package as dynamic as possible.
When does it go live?
So, you might be wondering when this course goes live. Well, if you preordered the package, you’ve already gotten most of the content I’ll be launching with.
But, if you didn’t preorder, you can get the full finished package on March 27th. If you are a subscriber to my email list, you’ll get a nice hefty discount code in your email on the day of the launch.
Man, am I tired
I do have to say, I am exhausted from working on this package. I’ve never put so much effort into a single project in such a relatively short time-frame. I spent countless hours up late at night working on parts of the package. But, I think it was all worth it, because I am extremely happy with the way everything turned out. I am 100% confident this course will help developers learn the skills they need to market themselves and boost their careers.
Nothing can paralyze you worse than the fear of losing your job. If you are afraid that you might lose your job, you are likely to act in ways that are neither in the best interest of your employer or yourself.
How to know if you are afraid
It might seem like an obvious thing, but it isn’t always that easy to tell if the actions you are taking are motivated by fear or something else.
One big question you have to ask yourself is: if I suddenly lost my job today, how would I feel about it?
I would venture to guess that most developers would be pretty scared. Especially if you don’t have much of a savings built up or prospects for another job.
If you would be scared if you lost your job, chances are you are acting out of fear now. Fear is bad, because it limits your actions and causes you to make timid decisions.
How many times have you been in the situation where you are working on a project and you discover some flaw or issue with the way the project is proceeding?
What do you do in that case?
How you handle this situation has quite a bit to do with fear. If you are afraid of losing your job, you may be inclined to ignore the issue completely—better to not rock the boat.
If you are mildly afraid or insecure in your job, you might bring up the issue, but quickly let it go if you face any resistance.
If you are confident in your job and your future prospects, you might take it upon yourself to fix the issue, because you know it is the right thing to do—consequences be damned.
(Uncle Bob, has a great blog post about this exact subject called “Saying NO”)
Anyway, the point is that you will act differently based on fear. So, to some degree, you can judge your fear level by how you are acting.
Are you afraid to speak up in meetings?
Are you afraid to do things without permission, even if you know they are the right things to do?
Do you constantly worry about appearing valuable rather than producing real value?
At some point in my career, I’ve answered “yes” to all of these questions, so I know there is a good chance that you have as well.
What you can do about it
Ok, so you are afraid, so what? What can you actually do about it?
Well, it turns out there is quite a bit you can do about your fear of losing your job. It is important to take proactive steps to address your worst case scenarios so that they don’t bother you on a daily basis.
First off, you need to have some amount of savings. No matter how secure you are in your job or in your ability to get another job, you need to know that if you get the axe today, you’ll be able to pay your rent tomorrow.
How much savings do you need? It depends on what will make you feel comfortable. For me, I need about 6 months worth of salary sitting in the bank to feel comfortable. (I’m pretty conservative, I know.) For someone else it may be just a few weeks or a couple of months. It helps to think about losing or quitting your job today and then consider how long you’d need to have your expenses paid to feel like your life wouldn’t go down the toilet.
I’m pretty frequently surprised to find out how many people—especially software developers—are living paycheck-to-paycheck. Don’t do that to yourself. It is not a good way to live. If you insist on living paycheck-to-paycheck, you will always live in fear. But what do you do if you are already in this situation?
Start by reducing your monthly expenses. It might take drastic measures like getting a smaller house or smaller apartment and cutting cable, but I’d much rather live with some sense of security and a fewer amenities, than living in a dream bubble that could pop at any time.
After you reduce expense, start putting away a percentage of your paycheck each month to an emergency fund. I’d recommend saving at least 10-20% of your paycheck into this emergency fund until you have a big enough buffer that you no longer feel like you are under the gun.
Just having a cushion you can rely on will go a long way toward reducing your fear of losing your job, but there is much more you can do.
(By the way, if you haven’t read Rich Dad Poor Dad, I highly recommend it. It will change your thinking about finances for the positive.)
Becoming more marketable
I’ve found that once I’ve made sure that I’ve got a buffer in place, the biggest factor that makes me feel secure in my career is how marketable my skills are.
I’ve written about marketing yourself as a software developer several times and I’m producing a complete course to show you exactly how to do it, so I won’t go into the details here, but I want to talk about why it is so important.
By learning how to market yourself, you can make it much easier for you to find a job or other opportunity if you ever need one. Let’s consider some extreme cases, like Scott Hanselman.
Scott is a very well known software developer who currently works for Microsoft. Now, if Scott ever lost his job or was looking for a new job, how quickly do you think he could get a new job? Probably within less than a day. In fact, he could probably get several job offers within a matter of hours. And if he wanted to pick up some freelance consulting work to start a consulting or other venture, do you think he’d be able to find clients pretty easily?
Now, obviously, we aren’t all going to be as famous as Scott Hanselman is in the development world, but I could name at least 50 developers that I know by name whose reputations in the community would be enough credibility to land them a good job in less than a day.
If you put in the effort—and I can show you how to do it—you can market your skills and experience to the world and create for yourself the kind of “career security” that you can’t get from any single employer.
Talk about getting rid of fear. If you know that you can get a new job within a week, and you’ve got a little bit of money in the bank to act as a cushion, how could you possibly fear losing your current job?
Life beyond fear
So, what does life beyond fear look like?
When you aren’t afraid of losing your job, you act with much more confidence, because you aren’t afraid to take risks. You find more opportunities, because you stop seeing things as a threat and start looking for how you can benefit from a situation.
When I first stopped being afraid of losing my job, I started speaking out more and getting much more involved in the architecture of the software I was building. The fearlessness led to promotions and increased contributions to projects, because very few people are willing to honestly speak their mind. Paradoxically, most employers actually like it when you aren’t afraid to disagree with them and argue for what you think is right. You are being paid to be a professional, so you are expected to act like a professional.
It is also quite nice to know that you don’t have to put up with crap. Is your boss being inappropriate and yelling in your face? Good. If you know you can get another job tomorrow, you can tell him how you expect to be treated and if you aren’t treated that way, you will leave.
Being asked to work ridiculous hours, but not being paid more for doing so? Good, just don’t do it. Work your 8 hours then go home. I worked in many situations where the norm was working 60 hour weeks. While everyone worked their 60, I worked my 40 and went home. Why? Because I wasn’t afraid. I did the work I was supposed to do during my agreed upon work week and I didn’t let myself get bullied into working more.
And let’s not forget opportunities that fall into your lap just because you are able to act with confidence. Having confidence in yourself—which is basically a lack of fear—causes other people to have confidence in you as well. When you are fearless and walk into a job interview, you have a much better chance of getting the job. When you are fearless and ask for a promotion, you have a much better chance of getting that raise. Even dealing with clients in a fearless manner results in much better outcomes overall.
So, get those savings together to get your cushion in place and learn how to market yourself as a software developer, so you can be fearless as well.
Oh, and sign up for my email list and I’ll keep fearlessly sending blog posts like this one right to your inbox.
Just because you’re a software developer doesn’t mean that you don’t have to worry about branding. In fact, if you really want to boost your career, you’ll actively manage it by creating your own personal brand.
In this post and I am going to help you create your own personal brand by first giving you a clear picture of what makes up a brand. (Hint, it isn’t just a logo.) I’ll also show you how to create an effective personal brand by defining your niche. Finally, I’ll take you through the 4 important components of creating your own personal brand.
What is a brand?
Before we can create a personal brand, we need to understand what exactly a brand is.
Most people I talk to think of a brand as a logo. While many brands have logos, a brand is not just a logo. A logo is only a small part of what makes up a brand.
A brand is really a promise.
A brand is all about expectations. When you are creating a brand, you are building a set of expectations about you or your company and you are making a promise to deliver on those expectations.
Think about a popular brand like Starbucks. What kind of promises does the Starbucks brand make?
When you walk into a Starbucks, you immediately have some expectations about what will be on the menu, how you will be treated and even what kind of lighting will be used in the location.
A fancy logo isn’t what makes the Starbucks brand a successful brand. Instead, the unique promise that Starbucks makes to you and every other customer is what makes them a brand.
I like to think of a brand as having or requiring four main components:
- Message – what does this brand represent?
- Visuals – how is the brand visually represented?
- Consistency – is the message the brand is delivering the same and one I can rely on?
- Repeated exposure – does the brand appear often enough for me to recognize it?
Without these four aspects, a brand is doomed for failure. A brand must have a clear consistent message, and be visually recognized multiple times in order for it to be effective.
We’ll come back and break down each of these four components a little later on, but before we do, let’s talk about what personal branding is.
It is easier to picture what personal branding is if you are able to see yourself as a business.
Instead of thinking of your career as the job you currently have, try and envision yourself as a business that provides software development services. If you are working for someone else, you just happen to only have one customer right now.
When, you think in terms of being a business, personal branding makes much more sense. It is just a brand that you apply to the business that is you.
A personal brand is the promise you make and expectations you create concerning the services you provide.
In order to create a good personal brand, you need to choose what is called a niche. A niche is just a specialization in a larger market.
For example, you might choose to make your niche be the realm of NoSQL databases. Perhaps you want to be known as the NoSQL database wizard.
The more you can niche down into a market, the stronger your brand will be in that particular market. When you call a plumber because your garbage disposal is broken, would you be more likely to call ABC Plumbing or The Garbage Disposal Fix-it Man?
You’ll have much more success creating a personal brand if you can niche down and be as specific as possible.
(By the way, if you are looking for a good book on personal branding, even though this book is called Personal Branding for Dummies, I found it to be a very comprehensive book on the subject.)
Crafting a message
A major component of your brand will be your message. Your message is what your brand represents. A brand without a message isn’t really doing anything, because it isn’t trying to communicate anything.
Your message should communicate what your brand is about and the set of expectations and promises your brand delivers on.
If you are having a hard time thinking of the message for your personal brand, the first place to start is to look at the value you provide. What value do you as a software developer or software development company provide?
Why should someone hire you for a job?
Behind your message should be unique value you provide. Are you the best front-end developer money can buy? Can you learn new technologies faster than anyone else? What is the unique value proposition you offer that should compel someone to hire you instead of everyone else?
Even though a logo isn’t the only thing that makes a brand, it is certainly an important part of most brands. A good brand has good visuals, and you should too.
Obviously the first place to start is with creating your own logo. You can either use a company name or make a logo out of your own name. I’ve seen both used very effectively. For example, I use Simple Programmer as my brand, and I’ve had a logo created for that brand.
You don’t have to spend ridiculous amounts of money to get a good logo. I’ve had great logos created for me for $5 on the popular Fiverr site. You can also find someone on oDesk for cheap that will create an excellent looking logo.
You also want to have a good color scheme that you use with all of your branding. I’d recommend using the same color scheme on your online profiles and your blog, if you have one. (And you really should have one.)
I also, recommend using stock photos to help shape your message. If you want a good source for stock photos check out despositphotos.
Finally, as far as visuals go, you want to have a good headshot that you can use everywhere you put your picture online. I’d recommend getting a professional headshot. Here is a good tip on how to get it done for cheap: The next time you get family photos done, ask the photographer to do a few headshots for you as well.
Once you’ve got a message and you’ve got some nice visuals to go with it, you’ll need to consistently apply both the message and the visuals in order to really create a brand.
Consistency is a big part of building your personal brand. You can’t be Joe the C++ pointer guy today, and Joe the database guru tomorrow. You’ve got to pick something and stick with it long enough for it to catch on.
Think about some examples of personal brands you recognize. Do those personal brands change from day to day? When you go to your favorite tech bloggers website, do you have a pretty good idea of what you are going to see and how often you are going to see new content?
I’m not going to lie, it is going to take some time to build up your personal brand, but if you are consistent with the activities you are doing, the visuals you are using and the message you are delivering, you will build a personal brand for yourself over time.
You can do everything else right and if you don’t have repeated exposure, you still won’t have much of a brand.
If you only see or hear of a brand once or twice, it is not going to stick in your head and it won’t be very effective.
In order to make your personal brand stick, you need multiple exposures of the same message and visuals to the same person or group of people.
There are many ways to get exposure for your brand, including:
- Creating and maintaining an active blog
- Writing magazine articles or guest posts on other blogs
- Speaking at user groups or conferences
- Appearing on podcasts or other mediums
- Writing a book, self or traditionally published
- Contributing to open source
- Creating YouTube videos or tutorials
At first, you may only be able to do a few of these things, but as you build your brand, you’ll get more opportunities to do more and more of the things on this list and even some things that aren’t on this list.
The important thing is that you get yourself out there and provide real value to others. If you are providing value and you are doing it in a consistent way that utilizes your message and brand visuals, you will build brand recognition and create excellent opportunities for yourself.
Where to go from here
I can only cover so much in a short blog post about personal branding. I’ve got much more in depth information about the topics covered in this post, which I am working on putting together into a package about Marketing Yourself as a Software Developer. In that package, I’ll have a complete video series about building a brand. If you want to know when the course is released, make sure you sign up here. (I’ll also let you know when I post blog posts about boosting your career.)
If you are really excited and want to get early access to the content, you can get the package at a special discount price by preordering here. If you preorder, I’ll give you my Why Marketing Yourself Is Important book ($25 value) for free, right away.
So, now that you know what to do, go out there and create your own personal brand.
Let’s face it. Most of us would like to be paid more.
The truth is in my career, I’ve both felt guilty that I was being paid too much money compared to what I was really worth, and I’ve also felt that I could and should be making a lot more money.
The problem is, most of us don’t really have a good understanding of how our services are priced out and what the true market value of what we have to offer is.
Understanding market value
The market value of a product or service is exactly what someone is willing to pay for it.
For a software developer, it may seem that your market value is what someone is willing to pay for you to write code or develop software– this couldn’t be further from the truth.
Even though one of the main aspects of your job may be to write code, it is not what you are really being paid for.
Obviously, most software developers do more than just write code. But, the true market value of a software developer goes even deeper than those other responsibilities. The true value of a software developer is tied in with the perceived worth of that developer.
Yes, this sounds strange, but what this actually means is that what someone thinks you are worth, or rather the highest amount that someone thinks you are worth and is willing to pay you, is what you are worth.
Your skills, your history, how many lines of bug-free code you can write in an hour, don’t necessarily matter as much as the perception of the value of your skills and abilities.
Consider the stock market. There are plenty of stocks out there that have a very high perceived value. Many of these stocks don’t even pay dividends– essentially, they give no return on the investment to the purchaser. Everything about the value of those non-dividend-paying stocks is based on the perceived value of the stock, not on the actual utility of the stock itself.
I’m not saying that you should try and represent something you’re not in order to inflate your stock price. What I am saying is that if you want to be able to make a higher wage you’ve got to understand how the market works and how you are valued and priced in the market.
Increasing market value
What then drives this market value and how can we increase it?
Taking a look back at the stock market, we can get a pretty good idea.
Consider what drives the value of an individual stock. Here are a few important factors which can drive the price of a stock:
- What that company or stock has done in the past
- What that company or stock is expected to do in the future
- How many other people are buying or want to buy into that company
Sure, technical considerations like earnings per share and profit to earnings ratios are taken into account by many technical investors, but in reality what really drives the price of a stock is greed and fear based on past performance, expected future performance and peer pressure.
It is no different in the field of software development. A majority of your market value will be driven by what you have done in the past, what you are expected to do in the future, and how desirable you are to others.
If you want to increase your market value, you need to be able to increase one or more of these factors.
Most software developers try to focus just on increasing the perception of what they have done in that past. This is the reason why you often see overly lengthy resumes which detail out a long history or previous assignments.
Unless you have something truly impressive in your years of previous work history, it isn’t going to amount for much other than showing some amount of stability.
Stability will get you a good job with a decent salary, but if you really want to reach the peak of your potentials earnings, you have do do more than show stability– you need to show trajectory.
To truly increase your market value, you want to be seen as a developer who has progressively done greater and greater things in the past and is likely to continue that trend into the future. You also need to show that there is a high demand for you personally, because of the unique offering of skills that you possess.
Great, but, how do I do… that?
Well, the first place you start is by taking an honest assessment of the picture you are currently portraying.
If you were hiring a software developer and you came across your own resume and presence, or lack of presence on the web, what would you think?
Would there be enough evidence to show a clear trajectory in the future?
Would you feel as though you had better not let this one get away?
Starting here, you can get a picture of what kind of package you are offering. If you can honestly assess where you are right now and how you are being perceived, then you will have a reference point which you can use to determine where you need to go.
After you have taken an honest look at yourself, it is time to take a look at other software developers and professionals who are already presenting the kind of image that you would like to present.
Look for the most successful software developers that you know would be able to command high salaries and try to imagine what makes up that “value” they represent. Now compare your efforts to theirs. What are they doing differently? How are they representing themselves to the world that makes it seem like they have more value? What things are they doing which are generating demand for them and their skills?
You’ll probably find there are some quick changes you can make right away which can help greatly increase your perceived value. But, you’ll also probably find that you will need to specifically chart out a course for increasing your value over time.
If you are still a bit puzzled about how to do this, don’t worry, you aren’t alone.
I’ve spoken with many software developers who want to get better jobs or advance in their careers, who know they need to learn how to market themselves in order to do it, but don’t know how.
I’m actually working on a complete package to solve this problem. It isn’t available yet, but you can pre-order it here, if you want to get it at the lowest price possible or you can sign up here to get updates about the course and find out when it officially launches as well as get articles like this one delivered right to your inbox.
Getting started in the field of software development is difficult.
No doubt, if you are just starting out as a programmer, you have already experienced how difficult it can be to get a job without having much or any experience.
If you’ve been a software developer for any amount of time, you’ve probably experienced how difficult it can be to rise up the ranks in this highly competitive industry.
I’ve talked to many developers just starting out who are frustrated because they don’t know where they should be devoting their energies to best advance their careers and secure their futures.
There are so many options. So many technologies you could learn. So many paths you could take. Which is the right one?
Thinking the right way from the start
I’ll give some concrete advice in a little bit, but before any of that advice is useful, it is important to make sure you are thinking about your career in the right way.
It is really important to think about your career as a business. A business you own which employs you. Thinking this way will help you make the right objective decisions about what you should be doing with your time and how and when you should invest money in your career.
Too many software developers think about their career in terms of their current job or the job they seek to obtain—that kind of thinking is short sighted.
Have you ever noticed how it is easier to advise someone else on a decision than to make that same decision for yourself? The reason is because when you advise someone else, you are able to be objective and not let fear and other emotions influence your advice.
By thinking of yourself as a business, you’ll be able to create that same kind of separation and objectiveness which will lead you to better decisions.
Actually start a business
In fact, why not go the extra step and start a business right from the start?
It is difficult to get experience without having experience. Most software development jobs require you to already have experience.
So, how do new software developers or developers with limited experience actually get experience?
Often, you get a lucky break and perhaps you come into an organization in a QA position or other role and eventually work your way up to developer.
That is the long way.
Here is the short way.
Just start your own business from the get go and employ yourself. It isn’t hard to start a business. You don’t even have to file any paperwork to start out. You can just do business as yourself in most places.
But what about work? I need to actually make some money.
Ah, but the point of this starting out business is not to actually make money, but to gain you experience. You can keep your current job and you can run this business on the side. You just need some projects to work on so that you can put some real experience on your resume.
It is pretty unlikely that a prospective employer is going to ask how much money your business made last year, (even if they do, you don’t have to tell them.) So, don’t worry about making money. If you are able to get some paid jobs, great, but there is no reason you can’t do jobs for clients for free in order to gain experience.
Create a website for a friend or family member’s business. Talk to local businesses and ask them if they’d like you to develop an application for them for free or very low cost. It doesn’t matter where you get the business from, the point is to get something on your resume that is real work you did—then it isn’t lying. You don’t want to lie on your resume.
Develop some mobile applications
Here is another great thing that your business can do that will not only get you some experience to put on your resume, but will also possibly generate you some extra income and give you something to show at a job interview.
I often recommend that developers just starting out build mobile applications, because mobile applications can be built by a single person and are a great way not only to learn how to build an application from end to end, but to create solid proof of your ability to write code.
One of the biggest fears that companies have when hiring developers is whether or not that developer can actually produce anything. You can completely alleviate that fear if you can show the source code for an application you created yourself, and if you have it in a mobile app store and people are actually using it, even better.
If you are looking to find out where to get started with mobile application development, I have two Pluralsight courses on the subject: Introduction to Android and Beginning iOS 7 Development. You can check those out or find a good book on the subject.
Here are a couple I’d recommend:
Besides gaining experience to put on a resume, building your own mobile application will help give you confidence in your ability to create real working code and it will help you to develop well rounded skills in software development.
Sure, it may be a bit difficult to get started and there is a decent amount to learn about mobile development, but it is a good investment regardless, because mobile devices aren’t going away anytime soon and the demand for developers that can develop for mobile platforms is only likely to increase over time.
Plan your career
I talk about the idea of marketing yourself as a software developer quite often, because it is something I truly believe can help software developers to get better jobs and earn higher incomes.
Much of this advice comes down to actually planning out your career rather than just looking for the next job.
You want to set yourself up early on in a position where you are building a brand and reputation for yourself that will benefit you later in your career.
A great way to do this is to create your own blog. Don’t wait to do this until later on. I wish I would have started this blog 5 years or more earlier in my career. Every developer with a successful blog that I have talked to has said the same thing.
Don’t just create the blog, use it. Strive to write an article each week. Even if you don’t have anything interesting to say, do it. After a few years, you’ll be a better writer, have a nice history of your thoughts and be all the better off for it.
I’m not going to go into all the details of marketing yourself in this post, but if you are interested, I do have a course that covers everything you need to know about marketing yourself as a software developer.
The key point here is to plan your career and think for the long term. Create a blog, establish a brand, do other things that will benefit you years down the road, but start doing them now.
Find the right friends (mentors)
I’d advise you to make friends with experienced software developers and utilize the wisdom they can impart on you.
It can be difficult to make friends if you come off as needy. It is unlikely that if you ask someone to be your mentor, they will accept. Being someone’s mentor doesn’t really offer much to the person doing the mentoring.
The key is to have something to offer in return so that you are providing value as well.
Here are a few ideas to make some friends in the industry:
- Offer to buy lunch. This is a good opportunity to have a conversation with someone who you otherwise might not be able to. Who doesn’t like a free lunch?
- Start commenting on software developer’s blogs that you admire. You’ll eventually gain their attention if you provide useful, insightful comments.
- Find something to trade. Do you have some knowledge in some other area that someone might be interested in? Can you trade your knowledge of fitness or diet in exchange for information about software development? The best relationships offer value to both parties.
- Go to user groups. There are many user groups all over the world that you can become a part of. If you are a regular, you will meet other regulars and build good friendships.
Read the right books
One of the best ways to really get ahead of the curve is to read the right books. Reading the right software development books can help you to understand concepts that take years to discover on your own and give you the benefits of the collective experience of many successful software developers.
Here is my personal list of books that I’d recommend all software developers start out with.
Code Complete – A classic book about the structure of code. This will make you a much better programmer and help you write clear code.
Clean Code – A great book by Bob Martin that really distills down some key concepts about writing good code. A must read book.
Design Patterns – Read through this book several times and learn these patterns. It may take some time to grasp them all, but they will show up again and again in your career.
Programming Pearls – Work through the problems in this book. They are hard, but the effort is worth it.
Agile Software Development, Principles, Patterns, and Practices – Another Bob Martin book, but also a must read.
Good luck. I hope you found this advice useful. Starting out is hard, but if you are smart about it and deliberate, you can boost yourself several years ahead of others in your same position.
If you found this post useful, don’t forget to sign up here to get more content like this delivered to your inbox.