The tremendous demand for software engineering talent has resulted in a lot of “senior engineers” who are only two years into their careers. This is doing a disservice to those engineers and new engineers just entering the field.
You might want to reconsider your “senior” title if…
…other engineers can’t comprehend your code or the “patterns” you made use of. It’s not a fine line between complexity and incomprehensibility. They are completely different things.
…you spend the majority of your time on the “new and shiny” frameworks and techniques available. If you then recommend those frameworks and techniques for use in a production application, subtract a few more points.
…you don’t write any documentation for the new code you write, be it in code comments, PR descriptions, or actual documentation.
…you write git commits like, “trying again”, without squashing those commits into a single commit with a coherent commit message
…you commit to the main branch with impunity
…you don’t see other engineers’ inability to run your application in a local development environment consistently and without significant issues as a red flag. “It works on my machine,” should never be uttered by a senior engineer.
…you delete or comment out existing tests, or consistently fail to write new tests
…you hold strong negative opinions about specific languages or frameworks you’ve never used
This was originally written in January 2021. I’m going through some non-blog writing archives at the moment, re-publishing here what still holds up.