Startup vs. Big Corp: 1 year personal retrospective
Published: 2023-03-02 | Updated: 2023-03-02
Short, snappy conclusion
Startup experience:
- Learning on the job is hard, but with other devs to help, a really good way to learn. You need the individual deep focus time, but also the ability to ask help at points.
- Picking proven, “boring” languages is the way to go for getting up to speed quickly.
- Writing good code is hard, writing messy code that works and refactoring later to tidy is marginally easier.
- I am 100% not built for the business development or business-related role. I tried, but it is an alien world in comparison to programming (It didn’t help trying to build for a business I know little about!).
- Scrum is a real mixed bag of a software development process. 1
- The appeal of startups is certainly alluring, and working for yourself really is! But it also takes a large toll mentally and financially, and the glorification of overwork did leave a sour taste in my mouth.
Big Corp Consultancy experience:
- Progress is slow yet inexorable, like the heat death of the universe.
- Job is relatively comfortable, no overlong hours, not loads of stress, getting a real decent-ish wage, with a variety of perks and opportunities to improve on-top. Great!
- Its also easy to coast, knowing you’re a part of a cog of a vast beast of a machine, and maintaining an existing project, using boring big corp languages, is nowhere near as fun as new greenfield projects. Not so great…
- Scrum continues to be a real mixed bag…
- The slow, clunky, treacle of bureaucracy that naturally arises can be very painful to navigate and swim through.
- All this culminates in some nice stability, but also a massive yearning to rustle up side-projects to work on outside of work to liven things up, even trying to look back into startups again, in spite of the negatives.
The grass really is always greener on the other side, apparently.
The indepth, long-winded musing
Startup, at Alacrity
My first experience working with startups was my first software engineering role full-stop, joining a graduate entrepeneurship course/programme/incubator, at Alacrity. This was a 15-month programme, targeted at recent graduates like me, in order to teach a) how the hell to build and run a tech startup in theory and b) putting said theory into practice. The programme had real-world problems for us already to validate and explore feasibility, and in the end we picked the issue of solving Secure Document Management tailored towards Wealth Management Firms (in hindsight, a lemon of a choice, there are existing tools out there and a bunch of 20-somethings know zilch about Wealth Management).
I knew that coming out with any kind of VC-funded business would be unlikely so I was just along for the ride. I viewed it as a free hit, a convienient to experience the whole startup culture, some differentiation on the CV and some programming experience on top. For what its worth, I got the startup experience, good and bad. It was eye-opening and exciting yet exhausting and extremely stressful, and I’ve not really known what to make of it since.
I’ll start with the good. I came out of the baptism-of-startup-fire a better developer, got a job afterwards (partially) because of it, learned a whole lot about startups and their associated trials and tribulations, as well as demonstrating that yes, there is great joy in putting in the effort, creating something from scratch and proudly showing off the (slapped together, held using duct tape and dreams, in)complete article, knowing that you were instrumental in putting the pieces together.
On the flipside, it proved that I really don’t have any kind of business brain 2, some personal grievances with Scrum/Agile and that startuos require a lot of mental (hello burnout!) and financial sacrifice. Not the best feeling to learn these limits the hard way, either.
I guess I’ve always found this experience a little difficult to reconcile, because while I learnt a whole lot (a lot of the time, the hard way!), I really can’t say it was an enjoyable experience - and thats certainly made obvious considering the hours (50-60 hr weeks, every week, for a year solid) and the total lack of payoff (few potential early customers ended up getting off the shelf products, completely pulling the rug from under us, meaning business died before it began) meant we all just collectively stopped one day, in late September, and all went our separate ways.
It was only then, that I realised how fast we were collectively running on the treadmill, and stopping was painful - as painful as stopping suddenly on an actual treadmill. Burnout ensued, and I spent the rest of the year basically recuperating from burnout. Leaving on such a sour note was less than ideal, and I was lucky to find my next role so easily because job hunting is a soul-draining experience itself.
Admittedly, saying ‘I learned a lot’ feels like a cop-out, sine it serves a great cover story/spin for failure, but I’d like to think that its a legitimate story in this case, considering where I started at. I proved that:
- I can learn software development well enough to use it as a career path for the forseeable future.
- I’m not good at the business side, as I expected, but I still know more than I did before.
- Just knowing the “obvious” basics, like sourcing problems than making solutions (and not! vice versa), quick-and-dirty business viability, quickly iterating in development, keeping a lasertight focus trying to do just one thing well etc. is important in my eyes. It’s one thing to learn these, but quite another to see these in practice.
- I’m both hot and cold on startups, and would definitely like another attempt at one, although more on my “own terms” e.g. bootstrapping.
- The line between developing too quickly and creating tech debt vs. going to slow.
- The myriad of ways a startup can fail or fall-through is even longer than I could even imagine.
as well as a host of other, unassorted things. I certainly learned a whole lot more than my first year at my next job at CGI. Speaking of which…
Big Corp Consultancy, at CGI
Post-startup and post-recuperation, I looked for a more traditional, stable job here in the UK, and wound up at CGI. There are a few unique circumstances working in such an environment, but I’d like to think that its somewhat representative of some big corporate job, and the difference between that this and a startup rather obviously stark, with its own set of advantages and disadvantages.
Of course, day-to-day work is the usual development fare, using languages fit for a corporate (currently Java for backend, React.js for frontend, MongoDB as Database, certainly not novel), with a corporate-y version of Scrum, building-on and maintaining a 3-yo codebase for the forseeable future. The actual product is somewhat interesting, and onboarding onto an existing codebase poses its own unique challenges, but the actual day-to-day is relatively boring. Now that’s not a bad thing, I have mental bandwidth to do other things, like writing this blog, experiementing with different programming languages/frameworks, looking at making games, or just having fun. I can at least detach and not be in a living-to-work situation.
Although I must admit the detachment can be a little bit of an issue, that combined with being a tiny cog in a massive contraption does lead to some lack of buy-in. I’ve certainly fallen prey to learned helplessness sometimes in some aspects, purely because a lot of things are legitimately out of my control, means it can be difficult to buy-in to improve what you can control, because even identifying what you can control is effort (swimming through the everpresent enveloping treacle of bureaucracy can be painful), given all the constraints (and even then, its a lot easier to determine if something sucks, quite another to find a solution that sucks, well, less). It does make me worried that being so laidback is, well, coasting.
And given all this? Well, the radically different environments has given me two nice data points to compare and contrast, reflect where I am and where I’d like to be etc. etc. Its also given me a newfound appreciation of start-ups, of poking around and creating something from scratch myself, although doing it on my own terms. My current folly is looking at experimenting with game development, starting small with mainly text-based games. I’m again not expecting big things, that would be foolish, but to have something I can poke, tinker, break and repair without any expectations other than my own, now that I’m once again itching for it.
Conclusion
Startup experience… good lessons learned but was a very mixed experience. I would like to go back into this space again, but definitely on my “own” terms and probably bootstrap any project I go forward with in future, unless I, by some miracle, stumble upon the greatest new idea of all time (which is not likely!).
Big corp consultancy experience… comfy and stable, but also somewhat unsatisfying and boring. I’m glad to have gone here for the stability (and money!), and having the opportunity to take things slow and think about other projects, future goals etc. Its safe, but sometimes feels too safe, and I’d like to, well have my own projects to dedicate to and show to the world.
Not sure anyone other than myself will be find this rambling interesting, but good to reflect nonetheless, even if its just confirming initial suspicions, and above all this practice to put formless thoughts into words, sentences, paragraphs.
- I may write about my own thoughts and critiques on Scrum, however critiquing the “current state of Scrum/Agile” has been done to the death, so I don’t think my perspectively are remotely novel or unique.↩
- This is more of a me thing, I’m a mathematician at heart, so there’s a fundemental mismatch at work here. I liked reading through Aulet’s Disciplined Entrepeneurship and there were some bits and bobs even I could pull out, but a lot of it requires intuition, interpretation and self-confidence to make a decision (), and I never got a grip on any of that. Not sure how you teach that though, I suppose that’s why the stereotype of techies not being good at business exists after all.↩