Our client is a deep tech driverless vehicle start-up that are building the next generation mobility and connectivity platforms for the safe integration of Driverless vehicles into the existing transport network. Due to recent project wins they are growing their technical teams.
Their full-stack platform is vehicle agnostic, highly scalable, and built on patented award-winning and world-leading machine learning algorithms. They utilise cutting-edge technology in IoT, Big Data, AI and ML to maximise user experience and accessibility, improve productivity and minimise environmental impact for our clients.
They are on a mission to find the very best people to be part of their success and join the driverless revolution that will transform the world.
Reporting to the Tech Team Lead, you will take responsibility for developing key aspects and functions that form the backbone of our product portfolio (ConOP™). This includes development at different Technology Readiness Levels, writing functions to analyse data sets, develop prototypes releases of software (for pilots to prove concepts), and “glue” systems together to integrate different business applications. You will support technical review and have a passion to design, develop and implement quality software solutions to be deployed at scale.
Within this role you will be expected to undertake tasks such as gathering user requirements, defining system functionality and writing code in various languages, like Java, python, or .NET programming languages (e.g. C++ or JScript.NET.) Our ideal candidate will be familiar with the software development life cycle (SDLC) from preliminary system analysis to tests and deployment. Ultimately, the role of the Senior Software Engineer is to build high-quality, innovative and fully performing software modules that complies with coding and technical design standards.This role requires significant existing knowledge as well as a keen passion and enthusiasm to work as a team on one of the most exciting technical challenges of our era.
- The responsibilities of the Software Engineer are as follows:
- Design, Develop and Test Software Functions (front end and back end) suitable for inclusion in our ConOP™ product.
- Develop prototypes instances and pilots to prove conception public and client trials.
- Solve technical problems across multiple technologies, developing new methods if required.
- Contribute to a diverse range of assignments for both internal and external clients, including bidding for new work.
- Contribute and manage knowledge sharing within the company and across related communities.
- Developing tests, reviewing code and assisting in quality assurance.
- Execute full software development life cycle (SDLC).
- Develop flowcharts, layouts and documentation to identify requirements and solutions.
- Write well-designed, testable code.
- Produce specifications and determine operational feasibility.
- Integrate software components into a fully functional software system.
- Develop software verification plans and quality assurance procedures.
- Document and maintain software functionality.
- Troubleshoot, debug and upgrade existing tools and systems.
- Comply with project plans and industry standards.
- 5+ years of experience in a related role
- Qualification (or equivalent) to degree or masters level.
- Working knowledge of web service interfaces.
- Extensive experience of different operating systems.
- Key fundamentals in object-oriented design.
- Key fundamentals in data structures and distributed systems.
- Proven experience as a Software Engineer or Software Developer.
- Experience designing interactive applications.
- Experience with test-driven development.
- Proficiency in software engineering tools.
- Ability to document requirements and specifications.
- Experience with web-based user interface development.
- Experience of working with configuration management tools.
- Experience of software testing practices, verification and software QA.
- Fully understands the software development life cycle.
- Strong written and verbal communication to present complex concepts to multi-disciplinary teams.
- Agile Methodologies e.g., Scrum or Kanban
- Experience with/Knowledge of team collaboration and communication tools like JIRA, Slack, Azure DevOps, TFS, VSTS
- Exposure to techniques of Machine Learning or Artificial Intelligence, applied to real-world challenges, e.g., predicting maintenance of aircraft and parts
- Exposure to Data Science or Data Analysis techniques, e.g., create dashboards from real-time data and evidence-based recommendations
- Exposure to IoT technology, e.g., create gateway and correction of measurements from environmental sensors and messaging protocols like Kafka, MQTT, RabbitMQ or equivalent and protocols like DDS, DIS or equivalent
- Exposure to GIS tools (like QGIS, ArcMap) & methods, e.g. estimate the overall journey time and travel distance of a bus
- Exposure to microsimulation packages like SUMO, Aimsun, Vissim
- Exposure to DevOps practices, e.g., create container-based apps
- Technical coaching
- Certifications in related areas e.g., ITIL, GDPR, TOGAF, etc…
- Experience with Apache Stack (e.g., Hadoop, Spark, Kafka, Storm, etc.)
They offer a great package that includes training, development, succession planning, a structured career path to grow and a healthy bonus and share options related to hitting key personal and company milestones.
If joining a growing cutting-edge technology organisation with great prospects in an emerging £billion sector and working with a brilliant motivated team appeals to you, get in touch with us now.
The right candidate will be asked to start immediately.
To apply for this job please visit icavtech.com.