Drunk post: Things I've learned as a senior engineer (2021)
Languages, Typing, and Tooling
- Several endorse learning Lisp/SICP once to “see the matrix,” even if they rarely use it later.
- Strong split on dynamic vs static languages.
- Pro‑dynamic: older engineers report appreciating flexibility and gradual typing (e.g., Python), and note that much AI “glue” is Python.
- Anti‑dynamic: others cite painful Python refactors, bugs, and performance; argue large/critical systems should be in statically typed languages or Rust/Go.
- Go is seen as a “new Java” for backend work; Rust as a safer C++/“evolution of Java” in spirit.
Code Significance, Longevity, and Quality
- Many note their code’s half‑life is 3–5 years, with repeated rewrites; this leads some to question how “significant” most software is.
- Others report decade‑old systems still running and handling large volumes of money, so quality and maintainability can matter greatly.
TDD, Design-by-Contract, and Testing
- TDD called “cultish” by some, but there’s broad agreement on the value of clear pre/postconditions, invariants, and Design‑by‑Contract ideas.
- Several argue that the underrated skill is learning to write robust tests that document behavior without over‑coupling to implementation.
Career, Jobs, and Job-Hopping
- The original “get a new job in 2 weeks” confidence is seen as specific to the 2021 boom; many say that aged poorly in the current market.
- One side emphasizes career and income growth via frequent company changes; another values seeing 5+ year‑old code in production and views serial short stints skeptically.
Money, Retirement, and Geography
- A long subthread debates US‑centric advice: aggressively maxing 401k, HSA, IRA to retire ~45 on ~$2M.
- Skeptics highlight assumptions: six‑figure starting salary, no/cheap kids, low COL, good health, and stable policy.
- Europeans ask how these instruments map to their systems; responses compare various national pension/tax‑advantaged schemes and express distrust in some state pensions.
- Disagreement over whether heavy retirement‑account use is optimal vs only contributing up to employer match and prioritizing flexible savings.
Documentation, “Why,” and Communication
- Many strongly agree that documenting why decisions were made (constraints, tradeoffs, temporary hacks) is critical and often missing.
- Suggestions include “theory of operation” docs, rich commit messages, ADRs, and tests that act as executable specs.
- Some are cynical: this work is rarely rewarded, and incentives favor feature velocity over documentation and mentoring.
Culture, Heroes, and Authenticity
- Mixed views on “don’t meet your heroes”: some found industry heroes clearly improvising like everyone else; others say contact with heroes was formative.
- One perspective: in software, many are “just guessing” compared to heavily regulated fields like civil engineering.
- “Bring your authentic self to work” is mocked; posters stress professional boundaries and note that unfiltered authenticity at work often correlates with bad behavior.
- A very cynical commenter lists personal “lessons”: accept you’re not the smartest, expect incompetence, treat work as money‑extraction, and seek meaning outside work.
Remote Work and Collaboration
- People praise WFH but miss in‑person whiteboarding/collab.
- Virtual whiteboards exist but are widely seen as inferior to standing at a board together, though periodic in‑person weeks are viewed as a decent compromise.
Compensation, Generalists, and Perceived Value
- The post’s claim that full‑stack web devs are underpaid resonates; commenters extend this to IT generalists who own large swaths of infra but are paid modestly.
- There’s frustration that broad, high‑impact generalist work is often valued less than narrow “hot” specialties.
HN, Comments, and Meta
- The article’s claim that HN comments are “almost worthless” is widely challenged.
- Some point to high‑quality HN comment compilations; others admit comment skimming can be addictive with uneven value.
- A few mention being rate‑limited by mods, which reduced their desire to participate and made them reflect on how much value they truly got from commenting.