Senior Software Engineer
Job Description
Northwestern Mutual offers flexible work schedules, concierge service, comprehensive benefits, and employee resource groups. This onsite Senior Software Engineer role in Milwaukee, WI provides a competitive salary ranging from USD 118,960 to 205,200 per year and focuses on designing and delivering end-to-end data platforms and pipelines on AWS to support analytics, reporting, ML, and operations. You will own data architecture, governance, security, cost optimization, and production reliability while mentoring engineers.
Benefits
- Flexible work schedules
- Concierge service
- Comprehensive benefits
- Employee resource groups
Responsibilities
- Lead design and delivery of end-to-end data platforms and pipelines (batch and streaming) on AWS to support analytics, reporting, ML, and operations.
- Define and own data architecture decisions, standards, and best practices. Produce and maintain Architecture Decision Records (ADRs), runbooks, and high-quality diagrams.
- Architect and implement data lake and data warehouse solutions (ingestion, storage, transformation, serving) using S3, Glue, Redshift, Athena, and related services.
- Build and optimize ETL/ELT workflows with Spark, Glue, Lambda, Step Functions, and orchestration frameworks (Airflow, Dagster).
- Design and operate streaming ingestion and processing using Kinesis, MSK, and Kafka ecosystems; collaborate on re-architecture efforts to reduce cost and improve resilience.
- Drive data modeling, schema design, partitioning, and query optimization for large data sets to meet performance and cost targets.
- Establish and operationalize data quality, validation, observability, lineage, and metadata practices (Glue Data Catalog, Data Hub/Amundsen or equivalent).
- Implement robust security, governance, and compliance controls (IAM, Lake Formation, KMS, VPC, data masking/security scanning) and collaborate with security and privacy teams.
- Champion cost optimization across the data stack (serverless architectures, right-sizing, Graviton/spot/commitment strategies) and provide continuous cost governance.
- Own production reliability: monitoring, SLIs/SLOs, incident response, postmortems, and continuous improvements.
- Lead and mentor engineers, run design reviews, and promote cross-team collaboration with product, analytics, ML, and platform teams.
- Influence roadmap, capacity planning, and hiring for the data engineering function; represent the team in senior technical forums.
Requirements
- 7+ years of hands-on experience in data engineering, architecting and operating data platforms at scale.
- Demonstrated leadership on large, complex data projects and strong ability to influence technical and product stakeholders.
- Extensive hands-on experience with AWS data services: S3, Glue, Redshift (Spectrum/RA3), Athena, EMR, Lambda, Kinesis/MSK, DMS.
- Strong programming skills in Python and/or Scala (or Java); proven track record writing production-quality, testable code.
- Deep expertise in SQL with experience designing and optimizing queries for high-volume data.
- Experience with distributed processing frameworks (Spark) and modern ETL/ELT patterns.
- Proficiency with orchestration and workflow tools (Airflow, Step Functions, Dagster) and CI/CD for data pipelines.
- Strong skills in infrastructure-as-code (Terraform, CloudFormation, or CDK) and GitOps practices.
- Experience implementing data security, governance, and access controls at scale.
- Expertise in observability, monitoring, and incident management (CloudWatch, Prometheus, Grafana, structured logging, tracing).
- Excellent communication skills and proven ability to mentor and lead engineers.
Technologies
- S3
- Glue
- Redshift
- Athena
- EMR
- Lambda
- Kinesis
- MSK
- DMS
- IAM
- Lake Formation
- KMS
- VPC
- Glue Data Catalog
- Data Hub
- Amundsen
- OpenLineage
- Delta Lake
- Iceberg
- Databricks Unity Catalog
- Kafka
- Spark
- Airflow
- Dagster
- Step Functions
- Terraform
- CloudFormation
- CDK
- GitOps
- Python
- Scala
- Java
- SQL
- CloudWatch
- Prometheus
- Grafana