6 Lessons from Working in the Software Industry

Michael Chen
Attenchen to Detail
4 min readJun 28, 2020

#unsolicitedCareerAdvice

Recently, I got messaged to work at a startup in NYC. The recruiter pitched the CTO as a great person to work under so I read his blog and got inspired by a recent post of his. Thus, in no particular order:

Industry is tough; you have to be your own hype crew.

Companies are risk averse and monitor for weaknesses. Companies do not look at your tangential strengths. Very rarely is there a good manager who hires for strengths but even then, those are strengths they’re looking for, not particularly your strengths. You have to show them your strengths are what they’re looking for.

Likewise, unless you apply for senior positions and reach for more, you won’t get more. If you think you aren’t senior and don’t apply for a senior position, you’re not going be senior anytime soon. The trick here is to compare upwards without getting frustrated that you’re not where others are. If you objectively compare & gauge yourself, you’ll know when you should start calling yourself senior and feeling senior. Don’t let imposter’s syndrome hold you back.

Also, realize that companies would rather hire someone with 6 years than someone with 5 years for the same position. An extra year could make a big difference. You have to show them you can do just as good a job (or better) with less years of experience.

Getting a job is often a numbers game; don’t let failed interviews get to you and try applying in waves.

Somewhat obvious, there are a plethora of things that could go wrong in a job pipeline. Often, all it takes is one bad interview and you’re out. So don’t stress it too much. What I’ve learned is to apply in waves.

After each wave, I write down a set of things I learned from each wave. I also take a break (around 1 week~) because interviewing is exhausting. With each successive wave, I fix my mistakes by studying up on certain areas that I messed up in.

What also helped me was to discuss my interviews with some friends. This helped me avoid feeling alone while internalizing what went wrong in my interviews.

There is no set “curriculum” anymore.

You have to think long and hard what you want to be. You are the author of your life’s story! No really, what do you want your life to look like? Famous athlete? Millionaire playboy? Master artist? Whatever it is, you better buckle up cause it will be a ride of a lifetime! (P.S. that’s a great book)

Here is a cliche image to help you visualize what I mean.

Keep in mind, you can have multiple things in each of these sections. Part of life is about ruthless prioritization in pursuit of excellence. Ok what am I saying… hopefully you get the idea though!

One more thing, you will need to set aside your desire for instant gratification because many of these endeavors will take years to accomplish, maybe even decades. Hopefully you accomplish your dreams, brick by brick!

Always be asking, what are the most important things I should be working on in my field?

This is almost like the next level of the prior point. This question focuses less on yourself and more on what the world and your relevant field need. For example if you work in biology, you could be thinking about topics like curing colon cancer or Alzheimer’s. You can think of it as a restatement of the Hamming question: “What are the important problems in your field, and why aren’t you working on them?”

Whether you want to be a founder or a researcher or something else, we don’t ask this question to ourselves and to each other enough.

Pivot only for your long term goals; take pay cuts only for soul satisfying work.

The industry is roughly divided into two camps, the old school single career for 40 years camp and the new school change careers every 3-5 years camp. Unfortunately it’s getting harder and harder to stay on the single career side of the spectrum. You might ask, what should I change my careers to? One guiding question I ask myself when I pivot is “Will this help towards what my ultimate goal is” (see points above on finding meaningful work).

I joined Square seeking to grow my engineering chops to be a technical founder. When I leave Square, I will have achieved this. For my next job I want to grow my machine learning chops to build an ML powered product. You can bet I’m only interviewing for machine learning engineer roles.

Look for a good manager when you join a team.

For better or worse, I’ve had four different managers during my time working. Five technically if you count my internship during my last summer before graduating. A good manager will bring you to new heights. A good manager will challenge you to work hard while also working to align your interests with the teams’ (so that you’ll want to work hard). A good manager is tantamount to your career growth. A bad manager will not protect you from outside teams. A bad manager will not talk about your career development and will constantly use up your 1:1 time with status inquires. A bad manager will make you want to leave.

If it wasn’t clear, it’s very important to grill your hiring manager during your onsite. Ask about their management style, their strengths and weaknesses as a leader, their expectations as a manager, how do they evaluate performance, how do they reward teammates, etc. etc. etc.

This may be a 7th lesson or tip… anyway take my advice with a grain of salt and read other folks’ blogs! There’s a lot of smart people out there (Sam Altman, Paul Graham, Erik Bern, etc)! You want to build mental models, not just facts and rules.

Thanks for reading~

--

--

Michael Chen
Attenchen to Detail

ML@ROBLOX — Trying to make some sense in a hectic world