Code contributing member of multiple Agile teams, working to deliver sprint goals.
Demonstrating deep technical knowledge and expertise in software development, including programming languages, frameworks, and best practices. Providing guidance and mentorship to junior team members
Actively contributes to the implementation of critical features and complex technical solutions. Write clean, efficient, and maintainable code that meets the highest standards of quality.
Collaborate with other Principal Engineers to define and evolve the overall system architecture and design.
Provide guidance on scalable, robust, and efficient solutions that align with business requirements and industry best practices.
Offer expert engineering guidance and support to multiple teams, helping them overcome technical challenges, make informed decisions, and deliver high-quality software solutions. Foster a culture of technical excellence and continuous improvement.
Stay up to date with emerging technologies, tools, and industry trends. Evaluate their potential impact on the organization and provide recommendations for technology adoption and innovation.
Required Qualifications
8+ years’ experience of implementing data-intensive solutions using agile methodologies.
Proficient in one or more programming languages commonly used in data engineering such as Python, Java, or Scala.
Multiple years of experience with software engineering best practices (unit testing, automation, design patterns, peer review, etc.)
Strong proficiency in working with relational databases and using SQL for data querying, transformation, and manipulation.
Clear understanding of Data Structures and Object Oriented Principles.
Experience of modelling data for analytical consumers
Ability to automate and streamline the build, test and deployment of data pipelines.
Experience with Hadoop for data storage and processing is valuable, as is exposure to modern data platforms such as Snowflake and Databricks.
Multiple years of experience architecting and building horizontally scalable, highly available, highly resilient, and low latency applications
Multiple years of experience with Cloud-native development and Container Orchestration tools (Serverless, Docker, Kubernetes, OpenShift, etc.).
Proven experience of providing technical vision and guidance to a data team.
Thrives in a dynamic environment, capable of managing multiple tasks simultaneously while maintaining a high standard of work.
BA/BS degree or equivalent work experience.
Preferred Qualifications
Familiarity with open-source data engineering tools and frameworks (e.g. Spark, Kafka, Beam, Flink, Trino, Airflow, DBT) is a valuable asset
Exposure to a range of table and file formats including Iceberg, Hive, Avro, Parquet and JSON
Experience in cloud native technologies and patterns (AWS, Google Cloud)
Exposure to Infrastructure as Code tools (i.e., Terraform, Cloudformation, etc.)
Experience of driving and/or influencing the data strategy of your team or organization