Overview
As a Senior Software Engineer, design and program software modules, components and feature areas for a next-generation platform supporting intelligent decisions and mission-critical energy customer requirements. Work independently while contributing to the immediate team and other teams across businesses.
What you'll do
- Capture system-level requirements by brainstorming with Architects, Data Scientists, Businesses and Product Managers.
- Identify the scope of work, provide initial estimates and justify estimates with facts.
- Apply Agile software development lifecycle practices and distinguish the core inputs and outputs in each cycle.
- Engage in technical discussions, participate in technical designs and present technical ideas through whiteboarding.
- Work closely with peers in a fast-paced technical design and development team.
- Provide guidance to a team of 2 to 3 developers through planning and execution and/or design architecture using Agile methodologies such as SCRUM.
- Work with Product Line Leaders to understand product requirements and vision.
- Make informed technology choices after due diligence and impact assessment.
- Execute in a fast-paced delivery mode and focus on delivering tasks to meet product release goals.
- Maintain code quality through best practices, unit testing and code quality automation.
- Seek and provide feedback on design and development.
- Lead design discussions in a limited manner.
What you'll need
- Be a graduate of Computer Science or in STEM Majors (Science, Technology, Engineering and Math).
- Have 7+ years of hands-on backend/frontend development in Web/Cloud application.
- Have prior experience implementing an application on Azure/AWS using microservices architecture and docker/containerization.
- Have proficiency in back-end development using TypeScript and Node.js.
- Have proficiency in databases including MySQL and PostgreSQL.
- Have hands-on experience in backend areas such as session management, caching, algorithms and data structures, and secure coding.
- Have proficiency in TypeScript, jQuery, Web Servers and RESTful Web services.
- Have hands-on experience with data communication protocols such as AMQP/MQTT and message brokers such as RabbitMQ/Kafka.
- Be flexible to learn and develop in any language, technology or tool as per the project's needs.
- Have deep understanding of application and infrastructure architecture and non-functional aspects such as performance, scalability, reliability and availability.
- Have good problem-solving, collaboration, influencing and articulation skills.
- Have deep understanding and hands-on experience of programming concepts including OOPS, best practices, refactoring, maintainable/reusable code, design principles and patterns, architecture, TDD, unit testing, debugging and automation.
- Be able to break down problems and estimate time for development tasks.
Details
- Location: Pune, Maharashtra, India.
- The role involves working with a team of 2 to 3 developers and using Agile methodologies such as SCRUM.
Read the full description and apply on the company’s own careers page.