Everywhere you look, you hear the job market for software developers is booming and it's not expected to slow down any time soon. There are stories of huge signing bonuses, on-site spas, pet care, and free meals. And LinkedIn is advertising developer positions with average salaries upward of $150,000.
But somehow it all seems to have missed you. You're a software developer! Maybe you learned your craft in college, or maybe you just picked it up in your free time. Now, when everyone else is receiving cash deposits from a dump truck, you're left wondering what you can do to land your dream job.
Here are some real-life steps you can take right now to get your career on the fast track and take advantage of today's hot tech market.
#1 - Start or Join a Project
You already learned to code, or you're in the process of learning right now. As you'll see in my article about hiring developers, I encourage business owners to hire developers who are passionate about what they do. My dirty little secret? I would write software for the rest of my life, even if no one ever paid me another dime. If you're truly passionate about writing software, then you feel the same way, so why aren't you actually writing software?
Too many people think they need to have some big, complex project -- or, someone else assigning them tasks. Trust me, when you start working for someone and they're assigning you tasks all day you'll wish you had weeks of freedom to do whatever you want. Take advantage of that now!
#2 - Initiating a Creative Project
Have you had a business idea that you have thought of for years, and never got started on it? Give it a try! Think about existing products that you'd like to make "suck less" and just go for it. This is the best stage in the world to be in, you can't fail! Challenge Google's dominance in the search engine market. It's not necessarily about how well it works, it's more about what you learn in the process.
Interested in the Internet of Things? Take a dive into the Beaglebone Black for $55. This is a computer that fits inside an Altoids case. If you can't think of something interesting to do with that, just go be a chef! (Ok, or you can go to the Capes page, which will give you enough add-ons that you can create your own chef!)
The path couldn't be easier for those wanting to do app development. Walk to your local grocery store and you're likely to hear 3 new app ideas. Go create them. You aren't worried about success or failure, you're looking for a way to give yourself a focused purpose that lets you explore some aspect of computer science for its learning experience. If it works so well that you're making thousands per day in the app store, then you've solved your own job problem and can start hiring others!
There are a thousand terrible web apps waiting to be improved. Write a time tracker, or create a catalog for your favorite collectibles. There are a lot of existing APIs with tons of data that you can use. Take a look at ProgrammableWeb to see some of the APIs available and come up with ideas of what you can do with all that data.
#3 - When You Can't Beat 'Em, Join 'Em!
Sometimes it's difficult to come up with a new project, but you just need to dig in and do something. There are plenty of open-source projects that are looking for developers. This is an easy one for me because if I had free time I would pick up about a dozen of these projects myself. Content Management Systems like Drupal or WordPress have lots of Open-source modules that are in desperate need of your coding skills.
Enjoy doing 3D work, how about jumping in to help a great resource called Blender. They even have a page to help new developers get started. Looking for more engineering-type problems to solve, go find a Linux kernel driver that is getting a lot of complaints online or a device you own yourself that's having issues.
#4 - Line Up the Resources
Web Developers - Setup an Amazon EC2 cloud instance under the free tier. Or find a cheap hosting solution. You don't care about bandwidth right now, you just need SSH access and a couple of gigabytes to start your project.
If you're thinking about IoT, but need something a little easier than the BeagleBone Black, then take a look at the Raspberry Pi for $35. The coding language is a little simpler, but if you're more mechanical engineer than software engineer, there are a lot of hardware extensions that will let you experiment. You can even search the Internet for other ideas and try to recreate them. Remember, it's all about learning, so your idea doesn't have to be unique, the world over.
Whether your code is for web, Windows, Linux, mobile, or something completely different, there are some great common places to host your source code. GitHub is probably chief among them, if for no other reason than that they're popular and employers will know how to find your code there easily. It's free to host Open source projects, and if you want employers to see your code then it should be Open-source anyway. Besides helping present your source code, GitHub will help you learn how to revise your source code with a tool called git. One more notch to add to your resume and one more skill that will be uber helpful to your new employer.
#5 - Don't Wait!
This I can't stress enough. Even if you can't do anything else, set up a profile on Upwork, or one of the other software freelance sites. It will take some work to set up a profile, but show future employers that you have initiative. In fact, you might even find your future employer after you've worked a few jobs for them online first. It's not uncommon to get hired into a company on a job that first started out as a simple freelancer position.
Another basic way to get started is to begin reading the topics on StackOverflow. There are some really brilliant people who are active on that site and you can learn a lot of insight about your language or platform just by reading the questions and answers of others. In fact, you might even run into a few questions that give you some ideas for what project you can start.
When you get started with these things online, focus less on the money and more on getting some experience. The biggest part of all of this is that you're working on real projects and that's really valuable to an employer. When employers see that you're so passionate about software that you're doing it on your own, your resume will start to turn heads. But by that time, you may have already accidentally started your own billion-dollar enterprise.
Other articles in this section
5 Tips for Combatting Developer Burnout!
Do you remember when you first learned to code? It was fun, magical even, and you were obsessed.
Your organization has a new project, and you need help from a custom software development company. Your search returns hundreds of possible candidates and you have no idea where to start.
Brian is a life-long software developer who loves to help others succeed. A frequent source for media outlets, such as BBC, Entrepreneur and Bloomberg, Brian also frequently speaks at universities, conferences and the like. His new book, "Unravelling the Internet of Things" will be available soon on Amazon.com.