* This is a remote position; however, the candidate must reside within 30 miles of one of the following locations: Boston, MA; Chicago, IL; San Francisco Bay Area, CA and Portland, ME.
About the Team/Role
As a Senior Software Developer, you will be joining the Integrated Engineering team as part of the Energy Transition domain (Electric Vehicles) and will focus on full stack development including integrations, and API suite. Our highly autonomous team uses Agile development principles and the embedded DevOps model to deliver across the full software life cycle - from development to release to maintenance and operations.
Our team works hard, covers for one another, yet maintains a healthy work-life balance. We own our results and we take pride in the ownership of everything we do (check your ego at the door, and take pride in owning results!). We all are comfortable balancing the need to move fast with the realities of working in a highly regulated space like payments.
As a senior member on our team, you will be involved in planning, designing, developing, and testing software systems, or applications for enhancements and new projects. You will be using Java, Spring Boot, APIs, and SQL.
You should be an individual who has a passion for writing code, enjoys tackling problems that are difficult to solve, is driven by working as part of integrated software engineering teams, is focused on delivering at the highest level of quality, has meticulous attention to detail, and embraces new technologies, frameworks, and development practices with an open mind.
How you'll make an impact
Focus on backend development, including integrations and API suite.
Partner with business stakeholders, solutions architecture, and product managers to understand requirements, priorities, and processes.
Write efficient, scalable, and high-quality code.
Manage production on-call support (triage incident priorities, RCAs, troubleshooting, code fixes, etc.).
Foster a culture of continuous engineering improvement through mentoring, feedback, metrics, and adopting best practices.
Lead and mentor the scrum team and perform the scrum master role when necessary.
Drive a test-driven development approach and take responsibility for any stage within the software development life cycle as required.
Embrace the highly adaptable, versatile, agile nature of the dynamic software engineering team.
Experience you'll bring
Bachelor's or master's degree in Computer Science or a related discipline.
8+ years of hands-on experience developing applications using Java, Springboot, and REST APIs.
Experience with backend services, APIs, data processing, and web applications (SpringBoot, GraphQL, REST).
Experience with the design and development of event-driven microservices architecture using Docker, Kubernetes, Kafka
Data engineering, ingestion, storage, and processing with strong database skills (SQL, Postgres, Liquibase).
Experience in low-level technical designing and writing user stories (JIRA, Confluence).
Production on-call support.
Demonstrable CI/CD experience with DevOps exposure.
Outstanding analytical, problem-solving, and decision-making skills.
Strong philosophy of continuous improvement and passion for automation.
Excellent written and verbal communication skills.
It would be nice if you:
Have experience with electric vehicles charging data and protocols (e.g. OCPI and OCPP).
Cloud experience with AWS Services.
Have experience with Python, Angular JS, and JavaScript.
Have experience with test automation frameworks for Java like Cucumber, Robot, etc.
Have experience with collaborating over virtual channels with peers distributed globally