Software Engineer Advices

Very rough 5 min summary of the “The Software Engineer’s Guidebook” book with advice for each level of Software Engineer Career.

Career Fundamentals

  • Keep a brag document
  • Understand your company tier (1, 2, 3)
  • Understand your team focus and company environment (product vs platform engineering / cost vs profit center, Peace-time vs War-time)
  • Understand the two track career (IC and management)
  • Get ready for peformance review, ask feedback and understand your manager

Competent Software Engineer

  • Get things done, most important advice. (unblock, breaking down work, estimating, focusing on important part, take initiative)
  • Practice code, readability and quality
  • Learn your language, debug, refactoring and testing
  • Learn local dev env, git, terminal, Regex, SQL and find way to iterate quickly (fast build/test, feedback loop)

Well Rounded Senior Engineer

  • Get things done: let people know it, organize your work, help your team, see the big picture.
  • Collaborate: code review, pairing, mentoring, feedback, other teams, influencing
  • Learn Software-Engineer: 1 imperative, 1 declarative, 1 functional language, back+front, proper debugging, manage tech debt pros & cons, learn documentation (RFC, Test plan, Rollout Plan, Design Documents, Release notes, team handbook…), scale best practice across team (test, code review…)
  • Testing: understand unit, integration, e2e tests. Automatic test, test in production…
  • Software architecture: Design documents, RFCs. Prototype and PoC, domain-driven design, stakeholders and business understanding

Pragmatic Tech Lead

  • Project managmeent: kick-off, milestones, Software physics, day-to-day maangement, risk, dependencies and wrapping up projects.
  • Shipping to prod: understand the different plans, risks, verification layers, selecting an approach
  • Stakeholder management: Collaborate, understand types, understand who they are, keep in the loop, problematic stakeholders and learning from them
  • Team structure: roles and titles, team processes, boost team focus
  • Team dynamics: healthy/unhealthy teams. Growing pains, improve dynamics and relationship with other teams

Role-model Staff and Principal Engineers

  • Understand the business: North Stars, KPIs, OKR. Team & product, company, public company, startups, your industry
  • Collaboration: Internal politics, influencing, with managers, with staff peers, networking and helping others
  • Software Engineering:
  • Reliable Software Systems: todo
  • Software architecture: todo