5 ms·
This is interesting. I usually advise beginners NOT to start freelancing before they get some experience with a full time job at a company (preferably a non-rem
by atleta 6y ago
This is interesting. I usually advise beginners NOT to start freelancing before they get some experience with a full time job at a company (preferably a non-remote/on-site position). If the market starts to push people into the other direction, that will, I think, further decrease the chances of any client getting their project finished.
And I definitely don't mean this as a critique towards you. (If I want to be honest, I've first tried freelancing/remoting after 3 months of FT work, which wasn't even really coding.)
But quite a lot of these engagements end in poor quality results or simply fail. I've talked to a lot of people, non-tech clients, for whom it didn't work out. And obviously the reason is that they have no idea how to manage such a project, how to pick a good candidate (both wrt to technical skills AND management/self-management/product management skills). I.e. they don't know what they need.
Now a bit more experienced developers will more often (though far from always!) at least have an idea how to work with a client, how to push back on stupid requests, how to actually manage the project AND the client. Because sometimes clients will come up with or slowly navigate themselves towards modes of operations that actually make a good outcome a lot less likely. And the end result is that they spend too much to get too little and the freelancer works too much to get too little.
One symptom is wanting to monitor the desktop of the developer. That shows that whoever thinks they can resolve a dispute this way have no idea about software development, they can't judge and understand whether they are getting adequate value for their money, so they resort to something that they understand (standing behind the shoulder of the person they pay). But which unfortunately doesn't work. And how it makes things worse: e.g. they scare away the more experienced guys.
A similar fallacy is being anal about deadlines and fixed costs. Again, a surefire way to shoot yourself in the foot.
- sitkack 6y agoA FT job is a great jump start into freelancing and consulting. You get so much context for free, and frankly anyone at a FT job that has a consultant mindset will have way more opportunities.
- arcturus17 6y ago> I usually advise beginners NOT to start freelancing I switched from product manager to developer through a masters, and started freelancing because while I received interest for FT positions from very good companies in my country, they only offered me junior positions (and naturally I cannot blame them), in a country with low wages. I ended up clearing over 2x the salary of a junior in my first year freelancing (so more or less the salary of a decent senior), working with two very large non-tech companies and one pre-seed startup. However, I agree with your comment. For starters, my situation is fairly exceptional; I have proven sales and product/project management skills. I'd feel comfortable walking into a room with C-level executives, pitching to them, and then delivering on those promises (while navigating fairly well the inevitable small failings such as missed deadlines, etc.) But above all I wouldn't recommend this route to anyone who has even a remote possibility of getting an FT job because learning everything on your own is a gruesome process. It's possible, but it takes huge amounts of discipline and deliberate practice: you need to force yourself to read more code and books to discover patterns and acquire skills which would otherwise come naturally by just being present 9-to-5. Also bear in mind there's no outside pressure to write that unit test or refactor that smelly code - it's all on you. And of course you have no one to talk to - you have to endure a permanent and extreme loneliness in your doubts, only mitigated by making dev friends in real life and posting regularly on SO (and don't count too much on the latter!). It's had positive things for me too. It allowed me to work all across the stack, from product management, design, front-end to back-end, and I am starting to position myself (locally, at least) as a product engineer that gets shit done, and to a high standard of quality. I also get to choose my own stack and technologies at all times (which also builds particular skills in research, etc.), and no corporate politics or whatever get in the way of you suddenly shifting your focus to a different discipline, which is what I hated most when I had a career. Nevertheless, I'd say if I didn't factor the 2x wage (which is probably not realistic for a lot of starting devs), the cons would clearly outweigh the pros, and I would repeat your advice to most people.
- atleta 6y agoWell, then you had a fair share of what you need as a freelancer, for sure. Out of curiosity: why did you make the switch? Is it worth it, as opposed to working as a solo/freelancer PM? As an engineer, I feel most of the value I bring is not actually writing code but managing the whole process and consulting the client on what to do and how to do. (So product and project management, sometimes with discussing the business side, agile/lean coaching. I.e. explaining that we don't want to build all features that sound cool, don't want to build every feature to its best version for a start, etc.) Though I'm not sure if I could make a living trying to sell this on its own (as opposed to doing it as a full stack engineer and tech lead).
- arcturus17 6y agoI made the switch because I started coding and studying CS in my free time and realized that I loved it, and that taking a detour was not so risky since software engineering would be a good complement to the skills I already had (it essentially meant "closing the loop" of the dev cycle). I've worked as a freelance PM once, right after finishing my SEng masters actually, and the experience wasn't great - the choice of tech and the team in that particular project were terrible, the customers were really clueless and it was a fight against the elements. There are also not that many freelance PM jobs, at least where I live. There is a massive market for companies who want to build stuff - and in most cases they want everything handled end-to-end, so being able to do everything responds greatly to this demand. The projects I've coded have turned out great thus far. In particular I have built an internal product for a global leader in its industry and it's really taking off. > I feel most of the value I bring is not actually writing code but managing the whole process and consulting the client on what to do and how to do I feel the same. In fact I may need to outsource the coding on a couple of my projects very soon... Still the SEng experience would be invaluable in this regard as I can act as both PM and engineering manager. And I will keep coding the projects I'm interested in - I'm not sure if I'd like to turn into an agency for the foreseeable future, but rather look forward to improving my coding skills for at least another 3 or 4 years.