As with any career, you want to get paid for your hard work and endless hours of study, naturally.
In this article I will present some of the common options for one to make money as a Software Developer.
This list is not definitive, every day, some new way to monetize your problem solving skills with code arises.
Traditional Software Developer Jobs
The most common path is to look for traditional Software Developer jobs.
You study for months, try your hand on some projects, get a portfolio and apply for that job.
I have followed this path myself for most of my career since finishing college.
In this category you can ace a position in two places: Regular Companies and Startups.
Both have pros and cons.
Regular Companies Pros:
- Stable Salary
- Well known career path
- Benefits
- Better Work-Life balance
- Teams are bigger, so you can specialize in an area
Regular Companies Cons:
- Bureaucracy can be a huge pain
- You might find yourself working with boring legacy code for a long time
Startups Pros:
- Might get equity, which makes a huge financial impact in case the company succeeds
- Get to work with the latest tech
- You have access to everyone on the company and learn a lot in a small time
Startups Cons:
- You work more extra hours to guarantee the success of the company
- The overall stress is higher
- Teams are usually smaller, so you have to wear many hats
These pros and cons are more about you and how you ponder work than positive or negative per se.
But this is supposed to make you wonder what kind of job you should look for and prepare accordingly.
Traditional employment is good to give you a relatively (not guaranteed) safe main source of income to support you and your family.
Freelancing
If you don’t feel like working for someone, be it in a big corporation or a startup, you can always freelance.
Freelance gives you flexibility to make your own hours and work with clients directly.
Another good upside is that you are not limited by a salary.
If you are good at what you do and have high demand, you can have an hourly rate most employers would never pay for.
Of course, there are also downsides.
You will have to deal with marketing, sales, relationship with clients, contracts, negotiation, find new clients on a regular basis, etc.
After you build some network effects, these things should get easier, especially finding new clients.
Blogging & Newsletter
A Blog is the simpler way to share knowledge.
You know something, you write about it, people learn the thing.
You can also have a Newsletter to make sure your readers will read what you write and to create an extra connection with them.
Blogs are commonly monetized by Ads.
Another good way to monetize your blog is by creating your own Books and Courses and sell them to your audience.
Youtube
This one can complement having a Blog and a Newsletter (that’s what I do).
Youtube is the second largest search engine in the world, second only to Google itself.
The discoverability effect of Youtube is, on the other hand, way better than Google.
It is much easier to rank well for a good video than it is to rank well for a good article.
Youtube can generate income with Ads or by letting your viewers support you directly.
Educational videos are always in high demand, and you can always teach your coding skills.
Mentoring
You don’t have to be the super master Senior Developer to mentor someone.
Actually, I would argue that, in some cases, it is actually better if you are not that much better than your mentee.
When you are at the top of the mountain, it is easy to forget how hard the beginning climbing was.
Depending on the situation, being mentored by someone only a few steps ahead of you could be a better match.
Of course, that is not always the case, and having someone with many years of experience as a mentor is super valuable and people pay for that.
If I would like to change careers from Software Engineering to, let’s say, Finance, I would look for someone already working in this field to point me the right directions.
It can cost, of course, but imagine the amount of time one can save from random trial and error.
Books
If you have any kind of knowledge, you can pack it into a book and sell.
You don’t have to be a prolific writer (although it helps to be one) to write a book, especially a book about a technical topic like Software Development.
I can speak for myself when I say I don’t care about minor typos and grammar mistakes here there if the information being provided is solid and practical.
You also don’t have to teach every single edge case about a topic.
It can be very specific.
For instance, instead of writing this article about the many ways to make money as a Developer, this could focus only on Freelacing and many readers would take a huge value from it.
So think: what is something you know that most people don’t know?
Find the answer and start writing.
Courses
Making a course follows the same principles from writing a book.
Here, by course, I’m focusing on video courses and other non-written formats of teaching.
You can produce courses in two ways:
- For other platforms, as an author, and get paid once like a contractor, or get paid monthly according to how many people take your course in this platform.
- By yourself, you will outline the topics, record the videos, do the marketing, but you also get most of the cash from each sale.
The first option is good if you don’t feel like doing marketing and sales and just want some extra money by teaching what you know.
The second option can pay big money, but it will require more work from you.
SaaS (Software-As-A-Service)
This one is by far the hardest one in this list.
Growing a SaaS company from the ground up requires you to wear many hats, from the technical part itself marketing and sales.
If your company starts to grow, chances are, you will eventually need to hire people and manage them and their tasks, like any company has to.
Of course, if successful, the rewards are higher too and you can make a living out of an idea you had and developed from scratch.
Streaming
I haven’t done this one myself, but streaming seems to be a pretty common source of income these days, even for coders.
You can make Live Coding sessions developing a project and people will give you money in the form of donations or tips.
Open Source
Yes, you can make money with Open Source Software.
You could create a tool so valuable its users that they will donate money to you via platforms like Paypal, Patreon, and Buy me a Coffee.
A more stable source of income in this case would be getting a sponsorship from a company.
Some big open source projects have a decent sponsorship from many companies and can afford to even pay their best contributors.