Skip to main content

It’s a new year and I’ve been reflecting about 2023. A lot of amazing things have happened. Among those changes has been I started a new role as a Senior Software Engineer at HubSpot in their Mobile Group as an iOS engineer. It is my dream job. I’m working remote, get to be home with my wife as she raises our second child (who we also welcomed in 2023), and I am working with some of the smartest engineers I have ever met.

It wasn’t always this way. Before I started at HubSpot I was a single engineer at a small ecommerce company for 7 years. I worked closely with the directory of operations there and had a strong pulse of the industry and how things worked at the company. It was honestly a huge blessing. I learned so much, I got to be in change of so much and I feel it was great experience that positioned me for where I am now.

Needless to say, life at a larger company, where software is the product, is different in many ways. I am still getting use to it. But I can say with confidence that I’m starting to get dangerous with the skills I’m gaining.

I wanted to break down a few brief things that I can see as being obviouly different working at a large company vs a small outfit. Here goes…

1. Nothing Is Rushed

This might not be the case at all large companies, maybe HubSpot just has their sh*t together. I am rarely working under a deadline. We operate as a high performance team where we can expect people to deliver and with that things aren’t rushed.

It’s really nice. We can go back and forth on PR reviews, get an implementation right, scalable, and bug-free, before it’s released to 100% of users. It’s very different from working at my proior role at a smaller company where I did everything. If something broke at 11pm (as they sometimes did) we needed to fix it otherwise orders wouldn’t come in! No bueno!

Interesting Side note: We do have these things where I work now called Critsits, critical situations, where part of our product is unavailable to users. Those issues must be resolved immediately. But being an iOS engineer, even if there was a critsit we wouldn’t be able to address it immediately like a frontend team or backend team could. A hotfix needs to be developed and then approved by Apple before it could reach users. This whole process could take days to complete. So again not much is rushed.

2. The collaboration Is Awesome

Like a mentioned in point 1, I get to rub shoulders with the best engineers in the field. People 1000x smarter than I am that I get to bounce ideas off of. There was one features I was working on last month that I wasn’t too sure about the best implementation for. I was stuck between two ways of doing something.

I sent a message over to an engineer on my team and asked if he’d be available for a quick call. Boom 💥, jumped on the call, explained the situation and my ideas, and got his feedback. Tip: this also cut down on PR back and forth between him and myself. Because I got his input first, the PR went much smoother.

3. You Specialize

It is very interesting work a specific role, like iOS engineer or Backend engineer coming from a place where I was a “PHP developer” that did everything. At a large company, people specialize. We have our corner of the product that we have deep knowledge about and that is where we stay for the most part. A backend engineer works just on backend stuff. As an iOS engineer, for the most part I stick to just building out features for our iOS app. Better yet, we ever have a foundations team and a devops team that handles everything and makes our lives 10,000x simpler. So an iOS engineer on X team gets to focus on just X, cutting down on context switching.

Let me explain how this is different than working at a smaller company.

At my previous company, I was devops, full-stack developer, SRE, product manager, designer, database administrator, QA, infrastructure, etc… You do everything when it’s just you and maybe a few other folks. This is actually really cool for learning and gaining a breath of knowledge. You lose that a little bit working at a large company because you don’t need to know how to set up an EC2 instance, install Ubuntu, etc. You just push code and everything else is taken care of. But that’s how working at a large company is different.

I actually plan to write a blog post about this in the future too because it is a very interesting topic to over and also a reason why it is a very good idea for engineers to have side projects, so they don’t lose the experience of doing everything.

4. The Pay is Different

This has been one of the biggest blessing in my life. Getting this new role is what allows my 8 month old to be raised his Mom instead of going to day care. So because of that I consider myself the luckiest guy in the whole world. This wouldn’t have been possible working for a smaller company, even though I loved the team I was on.

Working at a smaller company your pay and growth is limited. The whole ecommerce team I worked on at my previous job had about 12 people on it. This includes customer support, content creation, and engineering. This wasn’t a startup so there wasn’t going to be a lot of growth over time, unfortunately. I imaging working at a startup the grow opportunities are high!

The way I view it, it comes down to this: the higher the revenue of the company the larger your impact is as an engineer. The larger your impact as an engineer the more you are compensated for your expertise.

At a smaller company I got a salary and a bonus. At large tech companies the compensation is generally broken into a few components: base pay (what you’re paid every month), stock grant (usually 1/3 of total compensation), and sometimes a bonus. You can also expect a healthy signing bonus as a part of accepting the job offer.

5. I Am The Dumbest Person In The Room

I know a quote that goes like this: “If you’re the smartest person in the room, you’re in the wrong room.” There is no room I could be in at HubSpot that would be the wrong room. Some of my first thoughts when I joined the company was “man I got to get better, fast!” The knowledge of the folks I get to work with make me feel small, but this is awesome! Small fish in a big pond with big fish will allow me to grow into a big fish!

I read a reddit thread once about this. People at big tech companies are not all genius. A lot of us are just regular folks. What I read that makes the difference at a big tech vs a local small business is that there is not a lot of low competence in big tech. Meaning, people can be counted on to be decently smart, accountable, and competent. I can confirm this to be true.

Well there you have it. That’s just a few things that I’ve noticed so far working at a big tech company.

Let’s see what 2024 has in store and I hope you have a great one!

Follow me to get more content every week!

David

Hi I'm David – I'm a creator, entrepreneur, and engineer. I add value to people to help them live a better life.

Leave a Reply