Eight Great Side Hustles For Programmers Looking To Make Extra Money
If you’re a software engineer and you have some moderate experience, there’s no doubt that many recruiters are constantly messaging you on LinkedIn, emailing you or somehow finding your phone number and calling you.
There is nothing wrong with this. Often you have a job you like and don’t want to look for a new job.
At the same time, while you enjoy your job, you may have a lot of free time or need some extra cash to save up for something or have extra slush money.
Here are some side hustles that programmers can do to make some extra money.
This is a growing industry: there now exist multiple websites where you can join as a software engineer and “mentor” or tutor other programmers for cold, hard cash.
These are great because they’re usually remote over the Internet and are typically one-off meetings. Plus, mentoring is scheduled ahead of time and only takes a couple of hours on average.
The downsides of these are mostly in terms of your time risk. You are tasked with helping fix people’s problems.
For instance: they need to fix a bug in their code that took them four weeks to write. You reach out to them, agree on an hourly rate, and then you start collaborating on it. Soon enough you realize how ridiculous their code is, or determine that the solution will not be ideal or hindered by their team’s rules or technology stack.
Either way, you may or may not solve the problem. Or you may take a very long time to solve the problem, and it might be a change to a single line of code. For beginning programmers, solving one line of code for $200 is not a great deal. So a lot of them will ask for a refund.
While the majority of these “mentor” websites are worthwhile as supplemental income, you should evaluate the risks involved.
I made some good money doing this, but have moved on.
Writing or blogging for money is a great way to make extra cash, via passive income and long-term income.
It’s kind of like creating a bunch of very small investments, one at a time, and then having them slowly build up until you have recurring cash flow month-to-month. This can take a long time to build up and may not be profitable for a very long time but has other benefits like improved writing skills and public exposure.
You might get discouraged early on. Don’t fret, look for ways to improve your writing or write faster and more efficiently.
3. Write an eBook
Writing an eBook for programmers is another great way to make extra cash. This is the next logical step after getting a handle on blogging.
Making eBooks require a moderate amount of effort to create, edit, and distribute, plus the need for some level of marketing to garner interest.
With eBooks, you can easily improve your resume and may even be asked to speak at events. By writing a book you’re getting your name out there and can charge a handsome fee for your content.
4. Public speaking
Public speaking in software engineering has a very wide range of income. Mostly, it’s volunteer work.
But, if you keep applying to conventions and events, you will steadily get more and more speaking engagements under your belt. You might get to a point where you gain free stuff, a compensated hotel room, or free travel expenses. Of course, the event you’re going to plays a huge role in which benefits you will attract.
The first step is to find local events and do some free speaking. Perhaps even a meetup. This will provide you with practice, experience, and modesty. Eventually, you can start getting into gigs where you get free promotional content, monetary compensation, or travel and hotel expenses paid off.
All in all, public speaking is a great career-building and networking tool — you should be doing this anyway for personal growth.
5. Side Projects
As a programmer, I don’t need to tell you that side projects are a way to make money.
That’s how history loves to tell the story of startups, made by someone toiling passionately on their side project late at night, struggling through till the early hours of the morning, all while having a full-time job or other activities during the day.
Not everybody strikes lightning on their first or second (or third or fourth or fifth or sixth) side project.
I don’t know how many side projects I’ve done, as I’ve lost track, but there’s obviously a lot of ways you can monetize side projects. Some of mine have made moderate amounts of money.
Side projects are interesting because you become a mega product owner, project manager, CEO, and CTO, all in one.
Your biggest enemy is going to be MVP (Minimum Viable Product), and that means getting a handle on time management.
While in your head it might sound great if you spend 45 hours on a fancy private proprietary library, you need to focus on the end goal of the application instead of the engineering prowess.
I just spent 40 hours writing a dynamic form-building system that can take JSON or YAML as an input and create multi-page forms with validation. I only have one form right now but this will scale well!
- Probably me at one point on any given side project
For side projects, focus on MVP and always use libraries to save you time. You will have time, later on, to rewrite once you understand your product’s scope and potential.
Likewise, you can do “micro” side projects to learn new technologies. I do this sometimes just for the goal of LDD, or learning-driven-development.
6. Tutoring / Teaching
I mentioned mentoring above, which can sometimes be volunteer work.
Tutoring is more of an active activity than online mentoring. You will connect with people in your local community, and teach them skills, ideas, and generally help them get better at programming.
These may be high school students or college students, or adults looking to get into programming more frequently.
Most of these folks don’t have the time or money to go to a bootcamp and want hands-on, one-on-one education. They want to be able to learn things from a pro like you.
I was an instructor at a coding bootcamp for one year at UCLA Extension in Los Angeles, CA. I found this to be a worthwhile activity that improved a lot of my skills as a programmer and leader while helping others and getting paid for it. I only stopped because I had a baby.
Freelancing is a wonderful route to get paid on side projects that also improve your skills. Freelancing is a great way to make another $15k to $30k a year depending on your pool of jobs and the kinds of technologies you are working with.
I used to freelance all the time, I think I would do about three or four freelance jobs a year. Besides the additional income, freelancing helped me improve my skills or get exposure to technologies I wanted to learn. The best part is — you usually get to pick and choose all of the languages, technologies, and libraries being used.
Later on, I needed to do some animations and other interactive dynamic frontend work . At the time, back in 2007, Flash was the thing to use. So I learned Flash, Flex, and ActionScript 3.
After that, I wanted to learn new skills and replace my stale Flash skills, so I learned how to make games with Unity and also started freelancing on C# projects.
As time progressed, I had to develop deeper skills in architecture, infrastructure, DevOps, and libraries such as MongoDB, Amazon S3, video converting tools, Google Maps, YouTube.
Guess what? I picked up all of these skills as part of freelance jobs!
The bottom line: freelancing provides a means to work great projects that build your resume, skills, and project diversity.
Note: With freelancing, you should be aware that your time may not be fully monetized — clients flake, run out of money or downright disappear.
But hopefully, you’re doing things that enhance your skill level and giving you tangible paid work experience to put on your resume.
8. Open Source
I must admit, this one is not very easy to monetize.
OSS is a great way to contribute to the community — maybe you want to help patch some bugs in an existing library, or you have some tools you’ve been using internally within your own code that you want to share with the world.
Open-sourcing your library is a wonderful way to share.
Doing so helps you practice your skills with teams, pull requests, GitHub issues, collaboration, and contributions. More importantly, it improves your overall coding abilities because you have to adhere to other people’s coding standards. Likewise, you don’t want to embarrass yourself with your open source code, so it encourages legible clean code.
The typical monetization route of open source is to get donations, sponsors, or to offer enterprise-level support, or provide a packaged version of the application.
As a side note, if there are open source projects that you love and use every day, maybe you should consider donating or sponsoring them in some way. $10 bucks won’t hurt your wallet that much, and its a great way to show support.