Role Overview
This role involves developing and customizing backend Java software, focusing on building and maintaining core frameworks that process live network traffic at scale. The position requires strong debugging skills, support, and maintenance of software projects.
Responsibilities
- 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.
- Knowledge of 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
- Strong 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.