People often ask me what to read to grow in tech. My honest answer is: read widely, and don't get attached to a single technology. The tools change every few years; the principles underneath them barely move. These nine books are the ones I keep coming back to, and most of them sit on a physical shelf I can actually reach for. There's something about a reference library you can hold.

The shelf

  • The Pragmatic Programmer cover
    The Pragmatic Programmer — Andrew Hunt & David Thomas. The habits and responsibilities that separate a coder from an engineer, plus a philosophy of good practice (DRY, "don't repeat yourself," chief among them). If you read only one on this list, read this one.
  • Testing JavaScript Applications cover
    Testing JavaScript Applications — Lucas da Costa. The title says JavaScript, but the concepts are universal. It taught me how to think about tests in any language.
  • Head First Python cover
    Head First Python — Paul Barry. A friendly, hands-on introduction to Python's fundamentals and idioms. Great for beginners and for anyone arriving from another language.
  • Head First Git cover
    Head First Git — Raju Gandhi. Goes past the commands to the concepts underneath Git, so you understand why it behaves the way it does, not just which incantation to type.
  • Murach's MySQL cover
    Murach's MySQL — Joel Murach. Advanced SQL, database design, and performance tuning, explained clearly. The kind of SQL knowledge that pays off for an entire career.
  • Designing with the Mind in Mind cover
    Designing with the Mind in Mind — Jeff Johnson. UX and UI patterns grounded in how human cognition actually works. It changes how you look at every interface you build.
  • Information Dashboard Design cover
    Information Dashboard Design — Stephen Few. Best practices for communicating clearly through dashboards and visualizations. Essential if you ever put numbers in front of a decision-maker.
  • The Data Warehouse Toolkit cover
    The Data Warehouse Toolkit — Ralph Kimball & Margy Ross. Timeless data-engineering concepts and dimensional modeling. The ideas here long outlive any particular database.
  • CSS: The Missing Manual cover
    CSS: The Missing Manual — David Sawyer McFarland. The fundamentals and the advanced possibilities of CSS, the part of the front end everyone underestimates until it bites them.

Notice the spread: programming craft, testing, a language, version control, databases, UX, data visualization, data architecture, and styling. That's deliberate. The most useful people I've worked with aren't the ones who went infinitely deep into one stack. They're the ones who can move between layers and see how the whole thing fits together.

Don't get attached to one technology. Get attached to learning.

Originally published on LinkedIn. Read the original