Job Description: As a senior software engineer, you will be at the forefront of building and maintaining high-performance, scalable, and secure software systems. This role requires strong technical expertise in Java, Spring, and Spring Boot to design, develop, and deploy innovative solutions for IoT-related projects.
Key Responsibilities:
* Designing and implementing robust, scalable applications using Java, Spring, and Spring Boot
* Leading development efforts on IoT projects, ensuring integration with hardware and real-time data systems
* Writing clean, maintainable, and efficient code while adhering to best practices
* Leading code reviews and mentoring junior engineers
* Participating in architectural discussions and making technical decisions that align with company goals
* Troubleshooting and resolving complex technical issues in a timely manner
Requirements:
* 6+ years of professional experience in software development with a focus on Java, Spring, and Spring Boot
* Strong understanding of IoT technologies, including experience with connected devices, sensors, and protocols
* Proven experience in building and scaling backend services in cloud environments (e.g., Azure, AWS, GCP)
* Expertise in RESTful API development and integration with IoT devices
* Experience with version control systems (Git) and CI/CD pipelines
* Familiarity with Agile methodologies and project management tools (Azure Devops, Jira, Confluence, etc.)
* Strong problem-solving skills, with an ability to work on complex systems and architectures
* Excellent communication skills, both written and verbal
Desirable Skills:
* Knowledge of IoT wireless technologies such as LoRaWAN, RFID, and BLE
* Experience working with Apache Kafka and implementing event-driven systems
* Experience with real-time data processing and streaming platforms (e.g., Apache Kafka, MQTT)
* Familiarity with containerization and orchestration tools such as Docker and Kubernetes
* Knowledge of security best practices for IoT devices and applications
* Experience with automated testing frameworks and test-driven development (TDD)
* Familiarity with front-end technologies (React, Angular, etc.)
Education: Bachelor's or Master's degree in Computer Science, Engineering, or a related field