Department: Software Development – ComServer / IoT Platform
Experience: 2–4 Years
Location: Valsad, Gujarat
Employment Type: Full-Time
Job Overview
We are looking for a skilled Java Developer with 2–4 years of experience in backend development to develop, maintain, and optimize our GPS tracking and IoT communication platform.
The candidate should have strong knowledge of Core Java, multithreading, TCP/IP communication, MQTT, Kafka, and MySQL. The role involves developing device communication services, processing high-volume GPS data, troubleshooting production issues, and improving application performance and stability.
Key Responsibilities
1. Java Backend Development
- Develop, maintain, and enhance backend services using Core Java and advanced Java concepts.
- Work on GPS/IoT device communication servers and real-time data processing.
- Implement device communication protocols, packet parsing, decoding, and acknowledgment mechanisms.
- Write clean, reusable, maintainable, and thread-safe code.
- Debug existing code and resolve functional and performance-related issues.
2. Multithreading and Concurrency
- Develop multithreaded applications for handling concurrent device connections and data processing.
- Work with threads, ExecutorService, thread pools, synchronization, and concurrent collections.
- Identify and resolve race conditions, deadlocks, resource leaks, and thread-safety issues.
- Ensure safe server reinitialization and configuration updates without data loss or service interruption.
3. TCP/IP, MQTT, and Kafka
- Work with TCP/IP sockets and network communication for GPS devices.
- Develop and maintain MQTT-based communication and message-processing services.
- Work with Apache Kafka for asynchronous data processing, topics, partitions, and consumers.
- Troubleshoot connection failures, message-processing delays, consumer lag, and acknowledgment issues.
- Implement appropriate error handling, retry mechanisms, and resource cleanup to improve reliability.
4. Production Support and Performance Optimization
- Investigate and resolve production issues related to high CPU and memory usage, socket connections, and file descriptor exhaustion.
- Analyze Java thread dumps, heap dumps, application logs, and JVM metrics.
- Troubleshoot CLOSE_WAIT connections, connection leaks, and application hangs.
- Perform root cause analysis and implement permanent fixes for recurring issues.
- Support application monitoring, performance tuning, and server stability improvements.
5. Database Development
- Develop and optimize MySQL queries, joins, indexes, and database transactions.
- Troubleshoot slow queries using EXPLAIN and execution plans.
- Work with JDBC and connection pools such as HikariCP.
- Optimize database interactions for high-volume GPS data processing.
6. Code Quality and Team Collaboration
- Follow coding standards, object-oriented design principles, and software development best practices.
- Participate in code reviews, debugging, testing, and deployment activities.
- Collaborate with senior developers, QA engineers, and DevOps teams.
- Document technical changes, defects, and root cause analysis findings.
Required Technical Skills
- 2–4 years of hands-on experience in Java development.
- Strong knowledge of Core Java, OOP, collections, exception handling, and JVM fundamentals.
- Practical understanding of multithreading, synchronization, and concurrent programming.
- Knowledge of TCP/IP, socket programming, and client-server communication.
- Working knowledge of MQTT and Apache Kafka.
- Experience with MySQL, SQL queries, indexing, and query optimization.
- Familiarity with Linux commands, logs, process monitoring, and network troubleshooting.
- Experience with Maven or Gradle and Git.
- Good debugging, analytical, and problem-solving skills.
Good to Have
- Experience in GPS tracking, telematics, IoT, or real-time data-processing systems.
- Familiarity with Netty, Spring Boot, REST APIs, or RabbitMQ.
- Understanding of Docker, monitoring tools, and automated service recovery.
- Experience troubleshooting production issues in distributed applications.
Educational Qualification
Bachelor's degree in Computer Science, Information Technology, or a related field, or equivalent practical experience.
Candidate Expectations
- Ability to understand existing code and independently troubleshoot assigned technical issues.
- Strong focus on code quality, system stability, and data integrity.
- Willingness to learn device communication protocols and complex backend workflows.
- Ability to work collaboratively and take ownership of assigned modules.
Ideal Candidate: A hands-on Java Developer with solid Core Java, multithreading, networking, and database fundamentals who is interested in developing and supporting scalable GPS/IoT communication servers.