- Develop and customize backend Java software according to client and product requirements.
- Build and maintain core frameworks and functionality that process live network traffic at scale.
- Write automated unit and integration tests where applicable.
- Debug issues and production faults, isolating and resolving the root cause.
- Provide software project support and maintenance; identify and resolve client concerns.
- Manage multiple issues and priorities simultaneously.
Requirements:
- At least 5 years of experience building robust, large-scale, distributed Java applications.
- Experience with Java version 8 and above.
- Best practices, design patterns, and functional programming.
- Strong proficiency in backend infrastructure.
- Knowledge of multi-threaded environments is a must.
- Experience working with RESTful web services and 3rd-party APIs.
- Experience with relational (MySQL) and non-relational (Redis) databases.
- Experience with Unix / POSIX-compliant systems.
- Familiarity with Maven, Gradle, Ant, JUnit, Git, and collaborative development workflows.
- Experience with Agile methodologies.
- Exceptional communication skills and the ability to clearly articulate information, both verbal and written.
- B.Sc. in Computer Science or Computer Engineering.
Advantages:
- Solid understanding of TCP/IP and the networking stack.
- Experience with high-throughput / low-latency systems.
- Experience with the Spring Boot framework.
- Familiarity with Tomcat and JBoss.
- Familiarity with Wireshark and packet capture analysis.
- Experience with AI-assisted development (i.e. Claude Code): write, understand and debug code, write effective prompts, using AI agents on a real codebase and MCP/tooling integrations.