I quite like software as a job but I think I'm going to end up working for myself, one way or another. I can work on a team but I prefer working alone; I also like having control over the direction of a project and being able to iterate as fast as I need to. This has led me to software consulting/contracting or just creating a "software studio." I'd love if someone who has done something similar to share their thoughts on this. Thanks!
gregjor|2 years ago
You don’t “become” a freelancer or independent developer. That’s not an identity. You find customers who will pay you to deliver solutions to business problems. If you have a good reputation and track record and relationships with your customers they may trust you to make decisions about the project direction, tools and languages, schedule, etc.
Building a freelance practice takes considerable time and effort. I have some articles about that based on my experience (over 15 years freelancing) on my site typicalprogrammer.com.
bruce511|2 years ago
I started in a small business as employee #1 (with the founder as #0). We wrote bespoke software for customers. When that well proved unreliable as income we built products and took them to market (much more reliable risk of actually getting a salary this month.)
Over a long career I've had the freedom to elite what I want, release when I want, with any cadence I want and so on.
Of course I also learned what my customers like, what they don't like, and what they like, but I don't like. Inevitably (because I like to eat) my work patterns match what they like.
I font have 1 boss now. I have 1000. With 1000 voices all at the same time. Some are louder. Some are more useful. (The most useful are seldom loud).
Ultimately I do provide enough value for them to graciously pay me. But make no mistake - it was very hard (non programming) work to get here. The key insight was marketing. I have spent probably half my career actively marketing - and for a long time that included a lot of travel. I have visited my potential customers in small groups I cities across the globe. Multiple times. I've run training courses, attended industry conferences, processed orders, and so in.
Independent means doing -all- the jobs, not just programming. If you want to make a living this way (and i do) just be aware that there's still a million things to do. Programming might be the fun part, but you need enough discipline and desire to do the rest as well.
happytoexplain|2 years ago
malux85|2 years ago
Invent a product, tutorial, or SOMETHING that takes advantage of softwares mega-advantage over other industries: It's basically free to copy, and it's basically free to distribute globally. Neither of those magical properties get used if you're a consultant selling time for money (although will be used by your client, you are capuring near zero value of that)
Selling your time is a mugs game, build a product.
jameshush|2 years ago
It's all the upsides of running your own consultancy, without the downsides of chasing money and customers. I have generally flexible hours, tonnes of autonomy, and have a nice balance of getting to talk to people and coding. None of the coding I do is rocket science-level hard for me because I'm working with the same set of APIs every day, but is incredibly helpful for customers. My boss hardly ever tells me what to do, every week we have a 1/1, asks if the customers I'm helping are happy, and I tell him what I'm helping them do the following week.
It really is the best gig on the planet. I wish I would have known about this path sooner.
LVB|2 years ago
ativzzz|2 years ago
poshmosh|2 years ago
I am considering Amazon IQ. If you are into AWS and can get the professional level certificates, you can use Amazon IQ platform to freelance. I have used Amazon IQ to hire before and I had good results. Your really need multiple pro level certificates to compete though.
I have tried Upwork, but it's been a not so good experience. I have my work history on the platform, but it doesn't seem to matter. I've worked at some top tier companies (one of the trillion dollar market cap SF big tech companies). I think Upwork requires building a portfolio tailored to the type of projects you would like to work on.
laurent_du|2 years ago
ryandvm|2 years ago
* Every full-time person (over 30 hours) is an owner in the company that is awarded an equal amount of company shares EVERY QUARTER.
* 10% of your earnings go to the company (of which you are now part owner)
* 10% of your earnings to the biz dev rainmaker that set up your contract
* Everything is decided democratically
This worked extremely well for us, but if you're at a small size (<6 owners) then you will have a heightened risk of single-point-of-failure because you can probably only afford to pay a single full-time biz dev person.
wahnfrieden|2 years ago
swatcoder|2 years ago
The easier road to having a lot of agency in your work is through consulting/contracting as you’ve already started. The more expertise your develop and the more reputation you earn, the more confidence you can bring to your recommendations and the more freedom your clients will give you. Once it starts churning, you make plenty of money and have lots agency and rarely need to look hard for work.
But that takes time. The most valuable advice, besides patience, is to be discerning about what clients you accept and retain. It can be tempting to take any client during a dry spell or to become enamored by a client with cool ideas, but some prospective clients will devour your soul and others will have financial trouble that leaves you with large unpaid invoices and little recourse. You can learn to spot this ahead of time and you want to develop that skill. Too extreme a bad client, or too many bad clients, will burn you out worse than any bad manager at bigcorp. So stay watchful and don’t be afraid to fire bad clients once you see things looking dicey.
Good luck!
locofocos|2 years ago
He gradually moved into SEO and marketing as his customers wanted that. Right now he has about 40 customers that give him consistent work.
To this day, he's still amazed that I can code and write CSS.
creativenolo|2 years ago
boppo1|2 years ago
stocknoob|2 years ago
convolvatron|2 years ago
unless you have a very niche skill that they really wouldn't normally hire a full time for. thats really the best ticket here, because those people are alot more respectful of your time, pay better, and are very clear about what they from you.
dont even try to get work on those job boards. i dont have any good suggestions on where to start getting jobs if you dont already have a network.
if you can keep all that going, its entirely possible to work part time, make good money, and have great control over your schedule and life choices. if you cant, then coming out of contractor into salary can be harder than transitioning between salaried jobs.
dieselgate|2 years ago
Probably the best way is to just do more independent software development. Personally think dog-fooding business tools are good to work on - solving your own problems.
One tough part about working independently is not being exposed to others' ideas. Keeping up on industry trends and continuing to learn via whatever means may also be relevant.
anonzzzies|2 years ago
triyambakam|2 years ago
transistorfan|2 years ago
dylanhassinger|2 years ago
check out @indiehackers and @levelsio, and the book "start small stay small" by rob walling
davidw|2 years ago
But even if you try and it doesn't work out 100%, you still learn a ton.
Rob has a new book out, by the way, "The SaaS Playbook". Haven't read it yet, so not sure how it is, but "Start Small, Stay Small" is one of the best business books I've ever read because he went out on a limb with real, practical advice rather than handwavy BS. That means it's a bit dated now, but probably still worth a quick read.
bavell|2 years ago
unknown|2 years ago
[deleted]
zx8080|2 years ago
For better understanding your context, have you started being a consultant/contractor already?
wahnfrieden|2 years ago
ninjha01|2 years ago
https://nishantjha.org/essays/squeeze
It’s early days for my writing and so I’d love feedback
billy99k|2 years ago
jackthetab|2 years ago
kmoser|2 years ago
tl;dr Don't try to be a lone wolf. In the long run it hurts you, not to mention your clients. Learn to work with others.
antoniuschan99|2 years ago
ryandvm|2 years ago
SoftTalker|2 years ago
ChuckMcM|2 years ago
If you're thinking "software studio" like "art studio" or "PR firm" or maybe a "legal practice" ? That sort of thing doesn't really exist yet (it may but it probably won't for another decade at least) but not to rain on your dreams let me share a bit how I reason to that;
Given the current working environment, there a few kinds of software "situations"[1] and each have their plusses and minuses.
The simplest is "employee" (which I know you're trying to get out of) but there is a reason that companies maintain a stable of employees whose only job it is is to create software. It is an economical way to spread the cost over a variety of software needs, especially for vertically integrated companies.
The next simplest is the software contractor. The client tells you what they need, maybe puts some parameters around it and gives you an unreasonable deadline[2]. The upside is you can pop these off and generally they will pay the rent. If you're specialized in a particular thing they can even pay more than the rent. The freedom to come and go as you please it a plus, that you need to line up the next one before the current one ends, kind of a pain. Evaluations are also often more stringent as the clients are typically paying you more per hour than they pay regular employees so they darn well get their money's worth.
A more complex one is developing a boutique software product and focusing on that. I have a good friend that developed all the software for some industrial control systems and they can just sell it again and again to people who are setting up factories or other control processes. I think the typical way these form is someone is contracting and starts reselling the software they wrote on one job to others. (note you need to include language in your engagement contract to do this!) But there are a lot of industries where they need an "out of the box" solution. One person I know did this for their local church and then resold the same package to half a dozen of the churches in town.
The important thing to understand is that software is worthless. I can be fun to write (I enjoy it tremendously and write software for fun) but to be economical it has to serve a purpose for someone who is generating some sort of economic product. And writing any software product has parts of the software that is boring/lame to write and that part of a project will always feel like a job.
There is however one way to write software for fun without having to deal with deadlines and impatient bosses, and that is to get a job teaching programming somewhere. You can write things and go over it with your students, you can see how they write things and help them get better at it. You do have to deal with "school politics" which is a thing but the software you right doesn't have to "do" anything, just be illustrative.
So if you had hired me as a coach and posed this question, the first thing we'd do is put yourself in your "software studio" and write down what your day to day looks like, who your customers are, and why they are paying you as opposed to hiring some contractor or a full time employee (FTE) to produce the software they need. Then work backwards from there to the present to get a handle on what milestones you might expect between your current situation and that one.
[1] I'm going to leave off the one where you work as an employee of a company that is growing and gives you stock options so that after some number of years you can pay yourself from gains on your investment portfolio and spend time writing what ever code you want. Perhaps surprisingly a lot of people fail at this (they have the means but just making up things to do is not one of the skills)
[2] I'm not sure why but of all the software contracts I've taken on over they years I have yet to have someone say, "Take as long as you need to get it right, that is so much better than getting it fast." :-)
Grimburger|2 years ago
Dev shops are certainly a thing.