You’ve taught yourself to code or you’ve just finished your computer science degree and it’s time to get a job. Do you head for a startup or would a corporate job be safer? Perhaps you should join a consultancy and work with many clients?
This week I opened the blog up to Jonathan Bailey, a Solutions Architect, who has experience working in all three. Jonathan grew up in the Vale of Glamorgan and studied Computer Software Engineering at Bournemouth University before returning to Wales to start his career. Over the last 15 years, Jonathan has split his time between startups, corporates and currently works as a consultant across the UK. Here’s what he has to say…
Although Wales is quite small geographically it has a vibrant tech scene, which attracts some of the largest names out there. From insurance and banking to translation and travel, there are some really exciting corporate opportunities for people working in tech. If corporate isn’t your thing though there is also a growing group of startups around the bigger cities of Cardiff and Swansea.
Throughout my career, I have been lucky enough to work in both startups with around 5 or 6 people and corporate companies with over 1500+ employees. My current position has me stepping into the consulting world. All three are very different working environments with different focuses, demands and challenges. On the flip side, they also have very different rewards and opportunities.
After graduating from university the first few companies I worked for were small startups. Some had their own products they were trying to develop and sell to potential clients, while others were bespoke software houses that were available for hire to help deliver projects or solutions. Despite the two different business models, they shared some key characteristics.
You have probably heard the term “flat management structure” before and that’s certainly been my experience in the startup world. There are the founders and then there’s everyone else. Regardless of your “role”, if you have an idea that might benefit the company, an idea for a new feature, or maybe a new way to solve a technical problem, provided you can articulate it well, you will most likely get a fair hearing. Roles, job titles, and positions don’t mean much when everyone is doing everything they can to make the company a success.
From my own experience as someone who started as “just a developer” I quickly found myself talking to clients. First from a support perspective - “Just give them a call and have them talk you through it”, which quickly escalated into a deeper bug investigation or client use case exploration. This led to requirement capture, solutionising and developing, testing and delivery - all the while being in close contact with the client. Without me realising, these startups had allowed me to try my hand at everything they did and were quickly helping me round out my skill set and develop professionally.
For me at least, that is the key opportunity a startup offers. A startup will rarely be the best payer, but what I lost in monetary reward, I gained in experience. A startup environment let me experience real joy and excitement working on brand new problems, delivering on time to users or clients and having the freedom to try new tech and new ways of doing things.
They also taught me what it’s like to work under pressure. It’s make or break when working to deadlines with paying customers for startups. That might sound like a bad thing, but learning to handle pressure and be professional whilst doing so has helped me in every step of my career since. I have worked with some very experienced and competent people over the years, but sometimes despite their experience, some have not coped well with high-pressure environments. I believe startups gave me that resilience and ways to safely manage working to tight deadlines.
This can also be a downside however. Working to deadlines and the lack of job security can be too much for you - and that’s perfectly ok. Another downside to working in startups is that it sometimes feels like you have to start drinking the Kool-Aid. It can be difficult to step away. I’ve lost count of the nights I spent researching how to use some platform or tech I wasn’t familiar with or working on some proof of concept or putting in the extra hours to meet a deadline. It can quickly become the main thing in your life. Burnout in that environment was a very real risk. Another big risk is getting things wrong. It happens to everyone and usually it's very quickly apparent when a mistake has been made in a startup. That can leave you feeling exposed and that can sometimes be a not very nice experience!
Eventually, the pull of the corporate world got to me. Big flashy offices with headquarters and lots of people. This was before COVID and the working-from-home movement, so big centralised teams were the norm. There was a healthy pay increase as well.
While startups are fantastic places to grow and evolve skills, the corporate world offers different opportunities and challenges. Where startups often adopt technological advancements willingly from project to project, corporations can be slower and more averse to change. This is with good reason. A long-lived corporation is guaranteed to have built up a sprawling, complex and tightly coupled technology pool. Rapid change can whack mission-critical processes out of kilter.
This change of pace allows you to focus on key areas of your job role and improve incrementally. Without my time spent in a corporate environment I wouldn't have been exposed to architectural frameworks, ITIL and a whole heap of other frameworks and certifications corporations love. This exposure and knowledge is what allowed me to move from developer to tech lead, to solution architect over time. Regular performance reviews tracked my progression from what I knew to be good and added an underpinning of architectural know-how and broader considerations. It also helped me identify weaknesses in my approach to work and, once earmarked, those weaknesses could be worked on and improved over time with support from a manager who engaged with me in personal development.
But this change of pace was perhaps a blessing and a curse. Of course, I understand why brakes need to be applied in corporations, but for me, coming from the startup world, I was often eager to try out the Next Best Thing to solve engineering problems. Sticking with running systems comes with additional issues, I discovered. Often knowledge of how those systems worked was lost when colleagues retired or left the company. It meant a lot of my time was spent decompiling something just to work out what it did. Pulling the wrong thread could sometimes result in the whole thing coming tumbling down.
The general reporting structure is of course also much more complex and rigid. While in a startup I found my managers to be much more tech-focused, in a corporate setting my managers may have had a tech background but their focus is on people management. Their power is also limited by the corporate structure. Evaluations and business cases need to be made before any changes and for a developer it was often difficult to find the time. Ultimately I found that the strategy is set by someone else and I felt at times limited by my job title.
Finally, while the initial pay increase was great, as my capabilities increased the scale struggled to keep up. In my experience of corporate life, there are rules around pay scales which can sometimes be frustrating for someone who might want to take on more responsibility but be limited by the grade they are in. On the flip side, I have discovered that corporations can be very generous when it comes to annual bonuses and/or pension schemes and for me I think this is where they made up ground.
Eventually that need for a fast-paced environment came back. Having worked in startups and corporations I knew I wanted somewhere that allowed me to face new challenges like a startup did, but with the professional development that a corporation provides. With that in mind, I leaped into another new sector, professional services as a senior consultant.
I have only been in this role a few months, but I have jumped from helping clients with data management, adopting cloud-first infrastructure, and maturing an Agile framework. It’s genuinely refreshing to be able to introduce new concepts and work with new teams. I have so far been amazed how challenges seem so similar between clients, yet nuanced in ways to make it unique and challenging every time.
So far consultancy seems to have embraced the flexibility of a startup, annual leave for example, although capped is fairly flexible (with client approval) with dedicated time for self-development and refreshing of concepts and frameworks worked into my time as well.
The team is also really supportive. You would be forgiven for thinking that it would feel lonely and disconnected working with clients rather than the actual consultancy team, but I think everyone recognises that risk and makes the effort to catch up with each other and share experiences or knowledge. It has made it easy to reach out when I inevitably need help because I’ve run into challenges I have never seen before.
A big difference with working as a consultant is you try to support the client as best as possible to achieve their goals, whilst simultaneously staying within the agreed scope of work. This balancing act between agreed deliverables and a longer-term strategy for the client can be challenging. Ultimately though you are there to be the trusted advisor, and it's important to maintain that trust, even if it means conversations about things that might not have been on the initial statement of work. This is why you are there, to guide, nurture and evolve their project using your and your company’s knowledge and experience working with multiple clients. It’s also true that you learn something new from each client too, which makes client work feel even more rewarding.
If in doubt, try all three.
In conclusion, I think I was pretty lucky in how I got into the tech scene in Wales. Starting in a small startup gave me room to satisfy my interest in tech and expand my knowledge of what was out there in technology - and learn my limits. Moving to corporate when the time was right gave me a more solid grounding in frameworks and the architectural concerns of large businesses that complimented my now fairly mature technological skills. Consultancy is, I hope, the opportunity to hone all the skills I have learned over the years in new environments and scenarios. Keeping that intellectual challenge going from client to client.