Gosh, finally it is the first "Journey" post from my freaking blog.
Imma talks about my daily routine as a Senior Backend Engineer.
What makes a Senior?
As a Senior, from my POV, you are expected to:
Able to work individually. Quickly learn and adapt the project(s).
Avoid having some obvious questions.
Debugging skills must be good.
Well-known of the Tech Stack (or mastered them) of the company and what you are doing.
Contribute to the team, not only features but also: code review, suggestions, libraries, helpers, and documentation.
(Optional) Mentoring fresher/junior members.
- The number of years is not a mandatory point. 1 year but doing cool/extraordinary things > 5 years of simple apps, CRUD,...
If you got 100% of the points above, then, man, I'd love to work and geek the tech with you.
My Daily Routine as a Senior
Improvement of previous features
Join some calls
Supporting other members
(If any) Checking & supporting production issues/customers' requests
(Sometimes) thinking & extracting my work to a generic library (which can be reused from other places)
Pretty simple for 8hrs/day, isn't it?
How do I troubleshoot the production issues?
I'll try to see what was going wrong based on the customer's report.
Try to draw the situation in my mind and list out the "possible" root cause.
Checking the code line by line (yeah I'm not a person who always whines about the documentation, code itself is the living documentation and the single source of truth)
Conclude the outcome and finalize the root cause.
Prepare the fix.
Ask the customer support team to do the needful comm with customers.
That's a happy case.
Sometimes, I approach some issues without any traces (no Sentry errors, no normal log errors) and that's really hard to determine the culprit. For that, I always mark it as "false-positive" and ask customers to try again.
How do I do the code review?
To ensure the team can maintain a healthy codebase, I usually do the code review really strictly:
Validate the logic
Validate the performance
Determine the approach and propose better ones (if any)
Following strict rules, we can ensure a healthy & maintainable codebase.
Imagine you let people do their own things and their own styling. Your codebase would end up with a big mess, huge tech debt,...
Well, that's basically it. As a Senior, you are expected to do big work, have fewer defects, maintainable code and somehow empower the team.