Full-Stack Software Engineer

In this role, you will be part of a software team to develop high-impact IoT applications and platform to optimise Scorpio Electric’s electric motorcycle performance and operation. You will also be required to design and develop data visualization/dashboards, and be involved in project management.

Responsibilities:

  • Identify, prioritize, and execute tasks and participate in as well as contribute to all phases of the software development lifecycle including code and design reviews;
  • Work closely and communicate effectively and independently with architect, software engineers, data scientists, electrical engineers, mobile developers and business users;
  • Participate in the analysis and requirements gathering phase and help to translate requirements into technical solutions that meet client needs and expectations;
  • Design, implement, and maintain efficient, reusable, and testable code following best practices and design principles;
  • Write automated unit, integration, acceptance, and performance tests to ensure the application developed works as expected;
  • Debug issues, fix bugs, identify bottlenecks, and troubleshoot the application and provide third level support;
  • Build, package and release software artefacts in an automated way to all environments including production;
  • Be responsible for the performance, stability, reliability, and security of the developed platform;
  • Proactively identify efficiency and design improvements to existing systems and processes;
  • Vendor Management, manage and evaluate potential POC with other 3rd party vendors.

Requirements:

  • Minimum 5 years of technology delivery experience in backend and frontend development working in an Agile technology environment;
  • Hands-on experience in at least one server-side object-oriented programming language;
  • Hands-on experience writing modern single page web applications;
  • Experience with design and system architecture for web applications;
  • Experience using source code control systems and branching strategies including with hands-on experience branching, merging and releasing;
  • Experience with a major relational database system such as MYSQL & PLSQL and ideally one NoSQL database, e.g. Cassandra, Elastic Search;
  • Understanding of distributed messaging systems such as RabbitMQ or Apache Kafka is a plus;
  • Knowledge of data structures, design patterns, architectural styles, and API designs;
  • Knowledge of Machine Learning processes and solutions is a plus;
  • The ideal candidate would likely to have:
    • Backend development using one or more of the following: NodeJS, PHP, Python, Golang
    • Front end development using JavaScript, ReactJS, HTML, CSS3
    • Good unit-testing/mocking discipline (TDD++)  
    • Experience with GitLAB and SourceTree/Git
    • CI/CD via JENKINS
    • Good judgment in UX/UI design. Understands the finer points of HTML, CSS, Angular and JavaScript
    • Exposure to big data techniques and tools
  • Good written and oral communication skill;
  • Candidates with relevant years of experience will be considered for senior positions.

Experience in one or more of the following domains will be advantageous:

  • Vehicle/Industrial IoT applications
  • Geospatial/Mapping
  • Computer Vision/Image Processing
  • Cybersecurity