Sharing something that I wrote for my use but I think can be useful to others (I am an engineer with the title of Senior Software Engineer)
Visit [1] for a full list (table view gives a lot of options. See "Controls").
Visit [2] for a summary.
The source of the list is at [3]
1. https://littleblah.com/post/2019-09-01-senior-engineer-checklist/
2. https://medium.com/@littleblah/my-top-25-items-in-a-senior-engineers-checklist-c8e9f9f6e3c2
3. https://github.com/littleblah/senior-engineer-checklist
Feedbacks/Pull requests solicited :)
> Respect code and systems that came before you. There are reasons for every code and every guard that exists in production
Sometimes there's bad code in prod, or code that doesn't need to exist anymore. You should try to understand when something is there for a good reason versus a bad reason. Cut out the bad code, keep the good code.
I've seen a lot of cases where people assume that current code is untouchable or designed very intentionally, so they wrap it and then you end up with a tower of abstractions built on a poor base.
So, I think as a senior engineer you should try to understand the difference between code that should stay and code that should go.