Key Responsibilities:
● Design, build, and maintain software from the ground up for the new Fleet Management System (FMS) platform
● Use Test-driven development (TDD) with automated tests (unit, integration, and functional)
● Build software components for scale and high performance with automation, continuous integration and continuous deployment
● Interface with the Autonomous platform team and build software to manage data between the heavy equipment and the cloud servers
● Work closely with the product team and help design the product features using Agile methodology
● Contribute to all parts of the stack, from the application gateway, distributed services, non-relational database, queuing, and data layers
● Code review peer work; create coding standards, and best practices
● Work with large data streams (text, video, logs etc.) produced from the vehicles
● Work with any relevant open source software technologies
● Mentor other engineers and be an integral part of building an awesome offshore team and inclusive workplace environment
Minimum Qualifications:
● 8+ years of software development experience building products
● 8+ years of programming experience with at least one language – JavaScript, Java, or C#
● 4+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
● Experience in working with at least one Cloud platform – AWS, Azure or GCP
● Experience in NoSQL Databases – MongoDB, DynamoDB, or CosmosDB
● Experience in Message Brokers, Queues and Streams – Kinesis, Kafka, Redis, or RabbitMQ
● Experience in Node.js, Express.js, GraphQL and Apollo Server
● Experience in Docker Containers and Kubernetes
● Experience in building Microservices and Server-less SaaS applications
● Experience in data structures, algorithms, and object-oriented software design
● Built and rolled out products that have spanned years of sustained use
● Ability and comfort to move at blazing speed and efficiency, while still focusing on quality and maintainability
● Bachelors or Masters in any field or equivalent experience
Preferred Qualifications:
● All the minimum qualifications above
● Experience in large scale distributed systems and event-driven architectures
● Experience in various network protocols and vehicle-to-vehicle (V2V) communication systems
● Experience in the ELK stack & Graph databases
● Experience in Functional programming
● Experience in communication standards and OpenDDS
● Experience in working with Ubuntu or any flavor of Linux
● Developed innovative strategies, processes, and best practices while leading internal technical teams
● Contributed to any open source software