Software Engineer

Job Summary:

The Software Developer will be part of a team responsible for building and maintaining software components for BlueNova’s products. Involved in the full software development lifecycle (design, development, testing), the role includes managing Software Work Packages and delegating tasks to team members. This position also oversees the architecture and infrastructure for data monitoring, system management, EMS IoT platforms, analytics, reporting, and machine learning, ensuring system security and performance.

Key Responsibilities:

  • Ensure that SCRUM system is running smoothly
  • Develop and grow the team as required to establish the appropriate software systems and skills
  • Establish, monitor and maintain top class system software engineering tools, practices and procedures.
  • Design and specify software system architectures to meet with BNE requirements.
  • Establish, deploy and manage hosted services on reliable platforms (AWS)
  • Program in languages, C, C++, Python, Java, JavaScript.
  • Able to create and manage new software projects for Arduino, esp32, STM32 and Renesas Synergy micro controllers
  • Create new Git repositories and link local git branches with remote git branches.
  • Make adjustments on all existing software projects.
  • Apply HTML, JavaScript and CSS knowledge.
  • Full stack knowledge and experience to allow for the development, maintenance and support of the future BNE data driven environment, including database, backend and front end.
  • Lead junior development engineers with software projects, including in the use of AI development tools such as GitHub and Copilot.
  • Integrating and testing various BNE iOT and web-based systems and services
  • Integrate BNE Energy Management System with edge devices, central database and user interfaces for reporting and management of subsystems with each other via communication such as RS485, CAN-bus, Modbus and MQTT
  • Assist and generate necessary engineering/software documentation related to the work being executed.
  • Assist with budgeting for capital expenditure and expenses.

 

 

Job Requirements:

  • Degree or similar qualification in Computer Science or Engineering, or Higher education Engineering/Software degree with demonstrated prior learning based on industry experience.
  • 10 years’ experience in the Software Development field.
  • Solid understanding of object-oriented programming concepts.
  • Solid understanding of software development methodology and release processes.
  • Solid understanding of version control concepts.
  • Solid understanding of test-driven development and unit testing theory.
  • Familiarity with agile development methodology (SCRUM).
  • Familiarity with hosted platforms such as AWS
  • Ability to develop software in Java, C, C++, C#, Python or other selected languages, (up to 10 years’ experience).
  • Knowledge and ability to work on Linux OS and Windows OS.
  • Full stack development knowledge.
  • iOT platform experience an advantage.
  • CVS, SVN, GIT software repository use.
  • Knowledge of AI supported development tools an advantage.