Java Software Engineer
Role: Senior Software Engineer w/ Apache FlinkLocation: Fort Worth, TX (Hybrid – Onsite Tuesday, Wednesday & Thursday)Duration: 6 Months Contract (Strong Extension LikelihoodMode of Interview: VideoAbout the RoleWe are looking for a Senior Software Engineer – Real-Time Streaming with deep expertise in Apache Flink, Apache Kafka, and Spring Boot to build highly scalable, cloud-native streaming applications. This role focuses on designing and developing fault-tolerant, low-latency event-driven systems capable of processing large-scale real-time data.The ideal candidate will have hands-on production experience implementing Apache Flink with advanced concepts such as stateful stream processing, checkpointing, watermarks, windowing, and fault tolerance, along with strong Java development experience and cloud-native microservices.This role is ideal for a Senior Software Engineer with deep expertise in Apache Flink, Kafka, Java, Spring Boot, and cloud-native streaming architectures, who enjoys building resilient, high-throughput, low-latency event-driven systems in a production environmentRequired Skills7+ years of hands-on Java development experience. Strong experience with Java 8+ or Java 11+. 3+ years of hands-on production experience with Apache Flink. Strong knowledge of: Stateful Stream Processing Checkpointing Savepoints Watermarks Event-Time Processing Windowing Fault Tolerance Strong experience with Apache Kafka or AWS MSK. Hands-on experience with: Kafka Topics Partitions Consumer Groups Producers & Consumers Schema Registry Kafka Connect Strong experience building Spring Boot Microservices. Experience developing REST APIs and/or GraphQL APIs. Experience deploying applications on AWS cloud. Hands-on experience with Docker and Kubernetes. Experience with Git, CI/CD, and Agile/Scrum. Nice to HaveAWS Managed Service for Apache Flink (MSF) AWS MSK GraphQL / Apollo GraphQL Flink SQL Kafka Streams Apache Spark Streaming Prometheus Grafana CloudWatch OpenTelemetry Terraform Helm Jenkins / GitHub Actions Distributed Systems Design Event-Driven Architecture Key ResponsibilitiesDesign, develop, and maintain high-performance real-time streaming applications using Apache Flink. Build scalable event-driven architectures using Apache Kafka or AWS MSK. Develop production-grade microservices using Java (8/11+) and Spring Boot. Design and implement RESTful APIs and GraphQL services. Develop stateful Flink applications utilizing checkpointing, windowing, watermarks, and event-time processing. Build and optimize Kafka producers, consumers, topics, partitions, consumer groups, and Schema Registry. Implement scalable, resilient, and fault-tolerant distributed streaming systems. Deploy applications on AWS, Docker, and Kubernetes. Participate in architecture, design reviews, code reviews, and performance optimization. Implement monitoring, logging, observability, and alerting for streaming platforms. Troubleshoot production issues and continuously improve platform performance. Collaborate with Product Owners, Architects, DevOps, and Engineering teams using Agile methodologies. Preferred BackgroundExperience building enterprise-scale, real-time streaming platforms. Strong understanding of distributed systems, scalability, and fault tolerance. Experience designing cloud-native microservices architectures. Knowledge of streaming observability, monitoring, and performance tuning. Experience working in Agile environments with cross-functional engineering teams. Excellent communication and stakeholder management skills.