A reader asked about mental models that I learned from my finance days, that are still relevant for developers.
Here's a quick thread in no particular order, let me know what resonates or mystifies:
1. The Role of Confidence (Being a Con Man)
- People are attracted to confidence for interviews and promotions
- We aren't as objective as we think
- Jobs which traffic in confidence are prone to bullshit
- Assess each choice relative to your other options.
- For employers: be great at finding and evaluating options in ways they care about
- For your self: Accumulating options = Building wealth
- "Making past mistakes look good" is not an option
3. Leverage
- Decouple your input from your income
- This can mean: automation, scalable code, transforming high fixed capex to variable opex (see #4)
- Do something once, benefit infinitely
The better you can do this, the more you should own equity rather than take salary.
4. Fixed vs Variable Cost
- Fixed costs are usually high upfront, but constant. Great for large scale.
- Variable costs are 0 upfront, linearly increasing w usage
- Open source is a way to socialize fixed cost
- Developers can transform Fixed to Variable
- The best careers exhibit geometric rather than arithmetic growth
- Do this by accumulating Career Capital that gives Leverage
- Turn your Variable effort to Fixed Assets
- Make choices that compound when you Bet on Tech & Consume Content
- Fads come and go, and you are right to bet against them.
- But some revolutions capture the entire industry and make fortunes and reputations for people who bet early. Do NOT bet against megatrends.
- Learn to tell the difference.
I was asked about why declarative programming is at the heart of "newer" trends in tech all the way up and down the stack, from React to Terraform.
I replied in an email but here it is as a quick thread:
DOM APIs are imperative, which encourages manual setup/teardown of event listeners, and intermingling of business and presentation logic.
At best this is just quite verbose and disorganized, at worst this creates runtime bugs and memory leaks. Lack of structure is painful.
We use React/Vue/Svelte to organize code into declarative components, help us organize the above and automate the boring parts. It also lets us *share code* much easier because the markup, state, and styles are scoped to the component, so they don't leak to the rest of the app.
We often get caught up in other people's games. Ladders, likes, follows, points. Winning can bring a short-term rush, but feel empty after. These games are traps for competitive, ambitious people.
The primary beneficiary of you being #1 on Product Hunt is Product Hunt.
The primary beneficiary of you being Employee of the Month is your Employer.
The primary beneficiary of you going viral on Twitter is Twitter.
Youre surprised *everything* around you is designed this way?
- Zero sum
- Finite game
- Single number
- Regular schedule
- Costs them nothing
- Rules clearly stated
- Winner irrelevant in 1 year
- Timing matters
- Microcopy matters
- Social proof matters
The Handbook: 450+ pages of everything I have learned about building an exceptional and *sustainable* coding career. This is the ultimate guide for the 4-8yrs from Junior to Senior Dev!
). We get so much more out of it when we can *talk* to fellow readers!
I stepped down from my active /r/reactjs moderator role and will be personally moderating this new @discord!
The Creators: For those who want to peek #BehindTheScenes, I have put up 2+ hours of Author's commentary and 10 hours of recorded writing sessions to show you how @Coding_Career was put together.
I'm also doing some Workshops (to be recorded) where you can ask me anything live!
I've been mainlining the entire back catalog of Screaming in the Cloud and AWS Morning Brief to get smart on things. Corey packs a lot of snark but gives credit where due and makes topics accessible to beginners!
Help them put you in an expensive, high-sentimental-value, glittering, easy to reach box. Preferably at eye level, near Checkout, next to other nice looking boxes.
You don't have to market to the whole world.
You can target specifically the audiences you want to work for, and no more.
As long as you are well-known in those circles, you don't need a public presence at all.