What to Expect
We are in search of a back-end engineer who specializes in software infrastructure and data engineering to join our Low Voltage software team.
The team is essential to the Low Voltage system, where the microcontrollers dictate over 500 interfaces controlling switches, sensors, cameras and motors.
As a member of this team you will develop software frameworks internally for the Low Voltage hardware engineering team and facilitate communication with and validation of these microcontrollers.
What You’ll Do
Create and expand the design of internal engineering tools related to harnesses, devices, vehicles and factory diagnostics
Participate in next-generation feature and tool development, system architecture definition and end-to-end implementation from early prototype to full release
Own and support existing tools by scaling them across the entire engineering organization while maintaining reliability
Write translator APIs between applications and various internal and third-party design software packages
Develop libraries that wrap low-level communications with hardware and encapsulate IOT communication protocols for next-generation distributed systems monitoring
Collaborate with engineers to formulate user stories and develop designs and specifications
Support validation and development of new hardware and systems
Manage the infrastructure as code IAC for better infrastructure management
Monitor and troubleshoot production systems using tools like Prometheus
Build and maintain continuous integration and delivery pipelines using tools like Jenkins CI/CD
What You’ll Bring
Bachelor's or Master’s degree in Computer Science, Computer Engineering, or related technical discipline or equivalent
Strong programming skills with proficiency in Python, Golang, C or C++
Strong written and verbal communication and interpersonal skills
Experience designing and implementing data pipelines using tools like Apache Kafka, Apache Spark or Apache Airflow
Experience with containerization and orchestration tools such as Docker and Kubernetes
Experience in the development of distributed scalable systems
Knowledge of professional software engineering and best practices for the full software development life cycle including coding standards, code reviews, source control management, build processes, testing and operations
The ability to prioritize activities and deliver projects on time