These are my notes from the book: The Coding Career Handbook. Guides, Principles, Strategies, and Tactics – from Code Newbie to Senior Dev by Shawn Swyx Wang

These notes don’t cover everything that was in the book, only the parts that seemed relevant but to me, but it can be a reference for someone who also read the book and wanted to quickly remember key points.


Career

  • the further away from the hardware the more jobs there are
  • the closer to hardware the more you need algorithms
  • beyond engineering
    • engineering management
      • progress takes way more time than we’re used to – that can be a problem if your feeling of value came from your technical excellence
      • things are not ready/complete and everything is important
    • product manager
      • “full responsibility, no authority” – but they have a huge impact
      • “the problem with market research is that people don’t think how they feel, they don’t say what they think and they don’t do what they say.”
    • developer relations / advocate
    • developer education
      • has to cover multiple areas e.g. running an online course is an intersection of four areas: education, business, marketing, entertainment

Additional resources

Team member

  • treat others as they want to be treated
  • treat yourself as you treat others

Additional resources

Senior engineer

  • look for patterns rather than tools
  • doesn’t have to know all the answers. Has to know how to ask good questions
  • writing as an engineer
    • forces you to better organize your thoughts
    • writing is like db caching, you can scale yourself
  • know your tools
    • questions to ask to better understand the tool
      • what are the biggest cons according to people who use alternatives?
      • what did not work out?
      • what are the main ideas behind it?
      • how did the initial version look like?
    • it’s best to understand one abstraction layer below your daily job
  • optimize for inevitable change, not for smartness
  • good enough is better than best
    • what YOU need done
    • what YOU know well
    • what YOU enjoy
    • the more reversible the decision, the faster you should move
    • seek to be approximately correct over being precisely wrong

Additional resources

Writing as a creator

  • template for writing
    • telling a compelling story
    • relating it to your personal experience
    • proposing a solution
    • ending with practical how to tips
  • what you can write about
    • summarize what you learned (talk, podcast, article, book)
    • describe how you work
    • history of bugs, outages, improvements
    • look for questions people ask and describe in your own words
    • news are short-living – not worth it
    • when you find an answer to your question – describe an article you wished you have found – “obvious to you, amazing to others”
  • scryscraper technique – you find an article that links to something, you write “a better” article and ask the author to replace the link because your article is better
  • pick up what they put down
  • when you write you pay more attention to what you consume
  • “mise en place writing” – separate preparation from writing

Additional resources

Tech debt

  • could be also called “increasing risk” to avoid financial analogy
  • tech debt quadrant (Martin Fowler)

Learning

Bloom’s taxonomy source: https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/
  • FOMO is ok – it’s good to know what’s going on but focus on what you really need
    • just-in-time over just-in-case learning
  • People over content
    • Trace their past and their mentors
    • Content mostly comes from aggregators, and it’s people who maintain quality
  • learn how to learn
    • you need a goal
    • Ben Franklin method – dissect and reconstruct
    • Feynmann technique – explain this to me like I’m 12
    • Bloom’s taxonomy

Additional resources

Learn in public

  • availability bias – people confuse “first to mind” with “the best”
  • every speaker has done bad talks. It’s better to do it when no one cares – “this is your time to suck”
  • don’t try to be errorless, rather try to learn from mistakes

Interview

  • you can use Canva CV templates
  • listen to interviewer’s suggestions – not finishing the task is OK, dismissing the help is worse
  • reverse interview – there are resources with suggestions what YOU can ask on the interview

Additional resources

Strategy

  • good strategy
    • is clear and obvious
    • has guidelines and rules how to overcome challenges
    • is consistent, actions reinforce each other instead of competing
  • understand value of information
    • private information over publicly known things
    • timeless over novel information
    • subtle nuances over sensational headlines
    • digesting high quality pieces over consuming sheer quantity
  • where you want to work?
    • cost center – thinks what can go wrong
    • profit center – thinks what can go well
    • investment center – spending money with hope of good ROI
    • the closer you are to the money, the more money you make
    • cost center cannot exist without profict center and vice versa
  • “strategy works every time we make irreversible decisions facing uncertainty”
  • parts of strategy
    • reality – where you are, where’s your competition
    • plan – how are you going to get there
    • vision – where you want to go
    • policy – what you can do, what you cannot do, trade offs you’re willing to make
  • circle or concern, circle of influence’
    • maximize circle of influence through competency, power, networking
    • minimize circle of concern through focus e.g. just in time learning instead of just in case learning
  • levels of concern:
    • adopt
    • trial
    • asses
    • hold
  • specialists vs generalists
    • when in doubt – specialize
      • specialization is like a fractal – you discover new areas where you can specialize
      • how to be an expert is a skill on its own
      • it’s more likely that external forces will push you to being generalists rather than specialists (startups)
      • most people are generalists anyway
    • generalists thrive when self sufficiency is important
    • specialists benefit from leverage

Tech strategy

  • business model
    • agencies – you’re paid for your time
    • advertising – you generate traffic to later sell ad space. Digital media has to hire authors, social media is based on user generated content
    • subscriptions – MRR, churn rate
    • gaming / microtransactions
    • marketplaces
      • chicken-egg problem. No suppliers <=> no customer
      • Uber, Airbnb
      • challenge of building trust between strangers
      • you can scale limitlessly
  • platform
    • e.g. Windows, Android, Unreal engine
    • people put effort and everyone wins: Microsoft because the platform is popular, software devs because they sell software, users because they use better software
  • vertical business / horizontal business
    • constant bundling and unbundling. We split MS Office into slack, notion, until we’re tired of managing so many subscriptions and want to integrate them into one product
    • horizontal – does one thing, and serves many customers e.g. Android
    • vertical – serves on every level. Chips, OS, devices e.g. apple, IBM
  • aggregators
    • supply acquisition e.g. Netflix, Spotify
    • supply transaction costs e.g. Uber, Airbnb
    • zero supply cost e.g. Amazon
    • super aggregators: suppliers, users, advertisers. e.g. Google, Facebook

Betting on technology

  • the Rogers’ curve of adoption: innovators, early adopters, early majority, late majority, laggards
  • the only way to know EVERYTHING about something is when it’s new
  • technology landscape – Wardley mapping
  • megatrends
    • examples of current Megatrends: TypeScript, Docker, Kubernetes, Creator economy (italki, Kickstarter), no code/RPA, remote work, privacy
    • big companies’ annoucments are a good metrics of megatrends e.g. “Airbnb has adopted TypeScript” etc
    • platform shifts – new platform enables things that were difficult to achieve before – e.g. smartphone enabled location aware apps like Uber
    • current platform shifts: cryptocurrency, virtual reality, deep learning

Additional resources

Marketing yourself

  • you want to register hooks in people’s minds
  • branding – nobody can compete with you at being you – how they talk about you when you are not there
  • plant your flag – be “THE GUY” doing “THE THING”
  • brag document – have a list of things that you can use when needed (e.g. salary negotiation)
  • inbound vs outbound marketing –
    • inbound – you do things so that others contact you, not the opposite
  • hacks
    • help others market – people remember the one they learn from
    • market the same thing in three different ways
    • crosspost on industry blogs
    • collaboration with more known players
    • summarize the top three books in your field
    • catch phrase
    • prepare “elevator pitch” for multiple time spans
  • marketing at work
    • log your own metrics, collect screenshots
    • proactive status updates
    • do demos
    • start internal initiatives
Author

I'm a software engineer with 9 years of experience. I highly value team work and focus a lot on knowledge sharing aspects within teams. I also support companies with technical interview process. On top of that I read psychological books in my spare time and find other people fascinating.