TL;DR The article outlines multiple ways to make money coding, from freelancing and full-time jobs to building digital products and startups. The key is to choose a specialized tech stack, build an impressive portfolio showcasing your best projects, and cultivate an online presence by regularly sharing your work on developer communities and social media. Leveraging this combination of skills, portfolio, and visibility will help you attract freelance work, land a great coding job, or even launch your own successful coding-based business or SaaS startup.
This is a long article (almost 2.5k words). Consider bookmark it first or go to the original post to read with Table of Contents
Hey there ๐
My name is Syakir, a Senior Front-end Engineer @ Sellercraft. I have been professionally coding since 2014, making money by working in full-time/remote jobs, freelance, and creating content.
In this article, i want to show you how to do it. Whether you're a college student looking for a side hustle, a career-changer seeking new opportunities, or just someone who loves to code and wants to get paid for it, this guide is for you.
We'll explore everything from choosing your path, and coding weapons (aka your tech stack) to building a portfolio that makes hiring managers drool. All you need is passion, persistence, and this handy guide (if I say so myself ๐).
Choose your Path to Make Money From Coding
There are multiple ways to earn money from coding. If you don't have much experience yet, it's best to stick to 1 path first to earn faster.
Here are some ways to make money for coding, choose one that is most convenient for you. You can always pivot later.
1. Freelancing
Freelancing is often the quickest way to start earning, but it comes with its own set of challenges.
On the plus side, you have the flexibility to choose your projects and work hours. You can also gain diverse experience quickly.
However, income can be unstable, and you'll need to manage your taxes and benefits. Finding clients and building a reputation can be tough at first.
While it's relatively easy to start, succeeding as a freelancer requires strong self-discipline, communication skills, and the ability to manage your time and finances effectively.
Where to find freelancing jobs:
Your own website / social media / dev.to account
Upwork: Great for beginners, wide variety of projects
Freelancer: Good for short-term, project-based work
Fiverr: Ideal for offering specific services
PeoplePerHour: Offers hourly and fixed-price projects
Toptal: For experienced developers, higher-paying jobs
2. Land a Full-time Job
Securing a full-time coding job offers stability, benefits, and often higher overall compensation. You'll also have the opportunity to work on larger projects and learn from experienced colleagues.
However, it typically requires more formal education or extensive self-study, and you'll have less flexibility in terms of work hours and project choice.
Landing your first job can be challenging, requiring a strong portfolio, interview skills, and often the ability to pass technical assessments.
Job boards to explore:
LinkedIn Jobs: Wide variety of tech jobs, good networking opportunities
Indeed: Aggregates job listings from various sources
Glassdoor: Provides job listings along with company reviews and salary information
Stack Overflow Jobs: Specifically for developer positions
3. Remote Jobs
Remote work offers the flexibility to work from anywhere, potentially for companies around the world. It can provide a great work-life balance and eliminate commute time.
While finding remote jobs is easier than ever, succeeding in a remote role requires discipline, excellent communication skills, and the ability to manage your time effectively.
You may also face challenges with time zone differences and feeling isolated from colleagues.
Remote job boards to check:
We Work Remotely: One of the largest remote job boards
Remote.co: Offers a curated list of remote jobs
FlexJobs: Features vetted remote and flexible job listings
Remotive: Tech-focused remote job board
JustRemote: Offers a wide range of remote positions
Remote OK: Job board for mostly remote tech jobs
4. Participate in Challenges / Hackathons
Participating in coding challenges and hackathons can be exciting and potentially lucrative.
The pros include the opportunity to win prize money, network with other developers, and add impressive projects to your portfolio.
On the downside, the competition can be fierce, and there's no guaranteed payout for your time and effort.
While anyone can participate, winning requires a combination of coding skills, creativity, and often the ability to work well in a team under time pressure.
Platforms to check out:
Devpost: Hosts various coding challenges and hackathons
Dev.to: Host coding challenges / mini hackatons
Kaggle: For data science and machine learning competitions
HackerRank: Offers coding challenges and competitions
CodeForces: Hosts regular programming contests
TopCoder: Features algorithm and development competitions
5. Sell Digital Products
Creating and selling digital products like website templates, WordPress themes, plugins, or courses can provide passive income over time. Once created, these products can be sold repeatedly with minimal additional effort.
However, it requires upfront time investment, and success depends on creating products that meet market demands and effectively marketing them.
Creating high-quality digital products requires strong skills in your chosen area, as well as marketing know-how to promote your products.
Where to sell digital products:
Your own website / social media audiences
ThemeForest: For WordPress themes and website templates
CodeCanyon: For scripts, plugins, and code
Gumroad: Ideal for selling any type of digital product
Teachable: For creating and selling online courses
Creative Market: For design assets and themes
6. Build a SaaS Startup
Building a Software as a Service (SaaS) startup can be highly rewarding, both financially and professionally.
The pros include the potential for significant earnings if your product takes off, the satisfaction of creating something from scratch, and the opportunity to solve real-world problems.
On the downsides, it's risky and time-consuming, requiring a significant upfront investment of time and potentially money.
You'll also need to wear many hats, handling not just coding but also business operations, marketing, and customer support.
Platforms and resources to help:
AWS Startup Programs: Offers resources and support for cloud-based startups
Y Combinator: Provides funding and mentorship for early-stage startups
Product Hunt: Great for launching and getting initial users
Indie Hackers: Community of independent SaaS founders sharing experiences
BetaList: Platform for launching and discovering new startups
7. Technical Writing
Technical writing for coding and software development can be a lucrative career path that leverages your coding knowledge. As a technical writer, you'll create documentation, tutorials, and guides for software products, APIs, and programming languages.
The pros include the ability to work remotely, potentially high pay rates, and the opportunity to deepen your understanding of various technologies.
While you need a solid understanding of coding concepts, the main challenge lies in effectively communicating technical information to different audiences, from beginners to experienced developers.
Where to find technical writing jobs:
Who Pays Technical Writers: Technical Writing Job Board: Aggregates technical writing jobs from various sources
Pick your stack and be good at it
Now, that you know many ways to make money from coding, it's time to choose your stack. It's the set of technologies you'll specialize in.
You might be tempted to learn everything under the sun, but trust me, it's better to be good at a few things than mediocre at many.
The red ocean stacks (Web development)
These are the popular technologies that are in high demand. They're called "red ocean" because the water is filled with other fish (aka competition).
But that also means a lot of opportunities there. The good news is, that while the competition is tight, most developers are mediocre devs. That's why you need to stand out by building killer portfolios. We will talk about this soon.
If you want to do freelancing, build your own SaaS, or sell digital products while also having opportunities to land on full-time/remote jobs, you might want to pick web development stacks.
WordPress Development: The most in-demand jobs for freelancers, based on the available jobs on the freelancer platform like Upwork, Freelancer.
Shopify Development: The 2nd most in-demand jobs for freelancers, also based on the available jobs on the freelancer platforms.
React / Next.js: High-demand jobs for both freelancing and full-time/remote jobs.
Laravel: The most popular stack for full-stack development in PHP
Vue / Nuxt.js: Alternative to React / Next.js. High demand in Asia
Other high-demand jobs
If you're not into web development, there are also some jobs that are currently in high demand. Data Analyst, AI Engineer, and Machine learning Engineer are some tech jobs that are currently in high demand but relatively fewer competitors.
But you might not find many freelance jobs for these roles. Most of them are for full-time or remote jobs.
Where to Learn
Technically, you can learn the stack you choose freely on the internet. You can check out roadmap.sh for a guide as you learn your new skill.
Realistically, you most likely will need a mentor and a well-structured resource for easier learning. Learning new skills can be tough. So you might want to focus on what matters, rather than searching for scattered resources on the internet.
That's why, I would recommend you to enroll in a paid course, based on your financial ability. Here are some courses you might want to enroll (*affiliate links):
Skillshare - Complete React Bootcamp: 1 Month Free, $49 per year.
Coursera - Meta Front-End Developer Professional Certificate
Coursera - IBM Full-Stack JavaScript Developer Professional Certificate
Coursera - IBM Full Stack Software Developer Professional Certificate
Coursera courses have different prices based on the region. The Coursera Lite plan which offers video only range from $9 - $12 per month.
The Coursera Plus monthly plan ranges from $40 - $80 and the annual plan ranges from $399 - $542. You get a recognized certificate upon the course completion
You will also instructed by expert teams like Meta (Facebook) Staff and IBM team.
It's the best course platform if you want to learn a new skill without a college degree but still recognized by recruiters for full-time or remote jobs.
Build an Outstanding portfolio
Your portfolio is your coding resume. It's where you show off what you can do, not just talk about it.
You can start building your portfolio as you learn your new stack. But your own portfolio website will be the 1st portfolio.
Create your own portfolio website
A personal portfolio site is your digital business card. Here's how to make one that pops:
Choose your tech: Astro is a great choice for beginners. It's fast, flexible, and lets you use whatever framework you're comfortable with.
Pick a template: Start with a pre-made template to save time. Astro has some collections for portfolio themes
Customize it: Make it yours. Change colors, fonts, and layout to reflect your personality.
Showcase your best work: Include 3-5 of your best projects. For each one, explain:
What the project does
Technologies used
Challenges you overcame
Links to live site and code (if possible)
You can skip this if you don't have any projects yet.
Push it to Github: You can share your codes to receive feedback and easy to set up for deployment.
Host it: From the github repo, you can set up a deployment pipeline to Cloudflare Pages, Vercel, or Netlify. They offer free hosting for static sites and are easy to set up.
Set a custom domain (Optional): Cloudflare pages, Vercel, and Netlify are support custom domains, in case you want to make your new website
your-name.com
Keep building and showcasing
Now your portfolio website is set up. It's time for you to work on the next project. The best project is the one that reflects real-world projects.
If you enroll in a course, you will probably have a lot of study cases or project assignments.
But if you learning on your own, you start with building a landing page, a simple CRUD app, a Todo list, etc. As you learn more, build projects like simple eCommerce or company profiles with CMS.
If you need inspiration, you can check out the React example projects and Vue example projects. Don't forget to document how you build your project, and share it to Dev.to and X (Twitter).
Set a target for how many projects you can build in a month. It depends on your capacity. 2 - 3 simple projects in a month should be enough. But the more, the better.
Just make sure you always share them :smile:
Build your online presence
While you are learning and building your portfolio, you can also start building your audiences, by sharing what you learn and what you're working on.
Writing on Dev.to
Dev.to is a community of developers sharing knowledge.
You can start with "Today I Learned" posts. Share a new concept or trick you've picked up. You can also post about mistakes you've made and how you fixed them.
Engage with others, comment on other posts, and answer questions. The more you engage, the more visibility you get.
Aim for at least 1 or 2 posts in a week. The more often you post, the faster you get more followers. FYI, every time you publish a post, your Dev.to profile will be recommended on the onboarding page.
In my experience, you will get around 200 - 300 new followers every time you post a regular article. If your post got trending, it can be more.
The more followers you get, the easier for your post to get trending. You will also gain more visibility for every project you want to showcase.
I got some clients from Dev.to just because I regularly write here, even though I never explicitly promoted my freelance service.
Just make sure you always share what you're working on.
Build Twitter Audience
Other than Dev.to you can also be active on Twitter (X). There are tech community there where you can engage and share your projects. Follow some influencers there, and engage with them regularly.
You can also make a thread version for every post you publish on Dev.to
Time to Earn Money
Whether you want to do freelancing, sell products/services, or get hired, your audience will be your number one prospect.
If you want to get hired, create a professional CV mentioning all the projects you have done.
In every Dev.to post, you can also say that you're currently looking for a job, or offering your products/services in the introduction part.
There is nothing wrong with it. Just make sure what you share in the post is high-quality content.
Repeat this strategy, and I'm sure you will make money from coding eventually.
You might need to grind at first, but it will be worth it.
Good luck!
If you're an experienced developer and have advice to share, please don't hesitate to share it in the comment below. It will be helpful for new developers :smile: