What you'll do: The successful candidate will work within the Data Engineering Team of Geotab's Data and Analytics department. This team is responsible for the delivery of Data as a Service platform, data ingestion pipeline and streaming analytics infrastructures for over 5 billion raw and 50+ billion processed records by over 2 million vehicles across 7 continents on a daily basis. To be successful in this role, you will be an individual who is passionate about software designing and developing, with a willingness to develop your analytical skills related to the implementation of Big Data solutions. In addition, the successful candidate will have a keen attention to detail and perfection, and have a strong understanding around the importance of system reliability and performance and how to tune it to the better. As senior member in the team, you will be working with team leads and other developers to design and implement the Big Data infrastructures on cloud at Geotab If you love working with big data, are excited about working in a team-driven environment, and are keen to join an industry leader —we would love to hear from you!
Duties and tasks/essential functions:
- Design and implement the data infrastructure platforms including the data ingestion, data consumption and stream processing on Google cloud
- Contribute to the design, development and delivery of the team projects’roadmap
- Oversee at least one components of the enterprise DaaS (Data as a Service) platform
- Interact with project owners, data engineering team leads and related internal customers to collect and document technical requirements
- Drive and take responsibility for the quality of the development and delivery
- Research and assess technology environment and trend for best practises to apply
- Prepare detailed component design and development plan, present them in the design review meeting
- Implement approved design following industry best practises and with high quality standard
- Oversee the collection and analysis of key metrics and reporting dashboards to monitor enterprise data platform performance and reliability
- Project delivery support, monitoring and reporting as required
- Support the development and maintenance of data engineering guidelines, policies, standards and process narratives for in-scope business functions
- Mentor other team members toward technical expertise
Experience/Skills Required:
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or other related degree
- 5+ years hands-on experience in Data Engineering with 2+ years experience in developing production-level systems using Java frameworks such as Spring (Spring Boot, Security, Cloud etc), JUnit
- 2+ years of experience in designing, building and maintaining production-level of large scale distributed system with Docker, Kubernetes, Istio, Anthos or similar
- Deep understanding of large scale distributed systems (theory and practical experience), design patterns, and object-oriented design principles.
- Familiar with various design patterns, good components and modeling ability
- Experience with CICD and Behavior Driven Development
- Experience with Google Cloud Platform, Google BigQuery, Snowflakes or AWS services
- Experience implementing and using serverless platforms such as Google Cloud Function, Google Cloud Run, Amazon Fargate, Amazon Lambda or similar
- Experience with reliability assurance of large-scale distributed systems
- Experience providing technical leadership and mentoring other engineers for best practices on data engineering
- Highly self-motivated in pursuing better technical solutions
- Must demonstrate strong communication and collaboration skills to partner effectively with teams throughout the organization
- Solid understanding and experience with any of the relational databases (MySQL, Postgres, SQLServer etc)
- Knowledge of data management fundamentals and data storage principles
- Knowledge of batch and streaming data architectures