About the Team / Role
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 small dynamic 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
Be a highly adaptable, versatile, and dependable member of a highly agile and dynamic software engineering team.
Be a leader and mentor of the scrum team. Perform role of scrum master when necessary.
Advocate, mentor, and execute engineering best practices.
Take accountability and responsibility for the technical delivery of the scrum team.
Contribute to establishing and maintaining an efficient and collaborative development team.
Drive a test-driven development approach and be happy to work and take responsibility for any stage within the software development life-cycle as required.
Work closely with the team’s technical and solution architects along with business and partner stakeholders.
Contribute to the technical architecture of solutions – technology selection, design, and documentation.
Experience you’ll bring
12+ years experience in software engineering (at least 5+ years relevant to this role).
Deep knowledge and understanding of Java and Agile and Test-driven development.
Extensive and Practical experience of - Developing within an event-driven microservices architecture pattern. Engineering backend services, APIs, data processing, and web applications (AngularJS, SpringBoot, GraphQL, REST). Utilising AWS Services and Kafka. Building and integrating with secure and scalable APIs for internal and external sources. Data engineering, ingestion, storage, and processing. Strong in skills such as SQL and database architecture and engineering (e.g. Postgres, Snowflake, DynamoDB, MongoDB). Interpreted languages such as Python and JavaScript. Application of data security and protection (e.g. GDPR). CI / CD Tooling.
Electric vehicles charging data and protocols (e.g. OCPI and OCPP). (Good to have)
Vehicle telematics. (Good to have)
Compiled languages such as Go, C#, and C++. (Good to have)
Functional programming. (Good to have)
Willingness and proven ability to learn new technologies quickly and effectively.
Excellent written and verbal communication skills - Writing technical and design documentation. Collaborating over virtual channels with peers distributed globally.