Miscellaneous unsolicited (and possibly biased) career advice
No one asked for this, but I'm something like ~12 years into my career and have had my fair share of mistakes and luck so I thought I'd share some.
Honestly, I feel like I've mostly benefitted from luck. Some of the things I did on a whim turned out to be excellent choices many years later. Some of the things were clear blind spots in hindsight. If I could give my 12 years younger self a bunch of career advice, here are some of those things.
Choosing a company
This roughly boils down into:
- Pick the fastest growing company you can find. My own personal development was always highly correlated to the company growth. That's really just an empirical observation, but here's an attempt at explaining this relationship: Stagnant companies are zero sum. If your peer gets a promotion, that means the slot is taken and you don't get the promotion. If you get to work on a cool project, someone else can't. In contrast, fast growing companies have this Ponzi-schema quality that everyone gets promoted! everyone can work on interesting projects! On top of that, there's this fundamental mismatch between labor supply and demand internally, where there's a “pull” in every direction. I started managing at 25 and was running a machine learning team soon thereafter, despite having no formal background in machine learning. Why? Not because in the universe of people, I was the best one (by far not). But because there was no one better around and we didn't have time to find one. Someone just has to step up and do it.
- When you're young, care more about building human quickly and not so much about financial capital. The human capital will pay much larger dividends over your lifetime.
- Go where other smart people are. That's where you're going to build your human capital the fastest.
- When I say smart, I really mean people you can learn from. I've worked with some very smart people who I didn't learn from and it was a waste of time.
- Don't pick a company because your friends and family think it's cool.
- Consider going into an industry where there's not many smart people. A team of smart people in an industry with not a lot of smart people can move mountains. A team of smart people where everyone else is smart will have a harder time.
- Don't be afraid of going into a weird industry. No one thought the music industry seemed like a great place when I joined Spotify 2008. I bet people said the same thing about taxi industry in 2011. Etc. Things always look cool in hindsight.
- In general, do a lot of internships. It's not just a great experience to have, it's also a great way to learn what you like to to. School is partly just a way to postpone all your major life decisions and learn a bit more about what you want to do.
- When you're no longer learning, then it's time to do something else.
Building human capital vs building superficial markers
I largely think your internal human capital is the only thing that matters in the long run. If for whatever reason someone about to graduate <insert elite university here> breaks their foot on their graduation day, and then misses it, and then for whatever (dumb hypothetical) reason never gets their diploma, does that make them less productive? Not at all. Another example: there's some evidence that people with tattoos are short-sighted. So you can argue that tattoos are a negative external marker. But if you go get a tattoo, it doesn't change anything about your human capital.
Your title is one thing where people pay too much attention. People have a misconception that your title will open more doors. It won't. In fact, it might even hurt. For instance, as soon as you start managing people, your options actually go down, since people assume you want to stick to a management role, but there's less demand in the market for management role (most companies I know prefers to hire ICs and promote them from within).
It's also really dangerous to get carried away by something that's celebrated in whatever world you're in. For instance, in academia, tenure is the ultimate goal. At a big company, your worth is roughly measured in how many people you manage. It's easy to think that those things are universally valuable, but they often don't mean a ton outside. If you're applying to an early stage startup, they probably don't care (or it might even close doors) that you are managing 300 people at a large industrial firm with a huge HQ in a suburb.
That being said, sometimes these markers are useful to get somewhere. The key trick is to focus on the lowest cost highest impact ones. For instance, getting a PhD is an insanely high cost marker, as is going all-in and getting a perfect GPA. Those aren't bad things in themselves, but the signal value compared to the investment is much lower than other things. For some things on the other spectrum, things with high signal value compared to the investment, I would say having built an open source project (that people use), or some award, having written things that got published, having started your own company (even though it failed), or many other things.
Acquiring new skills
Some thoughts in no particular order:
- There's things that you can learn yourself, and things you need to do in order to learn. Those are very different things! Skills in the latter category will often be more valuable in the long term because they will be rarer. These are things like building a startup, or managing people, or building some super complicated distributed system that handles 1M messages per second. Things in the former category are things like learning how to build deep neural networks, or coding in Rust, or iOS development. If you truly want to pick up one of those things, don't expect an opportunity to get paid while learning it. Just learn it yourself first.
- Read all the time. Just whatever books about technology or business or management. History is great too. Even fiction is great. Also read a million blogs and follow people on Twitter. There's so many smart people out there saying a lot of smart things so that you don't have to figure everything out yourself. Reading a lot helps you build a mental model of the world which will help you later.
- It's easy to confuse wanting to learn something with wanting to have learned something. Honestly if you don't enjoy the process of learning a particular thing, you're probably never going to be very good at it. Sorry.
- … that being said, just to counter the somewhat cynical tone, I believe most things can be turned into fun learning experience, if you just gamify it for yourself. For instance, work on some projects on the side and mess around with things. If you want to learn Clojure, build a dumb webapp and deploy it to an EC2 instance. Or whatever it is.
- Figure out where you want to be on the spectrum that I call tools-oriented vs goal-oriented. The former category is if you are super into deep learning or functional programming or distributed systems or something else and you want to get really deep in the rabbit hole and become and expert. In that case, you're usually better off at a large company where you can truly go deep. On the other side of the spectrum, if the thing that really excites you is to build business value, then go work at a startup.
- It's totally fine to spend all your time on something if you want to. Of course, it's great to have a social life and sometimes relax, but it's also OK to go home after work and stay up until 1am hacking on a side project. This could be a wonderful thing if you enjoy it and are learning things.
Some things going back I really wish I would have spent more time learning when I was younger:
- Communication skills. When I moved to the US, I realized I had completely underinvested in my language. I spent the first year reading a ton of novels, underlining words I didn't know and writing their meaning in the margin. I even recorded myself pronouncing things and listened to it. It's not like my English was terrible when I came, but I wish I'd taken it more seriously earlier.
- Presentation/sales skills. I massively failed at this for so many years, thinking that all that matters is to solve hard technical problems. I should have spent at least 10% of that energy and time just trying to get senior people across the org excited about the things I was building. Good ideas don't sell themselves.
- Self-sufficiency. With that I mean, are you able to deliver business value by building something across the whole stack, without having to rely on other peoples/teams to help you. If you can do this, you can iterate much quicker. But you can also build a prototype of something and demo it. For instance, I recommend for any aspiring data scientist that they set up an AWS account and deploy a web service and learn the whole thing.
- Statistics. Seriously, I really wish I had studied more of it in school. Basically goes for anyone in the STEM field, IMO.
- There's a million other things and these are things biased by my own experiences. Don't take my advice too seriously!
- The picture at the top was the view from my office a few days ago. No idea what it has to do with the content.
- This is getting old, but I really feel sorry about the super low frequency of blog posts last six months. I went through a tricky phase with a newborn kid, running both product and tech at a startup, buying and renovating an apartment, and other random things. But most of those are now behind me!