Ask HN: 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?
62 comments
[ 0.22 ms ] story [ 62.5 ms ] threadYou 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.
I think it is good to have that insight tho, but if you start to remove your personal life because of this, I think you should really need to reconsider your strategy. (Looking at TS)
That being said, it doesn't change the feeling. I try to make myself feel better by thinking something along the lines of this: I have no money issues, more money would ofcourse make life a little bit better. But what if I were to die tomorrow? I would much ratter spend quality time on the life of the people (or animals) I care about, or my own life, then have a few hundred bucks extra. That, together with knowing that I cannot always work because I will burn out and will earn nothing anymore goes a long way.
I work to live my life, I do not live my life to work :)
this is probably the core thought. what would I pay to get "one more day with my sons?" millions? if I had no more days left and could give it all...
> I work to live my life, I do not live my life to work :)
my work is extremely important to a lot of people, I can make jobs for others, etc. .. my work _is_ my life, and that's way better for lots of people. hard to reconcile/balance, for sure....
I enjoy my work, I love getting stuff done and helping people. But, at the end of the day, I can only do this because I am getting paid. So I do not do my job half assed because it is only my job, I will try to take the extra step where possible. But I have to do it in a way that I can keep on doing it.
Life is a marathon, not a sprint
for sure, thanks for sharing your perspective
I've been thinking about even trying to approach this from a value-based pricing perspective a la Jacques Mattheij. Seems like that could be an easier approach to selling, in terms of positioning myself as an expert instead of just a coder-for-hire.
Also nails why I folded my company and I’m a corporate wage slave now. I’d rather all this shit was someone else’s problem to deal with.
The lucrative part is when you get more than 1 FTE of work and start hiring employees. Which was my experience working for a small consulting firm. I made decent money with my 1/3 salary, but my bosses made $$$$ because we priced for 1/3 downtime but were constantly flush with work.
Good luck!
In the US there's also health insurance if you choose to have it.
The worst of the worst medical insurance just for you is going to run you about $500 / month. Even if you "only" make 60k / year, that's still roughly ~10% of your income which is a lot.
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.
I do know that even in my current job there seems to be willingness to pay a contractor rather than hire an employee...and I'm not sure how that willingness would change if the environment changes.
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.
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.)
I hang out on /r/freelance and it's all too common that new freelancers are frustrated because they thought that now they'd just be free to "practice their craft" but they have no interest in all the other minutiae that's required.
OP: the best advice I can offer is to ask yourself if you want to run a business. Because that's what it is. Not programming, not coding, not design (although you will do those things). You have to realize that you are running a small business and it would be best if you understand that right out the gate and it's something that you will enjoy.
But still it's a less exclusive situation and maybe not worth it if you really are attached to a single client.
One truth is that customers tend to refer customers like them. Easy to work with customers, that pay on time, tend to refer others that do the same.
I spent almost all of my years working with wonderful people.
And because they are good clients the established consultants will move the heavens to keep them happy.
And because they are established consultants they can take a loss on a project and still be around for the next one in two years.
- 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.
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.
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.
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.
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.
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.
This is illegal. To anyone considering solo dev work, do not do this. Charge what you are worth and bill accurately. That typically means salary/2000 for hourly and then 2 or 3 to cover overhead. If you're making $200k that's ~$100/hr and consult at $200-$300/hr.
In the end your client(s) may like you so much that they’ll propose to bring you in full time.
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.
Good Luck!
[1]https://medium.com/@bobbywilson0/six-steps-to-start-a-consul...
- 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)
It's the feast or famine issue. When you don't have enough work, you are required to do sales to stay in business.
Do enough sales, and have enough repeat work, and you may find you have no time for sales, and may not want any more customers. It all depends on your customer base and the type of work you do.
Also, I loved repeat/consistent work from known customers because the documentation and paperwork burden plummets dramatically. Sometimes to nothing more than a phone call/email to start work, and invoice when it's done.
Perhaps someone can build a nice app or platform to take care of that part of the job for the rest of us.
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.
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
The people I saw find real success in freelancing / contracting / consulting had deep networks, often of former employers, where they were basically "perma-temps".