What are the responsibilities and job description for the Senior Software Engineer, Real-Time Data position at Autonomic?
Autonomic’s open, cloud-based platform — the Transportation Mobility Cloud — will connect the diverse components of urban mobility systems — connected vehicles, mass transit, pedestrians, city infrastructure and service providers — with the goal of orchestrating a safer, more efficient and sustainable transportation network.
About Our Real-Time Data Processing Team
We are seeking a senior-level software engineer to join our product development team that improves access to and the quality of connected vehicle telemetry.
Autonomic’s mission is to be the world’s leading cloud platform for connected vehicles. On an average day, we process approximately 10 billion signals (e.g., seat belt status), events (e.g., harsh braking), and commands (e.g., schedule over the air updates) from all connected vehicle types, including electric and autonomous vehicles.
As an organization, our goal is to build clean data sets and design APIs that are accessible to our customers in real-time. We maintain world-class taxonomies to organize the massive amount of vehicle data we receive. Our customers use our taxonomies and data to derive insights and make critical business decisions.
The Real-Time Data Processing team is responsible for the high volume, large-scale services that route, filter, and enrich the 10 billion connected vehicle pieces of data Autonomic receives daily. As a Processing Pipeline Service squad member, you will be specifically responsible for designing, building, and maintaining Autonomic’s processing chains.
Autonomic’s processing chains filter, transform and enrich connected vehicle data. Processor examples include filtering out overly chatty signals, transforming data using custom algorithms, and enriching data by grouping related signals into new data objects. Our processing pipelines make it easier for our customers to discover critical business insights to transform their businesses.
At Autonomic, we maintain a culture of growth, openness to new ideas, practices, and community that includes publications, conferences, and meetup participation. We produce bottom-up innovation and maintain a can-do environment for developers and architects.
We have the unprecedented opportunity to build the core systems in an automotive cloud with a passionate team making it happen. Join us and build something amazing.
Job Description
- Deliver on the vision, strategy, and roadmap for the development and refinement of our platform’s services
- Participate in all aspects of the product life cycle: design, development, deployment, and operations
- Design and architect stream processing systems that deal with unbounded data
- Build, document, test, and maintain scalable and secure high performance distributed systems that solve large scale engineering challenges using technologies such as Kubernetes, Kafka, PostgresQL, Flink, gRPC,REST APIs, and Websockets
- Own the development of efficient and performant processors that filter, transform, and enrich data
- Create administrative APIs that allow customers to create and maintain their own processors
- Continuously improve existing code, infrastructure, and operational processes
- Write well-crafted, well-tested, readable, maintainable code
- Participate in code reviews to ensure code quality and distribute knowledge
- Acquire a deep understanding of technologies, services, and architecture of Autonomic’s products
- Collaborate with people in your team and across a broad variety of job functions
- Encourage, mentor, and coach members of your team
- Identify, support, and lead cases for change
Minimum Requirements
- Bachelor's Degree in Computer Science, or equivalent experience
- Minimum of 5 years of programming experience in a professional environment
- Strong communication skills - written and verbal
- Comprehensive understanding of software systems, including the compiler/JVM/garbage collection, distributed systems, optimizers compilers
- Experience building and designing high performance distributed systems solving large scale engineering challenges
- 5 years experience with Java programming language (Java 11 )
- 5 years experience with Spring/Java microservices
- 5 years of solid working knowledge of distributed messaging and streaming platforms, such as Apache Kafka Streams and you have career experience dealing with streaming data
- 5 years of solid working knowledge of distributed stream processing framework, such Apache Flink or Apache Spark and have career experience dealing with realtime and batch processing of streaming data
- Thrive in a fast-paced, dynamic environment using agile software practices
- Extremely focused with great attention to detail and accuracy
- Exhibit flexibility, prioritization, and the ability to multitask
- Self-directed, take initiative, and excellent project management skills
- Professional, friendly, and approachable at all times
- Sound understanding of object-oriented, functional, and reactive programming principles
Preferred Qualifications
- 3 years experience with interchange formats and RPC (gRPC/Protobuf or Thrift or Avro)
- 3 years experience working with high-performance databases, like PostgreSQL and MongoDB
- 2 years of experience with mentoring engineers
- 2 years experience as a technical lead on a product team
- Experience building applications in the transportation industry
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.
Our Statement Regarding Equal Employment Opportunity and Diversity
Autonomic is committed to equal opportunity in employment and to 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.
Background Checks
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.
Applicant Certification
By submitting an application, I hereby certify that:
- I accurately disclosed all relevant information on this application and will, in the future, provide accurate information throughout the hiring process.
- I understand that any false statement, representation or omission of requested information may result in disqualification from employment with Autonomic, or, if discovered after I am hired, termination of employment.
- I understand the application is not an employment agreement, that (for U.S. locations only) employment with Autonomic is at will, and that employment is conditioned upon receipt of satisfactory background checks and provision of documentary proof of my legal right to work in the US or Canada, as applicable.