Software Engineer
Job Description
OverviewWe are looking for a skilled Software Engineer to design and deliver scalable, cloud-native microservices within our Connected Services platform. You will own the full software lifecycle — from architecture through deployment — building robust APIs and event-driven systems that power real-time device and data integrations.ResponsibilitiesDesign and develop RESTful and event-driven microservices using Java 17+ and Spring Boot 3Build and maintain integrations with IoT devices, third-party APIs, and connected platformsImplement messaging pipelines with Kafka or RabbitMQ for real-time data streamingWrite clean, testable code with JUnit, Mockito, and integration test suitesCollaborate with product and DevOps on CI/CD pipelines using Docker, Kubernetes, and HelmParticipate in architecture reviews and define best practices for the teamRequirementsRequired Skills5+ years with Java and the Spring Boot ecosystem; Java 17+ preferredStrong knowledge of Spring Cloud, Spring Security, and Spring Data JPAExperience with Kafka, RabbitMQ, or similar messaging technologiesFamiliarity with OAuth 2.0, JWT, and API security patternsProficient with SQL/NoSQL databases, including PostgreSQL, MongoDB, and RedisHands-on with Docker and Kubernetes in cloud environments (AWS, GCP, or Azure)Contributions to open-source Java or Spring Boot projectsNice to HaveExperience with MQTT, AMQP, or CoAP for IoT device communicationKnowledge of OpenAPI / Swagger specification and contract-first designExposure to service mesh technologies, including Istio and Linkerd, and observability tooling