My First Year in Silicon Valley
After spending the previous six years of my life in a tiny town for college and a Midwestern city for work, I moved to take a Software Engineering job at a large Bay Area tech company. Here are my takeaways, one year in.
I’m not entirely sure what I expected moving here. I’m not sure I expected much of anything, truth be told.
The questions that swirled around in my head for so many years were less “what’s it like to work at a big tech company?” and more along the lines of “what would be the coolest unicorn to work for”. In retrospect, that was pretty silly. I was so certain that I wanted to work here that I don’t think I ever thought too much about the important things. Things like company culture or how my coworkers might differ from what I’m used to.
So, this piece is intended for anyone that has not worked for a major tech company in the past. As I noticed things over the last year I scribbled them down as notes to my old self. Here are the answers to the questions I (mostly) never asked ☺️
The format below will be what my old self should/would have been curious about. Previously, I’ve worked at small, medium, and large companies, none of which are known at all/known for being strong technically.
How are your coworkers different at a major tech company?
Oh my, there are just so many obviously talented engineers. So many! Of course, that’s not to say that all of the coworkers I’ve had in the past weren’t talented. But I am so consistently blown away by the skills of the people I interact with on a daily basis now that it’s like a dream world. ☁️
You know how sometimes you’ll try to figure out how to do something and you end up on Stack Overflow? And then the accepted response not only provides the answer you’re looking for, but then offers like four paragraphs of valuable background info? That’s what it feels like when I ask questions now.
Before, one or two engineers on my team might know the answer to a specific question I had. Now, there’s now a wealth of them. I’ll always come away from a conversation having learned something new. Sometimes, I’ll come away with something entirely separate from whatever question brought me to their desk to begin with.
I think you can find engineers like this anywhere, but the density of them where I am now is what I’m truly in awe of.
How does the culture differ?
I think one very interesting thing that stands out is how much more motivated everyone is by promotions/compensation. At my previous companies, bonuses/promotions were either not a thing or not a thing that people cared or spoke about. It’s much different here.
For example, before moving, I never looked at a project and thought “what are the long-term ramifications of this project?” I mostly looked at potential projects and thought “hmm, that might be fun and it sounds doable” or “wow, that sounds boring/impossibly hard”. Or I just did the first thing my boss mentioned. 😬
Now, I find myself caring a lot more about doing the “right” projects, where “right” is roughly defined as “meaningful to the company and my coworkers”. Looking back, applying that same logic in previous roles would have made me a more productive employee. I certainly spent way too long on things that didn’t really matter. I sucked at prioritization and I sucked at it because I never even thought about it.
I still won’t push to own a project if it sounds super boring, but I no longer shy away from things that sound too difficult. I’ve taken chances on a handful of hard projects and the talent pool around me has provided a safety net for me to take leaps to grow. That wouldn’t be possible at my previous jobs.
Does all that time spent on studying data structures and algorithms for interviews ever come in handy?
While this question matters far less than others, it’s still one that I always wondered about. I spent quite a bit of time studying these things in college and later during my job hunt. After my first two years in industry I’m not sure I used the gained knowledge once.
So, if these companies like asking these questions so much, does that knowledge ever come in handy, or is it simply to weed people out?
While I believe that it’s primarily to weed people out, yes, it’s come in handy, and it’s come in handy quite a bit for me. 😳 I spent quite a lot of time complaining about having to learn such esoteric and useless information, probably after clicking “Run code” on a Leetcode Medium for the hundredth time. I guess that was premature.
I’ve seen, reviewed, or submitted pull requests with modified linked lists, topological sorts, bit manipulation, trees, bloom filters, hash maps, merge sorts, DFS, BFS, and plenty of common interview solutions — like deduping lists, for example. I can say with confidence that I have not yet seen dynamic programming pop up, though. 😉
I think there are plenty of teams I could have been hired onto that would never touch this stuff, but I no longer think it’s completely pointless. It’s actually quite useful to know about! While companies likely use these questions as a proxy for other skills, the knowledge itself can be valuable.
How does the engineering work itself differ from now?
While the work is going to be different no matter where you go (you’re going to be changing products, after all), I think the biggest difference is the focus on correctness.
I can’t tell you how many times edge cases were just ignored in previous companies. We either a) didn’t anticipate them or b) anticipated them but didn’t care.
Now, people around me come up with the craziest scenarios, things I couldn’t even come up with myself. We have to hit the drawing board to solve them. Entire proposals have been invalidated by random edge cases that I didn’t even know could happen. This has all made me a much better engineer, though. I think about problems much more thoroughly now. As a result, I sleep a lot better at night because I have a lot more trust in what I’ve shipped.
There are some other notable differences in the work, too. There’s a lot more monitoring and metrics collecting than I’m used to. Actually, we didn’t know we messed up until our App Store reviews tanked or Apple sent us crash reports. There are a lot more mechanisms in the world for that, apparently. 😅
Is it possible to have a life or do you just work all day now?
To some extent, work/life balance is what you make of it. I really love what I do so I work more than 40 hours a week, but I know plenty of people that do not. I also know people that work significantly more than me. It seems that my coworkers that are laser-focused on a looming promotion are the ones that are really working like crazy, and those that are later on into their careers seem to be taking it easy.
The above, however, is a privilege. I know people on other teams that work quite a bit and don’t seem to be doing so by their own volition. Thus, the takeaway here shouldn’t be “work/life balance is what you make of it!”. The takeaway should be that if you find yourself on a team that has the work/life balance that you’re looking for, do not take it for granted. It’s a fantastic privilege to work as much as you’d like and not much past it, so if you find it, cherish it. ❤️
Also, I’ve known people at companies with “great” W/LB that feel overworked, and I’ve known people at companies with “terrible” W/LB that coast on 40 hours/week for years. While a company can have better or worse odds of providing the W/LB you’re looking for, it’s by no means a guarantee.
Is it as good as you expected?
This is the ultimate question, right? I spent who-knows-how-many years waiting to “make it”, and I finally did. Is everything… better now?
Yes, but it’s not the panacea you probably want. Working at company that treats its employees well makes being happier easier, but it doesn’t provide the happiness itself. Things that I struggled with before did not magically disappear because I updated my LinkedIn profile. It did, however, reduce a lot of friction for self-improvement:
- Flexible work-from-home, something that didn’t exist for me previously, means I don’t feel enormous pressure to show up at work each and every day. I rarely WFH, but having the option makes me stress a lot less. 💆♂️
- On-site gym means I don’t need to take an extra hour out of my precious free time to improve my physical and mental health 🧠
- A significantly higher paycheck obviously reduces financial stress in my life, something I carried quite a bit of throughout my life 💵
- Working on significantly more challenging problems, while a negative for some, means I derive a lot more fulfillment from the work I do each day 🧗♂️
- A workplace full of passionate engineers means it’s a lot easier for me to talk to my coworkers about interesting technical problems. If I spend three hours hunting down a crazy bug there will always be multiple pairs of ears that want to hear about every twist and turn I encountered along the way. It makes for a really fun environment! 🤓
- To be entirely honest, proving to myself that I could work for a major tech company, in itself, had a profound effect on my confidence. While working 2000 hours a year to help some company’s bottom line shouldn’t be something anyone is proud of, when you spend years dreaming of doing something and then you do it… well, you’re kind of proud of it. Just long enough before dreaming up whatever the next step is, at least 😋
So, there’s my recap of the last year. That’s everything I’ve learned. As I alluded to in the last point, the hedonic treadmill has already pushed me to dream bigger. After all, without ever-higher goals, I’m not sure I could ever be happy for too long. 🙂
Noticeably absent from the above is a list of negatives. There are definitely some things that are worse here, though they’re things that I don’t think are avoidable. For example:
- There’s more stress about performing well working at a company with a higher engineering bar… because they have a higher engineering bar. 🥺
- The work itself is more difficult, too, and while rewarding, it brings with it more frustration than I’m used to. 😤
- All of the mental overhead in evaluating projects is new to me and I can’t say I love it, though I’m noticeably better at prioritization now. I guess it’s a wash? 🤷♂️
All that said, moving to the Bay for this job is one of the best decisions I’ve made in my life. I moved with someone (someone to whom I am now engaged, another decision that’s worked out) and I think that made it a lot easier; your mileage may vary! 🚘
Who knows; maybe this train gets derailed and I pen some sappy missive about how the Bay lured me in and then spit me out. I’m pretty optimistic about the next twelve months, though.
Here’s to a 2020 that goes as well as 2019, and to those hoping to follow a similar path — I look forward to unknowingly seeing you at a local Philz some day soon. ☕️