Job Description
<p><p>As a Senior Software Engineer, you will play a key role in designing, developing, and maintaining complex software systems.
You will drive technical initiatives, and mentor junior engineers.
Your expertise will be instrumental in ensuring high-quality, scalable, and performant solutions that align with the company's architectural goals and business needs.
You will contribute to technical strategy, architectural decisions, and process improvements, while fostering a culture of innovation, collaboration, and engineering excellence.<br/><br/><b>Key Outcomes/Objectives :</b><br/><br/>- Design and implement robust, scalable, and high-performance software architectures.<br/></p><p><br/></p><p>- Lead and mentor junior engineers, fostering a culture of technical excellence and continuous learning.<br/></p><p><br/></p><p>- Ensure code quality, adherence to coding standards, and best practices across the team, acting as a champion for engineering rigor.<br/></p><p><br/></p><p>- Drive the resolution of complex technical challenges and contribute to the development of innovative solutions, leading the way in overcoming technical obstacles.<br/></p><p><br/></p><p>- Contribute to the development of technical roadmaps and strategic plans, influencing the future direction of the product/sub-product.<br/><br/><b>Core Responsibilities :</b><br/><br/>Technical Leadership and Architecture :<br/></p><p><br/></p><p>- Design and implement complex software components and features with a focus on scalability, performance, and Contribute to sub-product or feature-level architectural decisions, ensuring alignment with overall system architecture.<br/></p><p><br/></p><p>- Lead technical discussions within the team, influencing design choices and engineering practices.<br/></p><p><br/></p><p>- Identify and mitigate technical risks early in the development lifecycle.<br/></p><p><br/></p><p>- Evaluate and recommend new technologies, frameworks, and tools to improve development efficiency.<br/></p><p><br/></p><p>Code Development and Quality Assurance :<br/></p><p><br/></p><p>- Write clean, efficient, and well-documented code that adheres to coding standards and best practices.<br/></p><p><br/></p><p>- Lead code reviews and ensure adherence to quality standards across the team .<br/></p><p><br/></p><p>- Develop and maintain automated tests (unit, integration, and end-to-end) to improve software reliability.<br/></p><p><br/></p><p>- Identify and resolve performance bottlenecks, scalability issues, and technical debt.<br/></p><p><br/></p><p>Mentorship and Team Collaboration :<br/></p><p><br/></p><p>- Mentor and guide junior engineers in technical development, best practices, and Lead technical discussions and knowledge-sharing sessions within the team, fostering a culture of continuous learning and collaboration.<br/></p><p><br/></p><p>- Be an active contributor in your Community of Practice : You play an active role in the OVO Engineering community on all things related to engineering, sharing practices and offering firsthand experience to the wider community<br/></p><p><br/></p><p>Project Execution and Agile Practices :<br/></p><p><br/></p><p>- Participate in sprint planning, backlog refinement, and daily stand-ups to ensure timely and efficient delivery.<br/></p><p><br/></p><p>- Break down complex projects into well-defined, executable tasks and contribute to sprint commitments.<br/></p><p><br/></p><p>- Monitor delivery progress and technical dependencies, proactively resolving potential blockers.<br/></p><p><br/></p><p>- Contribute to technical roadmaps and long-term engineering strategies for sub-products and and Knowledge Sharing :<br/></p><p><br/></p><p>- Create and maintain technical documentation, including architecture diagrams, design documents, and API specifications.<br/></p><p><br/></p><p>- Share knowledge and expertise through presentations, workshops, and documentation.<br/></p><p><br/></p><p>- Contribute to the development of internal tools and of Practice :<br/></p><p><br/></p><p>- Contribute to the appropriate Community of Practice (CoP) for your role by leading discussions, sharing practices, offering firsthand experience to the wider community, engaging in knowledge exchange / cross-pollination to further your craft.<br/></p><p><br/></p><p>- Create content and and individually contribute to the stated successful outcomes for this CoP<br/><br/><b>Qualifications :</b><br/><br/>Education / Experience :</p><p><br/></p><p>- Bachelor's or Masters degree in a technical field or equivalent qualifications, or substantial industry experience demonstrating comparable expertise<br/></p><p><br/></p><p>- 5-8 years of hands-on software development experience with a strong track record of delivering high-quality code.<br/></p><p><br/></p><p>- Committed to technical excellence and clean code, with the ability to work in Agile, Lean software teams<br/></p><p><br/></p><p>- Proven experience in designing and implementing complex software architectures.<br/></p><p><br/></p><p>- Experience leading technical initiatives and mentoring junior engineers<br/></p><p><br/></p><p>- Ability to thrive in high-ownership environments<br/><br/><b>Skills :</b><br/><br/>- Strong proficiency in multiple programming languages, including Node.js, Python, TypeScript, JavaScript, React Native, and React.js, with a focus on building and maintaining microservices-based architectures.</p><p><br/></p><p>- Equivalent experience with related technologies and frameworks will also be considered.<br/></p><p><br/></p><p>- Deep understanding of software architecture, design patterns, and distributed systems.<br/></p><p><br/></p><p>- Experience with cloud platforms such as GCP and AWS (Azure is not preferred), along with expertise in containerization technologies like Docker and Kubernetes.<br/></p><p><br/></p><p>- Strong understanding of database systems and data modeling.<br/></p><p><br/></p><p>- Experience with CI/CD pipelines and automation tools.<br/></p><p><br/></p><p>- Strong leadership and mentorship skills.<br/></p><p><br/></p><p>- Excellent communication and interpersonal skills.<br/></p><p><br/></p><p>- Strong problem-solving and analytical skills.<br/></p><p><br/></p><p>- Ability to work independently and as part of a team.<br/></p><p><br/></p><p>- Strong attention to detail and a commitment to quality.<br/></p><p><br/></p><p>- Ability to learn and adapt to new technologies quickly.<br/></p><p><br/></p><p>- Strategic thinking and planning skills.</p><br/></p> (ref:hirist.tech)