Back to jobs
    nix logo

    Senior Software Development Engineer (Amazon)

    nixSpainPosted 2026-11-11
    This listing's locations
    Spain
    Department: Data and Analytics Practice (Sub-Unit)

    Checking access…

    Job Description

    Our EBMS Real-Time Data Platform team is looking for a Software Development Engineer with hands-on experience in Apache Flink, Amazon Kinesis, and Java to build and maintain our real-time BMS data pipeline that ingests telemetry from thousands of global building management systems. The engineer will be responsible for the full lifecycle of stream-processing applications; from design and development through deployment and production operations with a focus on delivering 99% system uptime, comprehensive observability, and fault-tolerant architecture.

    Primary Responsibilities

    • Design, develop, and optimize Apache Flink stream-processing applications for real- time BMS data ingestion, transformation, and enrichment.
    • Build and maintain Amazon Kinesis Data Streams infrastructure including shard management, auto-scaling policies, and dead-letter queues.
    • Implement comprehensive observability: CloudWatch/Grafana dashboards, distributed tracing, structured logging, and tiered alerting (P1/P2/P3) across the full pipeline.
    • Troubleshoot and resolve production issues across the ingestion-to-serving stack (Kinesis, Flink, DynamoDB, S3, Athena)
    • Develop and maintain Infrastructure-as-Code (CDK/CloudFormation) for all pipeline components, ensuring repeatable and auditable deployments.
    • Implement data quality monitoring including record count validation, schema drift detection, and null-rate anomaly detection across all sites.

    Job Qualifications

    The ideal candidate has strong software engineering fundamentals and a passion for building reliable, high-throughput distributed systems. They must be detail-oriented,comfortable operating in an on-call environment, and able to communicate effectively with both technical and non-technical stakeholders.

    Required:

    • Bachelor’s or Master’s degree in Computer Science, Software Engineering, or equivalent technical field.
    • Strong proficiency in Java (primary) with production-level experience building and deploying applications.
    • Hands-on experience with Apache Flink or equivalent stream-processing framework (Spark Streaming, Kafka Streams).
    • Experience with Amazon Kinesis Data Streams or similar distributedmessaging/streaming platform.
    • Demonstrated experience building and operating systems with 99%+ uptime SLAs.
    • Solid understanding of distributed systems concepts: fault tolerance, exactly-once semantics, checkpointing, backpressure management.
    • Experience with AWS services: DynamoDB, S3, Athena, CloudWatch, IAM.
    • Proficiency with Infrastructure-as-Code (CDK, CloudFormation, or Terraform).

    Preferred:

    • Experience with MQTT, Haystack protocol, or Niagara N4 (building automation / IoT).
    • Familiarity with Apache Avro, AWS Glue Schema Registry, or similar schema management tools.
    • Experience with Grafana, CloudWatch Logs Insights, or distributed tracing frameworks.
    • Knowledge of chaos engineering practices and tools.
    • Prior experience with BMS (Building Management System) or IoT data pipelines.
    • Python proficiency for scripting, data analysis, and tooling.

    We offer*:

    • Flexible working format - remote, office-based or flexible
    • A competitive salary and good compensation package
    • Personalized career growth
    • Professional development tools (mentorship program, tech talks and trainings, centers of excellence, and more)
    • Active tech communities with regular knowledge sharing
    • Education reimbursement
    • Memorable anniversary presents
    • Corporate events and team buildings
    • Other location-specific benefits

    *not applicable for freelancers