Senior Java Programmer – Kiosk Technology
Location: Dallas, TX
Position Type: Full-time
Work Arrangement: On-site/Hybrid, with occasional travel
Salary: $60/hr - $75/hr
Start Date: Immediate
Position Summary:
My client is seeking an experienced Senior Java Programmer to develop and support software powering its self-service kiosks and connected locker systems.
This position will build reliable applications, APIs and device integrations that connect kiosk hardware, payment systems, customer platforms and remote-management services. The successful candidate will have advanced Java experience and a strong understanding of connected devices, transactional systems and production software.
Key Responsibilities:
•Design, develop and maintain Java applications for kiosks, vending machines and smart lockers.
•Build scalable backend services and REST APIs using Java and Spring Boot.
•Integrate software with touchscreens, payment terminals, card readers, printers, scanners, locks and sensors.
•Develop communication services using TCP/IP, MQTT, HTTP, WebSockets or serial protocols.
•Support payment processing, transaction management and PCI-compliant integrations.
•Develop remote monitoring, diagnostics, alerting and device-management functionality.
•Troubleshoot software, hardware-interface and network issues across deployed equipment.
•Improve application availability, security, performance and offline resilience.
•Design software capable of recovering safely from power, network or peripheral failures.
•Integrate kiosk applications with customer ERP, POS, inventory and order-management systems.
•Develop automated unit, integration and hardware-in-the-loop tests.
•Maintain application logs, technical documentation and troubleshooting procedures.
•Participate in code reviews, architecture decisions and release planning.
•Support production deployments, software updates and incident resolution.
•Collaborate with hardware engineers, technicians, product teams and external partners.
•Mentor junior developers and promote strong development standards.
Required Qualifications:
•Five or more years of professional Java development experience.
•Advanced knowledge of Java, object-oriented programming and design patterns.
•Experience with Spring Boot, Spring Framework, JPA or Hibernate.
•Strong experience developing and integrating REST APIs and microservices.
•Experience with SQL databases and database design.
•Knowledge of Git, Maven or Gradle and automated testing.
•Experience troubleshooting applications in live production environments.
•Understanding of multithreading, asynchronous processing and event-driven systems.
•Familiarity with Linux or Windows-based deployed applications.
•Knowledge of networking concepts, including TCP/IP, HTTP and secure communications.
•Strong documentation, communication and problem-solving skills.
•Ability to work independently and lead technical projects.
Preferred Experience:
•Kiosks, vending machines, ATMs, POS systems or unattended retail technology.
•Payment terminals, card readers, EMV, NFC, PCI DSS or payment gateways.
•Hardware and peripheral integration using SDKs, serial communications, USB or network protocols.
•MQTT, IoT platforms and remote-device management.
•Touchscreen application development.
•Cloud platforms such as AWS, Azure or Google Cloud.
•Docker, Kubernetes and CI/CD pipelines.
•Monitoring tools, centralized logging and remote diagnostics.
•Offline transaction processing and store-and-forward architecture.
•Inventory, order-management or foodservice integrations.
•JavaFX, Android, embedded Linux or similar kiosk application platforms.
•Cybersecurity within distributed or unattended devices.
Education:
•Bachelor’s degree in Computer Science, Software Engineering or a related discipline preferred.
•Equivalent professional software-development experience will be considered.