Don't Call Yourself A Programmer by Patrick McKenzie
This is for fairly bright young engineer with zero knowledge on how the real world actually works.
- Software solves business problems. It doesn’t matter if your app has the most elegant architecture, it must create value for the company aka brings in revenue.
- Engineers are hired to create business value.
- Non-goals: produce the beautiful software, solve complex technical problems, use sexy frameworks.
- Actual goals: add revenue, reduce costs - “wrote the backend billing code that 97% of Google’s revenue passes through”.
- That’s why Quants makes more in bonuses in a good year than many talented engineers will earn in a lifetime.
- Angel investor is a polite synonym for rich.
- Most hiring happens privately.
- Resume is not the primary way to get job interviews, but connections do.
- Networking means:
- Meet people at some point can help you.
- Make a favorable impression on them.
- Strive to help people first so it’s harder for them to refuse to help you later.
- Academia is not like the real world.
- People who are skilled in negotiation make more than those who are not.
- Sell solution to a business need rather than your programming skill.
- Learn to negotiate better (refer to Getting to Yes).
- Working at a startup vs megacorp is more of a lifestyle choice.
- Your most important professional skill is communication.
- Engineers are not hired to create programs. They are hired to create business value. The dominant quality which gets you jobs is the ability to give people the perception that you will create value. This is not necessarily coextensive with ability to create value.
- Try for “It was a privilege to assist my team by leading their efforts with regards to $YOUR_SPECIALTY.” instead of “I owe it all to my team”.
- Read Never Eat Alone for some social grooming hack.
- Work to live, don’t live to work.
Tagged: #blog, #business, #negotiation