About the job
JOB DESCRIPTION
Senior Back-end Developer
Overview: A Senior Back-End Developer is responsible for writing high-quality software that meets the technical requirements and business acceptance criteria as well as mentoring junior developers towards the same goal.
The successful candidate follows the formal engineering process through SDLC (Software Development Life Cycle) and creates and updates the appropriate artifacts and documentation in the process. They are accountable for their own code and unit testing, as well as the quality of junior developers, through conducting code reviews and remediation.
Supervisor: The Senior Back-end Developer reports to the Team Development Lead.
ACCOUNTABILITY
You are accountable for ensuring and providing artifacts and evidence of the following:
- You review, understand, and follow the Technical Design Specification documents for your product’s features.
- You follow all steps in Viveka’s published Software Development Life Cycle (SDLC) and you provide the appropriate artifacts and documentation at each stage.
- You follow all Viveka’s published code branch management, continuous integration (CI), and continuous deployment (CD) procedures.
- You ensure the quality of the code of your junior developers on your team by conducting code reviews, inserting corrections as comments, and following up on remediation before merging the code.
- You use your time wisely and aggressively to maximize your efficiency and positive impact on the organization.
RESPONSIBILITY
You are responsible for carrying out the following with timeliness and quality:
Code Development
- Participate in the architecture, design, and development of complex backend systems and services that meet high scalability and performance requirements.
- Write well-documented, clean, efficient, and maintainable code and use it as a model for junior developers through example and mentorship.
API and Service Design
- Define and implement APIs and microservices under the guidance of the team lead, ensuring they are well-documented, robust, and aligned with the business Acceptance Criteria.
Database Architecture
- Drive design and optimization of database structures for performance, scalability, and security, with the sign-off of the team lead and architect.
- Conduct internal data migration and integration processes.
Jira Story Creation
- Fill in the technical details for Jira stories based on the business and technical requirement documents, ensuring they meet the Acceptance Criteria, project goals, and are aligned with the team charter.
- Collaborate with product owners and stakeholders through the team lead to refine requirements and augment stories as needed.
Technical Requirement Documentation
- Own, create, and maintain comprehensive technical requirement documents that guide the development process.
- Ensure that all technical documentation is accessible and useful for the team.
Post-Deployment Bug Fixing and Troubleshooting
- Identify and resolve reported critical bugs and system issues, applying root cause analysis to prevent recurrence.
Testing and Quality Assurance
- Establish and enforce testing standards and practices, ensuring comprehensive coverage and reliability of the codebase.
- Review and approve test cases, testing strategies, and results.
Team Leadership
- Facilitate code reviews, providing constructive feedback and fostering a culture of continuous improvement.
- Coordinate the efforts of the development team, ensuring effective collaboration and communication.
Documentation
- Oversee the creation and maintenance of comprehensive documentation for systems, APIs, and processes.
- Ensure that all documentation reflects current standards and practices.
Performance Optimization
- Monitor and analyze system performance metrics, implementing strategies for optimization and scalability.
- Implement loggers and instrumentation to identify potential performance bottlenecks.
Agile Practices
- Actively participate and help lead discussion in Agile activities (sprint refinement, backlog prioritization, story writing, technical story details) for the team.
- Encourage junior team members to contribute actively
Cross-Team Communication
- Facilitate effective communication across teams and stakeholders to ensure alignment on project goals and requirements.
- Collaborate with product managers and other departments to address any interdepartmental concerns and keep everyone informed and up to date.
Innovation and Strategy
- Stay abreast of industry trends and emerging technologies, providing insights and recommendations for product improvement.
- Drive innovation within the team by encouraging experimentation and the adoption of new tools and practices, making sure that these align with the product OKR
OKR Alignment
- Regularly review and align team work items with established OKRs, ensuring that contributions support overarching business goals.
- Provide insights and updates on how development efforts are impacting the achievement of OKRs.