HACKER Q&A
📣 disenchanted_ds

Moving from Corporate to Solo Dev?


I'm pretty disillusioned with the corporate rat race...I naively took on some additional managerial/strategic responsibilities assuming I'd get a promotion, but I'm finding that even if I did get the promotion, I'm not enjoying my current work as much, as I'm far less hands-on. I know I can provide value--I've got industry-specific domain expertise and I can write high-quality software.

One of the projects I've recently been managing is the outsourcing of some programming work--work outsourced to a team of "professional programmers" but with no domain expertise. I think I could have done better myself in terms of code quality, but even if I had, I know I wouldn't have gotten paid as much since I'm an employee. I'd like to capture that value myself instead of dealing with an OK bonus and sub-inflationary raise.

I've been considering trying my hand going solo, offering my skills on a contract basis. But I've never done this, and it's a big change for me. Ideally, I could start with my current employer as a client.

How often is this done? What steps should I take and what should I consider? Any resources that you'd recommend?


  👤 phphphphp Accepted Answer ✓
Good clients are like good jobs, few and far between. Contracting is not the solution to bad jobs, a good job is the solution to a bad job.

If you can find good clients, contracting can be great, but bad clients can be a real drag: it’s easier to quit a job than it is to fire a client.

I’d recommend giving it a go, but don’t expect it to be better, just different. Personally, on balance, I prefer it and don’t plan to go back to full time… but it’s often just as defeating.

(Regarding how easy it is, it’s very easy, anybody who can get a full time job can do contracting, software engineering contracting is in high demand, always.)


👤 bodangly
Been a contractor for about a decade now. A few tips:

You need at least 1.5x ideally 2x your normal rate to make it worth it.

You need to always be selling, probably should make sure you are consistently overbooked if you want to keep contracting sustainably. Otherwise if you focus on one client only and they go poof, you are back in line for a job.

Be prepared to work many many more hours because of the above.

Don’t forget to calculate ALL your costs.

If you can get a monthly retainer for X number of hours for close to your target hourly rate, take it even if it’s a little low. As long as you are good you’ll (probably) never really need to spend X hours. Leaving you with extra billable hours to devote to other clients while still having some guaranteed income. This is one of the only ways to get ahead, aside from charging “book” hours (estimates) rather than actual elapsed hours.

You’ll get stuck in whatever price range you start with so do not lowball yourself. Again, always be selling, and hours are precious, don’t waste them.

It’s a stressful life because you start to have issues taking any time off.


👤 kc10
I have been an IC all my career and love writing code. I am not a hater of corporate environments, but I wanted to build something on my own for a long time. I have quit 4 months ago to work on my startup, solo.

I hope my experience working solo can shed light on how working solo is (If you plan to go into consulting and not build something for yourself, the experiences could be different):

1. Unlimited technology choices, but at the same time considering costs have to backoff from ideal choices. For example: I can't spin out a microservice for every damn small thing, consolidate so I can save on compute costs.

2. Working alone is hard, really hard. Try to spend time with your partner, former co-workers etc.

3. It not just writing code all the time. Consider the effort and costs on the corporate side of things. Incorporating, issuing stock, compliance, taxes, bookkeeping, prospective investor meetings, insurance etc. They all take time or money.

4. Having a partner who has a full-time job really helps. My wife works full-time and we have our health insurance figured out and have a regular stream of income to take care of our necessities.

5. You are always on-call and have to plan your vacations or at times skip one based on your business needs.

6. You have to sell. Sell to your friends, co-workers, your neighbors - anyone who you think can use your product. It's a little awkward at time, but I joke it off and try selling again.

7. 14-16hrs a day is pretty usual on weekdays. I don't work on Sundays and work late night on Saturdays. Support from family is pretty important.

8. Lastly, expect to be a generalist. Plan to work on everything - product management, UX design, frontend, backend, infrastructure, documentation, graphic work, video editing, blogging, marketing, sales calls, demos, everything you can possibly imagine to stretch your runway.


👤 epc
So…I did this and pretty much made every mistake possible.

I:

- underestimated how much cash I’d have to pour in to get going.

- hate sales. hate, hate, hate with a passion of a thousand ESC keys trying to get out of vi, hate sales.

- didn’t have a shtick or model of what I would do or wouldn't do, I ended up taking a scattershot approach of what I’d work on.

- underestimated how many clients would slow walk payments or outright refuse to pay once work was completed.

- quickly went sidewise with my local city/state regulations and while not fatal ended up being a drag on my attention

- underpriced myself. In an effort to get business I kept either cutting deals or allowed clients to effectively con me into doing more work than they could pay for.

My advice, in light of those mistakes is:

- if you really want to do this, start by finding a consultancy to work for to learn that side of the business. Learn sales. Learn accounting. Learn how to build a backlog of prospective clients.

- Try to figure out what your pitch would be to a client and then try selling that over, and over, and over again. If you detest sales, then you should learn before you make the leap.

- set aside more than enough cash to tide you through the startup phase. Even if everything worked perfectly and your clients pay you on time you may have 60-90 day gaps before payments.

- figure out what your rate would be, and then double it. No, seriously, if only to account for the overhead you don't yet know you need to account for.

- If you are in the US the chances of you working on contract for your current employer are near zero. The IRS will look at that situation and deem you to be an employee. About the only way to make it work is to work through a third party agency, who's now taking 10-20% of your rate to provide a smiling face for the IRS and shuffle invoices around.

The other problem I had was I utterly failed to convince companies to hire me for the work I specialized in (this was early 00's so web site development / web application development). They would prefer to spend $1250/hr on an agency where there was also only one developer working behind the scenes than the rates I was charging.


👤 paradite
I made the move to become a solo developer building my own apps in Apr 2022. Here are the steps I took:

- Started building my own project on weekends while working full-time last year.

- Personal project got some traction at end of the year (organic growth and good reviews).

- Saw story on LinkedIn of some people quitting their jobs and becoming indie dev and got inspired.

- Added ads in my app and started generating revenue ($1 a day).

- Quit job at end of March. I had saved up about 3-6 years of runway (counting my average daily expenses).

- Joined an incubator by chance, hoping to find a co-founder, but didn't succeed.

- Registered a business (sole proprietorship) at end of May. Only cost around $200.

- Added in-app purchase in the app in June.

- Ran ad campaigns of $500 budget and generated $220 in revenue in June. $140 from in-app purchase, $80 from ads.

- Currently building and planning to launch next project in Aug.

My background is a senior frontend engineer in a big tech company.

Previous job was mostly about managing contractors, interns and some internal experimental projects.


👤 alberth
Are you ready to do the following, because people take the following for granted at a corporate job.

- setup business entity

- bank account

- legal documents

- working with a lawyer to get template contracts in place for customers

- invoicing software to bill your customer

- chasing down your customers to actually PAY you

- SALES SALES SALES SALES (all things related to winning work because it's NOT easy)

- filing state, local, federal taxes

- having to create EVERYTHING yourself (decks, SOW, contracts, web site, marketing materials, and more and more and more0\)

If you don't like Business Admin work - don't go solo. Because going solo it truly 90% admin work, and only 10% "fun" work (and that "10%" is assuming you have a good client)


👤 OrangeMonkey
I've moved from corporate, to having a side gig, to doing it full time, then back to a side gig, and now I've mostly spun it down.

The stress of always selling was hard. The constant thought of "I could be working right now, but I am sitting watching a movie with the family" was hard. The money was great, but I feel like I lost actual years of my life.

It seems, my friend, solo is not for me. It may be for you. The current macroeconomic climate may make this a bad decision even if it is for you. I wish you well.


👤 BirAdam
Being on your own is harder than working for others if you want to make a lot of money. You will be working 24/7. If you really want more "chill" you need to be prepared to accept less money, and in general I would recommend working for a non-profit, a university, or a government to get less work.

👤 poulsbohemian
Build a strong network now. I was a freelancer for a lot of years and it was hard. Even with a ton of experience, connecting with clients take a ton of time and energy. You'd think it would be a no-brainer, but so many companies don't want freelancers and those that do it is often because they can't really afford you. So many of them want to nickel and dime over price and hours and waste your time.

The people I saw find real success in freelancing / contracting / consulting had deep networks, often of former employers, where they were basically "perma-temps".


👤 kjksf
Recently someone asked similar question: https://news.ycombinator.com/item?id=31908797

I wrote up my thoughts: https://news.ycombinator.com/item?id=31911728

And then expanded into an essay: https://blog.kowalczyk.info/article/4682085af50b41f88460593d...

Since you're starting from nothing: do web research about freelancing, contracting etc. Use search engine to find the articles, read a book or two, watch a few YouTube videos, take an udemy (or similar) course.

There's a lot of free or very cheap advice out there and it's a bit more information that can be put into a HN comment.

Your first challenge is getting customers so start with marketing yourself.


👤 summertime42
I've been doing consulting as a self-employed dev for 3 years. Saved my sanity.

In those 3 years -

* I've had 4 clients (mostly happy!) - which is a TON more experience than most get in ten years (and future clients want that knowledge!)

* Wrote a book on software development (yay, resume item!)

* Took months off to recharge and sharpen my skills

I truly enjoy the path and can't see myself going back fulltime anytime soon. It is work, however, but more rewarding if you ask me.

You have to sell yourself, need a good network, and you need the right paperwork.

Always happy to chat about it - email is in my bio. I'm very bubbly and don't bite!


👤 wnolens
My personal short story:

I became so disillusioned with big tech that I quit and took an 8mo sabbatical until contract work dropped itself on my lap. I was really lucky that I didn't have to do any selling of myself which everyone claims to hate (I wasn't in the solo game long enough for any of my wells to dry up).

I got my leads from friends working as full-timers at companies looking to hire. They were desperate enough for above average talent that I could negotiate a part time deal: essentially 20h of my week.

I charged about what I was making as a full-timer, but padded my hours. Typically work 2-3hrs, bill for 4. In retrospect, this wasn't enough for no other reason than it was a better deal for them than for me.

I overlapped these gigs for a few weeks and absolutely hated the full allocation of my time. Also the context switch was painful. I'd go from an archaic MSVC++ codebase in a windows VM to an unorganized startup working on iOS/Android. Eventually I quit one and kept the higher paying gig.

I liked neither of the jobs. I was sometimes asked to do more than just fix bugs, like start architecting a way to a modern stack or think about how to integrate a revolutionary feature. But when I came back with a plan, their ambitions vanished. They thought they could get something magical for nearly free.

So I became disillusioned with contract work :) The jobs often exist because an employer wants to pay less than hiring a full-timer to do the job. Or the work they want done is inherently unattractive. It was isolating too since you're never really part of a team.

Ultimately I made the pivot back to big tech. Work is more interesting, I obtain more valuable knowledge. My isolation problem wasn't fixed due to pandemic =\ And I feel a lot more freedom to screw off in the middle of the day when I'm frustrated. As a contractor I felt guilt (or I just never billed for the hours I took off to go on a bike ride and clear my mind).

Good luck! I'd send personal emails to your network of engineers working at small-medium companies that are less flashy and don't have a flush hiring funnel. They always need good folks (you'd be vetted by your contact) and you may have the leverage to set the terms of contract employment.


👤 gbtw
I have landed a software development gig working for my countries government. Pay is good, especially for the low work stress, 36 hour workweek and 6 weeks of PTO. Finding the right employer really helped me get out of rat race.

👤 zerkten
Depending on what you do, you may be able to setup the situation where you learn on the job during job 1, sell the same thing on job 2 while optimizing how it's done, and then really profiting on job 3 onwards. Success with that depends on how much you crave novelty and what the industry is.

Established industries with larger non-tech companies have many valuable untapped opportunities, especially as we move to more uncertain times. They will want to make a lot of efficiencies and getting rid of "non-core" work is an opportunity for contractors.

I know many people who accidentally got into lucrative contract roles in pharma because they started with some random 6 month gig that gave them access to assess the landscape. This can be done more smartly by subcontracting with existing vendors. They are often looking for oversight but you have to be comfortable with mitigating the level of devs they are providing to the client.


👤 jbrains
Read the book "The E-Myth Revisited" before you decide to go solo. You might be having an entrepreneurial seizure; it's not necessarily a bad thing, but you might prefer to be better prepared for what happens after that.

👤 hahamrfunnyguy
Starting with your current employer as a client is a good first step. I was getting burned out with my job but still liked the company and my co-workers. I worked out a way to say on part time with the company and stick to certain types of work.

I did this for a few years and last-year I decided I wanted to focus on a project I've been working on. I went down to a consulting-only basis working 10-12 hours a month. This couldn't be easier for me because I bill them on a T&M basis.

Consulting can be a hustle because you're doing your own sales, marketing, estimating and bookkeeping. You need to account for those factors when you schedule projects and come up with your bill rates.


👤 abadger9
I have a consulting business on the side - the more you're able to build an effective network, the more sustainable it is. You either grow your clientele from referrals and your reputation and then it feels like you're printing money (i was making $20,000 a month with minimal effort on the side 5 years ago) or you constantly chase leads and that'll burn you out after a couple of years. let me know if you have any questions.

👤 airbreather
Been a contractor all my working life.

As job "replacement", estimate on 35-40 weeks a year of billed work, that's what it is with all public holidays, leave, professional development etc factored.

Contractors often make more because they skip these and also work longer hours.

If you need to pay medical and professional insurances it can easily be closer to 25-30 weeks a year billable after expenses, for estimating purposes.

Short term contracts should be 20-40% more to allow for "gaps", in a hot market just another bonus, but you should stash this, if you get it. Also you still pay most insurances during the "gaps" so too many is bad news.

Then if you think you are actually selling some service no one else is around to do, whatever mark-up you can defend. But go too high and you will suffer in a cold market unless you are remarkably good and everyone knows it.

Or if you really know your domain and selling results (instead of direct effort/activity), then "double dip" as we say, do two contracts at same time and double the pay for maybe same or less work if you are lucky.


👤 ramesh31
What do you want out of life? Do you want to write code all day? Or do you want to earn enough money to spend your life as you see fit? The IC route is just another rat race. But instead of dealing with soft issues from 9-5, you have hard issues waking you up at 3AM with alerts.

👤 mise_en_place
Solo dev is nice, especially as a consultant. You can easily build your business credit score and can pay yourself a much smaller salary to save on taxes. I’d recommend an aggressive payment schedule, net-10 or better to make sure you don’t run into cash flow issues and need to use a factoring company.

In the end your client(s) may like you so much that they’ll propose to bring you in full time.


👤 iorrus
I'm in the same situation. I'm demotivated as I'm not that interested in the promotion opportunities as I wouldn't enjoy management. I think working in a different company would be be better. I'm considering a smaller start up but now might not be the best time to move.

👤 Mandatum
Which region are you in? In some parts of the world it’s very lucrative to not have a full time job, others where employment law isn’t very strong like the US - it’s not as worth it.

👤 ushakov
i’ve been an intern, a employee and a contractor

what i can tell you is that being contractor was the worst of three and contracting is just more competitive type of rat race

i suggest you instead to try launching a startup

if you don’t have an idea yet, you can sign up for co-founder matching and meet a someone who does


👤 ge96
Hope you have some money saved up. Also don't undercharge (taxes/drought).

👤 leifg
I recently quit being an independent contractor after 5 years and returned to being an employee. Let me outline my experience going from employee to contractor and back.

In general: I have been a software developer for 14 years. I love writing code but I also like to figure out the root of the problem and come up with the best solution. I started freelancing in Germany and continued to do so in the UK and the US.

The initial reason to go solo was mostly feeling based. I imagined being super flexible about what I could work on and wanted to have more time off even though it was unpaid. Additionally I thought I could spend some time to specialize in a field in order to get higher rates and maybe come up with a product idea. I also justified this move to myself with "I at least gotta try it". I was lucky to find a client pretty quickly and enjoyed the networking and finding follow up opportunities.

However a couple of things became pretty clear to me very quickly: the easiest way to work as a freelancer for me was to basically continue to work as a generic software engineer that knows $language for a client 5 days a week and then invoice them. I didn't really spin up additional income streams and I didn't even take more time off.

However there were a few things that kept me from returning into a regular job: The increased income (in my first year my income effectively increased by 50% even though I was doing the same work), the opportunity to switch "jobs" more often without it being perceived as being a flaky employee (this one is kind of a hack but nobody ever questioned why I was only working for 3 months for a particular client).

Things ultimately changed after I moved to the US because the calculation now wasn't only about pure money. I also would have to factor in health insurance cost (in Europe this is essentially the same wether you are freelance or not), there are other benefits like 401k contribution and employee stock buying programs that I needed to consider. But ultimately I was missing working on projects long term rather than just coming into a company churning out code. I also enjoy not having to write invoices anymore or doing a more complicated tax return or figuring out what kind of insurance I need. I am also glad that there is now basically no need for me to do any kind of marketing or sales related work.

In total I had 9 full time clients and a few short term projects (1-2 days). The short term projects were some of the worst days as a freelancer because the project was timeboxed and every time I scrambled to deliver on time.

In general I would say if you are an hourly/daily rate based contractor the only two reasons that I saw as an advantage was: more money and seeing more different projects. If you are willing to put up with the admin overhead of going solo I definitely recommend it, especially if you have a talent or are willing to do marketing and sales related tasks. I suggest however to be honest with the income calculation. If you compare your current job to something like 220 billable days as a freelancer (not unrealistic) you are going to see a big increase. But if you take into account the benefits and compare this to a competing employment offer, the income difference might not be as big.


👤 bobbywilson0
I have just written the first steps for starting "solo dev" work. The tl;dr is:

    1. Business Entity
    2. Business Bank Account
    3. Accountant
    4. Invoicing software
    5. Contract
    6. Workspace
My post[1] includes more detail, and I have also written about finding your first clients as well. Feel free to follow up in this thread with any questions.

Good Luck!

[1]https://medium.com/@bobbywilson0/six-steps-to-start-a-consul...


👤 teekay
There are two general paths that software devs can take:

- do generalist software augmentation contracting, where you are essentially an employee but paid better (and fired faster but that goes both ways)

- specialize, build expertise, and do consulting - selling your brain, so to speak, as opposed to providing an extra pair of hands

The advantage of the contracting route is more predictable income, esp. if the projects take months or even years to finish. That's quite common in Europe if you contract for a Fortune 500 equivalent company like Volkswagen. The corporate "digitalization" projects run forever and a contractor can successfully embed himself or herself there for as long as is enjoyable (and profitable).

There are downsides.

First, you do not develop your sales and marketing muscle when taking on full-time staff augmentation roles. In Europe, it's common to get these gigs through recruiters, and so you don't even own and manage your relationship with the client.

Second, it feels like employment because it essentially is. You attend all the Scrum ceremonies like everyone else. Clients expects you to be available during the working hours and has all the other expectations they have for their staff employees.

Third, it's hard to scale this "business". Since you are a staff engineer, just with a different contract, the client does not see you as a consulting partner, so offering additional manpower to the client could be a tough sell.

On top of that, it's easy to just "go with the flow" and accept whatever gig the recruiter calls you about, provided it pays OK. Then, you look back at your portfolio and it's a hot mess!

This has been my experience doing staff augmentation in Europe for 10+ years. I am transitioning away from that, and the journey has been quite taxing, mentally. Like going to gym for the first time in years, only now it's your brain that needs training - it can hurt for a while.

One more point:

I see some people professing their hate for sales.

Actually, you do sales, too, when you sell yourself to the recruiter or your future boss. Sales is inevitable and we engineers better be GREAT at it.

I think sales in consulting can be even enjoyable, and I do love this aspect of the work. It just can't be the "used car salesmanship" type of sales. You gotta listen, really listen to the client, grok their situation and build baseline trust. Then the sales conversation feels more like an advisory session. But to get there, I think, requires building expertise and some level of specialization. How much of either, I am not sure.

Hopefully this helps a little.

PS I strongly recommend following Jonathan Stark of the "Hourly Billing Is Nuts" fame. It's a great antidote to a lot of questionable freelancing advice one can find one the interwebs.