4 differences between interning at a start-up and corporation

Yuliana Havryshchuk
Engineering @ BuildZoom
6 min readAug 23, 2018

As a computer science student at the University of Waterloo, I’ve had the opportunity to do 6 internships at 5 different companies since 2013. I’ve learned a lot about programming, product development, and maybe most importantly, the type of company that I want to work for when I graduate.

This summer I completed a 4 month internship at BuildZoom — a company with a simple purpose: to help you find the perfect contractor for any remodeling or construction job.

BuildZoom was my first start-up experience. I previously worked almost exclusively at corporations with thousands of employees. This post will describe 4 of the biggest differences I noticed between working as an engineer at a large company, and working as an engineer at a start-up.

Disclaimer: Culture and processes vary a lot not only between companies, but even between teams. These observations are based only on my experiences!

#1 Involvement in the product development process

There are a few core stages involved in bringing a feature to market: defining a goal, performing data analysis, scoping out the idea, technical implementation, and finally, evaluation after it goes live. What makes a big difference to you as an engineer is when you are brought into the process.

At a large company, by the time that a task gets assigned to you, it’s finalized and ready to be implemented, having been hashed out by relevant teams (business, product, design). This is nice and straightforward, which lets you get right down to business, but what if you have a contribution that can make the feature even better? Or an idea for a small tweak to the design that could cut the development time in half? At a large company, there is often no room for this feedback because the tasks between teams are very clearly defined , and the task of an engineer is simply to implement. Not giving engineers the opportunity to contribute to the ideation process makes it less likely that the optimal solution will be found, and also makes individual engineers less invested in the products. It’s not as fun when you have no say in the features that you’re working on.

As an engineer at BuildZoom, I found that not only do you have a say in the product development process, you’re encouraged to speak up when you have concerns or ideas for improvements. The best solutions are found when all the stakeholders are involved in the process, leading to a good balance of company goals, user experience, and technical feasibility. I’ve had a lot of fun collaborating with different teams to iterate on a product idea before moving forward with the implementation. It helps you stay engaged in the company vision, and makes you feel empowered to make an impact.

#2 Depth vs. breadth

There is plenty of opportunity in the tech industry for both specialists and “jack of all trades” programmers. However, it’s not always possible to find both types of opportunities within one company.

At a large company with thousands of people, there’s a team for everything. At the minimum there’s a team for each product, and it’s not unheard of for a single feature to be split between multiple teams. This means you can get really deep knowledge of what you’re working on — which is great if you’re solving a really interesting problem, but let’s just say I wasn't too thrilled with spending 4 months working on a word count box.

Small companies simply do not have the bandwidth for every engineer to be a specialist in a small area of the code. Most of the engineers at BuildZoom are full-stack. Because the engineering team is small, I had the chance to contribute to a variety of cool features in different areas of the company. A few of the things I got to work on were: extending BuildZoom’s public API, automating data exchange processes with data licensing partners, and bringing new features to the website from the back-end to the front-end. It can be challenging to be exposed to many new technologies in a short period of time, but it leads to very rewarding growth in your skills as a programmer.

#3 When processes don’t work

Repetitive interactions in groups inevitably lead to processes, known as “the way things are done.” Processes are great! Without them, any organization would be chaotic. The difference is how companies deal with processes that become out-of-date or ineffective.

At a large company, when a process doesn’t work, the patterns of activities have usually become so entrenched that they are difficult to change. First you have to get everyone to agree that the old process doesn’t work. Then you have to getting everyone to agree on a new process! If hundreds of people are involved, it’s inevitable for this change to take months. At one large company I worked at, we had quarterly releases with certain tasks assigned to each release. This list of tasks was inflexible. If a team had completed all their tasks early and wanted to fit in some extra bug fixes into the release, they had to use a sneaky workaround to tie the bug fix to a task, and hope no one would notice. If you have to wade through bureaucracy to be allowed to get work done, there’s definitely a problem.

At a start-up, it is very clear when there’s an unnecessary process or a meeting that doesn’t make sense. And because of the small number of people involved, it’s very easy to make a change. At BuildZoom, new features and updates generally go live every Tuesday and Thursday which provides stability to the product development cycle. So what happens if something needs to be released on a Wednesday? All you have to do is write a slack message in our web development channel, requesting a deploy. There’s no red tape or paperwork to complete, which leaves a lot more time for your actual work.

#4 Mentorship

Mentorship is one of the most important parts of an internship. Strong internship programs are focused on proactively helping interns level up and contribute successfully to the company.

My experiences with large companies have been that interns are hired to do work that is left after the full-time engineers get assigned their tasks. This can include “blue-sky ideas” — ideas that are cool to explore and demo, but not nearly important enough to dedicate engineering time to. This usually means that your 4 months of work will never see the light of day. Another alternative is grunt work — work that’s mundane and repetitive and just needs to be done. My coworkers at large companies were really great, and tried to provide me with all the guidance I needed. But when they’re facing deadlines for their real tasks, and you’re trying to figure out the best architecture for your demo app (which no one will ever open after you leave), can you guess which one of these things will take priority?

I’ve wanted to work at a start-up for a long time, but the fear of failure was holding me back. From what I heard about startups, they were lean, moved quickly, and placed a lot of responsibility on each individual. That sounded really exciting! But what if I couldn’t handle it? During the interview process with BuildZoom, I asked one of the senior engineers “what is the mentorship at the company like? Will I be thrown into the deep end and told to swim?” He assured me that everyone on the team is invested in helping each other succeed. After 4 months, I can’t overstate how true that is. At the start of the internship, each small task that you’re assigned pairs you with another engineer, all of whom are extremely smart and very helpful. This is a great strategy to help you get familiar with different areas of the codebase and get to know other engineers. The team helps you build up your skillset and confidence, giving you larger and larger projects as you’re ready to take them on. And because the resources at a start-up are much more scarce, there are no ‘throwaway’ projects and everything you do as an intern matters.

Conclusion

Having read the article, can you guess which type of company I prefer working at? I have to admit that I might be biased, since working at BuildZoom was really awesome. I got to work on meaningful projects with really smart people who were excited to help me make an impact.

If the only reason you haven’t joined a start-up yet is because of the intimidation factor, I encourage you to take the plunge! Surrounded by the right people, your skills and confidence will build and you’ll surprise yourself with what you can achieve.

BuildZoom is hiring for both internships and full-time positions!

--

--