Skip to content

Instantly share code, notes, and snippets.

@brittanydionigi
Last active September 26, 2017 16:02
Show Gist options
  • Save brittanydionigi/b4bf7008436d834c3c16d894874442f0 to your computer and use it in GitHub Desktop.
Save brittanydionigi/b4bf7008436d834c3c16d894874442f0 to your computer and use it in GitHub Desktop.

Who is a senior engineer?

Someone who is...

  • consistently trying to help other developers improve through mentorship, community involvement or teaching opportunities
  • has the foresight to predict edge cases and trade-offs for solutions to technical problems
  • has experienced many failures and is able to recover from them quickly when they arise
  • can clearly articulate their knowledge and explain technical concepts in multiple ways
  • has confidence in admitting what they don't know and the ability to ask questions when they need help
  • has familiarity with common patterns of programming, application architecture and structure so they can easily navigate new technical environments and tools
  • knows how and when to refactor code without burning things to the ground (or knowing when to just burn things to the ground)
  • has a lower-level understanding of how the tools and technologies being used actually work

How to become a senior

Asking Questions

  • Find a safe person or community where you feel comfortable asking questions
  • Remember that your questions are still eye-opening for others, often times, they are a learning opportunity for seniors

Do the things other people don't want to

  • Write the tests and documentation - both of these expose potential areas for improvement in the codebase. If it's hard to test, or hard to write about in documentation, the code probably needs a refactor.

Accumulating failures

  • Literally build all of the apps - the more apps you build the more opportunity you have to make mistakes
  • Record the problems you run into and the mistakes you make, you're guaranteed to run into them again in the future, or see others dealing with the same problems

Articulation

  • Listen to podcasts
  • Read books
  • Listen to and give talks at meetups and conferences
  • Surround yourself with people who want to talk about code

Community

  • Make yourself visible however you feel comfortable
  • Write blog posts, attend and participate in meetups and conferences, interact with tech communities online

Mentoring

  • Try to teach something - it will help you recognize the holes in your own understanding
  • Look through the code reviews on pull requests for the tools you use and learn how to effectively communicate where there is room for improvement

Most importantly, once you're a senior, don't lose your perspective! It's easy to forget what it's like to be a junior, but keeping track of your struggles as a junior will make you a better senior in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment