From a kitchen stocked with snacks and maybe a keg, to cool artwork on the walls, exposed brick, and a super cozy Herman Miller chair – agency life can feel like a dream.
Pros: If you’re a newbie developer, agencies are a good first choice for several reasons. First and most importantly, agencies will hire you. You’re also likely to get paired with a mentor to show you the ropes. You’ll get to work on a wide variety of project types and likely a variety of various tech stacks.
If you are someone with a fair amount of experience, agencies are also a great way to dip your toes into leadership and management. Given you likely will have a number of juniors to work with, you’re presented with great opportunities to mentor and guide. The fact that the scope of your work is usually grouped by the project and new client, also makes it easy to try out out being the lead on one.
Cons: Regardless of your skill level, working at an agency after a few years can start to feel unfulfilling, at least it did for me for two reasons. One being that I never felt I was able to dive super deep into a project, and never felt ownership. Which is expected since your agency is hired to do one part of a companies project, but after the handoff you don’t get to see how it plays out. You’re in, then you’re out. Also in agency world, you’re most likely working on websites, not building software applications. Working on site after site could potentially start feeling a bit repetitive.
The fast paced, rocket ship like ride that is a startup. Filled with risk, with the chance of great reward, working at a startup can be quite a thrilling experience.
Pros: Startups are required to be quick on their feet, flexible, and quick to adjust – all while keeping expenses down. This requires each team member to wear many hats. Sure, your main role may be “Frontend Engineer”, but you also might be doing a bit of project management and planning, and possibly even working with CEO to make product decisions. To some this may seem overwhelming, but myself this is the most exciting part. Working at a startup, you really get to touch a lot of areas and grow your skills super fast, well, because you sort of have to.
Another plus side, although not super common, is the chance for a fat payout. If you ever decide to work for a startup you’ll most likely be given equity (make sure you negotiate this!). Depending on the valuation if your company gets acquired or goes public, you’ll have enough to next work a day again, or at least a chunk of change to put down on a house.
Cons: Well, going back to what I previously mentioned, startups can be very overwhelming. There’s always too much to do, and not enough time. If you aren’t the type who handles this type of pressure well, then startups may not be the best career choice. In addition to managing time, workload, and often working more than your standard 9-5, there is the risk of failure. Most startups fail. However, you're expected to run the race hard everyday. If you can’t fathom putting in a ton of work, knowing it’s likely to not work out in the end, then this can be big mental hurdle to work through and could lead to burn out pretty quickly.
I’m defining corporate as a “big organisation”. No longer a startup, over 250 employees, etc.
Pros: Working for a bigger, well established company definitely has its benefits. For one, you’ll likely get paid pretty well, have great benefits, expense account for furthering education, get all the normal holidays off, and work pretty standard 9-5 hours. You may even get catered lunch everyday.
Cons: Again, my opinion here, but writing that out above made me nauseous remembering how boring and mundane corpo life can be. Again for some this is great. Who doesn’t want a stable job. Not me apparently. I found in my experience, for my personality at least, the work at bigger corporate companies tend to bore me. I think either because I wasn’t 100% about the mission, or the work was the same day in and day out and I never felt I was making a real contribution (this is why I love startups by the way). I felt as though I would just clock in, be a code monkey, then go home. Snooze!
Uncle Sam wants you!
Pros: Benefits. Are. Amazing. No joke - government employee benefits, at least in the United States, are incomparable to any type of outfit you can work for. The pay is pretty decent for developers, and there are career paths ( a lot of them using levelling systems, L1 - L15, with the higher level equating to higher pay). You’ll get all the holidays, like a traditional corporate company, and it’s also nearly impossible to get fired (not that you have anything to worry about)
Cons: Unless you are an independent contractor, working for the government can come with a lot of restrictions. Similar to larger corporate firms, your computer is going to be heavily monitored and locked down. Trying to install a new piece of software for work? Yeah.. BLOCKED! You’ll likely need approval from your IT department first.. which will also likely take ages.
There are many different career paths you can take beyond the four mentioned. These options are some of the more common paths. How do you choose which one? Well, you don’t necessarily have to. You can always freelance.
Freelancers are able to pick and choose the client, the industry, the pay, the hours, and more. If you have an entrepreneurial spirt, freelancing can be a great route to take. Yes, like all other career paths, there are cons, mainly around having to manage your own taxes, and no benefits.
I have a few articles about freelancing you can find here.
In summary, there are no right or wrong paths to take, but it’s good to know your options. Also, if you start on a path you aren’t super keen on, you can always change and try a different sector out. Regardless, there are over a million programming positions that go unfilled each year, so you’re in a good place to be picky.
Thanks for tuning in,