This role is categorized as hybrid. This means the successful candidate is expected to report to Austin Technical Center three times per week, at minimum [or other frequency dictated by the business if more than 3 days].
The Role
The GM Energy Data Engineering team is on the lookout for a talented Data Engineer who is a highly skilled and hands-on Cloud Data Warehouse engineer with experience in IoT data integration, Databricks, and Apache Flink. The selected candidate will play a pivotal role in designing, implementing, and optimizing scalable cloud-based data warehouse solutions, including an Operational Data Store (ODS) to serve as a speed layer for advanced analytics and business intelligence initiatives.
What You'll Do
- Design, develop, test, and maintain scalable Java services and distributed applications.
- Build and optimize real-time data streaming pipelines using Apache Flink, Apache Pulsar, and Apache Kafka.
- Develop reliable event-driven services with strong attention to throughput, latency, resiliency, ordering, replay, and fault tolerance.
- Design and implement an Operational Data Store (ODS) layer using GraphQL and PostgreSQL.
- Develop GraphQL APIs and services that provide secure, efficient, and well-structured access to operational data.
- Design relational schemas, queries, indexes, and data-access patterns for PostgreSQL.
- Integrate streaming and operational data services with Databricks and cloud-based data platforms.
- Deploy and operate applications in Microsoft Azure using cloud-native architecture and services.
- Implement automated build, test, deployment, and release processes through CI/CD pipelines.
- Apply software engineering best practices, including code reviews, automated testing, observability, documentation, and secure development.
- Troubleshoot complex issues across application, streaming, database, and cloud environments.
- Participate in technical design discussions and contribute to architecture decisions.
- Mentor other engineers and help establish engineering standards and reusable patterns.
- Use generative AI tools and effective prompting techniques to accelerate development, troubleshoot issues, create documentation, and improve engineering productivity while applying appropriate security and data-handling practices.
Your Skills & Abilities (Required Qualifications)
- 7+ years of professional software development experience.
- Strong proficiency in Java and object-oriented design.
- Experience building production-grade backend services and distributed systems.
- Hands-on experience with one or more streaming technologies, preferably Apache Flink, Apache Pulsar, and Apache Kafka.
- Strong understanding of event-driven architecture, messaging patterns, data partitioning, consumer groups, delivery semantics, and stream processing.
- Experience designing and developing GraphQL APIs.
- Strong experience with PostgreSQL, including schema design, SQL, performance tuning, indexing, and transaction management.
- Experience with Databricks and data engineering or analytics platforms.
- Experience developing and deploying applications in Microsoft Azure.
- Practical CI/CD experience with automated testing, packaging, deployment, and release management.
- Experience with source control and collaborative development workflows, such as Git and pull requests.
- Strong troubleshooting, communication, and technical documentation skills.
What Can Give You a Competitive Advantage (Preferred Qualifications)
- Experience with Spring Boot, Spring Cloud, or comparable Java frameworks.
- Experience with Apache Avro, Protobuf, schema registries, or other data serialization and schema-management technologies.
- Experience with containerization and orchestration, such as Docker and Kubernetes.
- Familiarity with Azure services such as Azure Kubernetes Service, Azure Event Hubs, Azure Storage, Azure Database for PostgreSQL, Azure Monitor, or Microsoft Entra ID.
- Experience with infrastructure as code, such as Terraform or Bicep.
- Experience with observability tools, distributed tracing, metrics, centralized logging, and alerting.
- Knowledge of security practices for APIs, cloud workloads, secrets management, authentication, and authorization.
- Experience working in Agile or iterative software development environments.
- Familiarity with data quality, lineage, governance, and schema evolution practices.
- Experience with AI prompting or prompt engineering for software development, data analysis, automation, documentation, or application integration.
This job may be eligible for relocation benefits.
Compensation:
The expected base compensation for this role is: $125,000 - $168,650. Actual base compensation within the identified range will vary based on factors relevant to the position.
Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.
Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Hea