You Are Selling Your Youth
As an individual contributor in a technical role, you will spend more time "communicating" with machines than people. If you understood the real cost of this type of work, you'd not be that hesitant to ask for fair compensation in a tough job market.
Before this post triggers outrage due to assumptions made for conciseness, read the appendix section.
As an individual contributor in a technical role, you will spend more time "communicating" with machines than people. If you understood the real cost of this type of work, you'd not be that hesitant to ask for fair compensation in a tough job market.
Youth is not confined to your 20s. Youth is the ability to play catch with your children in the park or the exciting risk tolerance that comes from having decades to recover from mistakes. The things that we can't get more of by working harder. More generally, it is the opportunity cost of sitting at your desk for 10-14 hours a day communicating with an entity that has no chances of stimulating the positive centers of your brain that way a hug from a loved one does.
Being a technical individual contributor is going to increase the odds of the following personal traits:
- Pessimism because you spend most of your working hours thinking how to handle errors and edge cases. I.e. how things could break.
- Overly focused on details and missing the big picture because computers need to be told the exact array index/json key/etc. Your brain will get optimized exploring at the lowest depths of actions before asking "why" and "who" questions because product managers will do this for you ahead of time. You are more likely to debate the specific motor type that should be used to make an automated book page turner than asking whether this device should exist at all.
- Atrophy of social skills because communications with people has tangents, repetition, emotion, narrative, body language, facial expressions, sound, touch & etc. Being able to process these signals simultaneously is table stakes for people to want to talk to you. Appropriate processing and reacting to these signals allows you to make a conversation interesting.
- Additionally, a tangent while coding is an expensive context switch that breaks your flow. But, tangents in conversations are like beautiful scenery on a drive.
- Low risk tolerance because you are used to having binary answers and rapid feedback loops. Either the feature is broken or it works for all test cases.
- E.g. The user may have encountered the 1299th corner case but that specific case is 100% of the user's experience so support/management/users will be furious that you didn't think of something that seems obvious to them while you were writing your 4023-rd line of code for this feature alone. This will make you double, triple & quadruple check all your decisions. Especially ones that cannot be tested in a low stakes environment. The buck stops at your code every time.
- Constantly felling you've not done enough because there is always a newer framework, faster network protocol or better data model. Over time you may adopt the philosophy "working code is the best code" but early in your career, you'll keep feeling the code/design could be more elegant or efficient. This feeling will often outweigh the pride of benefits you brought to the business because few engineers get to see incremental dollar amounts or user growth distinctly driven by their code. Result; low confidence.
The list above is not comprehensive but just these traits alone lead to these categories of opportunity costs:
- Lower confidence in opening your own business and reaping financial rewards proportional to your impact. You will be able to rule out thousands of ideas by knowing why something wouldn't work but it will be much harder to come up with something that would work. Great entrepreneurs enter a room and think about how to make an idea work by removing barriers.
- Not having a practice of asking "why" will mean at least some weeks/months of your work will be thrown out without seeing daylight. You may learn a cool feature about Postgres indexes during the project but you could have instead learned how to build and grow a system that makes an actual impact in the world.
- Social and communication skills will have a larger impact in your quality of life than most other factors. Being able to enter a room and make new friends, connecting with your [prospective] partner and maintaining relationships with your loved ones will all be affected by you ability to engage in interesting conversation.
- There are a lot of signals you need to process simultaneously to know which topics light the other person up. Computers don't laugh like a person does when you whip out the hilarious story about a goat scaring you to death during a hike through tiger territory. You will often get exhausted and overwhelmed by conversations because your brain is optimized to process fewer signals at higher depths.
- You must appeal to the hearts and minds of people to persuade. The heart is persuaded by stories that are best told after 100s of iterations. You learn to emphasis some bits and omit others over time. You learn to modulate tone and pace as you keep telling the story and blend it with more recent analogies. You make these changes as the signals coming from the people around you change. A computer will endure mundane and the interesting with indifference.
- Risk tolerance can be the difference between asking that guy/girl for their number, asking the VC for funding and your friend for a referral at the job you really want. Because you will get hyper sensitive to "FAILED: some test X failed because your code sucks and you're not smart", any version of failure will terrify you. Every "no" will seem like a final death blow and every mistake will seem like lack of competence.
- Confidence comes from 2 main places: knowing you have other options or knowing you may be imperfect but not useless. As Jeff Bezos has famously said, stress comes from not taking action on something you have control over. You will always experience stress and that will wear your confidence down because you will always know there was a more perfect way to convert some 1s and 0s to differently shaped 1s and 0s.
- For people who primarily communicate with other people for a living, they understand "don't let perfect be the enemy of good" a lot better than people that communicate with computers.
Solutions
The good news is the problems are mostly in your head. With deliberate practice, these are solvable problems. Try this:
- Spend time coming up with ideas to solve problems around you. Find a pessimist smarter than you to play devil's advocate and keep iterating on your arguments.
- E.g. You might love NFTs. Convince your friend what it would take to make colorful monkey images valuable again. What was the unmet need that drove people to it in the first place? Be a builder.
- Ask "why are we doing this?" more often at work/school. Do the 5-whys approach until you hear a clearly provable and articulated justification.
- Pro tip: ask people you admire and people that have the ability to articulate their decisions.
- Go to 3 events (anything; cooking, interview prep & bowling) every week and talk to 3 new people at each event for over 10 mins each. Or, say hello to people that sit around you in a busy coffeeshop and ask a question. And, maintain recurring reminders to call/meet/text the people you love as a forcing function.
- Tip: goldfish the people that don't get it and give you a cold shoulder. 1 great conversation can be worth 100s of cold turndowns.
- Ask for free upgrades, discounts, refunds & etc. You'll probably get turned down but the stakes are low and you'll learn a "no" doesn't hurt that much.
- Bonus: keep refining you technique and you might start getting discounts you didn't expect.
- Practice an active, declarative tone. Be deliberate about your word choices. And, spend time to understand the benefits of you what you built. Celebrate the victories backed by numbers. E.g. celebrate your feature's 10,000-th user.
Appendix
- These are claims derived from a blend of personal experience and curiosity driven research. It may not be true for you because you're a superstar. Good for & I'm proud of you.
- The book page turner is just an example. Probably a poor one to make the point. Replace with something smarter when reading this post.
- A hug from a loved one is a representation of the positive effects of social connections. Conversations are engaging in a very unique way. Social connections are a leading indicator of health over time.
- Not all conversations should have tangents. If there is a pointed problem with a rational solution + time limit, best not to take tangents. Those tangents cause frustration.
- Studies show coding is the brain activity equivalent math problems + language comprehension + memory retention at once: hub.jhu.edu/magazine/2021/spring/programmers-brains-mri-coding
- Anecdotally, engineers are doing the brain activity equivalent of solving long mathematical calculus problems under the pressure of causing outages and unreasonable deadlines in most cases. This creates cronic stress which can turn into physical health issues.
- Studies show doing similar tasks in a repetitive manner is like going down the same slopes ski over and over. Making it harder to go down other ski slopes. E.g. keep thinking about how things can go wrong at work and you'll repeat this at home.
- Deliberate practice: https://jamesclear.com/deliberate-practice-theory
- "financial rewards proportional to your impact" means 2X more sales = 2X more income. If you are a salaried employee, whether you double, triple or quadruple the company's revenue, you comp will increase based on HR mandated pay bands.
- Comedians practice their jokes 100s of times in comedy clubs before shooting their Netflix/HBO/etc. special. The version of the joke you hear is not the version that the comedian started with. The same applies with stories.