Responsible for programing a component, feature and or feature set. Works independently and contributes to the immediate team and to other teams across business. You will also contribute to design discussions.
Roles and Responsibilities
- In this role, you will:
- Be responsible for defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
- Provide technical leadership to an agile team of 5-7
- Work with Product Line Leaders (PLLs) to understand product requirements & vision
- Translate requirements vision into prioritized list of user stories and deliver to required timelines and quality standards
- Work with product line leaders and architects to develop multi generation software technology plans
- Drive increased efficiency across the teams, eliminating duplication, leveraging product and technology reuse
- Support process improvements which guide the development, sustaining & support activities
- Work cross functionally with other business departments to align activities and deliverables
- Drive world-class quality in the development and support of products
- Ensure team receives consistent messages and has clear understanding of business direction, strategy and results
- Engage subject matter experts in successful transfer of complex domain knowledge
- Apply principles of SDLC and methodologies like Lean/Agile/XP, CI, Software and Product Security, Scalability, Documentation Practices, refactoring and Testing Techniques
- Write code that meets standards and delivers desired functionality using the technology selected for the project
- Understand performance parameters and assess application performance
- Work on core data structures and algorithms and implement them using technology chosen
- Proactively share information across the team, to the right audience with the appropriate level of detail and timeliness
Education Qualification
- 5+ year's experience relevant to software development and hands on with microservice development.
- Experience in Grid or Energy software business (AEMS ADMS Energy Markets SCADA GIS)
Desired Characteristics 
Technical Expertise:
- Experience in Java for developing robust and scalable applications.
- Experience with Spring Boot framework components for efficient application development.
- Experience in microservices architecture and containerization technologies such as Docker, Kubernetes etc. comfortable in building microservices with distributed systems.
- Experience with performance optimizations, secure coding, multi-threading, caching, message queues, authn/authz techniques.
- Proficient in JUnit framework for unit testing.
- Proficient in design principles, design patterns, and debugging techniques.
- Proficient in Message Queueing and Event Streaming platforms like Kafka, Rabbit MQ
- Desirable to have experience in Test-Driven Development (TDD).
- Familiarity with cluster deployments, load-balancing, HA, redundancy
- Familiarity with the CI/CD tools
- Familiarity with monitoring tools like Grafana and Prometheus
Business Acumen:
- Demonstrates the initiative to explore alternate technology and approaches to solving problems
- Skilled in breaking down problems, documenting problem statements and estimating efforts
- Demonstrates awareness about competitors and industry trends
- Has the ability to analyze impact of technology choices
Leadership:
- Ability to takes ownership of small and medium sized tasks and deliver while mentoring and helping team members
- Ensures understanding of issues and presents clear rationale. 
- Able to speak to mutual needs and win-win solutions. 
- Uses two-way communication to influence outcomes and ongoing results
- Identifies misalignments with goals, objectives, and work direction against the organizational strategy. Makes suggestions to course correct
- Continuously measures deliverables of self and team against scheduled commitments. 
- Effectively balances different, competing objectives
Personal Attributes
- Strong oral and written communication skills
- Strong interpersonal skills
- Effective team building and problem solving abilities
- Persists to completion, especially in the face of overwhelming odds and setbacks. 
- Pushes self for results; pushes others for results through team spirit.