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 distributed
messaging/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