About me
Day to day responsibilities at my current job:
- Own and drive all component designs at application level, independently.
- Learn platform level architecture from seniors and actively contributes in the module/application design discussions.
- Suggest industry best practices in architecture and design.
- Implement and own an entire component/application and takes end to end responsibility.
- Make Sure the task is complete in all aspects (Ex: elicit acceptance criteria, adheres to logging standards, implement security fixes,ensure unit test coverage, perform static code analysis checks,functional tests with an emphasis on automation etc.) within committed timelines.
- Ensure the components are meeting business requirements, non-functional requirements, low-maintainability, high-availability and high-scalability needs.
- Own and ensure all relevant guidelines (Ex: code review process (peer and self), code branching strategies, logging best practices etc.) are followed in the components.
- Troubleshoots complex technology problems and drive root cause analysis of the components.
- Own complete code/API documentation, maintain playbooks and provides timely progress updates.
- Own moderately complex (as defined by seniors) proof of concepts.
- Monitor applications/systems and resolve all issues (Ex: high impact, critical etc.) independently.
- Own and drive all defect detection and resolution.
- Independently address all production issues in owned components and partner with seniors in driving root cause analysis for production issues.
- Own the run-book (operational readiness document) of owned components, with senior's supervision.
- Own peak season readiness for owned components/services.
- Possess complete understanding of logging, levels of logging etc. to simplify debuggability and troubleshoot issues through logs (Ex: Splunk etc.).
- Follow standards and best practices while coding to ease operational support and influences the team to follow these.
- Drive and own any issue that comes out of static code analysis.
- Monitor the system.
- Set up comprehensive alerting for all the owned components.
- Comprehend various metrics on engineering dashboards to determine the root cause of problems.
- Build engineering dashboards using standard tools and techniques.
- Implement any CI/CD components.
- Demonstrate flexibility in picking up tasks as per project needs.
- Context switch between multiple priorities as needed.
- Adapt across platforms and teams (as applicable) to match the expectations of team deliverables amidst ambiguous priorities.
- Contribute towards strategic direction of the team by adapting change of technologies (Ex: Java to ML/AI etc.) and helps in personal development of the team members.