Senior Software Engineer - Full Stack

Senior Software Engineer

Our client is seeking a software engineer to join the software development team building energy management solutions. The software solutions are primarily back end focused, and this is the primary requirement in this role. However any experience in a
“full stack” development role will also be valuable, and so an understanding of the front end requirements from APIs in terms of performance and security will be very useful.
Experience working on enterprise level Java and/or Python based solutions is essential. Any experience in the area of IoT, related messaging protocols (MQTT etc) and/or devlce level programming (C/C++) would also be advantageous.
Knowledge of database architectures, both relational and NoSql is required, as working with energy data requires an understanding as to how to store and leverage large volumes of time series data in the context of an energy business domain model.
This is a strictly hands on software development and design role, and as an experienced developer, the successful candidate will be expected to take ownership of complex software development tasks specified by our solution architects.

Requirements:
• Commercial enterprise level Java or Python software development experience,
• Understand of Java frameworks such as Spring, and modern approaches to working with databases in the middleware.
• Experience working using GIT based software development and associated software development workflows.
• Understanding how to structure database queries to support complex algorithm development in the middleware. This includes understanding how to model and index databases to support backend service end requirements to support energy management solutions.
• Nice to have device level programming experience, for example, device drivers, interfacing (serial port, modbus etc).