myibrahim.cloud

Personal Branding · Career & Money

Making money as a software engineer (without selling out)

A taxonomy of income streams — salary, contracting, products, royalties — with rough numbers from someone who's tried most of them.

Engineers are bad at thinking about money. Specifically, we're bad at thinking about it as a system with multiple inputs, instead of a single salary number.

This is the system I've internalized over years of working — full-time, contracting, side projects, the occasional one-line product. It's not financial advice. It's a sketch of how the income graph actually looks for most engineers I know who do well.

The four income shapes#

Almost every engineer I've talked to about money has income from one or more of:

Typical engineer income mix (rough average across friends)
  • Salary72
  • Contracting15
  • Products9
  • Other4
  1. Salary — full-time job, predictable, taxed first
  2. Contracting / consulting — paid by the hour, day, or project
  3. Products — something you build that earns money while you're not working on it
  4. Other — speaking, writing, royalties, equity, occasional teaching

The mix changes by career stage. Junior → almost 100% salary. Senior → typically 60–90% salary, the rest contracting or side products. Staff+ at top companies → still ~95% salary, but the salary itself is enormous so the "other" categories become an indulgence rather than a need.

What each is good at#

Each shape has a different what it's good at profile. Match the shape to the goal:

Shape Predictable Stops if you stop Maximum upside Time-flexible
Salary yes yes (next month) low (linear) no
Contracting medium yes (immediately) medium (linear) yes
Products no maybe high (exponential) yes
Royalties yes no medium yes

If you want stability → salary. If you want time freedom → contracting. If you want upside → products. If you want passive income → royalties (and you're going to wait years for it to be meaningful).

Don't try to mix all four in your 20s. Pick two and learn them well. You can layer in the others later when you have the bandwidth.

Salary — the boring base layer#

Most engineering money in the world comes from salary. There's nothing wrong with that. The question to ask isn't "how do I escape salary?" — it's "is my salary the right one?"

Three things are dramatically underweighted in salary negotiation:

1. Total comp, not base#

Base salary, bonus, equity, benefits, retirement match — they all spend the same. Comparing two offers by base alone is leaving 20–40% of the math out. Build a spreadsheet. Sum everything. Then compare.

2. Market rate for you, not for the role#

"Senior backend engineer" pays a 2× range across companies. Levels.fyi for the upper bound; your network for the realistic local one. If three friends at peer companies are earning 30% more than you for the same work, you have leverage.

3. The cost of switching#

Switching jobs is the single biggest immediate raise mechanism for engineers. The boring math: a 25% raise at a new job is the equivalent of three 8% raises in a row at your current one. The catch — switching has a real cost (ramp-up, equity vesting, loss of context). Rough rule: don't switch for less than 25%.

Contracting — selling your time, but well#

I've contracted on and off for ~5 years. The pattern that works:

  • Day rate, not hourly. Hourly rates make clients micromanage. Day rates make clients evaluate outcomes. The math is the same on a 40-hour week; the behavior it incentivizes is night and day.
  • 2–4 clients at a time, max. Below 2, you've made a salary with worse benefits. Above 4, you're context-switching every day and producing nothing well.
  • Charge more than feels right. Engineers chronically undercharge. The market rate for a senior backend contractor in 2026 is $1,000–2,500/day depending on geo + niche. If you're below that, you're leaving money on the table or your sales positioning needs work.

The hidden tax on contracting: ~15–25% of your time goes to finding the next gig. Sales emails, intro calls, contracts, invoicing, accounting. That time isn't billable. Account for it in your rate, or you'll be miserable.

A worked example#

$1,500/day × 200 billable days/year = $300k revenue. Take out:

  • 25% for taxes (depends heavily on geo — this is a US/UK rough)
  • 5% for tools, accountant, software
  • ~50 days/year unbilled (sales, ops, vacation)

Net take-home ≈ $200–215k. Comparable to a senior salary at a mid-tier company, but you choose the work and the schedule.

Products — the long tail#

This is where the math gets weird. Most products engineers build die quietly. A few catch a niche and pay for years. Distribution is everything.

The pattern across the engineers I know who built products that paid:

  • Niche, not horizontal. "A linter for Terraform modules in monorepos" beats "A linter." Smaller market = less competition + a clearer story.
  • B2B over B2C. Engineers' products that pay are almost always sold to other engineers or to small businesses. Consumer products require marketing skills most of us don't have.
  • Paid from day one. Free products with "we'll figure out monetization later" mostly never figure it out. Even $5/month from 100 users is a stronger signal than 10,000 free users.
  • Distribution before product. If you don't already have a way to get the first 50 customers (audience, mailing list, network, niche community), you'll spend 80% of the work on marketing and not enjoy the product. Fix the distribution problem first.

What I've actually shipped#

Two products earning > $500/mo. One subscription tool for a niche dev workflow. One paid course. Together they cover ~3% of my income — enough to be free money, far from enough to be life-changing.

The unexpected lesson: products take years to compound. Don't expect a launch + 30 days = success. Expect launch + 18 months = "starting to be interesting."

Royalties — for the writers#

If you're going to write, write something that pays. Two paths I've seen work:

  • A book. Self-publish on Leanpub or O'Reilly. Niche, technical, opinionated. Royalties of $1k–$10k/month for a few years if it lands. Most don't land.
  • A course. Egghead, Frontend Masters, Udemy, your own platform. Higher take per sale, more upfront work, less long-tail.

The unsexy truth: writing for money is a different skill from writing for visibility. Most LinkedIn posts make $0. Most paid courses by random engineers make $200 in their first year. The ones that make $50k+ have a distribution flywheel that took 3+ years to build. Treat it like compounding.

A tax aside (read-this-once)#

Most engineers leave 5–15% on the table because of tax inattention. The boring stuff that compounds:

  • Max your retirement accounts. The marginal tax savings dwarf the inconvenience.
  • Track every business expense. If you contract, this is dollar-for-dollar deductible.
  • Get an accountant who knows your geography. The fee is below 1% of what they save you.
  • Don't optimize early. The biggest tax savings come at higher incomes. Don't fork your life over an LLC at $30k revenue.

I am not your accountant. Get one.

The graph I wish I'd seen at 22#

Total comp for a typical senior-track engineer (roughly, in $k)
  • Year-142
  • Year-258
  • Year-385
  • Year-4110
  • Year-5140
  • Year-6180
  • Year-7210
  • Year-8265

Three things to notice about this curve:

  1. The first 3 years are slow. Don't optimize for money in your first job; optimize for who you'll work with.
  2. The biggest jumps are job switches (years 3, 5, 7). Internal promotions average ~7%. External moves average ~25%.
  3. After year 8, most engineers' curves flatten unless they go into management or build a product. Plan accordingly.

If you want to bend that curve up, the levers in approximate order of impact:

  1. Move to a bigger market (often = a different city or full-remote at a better company)
  2. Switch into a higher-leverage specialty (ML, infra, platform)
  3. Add contracting as a side stream
  4. Build a product

Closing#

The thing I wish someone had told me at 22: money compounds, but slowly. The decisions that look small now (saving 15% vs 5%, switching jobs at the right cadence, learning a high-leverage skill at year 4) make a 5–10× difference by year 15.

The other thing: don't optimize for money to the exclusion of work you find interesting. Burnout is the most expensive purchase you can make. Pick work you'd do for free, then negotiate hard for what it's worth. `.trim(), };

  • money
  • career
  • business
  • freelance
Want to learn this properly? I train engineers and teams in exactly this, one-to-one or in groups.