Job Description :
Role:SENIOR SOFTWARE DEVELOPMENT ENGINEER

Work on leading edge software applications utilizing latest technologies in the clean energy storage space. Will be responsible for creating and maintaining production applications for our DER Optimization Software. Will work closely with other software engineers, system engineers and product owners/management to implement and maintain applications across the different tiers of our system.
Key Responsibilities:
Programs and troubleshoots code for applications to efficiently solve challenging engineering problems.
Work with and adhere to Agile development philosophies
o Test Driven Design
o Unit and Functional testing
o Pair programming
Must be able to give direction and mentor to less senior engineers.
Ability to understand technical requirements and ensure consistent implementation of technology throughout the system.
Required work experience & education requirements:
BSCS and/or minimum 7 years of experience in software development
Java 8
o Threading and concurrency
o Understand generics
o Understand serialization techniques like JSON
o Experience with persistence to both SQL and NOSQL databases
Spring Boot and/or Spring Framework
REST and microservices
RabbitMQ message brokering and/or other AMQP brokers
Automated functional test framework for Java
o Cucumber
o Citrus
Following experience a plus:
Python
Cloud computing (AWS)
Electrical Engineering and/or Energy Storage Systems
API Documentation tools
o Swagger
o Miredot
DevOps
o Maven
o Jenkins
o Terraform
o Ansible
Comfortable in the following environments.
o Linux OS
o Docker and other virtualization technologies
o IntelliJ SDK
o GIT source control
Jira