06 Aug
|
InfoVision
|
Bengaluru
06 Aug
InfoVision
Bengaluru
Software Development Engineer (SDE) 5-10 Years
Bangalore (Only)
Hybrid AWS are mandatory
70% -node and 30% React- Mandatory skills Job Details
Roles & Responsibilities
Software development
· Lead requirement gathering to enable effective scrum refinements.
· Create technical implementation plan, gain product, development lead and solution architect approval.
· Ensure all activities and dependencies are identified in the planning phase.
· Liaise closely with other developers and development team stakeholders to provide accurate estimates of efforts and delivery timeframes - ensuring the inclusion of all activities required to implement the proposed design and having input into the planning process.
· Develop solutions from first principles that reliably deliver to defined expectations.
· Ensure security and compliance with appropriate certifications and standards are intrinsic to the design and engineering practices used, rather than bolted on afterwards.
· Ensure feature implementation is delivered with no Production defects.
· Ensure all work is delivered with the realities of distributed, cloud-scale systems in mind: scalability, performance, resilience, and observability.
· All solutions, whether hand-written or produced with AI assistance, must be modular, maintainable, and pragmatically designed, using asynchronous techniques wherever applicable.
· Escalate issues and delays in a timely manner.
· Review the majority of code commits, including code generated with AI tools, and provide constructive feedback.
· Understand SLAs for our products and provide remediation to production issues to meet the SLA obligations.
· Ensure all work is tracked and logged correctly using tracking tools.
· Ensure solutions delivered to testing and support to achieve the agreed quality standard.
· Become and act as a subject matter expert, providing advice to development team stakeholders.
· Let well-designed automated tests drive development and guard high quality standards on every change.
· Maintain and grow deep expertise by keeping pace with advances in the industry, particularly AI-assisted engineering, and undertaking approved training where appropriate.
Software documentation
· Produce appropriate release documentation.
· Document resolutions of issues.
· Ensure standard issue tracking systems used.
· Ensure code versions can be tracked and reverted as required.
· Maintain and update component documentation through code.
Software testing
· Ensure implementation can be tested.
· Practise test-first development, letting unit tests specify behaviour and drive design with high coverage.
· Improve test coverage by refactoring legacy code and adding tests.
· Ensure tests gate every commit and provide fast, trustworthy feedback to developers.
· Release builds for testing, acting as point of contact for test team, educating testers as necessary.
· Ensure test team able to complete thorough testing using detailed and valid test plans.
· Plug gaps in API and UI automated test coverage for every feature.
· Ensure implementation allows automated UI testing with appropriate test harness.
Team mentoring
· Use code review as an opportunity to mentor junior and intermediate developers on best practices.
· Support in inducting and training new staff to enable them to be competent and confident in the software development of our products and ensuring they are productive quickly.
· Lead by example to influence peers.
· Use listening skills and actively participate in scrum ceremonies.
· Support the scrum master in creating a high performing scrum team.
· Upskill junior and intermediate developers as part of their career development.
· Conduct training sessions within the development team.
Managing technical debt
· Ensure technical debt is effectively captured and documented.
· Minimize technical debt during recent feature development.
· Proactively address technical debt in legacy code.
· Provide estimates and implementation plan for bigger technical debt items.
· Work with the development lead to communicate the business value of addressing technical debt items.
· Ensure dependencies are always up to date and supported by the publisher.
· Monitor the releases of dependencies for security vulnerabilities, out of support notices, breaking changes.
Supporting stakeholders
· Assist with technical input to development lead and work with project management team and the test team to monitor release progress.
· Proactively improve our development processes, including how we adopt AI tooling responsibly.
· Support the DevOps team to ensure UAT and Production deployments are successful.
· Work with the DevOps team to ensure we meet our system uptime commitments.
· Setup monitoring dashboards and alarms for support teams to respond to incidents.
Essential
· Tertiary qualification in Computer Science or Information Technology, or equivalent practical experience at a senior level.
· 5 – 8+ years software development experience in a similar role.
· Proven record of independently owning and delivering features end-to-end, with high agency.
· Ability to work effectively with stakeholders like Product Owner, Architects, Leads, QA, etc.
· Experience with Production support.
· Working familiarity with tools in the following areas, valued as evidence of underlying engineering fundamentals rather than as ends in themselves:
o SPA frameworks o RESTful API frameworks o Node.js o Micro-frontend architecture o Typescript o Angular / React o Relational SQL databases o NoSQL databases o UI automation frameworks and libraries o Git o Good understanding of CI/CD, the fundamentals of distributed and cloud computing, and containerization.
· Advanced knowledge and experience in the following:
o Asynchronous programming and the fundamentals of distributed, cloud-native systems, including consistency, fault tolerance, and observability.
o Pragmatic, modular, maintainable, and testable design patterns.
o Producing and reviewing code, including AI-generated code, that complies with modern secure engineering practices.
o Dependency management to prevent security vulnerabilities.
o Branching models to match product deployment and support policies.
o Enforcing code quality through disciplined code review and pull requests.
· Excellent communication skills both written and verbal.
· Ability to build and sustain effective relationships.
· No restrictions to travel.
📌 Software Development Engineer (Bengaluru)
🏢 InfoVision
📍 Bengaluru