Ten years in tech: 7 career lessons from my decade in software development šø
This August marks exactly 10 years since my first software development job! Iāve hopped between industries, companies, and seniority a lot in this time, hopefully learning a few useful lessons. Well, at least 7 anyway.
Introduction
Before diving into each job and the lessons learned, itās worth pointing out how drastically the software development market (and of course my own situation) has changed in the past 10 years, especially the past 4. Gergely Orosz posts weekly about the state of the software engineering industry, but one takeaway is that some of the career moves I made would be impossible now.
Additionally, itās very likely that reasons I left companies have been addressed by now, so any information in this article might be out of date, it is merely a snapshot of a moment in the past.
7 lessons learned
If youād like to skip aaaaallll the personal information, back-story, and explanations, here are the 7 lessons Iāve learned, 1 from each employer. Theyāre simply in the order I learned them, and as with all ālessonsā they need to be evaluated critically not just blindly followed:
- Take ownership of your own career.
- Be honest with yourself about burnout.
- Supportive colleagues are essential.
- Pay attention to your job market.
- Donāt be blinded by the money.
- Try out different employer & team types.
- If a job seems too good to be trueā¦ you might as well interview!
2014 - 2017: First Option Software
What was the role?
As a Software Engineer at First Option Software I usually led work on the absurdly varied software systems used by a building surveyor for insurance claims, later focusing on building an Android app for a social media company.
What was the best & worst part?
The best part was the sheer variety of technology used, most of which had to be learned from scratch! Itās pretty rare even a full-stack fresh graduate gets to lead projects in Java, C#, PHP, SQL, and more on a daily basis, adding in VB6, ColdFusion, Android, iOS after a couple of years.
The worst part was the lack of guidance. As great as it was running massive, important projects by myself, and I learnt massive amounts daily, I did a lot of ācowboy codingā with nobody to show me better! With no code reviews, no seniors to learn from, and no personal objectives, it was nevertheless an excellent first job.
Why did I leave?
Money and specialisation. I self-taught myself Android outside of work, and building my games (e.g. Pixel Blacksmith) made me realise it was possible to actually enjoy software development, plus get paid more than a basic graduate wage for it.
What career lesson did I learn?
Take ownership of your own career. Your employer will take your preferences into consideration, but ultimately if you want to 2x, 3x, 4x your salary and/or work in a new area, you need to make that happen by yourself.
This means having an appealing LinkedIn, sharing your work publicly, not burning bridges when you leave companies, being friendly (but realistic) with recruiters, and staying up to date on your chosen technologies. Itās not automatic, but a good job is worth the effort!
All of my roles (after this first one) have been via recruiters reaching out via LinkedIn, so keeping that profile appealing to recruiters is absurdly important.
2017 - 2018: Creators.Direct
What was the role?
I founded a content creator startup Creators.Direct with a friend, so I was Co-Founder / CTO. Realistically this involved everything technical, plus comms, legal, finance, management, and towards the end literally everything!
What was the best & worst part?
The best part was utilising my full-stack experience to build the backend, database, iOS app, Android app, client site, and having the complete control and vision over how the entire system operates and grows.
The worst part wasā¦ infinite essential work, and finite time to do it. With my (sales & product) co-founder leaving early, I ended up spending half of my day fielding client emails, handling contracts, and contacting leads, and the other half building 3 large projects (Android / iOS / Web) and the backend to support them! Turns out 1 person canāt do the work of an entire team, regardless of hours worked.
Why did I leave?
Workload and dwindling resources. Since Iād work 16-20 hours, then sleep for 8, my body clock became completely detached from reality, and Iād shift a few hours later every day, waking up at arbitrary times of the day / night. This lifestyle plus barely making enough revenue to pay rent let alone save any wasnāt sustainable mentally, physically, or financially.
What career lesson did I learn?
Be honest with yourself about burnout. If youāre working ridiculous hours and arenāt enjoying the work, you canāt escape this byā¦ working even harder. You need to delegate, offload responsibilities, take a break, or do whatever you need to protect your own mental health.
2018 - 2019: ingenie (ANWB)
What was the role?
This was my first dedicated Android role, as a Senior Android Developer at ingenie. This involved leading development on a driving tracking app for a large Dutch company (ANWB).
What was the best & worst part?
The best part was working entirely in Android, and having a very competent colleague! Whilst I had a reasonable amount of software development experience as a solo / cowboy developer, I was fortunate to work with a skilled Android Developer who taught me plenty of modern Android topics and libraries.
The worst part was being very distant from the client in terms of planning work and releases, and having no connection to the appās mission as a non-driver. This was my first experience working in a slightly larger company (~30 people), and adjusting to work being translated through layers of management was a somewhat painful learning curve.
Why did I leave?
Management interference and better opportunities. As internal company politics became more and more prominent (new CEO, high profile firings, restructures, etc), all of my closest friends left the company. With no remaining ties, I started looking for better opportunities, and found them.
What career lesson did I learn?
Supportive colleagues are essential. Whilst Iād previously worked alone often enough, experiencing competent, funny, and intelligent colleagues to bounce ideas off was a game-changer. Once Iād had it, the loss was very painful, and would have been enough of a reason to leave in itself. This experience made me pay extra attention to the social aspects of work.
2019 - 2020: Candyspace (ITV Hub)
What was the role?
I joined Candyspace, an agency with a long-standing major client (ITV Hub) that I would be 100% on. Initially my role was Senior Android Developer, progressing to Lead Android Developer.
What was the best & worst part?
The best part was my (and the 3-4 other Android developersā) work reaching millions of users, and leading development on an app that most people in the country have heard of. This made explaining my job to others very easy, and that name brand recognition will never stop helping me get new jobs! Iām extremely grateful for my manager taking a chance on my limited experience.
The worst part was the one-sided nature of the client / agency relationship. The power was entirely with the client (ITV), and the financial and workload limitations meant I hit the internal āceilingā of earnings / responsibility quite early with no opportunity to progress further.
Why did I leave?
Earning potential and becoming an internal employee. Due to changing personal circumstances, and the very strong Android developer job market at the time, I had a lot of favourable offers available (e.g. +40% base compensation). Additionally, I wanted to be āinsideā a company, where I could actually influence what was done, how it was done, and the app direction.
What career lesson did I learn?
Pay attention to your job market. If youāre noticing a lot of attention from recruiters on LinkedIn, and the numbers seem significantly higher than yours, maybe itās worth talking to them. Conversations and interviews are free, and practice always helps, so itās worth doing occasionally!
2020 - 2021: Metro Bank
What was the role?
I was only here for 6 months (and was looking for a new job after 3), but I was a Lead Mobile Developer (Android) for Metro Bank.
What was the best & worst part?
The best part wasā¦ itās hard to say. Perhaps the salary, itās hard to find any other positives!
The worst part was, at least in the area I worked, the complete lack of conversation / webcams, friendliness, energy, competence, meaningful work, and everything else that is essential for a software development job. Perhaps a company adjusting to fully remote work is to blame for some of this, but it was truly unbelievable, and Iām hesitant to say too much publicly in case it comes back to bite me!
Why did I leave?
Culture and work of any value, or the complete lack thereof. It is truly hard to overstate how much I disliked this role.
What career lesson did I learn?
Donāt be blinded by the money. I joined for good money, and I got good money, but it wasnāt even slightly worth the boredom and being able to feel my software skills and drive to learn / improve deteriorating in real time.
2021 - 2023: Photobox
What was the role?
I joined Photobox as a Principal Android Engineer, later becoming a Principal Android Engineer / Interim Engineering Manager, and finally an Engineering Manager.
What was the best & worst part?
The best part was finally having the āinsideā experience I wanted, and experiencing life inside a larger team (10+) and organisation (500+). Knowing that every part of the company (especially engineering) had skilled individuals was reassuring, and helped encourage improving skills.
The worst part was the higher-level company decisions resulting in high turnover. During my first few months there my iOS counterpart left, then my manager (who was a major reason I joined), then the company entered a protracted and technically extremely complex merger of equals, including the C-suite (goodbye CEO!). Whilst this resulted in lots of āgapsā letting me try out management, the relentless political manoeuvring at all levels due to the merger was painful.
Why did I leave?
I donāt want to be a manager. Whilst I enjoyed interviewing, mentoring, and influencing product direction, I absolutely loathed the āpoliticsā. This included information withholding, allocating budget, jostling for resources, and being forced to enforce and publicly support decisions I strongly disagreed with (e.g. going back on an employment agreement, losing us an excellent developer). I need to be genuine and open at work.
What career lesson did I learn?
Try out different employer & team types. By now Iād been in a software shop with tens of projects, a bank, ran a startup, worked on a major app, in team sizes of 1-20 and company sizes of 1 - 1000. This varied experience helped me figure out what I actually wanted and needed in a role to actually stick around.
2023 - Now: Seatfrog
What is the role?
Iām currently a Staff Android Engineer at Seatfrog, a traveltech startup!
What is the best & worst part?
The best part(s) are the get-it-done energy and freedom within a startup environment, and the work/life balance that comes with the absurdly excellent 4-day flexible & fully remote week. This suits me absolutely perfectly, letting me work on other projects for at least 1 day a week (e.g. my MBA), and do whatever is needed to stay productive and keep improving.
The worst part is trickier to identify, but probably having 20 things I want to get done yet limited time in a day. Realistically this is a (positive) symptom of being empowered and invested in my employerās product, so I canāt complain too much! Thereās a constant balance between implementing new features, bug fixing, improving / removing lower quality code, improving testing, improving build process, etc etc etc. Prioritisation is hard!
Why did I leave?
I havenāt, and hope I donāt anytime soon! With a startup, the biggest risk is lay-offs / financial problems, but this doesnāt seem to be a concern for the short-term. š¤
What career lesson did I learn?
If a job seems too good to be trueā¦ you might as well interview! For Seatfrog, I was offered work I wanted to do, for an interesting and unique product, with compensation & flexibility that suited my fully remote lifestyle perfectly. Everything seemed literally a perfect fit, including all the interviewers Iād spoken to, so I assumed my chances were extremely low.
Despite moving house a couple of weeks ago and having no internet (or desk!), I obviously interviewed well, and ended up with by far the best job Iāve ever had.
Conclusion
The tech job market changes often, and so do personal circumstances. Your job needs to meet your specific needs, so no article (including this one!) can accurately guide your career moves, or whether a specific job is right for you.
However, reading a variety of anecdotal stories like this, and being aware of the career moves available, will help with the decision-making. Just because I shuffled between smaller companies instead of getting promoted within a large company doesnāt mean itās right for you! Perhaps youāre better at internal politics yet worse at interviewing than me, so changing company is harder.
I also made the risky decision to run my own tiny company, which completely drained my finances (and sanity / energy) but let me experience a very different working environment and have complete creative control. The intensity of this experience also let me āskipā a couple of years working my way up to senior, and itās definitely something I couldnāt have done if I had an active social / personal life!
Whilst doing my best to obscure any actual numbers (or any way to infer them), for transparency & context this is an absurdly over-smoothed graph of compensation throughout my career so far, ignoring inflation. Obviously salary is only one aspect of a job, but itās one that typically rises over time. Despite all the job changes, itās been a fairly consistent progression (excluding the dip for running my startup!):
As for whatās nextā¦ I donāt know. Iām very satisfied in my current role, and since itās within a growing company with empowered employees, I suspect any move I want to make (e.g. management, or more backend focused) can probably be handled internally saving everyone time, money, and hassle. Thereās no āpromotionā or ātransferā I want, my financial needs are met, it would be very hard to poach me.
Iām looking forward to writing a follow-up post in 10 more years, and seeing how my perspectives and career plan have changed!