Senior Software Engineer, MessagingCAN-RemoteRequisition ID: 329
The future of the automotive industry is in connectivity, software, and services – and Autonomic is leading the charge. Autonomic created the Transportation Mobility Cloud (TMC) to provide automakers and developers with the first cloud platform specifically designed for the world’s automotive industry. Working closely with Ford Motor Company, we are combining the best of both worlds – Autonomic’s progressive approach to technology and Ford’s incredible and global scale – to enable the kind of driver experiences and business models that move us all forward.
With over 13 million vehicles currently connected to the TMC and 10 billion signals being processed per day, our platform is a leading connected vehicle platform. We are shaping the future of mobility and would love to meet you. Join our innovative team to help create new possibilities for every vehicle on the road!
Autonomic was founded in 2016 and acquired in 2018. Autonomic is a wholly owned subsidiary of Ford Motor Company.
About our Messaging Team
The Autonomic Messaging team owns the Messaging infrastructure that serves as the data backbone for Autonomic’s TMC Platform. Our Kafka clusters handle 10s of billions of messages per day
We are responsible for the design, architecture, roadmap, implementation and upholding of SLAs for the Messaging Service (Kafka) as well as for providing internal support, tooling and expertise for all teams using the Service.
This is a technical leadership role.
The responsibilities include but are not limited to:
- Use your knowledge, wisdom and interpersonal skills to address design, implementation and operational challenges, and do so in a way that makes your input welcome by others.
- Be (or become) a Kafka expert
- Participate in and guide overall distributed system architecture design, especially with respect to messaging
- Mentor less experienced engineers
- Identify and develop Kafka-related best practices for common in-house use-cases found in design, development, deployment and maintenance of services
- Help build and maintain a set of Kafka libraries to support common in-house use-cases and the use of best practices. These libraries will also expose common client metrics and, over time, must keep in-step with Kafka upgrades.
- Provide Java and possibly Golang versions of these libraries
- Provide methodologies and tools to help teams test their Kafka client applications and diagnose issues.
- Be a source of Kafka expertise for other teams, providing education and training in various forms.
- Keep abreast of Kafka features, bugs and associated Kafka releases pertinent to Autonomic.
- Find and/or build tooling as needed to automate Kafka administrative tasks.
- Explore other messaging solutions besides Kafka that may be more appropriate for certain use-cases
- Participate in on-call rotation for production and other environments
- Bring and develop expertise in next generation Kafka-related technologies
Skills and Experience
- Strong Java Multithreading/Concurrency skills and experience. MUST HAVE
- Demonstrated technical leadership skill
- Strong interpersonal skills
- Strong desire to be a Kafka expert
- Spring Boot
- Linux/bash/zsh command line
- Genuine interest in helping others
- Familiarity with Kafka's design including partitions, segments, consumer groups, cleanup policies, MIN ISR, etc
- Familiarity with Kafka Streams
- Confluent Kafka Tools
- Building and running apps in Kubernetes
- Spring Boot
- Building and maintaining Java Libraries used by multiple applications
- Familiarity with Cloud services - AWS, GCP etc.
- Bachelors or Masters degree in Computer Science or related
- 5+ years professional/production experience
If you don't think you meet all of the criteria above but are still interested in the job, please apply. Nobody checks every box, and we're looking for someone who is passionate about shaping the future of connected vehicles at Autonomic!
Job Title For This Position
Our job positions are broken down internally based on job competencies that are specific to each role. Should you be hired with us, the job title that you are hired under may therefore differ slightly from what is advertised in this job posting to best align with the competencies of the role and your specific background and experience.
We are currently hiring for this position to be based out of our office in Toronto, or to be performed remotely from Alberta, British Columbia or Ontario.
Our Statement Regarding Equal Employment Opportunity and Diversity
Autonomic is committed to equal opportunity in employment and fostering a diverse workforce, free from harassment and discrimination, in which all individuals are treated with respect and dignity. Autonomic does not discriminate on the basis of any grounds prohibited by applicable laws. Autonomic’s equal employment opportunity and nondiscrimination policies apply to all employees, all applicants for employment, and all aspects of the employment relationship.
Accommodations for applicants with disabilities throughout the recruitment, selection and/or assessment processes, where needed, are available upon request. Please let us know if you need assistance completing or participating in the application process.
We consider diversity in our workforce to be an invaluable asset, and we strive to provide an inclusive work environment in which different ideas, perspectives, and beliefs are respected. It is the duty of every employee to assist Autonomic in maintaining this culture of inclusion.
Applicants who receive a job offer will undergo background checks. Autonomic complies with applicable laws regarding background checks, and applicants will be provided an opportunity to explain and correct any criminal history background information during the hiring process.