Learning how to code is like exercise. It's affordable, it's accessible, and the benefits are amazing. But it also takes self-discipline and a lot of patience. So before people ever see results, they quit.
Whether you’re already working in tech or you’re looking to in the near future at some point you’ll have to decide where you want to work. Over the past few years I’ve had the opportunity to work in a variety of different companies and environments to see the pros and cons of each. So here’s list of my pros and cons between startups, corporations, and agencies.
Lack of bureaucracy
With smaller teams decisions don’t require the same level of consensus in a larger company. If you or members on your team want to start using a new tool or framework, only the team needs to be convinced rather than three levels of management.
The unwritten rule of startups is that you’re going to put in hours. The advantage of a startup is that you’re small so you can move fast. Expect them to leverage that. The downside is that you’ll be pulled in to “in-office team dinners” where keeping you in the office to work is the true goal.
This is probably the biggest downside to a startup. You take a hit on salary for all of the benefits of working at a startup. They’ll try to sell you on equity but don’t let this one factor account for your entire drop in salary. When I joined a startup I viewed the drop in salary as a form of compensation for all of the new skills I’d learn on the job. It’s all about how you frame the pay cut and whether it makes sense for you and your long-term goals.
Just because your CEO is a CEO doesn’t mean they know how to be one. In fact, it’s more than likely that your CEO is a first time CEO. Take that into account and ask leadership why they believe they’re cut out for the job.
Corporations have more wiggle room when it comes to straight up cash. So if money is your concern, this isn’t a bad option. If you know how to sell and you know how to sell yourself you can milk them for every dollar.
Along with a higher salary comes the name recognition that comes with the company. If the company is really well-known having them on your resume can convince some to skip the technical interview altogether. At the very least, you’ll have a good image tied to your name through the brand even if your actual work wasn’t that challenging.
Be mindful of the fact that some companies may only have a name for themselves within a certain geographical region. You may have worked at the best tech company in Denver but hiring managers out in California may not be as impressed.
Dry cleaning, food courts, bonuses, and coffee shops. You may not like being a part of a company with thousands of people but with it comes a lot of on campus amenities you may not get elsewhere.
Your first week will be spent verifying you have access to all team-related tools and software. You won’t do any actual work. Any time you need new software installed, be prepared to wait for your manager to approve it, their manager to approve it, and their manager’s manager to approve it. All of this so you can download and install Skype. You may not be in college anymore but syllabus week is real.
In general, the larger the company the slower you’ll learn. Within bigger companies people become more specialized and the scope of work you’ll be allowed or expected to do starts to shrink. This is one reason why I chose a startup even when I thought the team was inexperienced. If you want accelerated learning while getting paid a big company more than likely isn’t going to provide you that.
As a side effect of a larger company with more specialization expect very little ownership over features you’re going to create. Rather than collaborating with a designer over a new user flow expect someone to hand you a mockup or wireframe that has already been finalized.
When you’re working at an agency you tend to work with a variety of clients. Along with the variety of companies comes a variety of projects like building a touchscreen kiosk for a client’s brick-and-mortar stores or building an HTML5 game. These projects add some variety to the typical web developer or designer’s day of pushing code to a web app that runs in a browser. Projects at an agency typically don’t last very long either. They’re usually projects that span a few weeks or months at most so if a project sucks it probably won’t last too long.
When you work at a company, you add that company to your resume. When you work at a creative agency, you can technically add multiple companies to your resume. At the very least, you have these companies and teams to reference in your future interviews. The number of companies you work with along with the potential for these names to be recognized really starts to add up.
When companies are coming to your agency for creative work you get to see creativity in action that you wouldn’t see at a traditional tech company. If your agency is going to be working on the promotion for the movie Frozen 2 you may find yourself pulled in to a meeting to brainstorm ideas to promote the movie using the latest tech. Not only will you get to see the creative process in action but now is your time to push a virtual reality experience the team may not have contributed without you.
Agencies aren’t always known for being the most technical shops and this can really start to impact the hours you can expect to put in as a technical employee. If you don’t manage your project managers and account managers they may make promises to their client without realizing the level of effort required to deliver it.
If your agency is doing work for Procter & Gamble for a new product release, the odds are your agency and your work for P&G is just one project of many projects in the works for this release. That means there are hard deadlines that simply cannot be missed. I’ve personally spent the least amount of time working at agencies but my hours per day (60-70 per week) have never been higher to this very day.
When an agency does one thing realy well they tend to continue doing that one thing. If the agency regularly runs online contests using social media that process has slowly been creeping towards automation. You may want to use Angular but if it’s been delivered ten times in the past with AngularJS or jQuery get ready to re-skin an existing solution.
While there is a variety of work at an agency things can get a little repetitive. As I just mentioned there are occasionally “core competency” projects an agency will have. Once you do your first P&G social media campaign you may find yourself doing a few more for other brands or companies. If the differences between project aren’t that big you can find yourself getting bored pretty quick.
I hope my breakdown has given you have a better idea of some of the differences you can expect between these options as you look for your next role. These pros and cons are by no means a complete list or even exlusive to startups, corporations, or agencies.
There will always be the possibility of overlap. You may join a startup where the CEO isn’t comfortable allowing people to wear multiple hats. The CEO will declare themselves Product Designer and insist on confirmation fields for every single field in your user signup form even though the entire development team is fighting it. Shit happens.
Learning a front-end framework is hard. "Getting started" tutorials cover the basics but you leave thinking, "Okay, now how do I build something with this?"
The truth is, getting started tutorials aren't all that great for beginners. They're demos to highlight as many features as quickly as possible.
They're great for showing off what a framework can do. They aren't so great for teaching you how to build web apps.
The end result is a basic application that doesn't mimick what it's like building real applications as a front-end developer.
You'll work with a mocked API and database. Application architecture isn't covered. Automated testing is skipped altogether.
Trust me, I've been there. But those days are over.
With The Angular Tutorial, you'll learn how to build applications using a real API and database. You'll leverage 3rd party APIs like Zomato, Google Places, and open-source libraries just as you would in a real job.
The Angular Tutorial assumes you have no previous knowledge of the Angular framework. It starts at the very beginning.
Every piece of code is explained and tested to make you interview ready.
Ready to get started? 👇