Job brief We have a Principal Java Software Engineer - Network. The client team is responsible for providing both frameworks and reference examples for Java applications and services that various engineering teams build on top of. The team must provide engineering counterparts with reliable, well-tested, documented frameworks. Like widely used open-source frameworks, these APIs and frameworks need to consider backward compatibility, upgrades, transitive dependencies, and dependency management. As the team evolves and modernizes, it needs to rev and introduce new frameworks as appropriate. The candidate will be working with a team of other hardworking Java engineers and architects focusing on implementing a feature backlog and roadmap. The frameworks need to incorporate standard methodologies and incorporate foundational support for core services like logging, statistics collection, distributed tracing, and other critical features of services frameworks.
Responsibilities Work on the company's internal applications (microservices). Mostly internally built frameworks and solutions are used, with no common frameworks like Spring or Hibernate. Implement new features and support existing ones. Improve existing code quality and test coverage. Independently investigate and fix errors that happen on QA or production. Requirements Java core, multithreading. Strong proficiency and experience in Java, open-source HTTP frameworks, and API design. Experience with Reactive Java and asynchronous Java development. Good OpenTelemetry understanding. Detailed knowledge and experience working with network stacks and internet protocols (Netty or ServiceTalk is a big plus). Experience with performance-critical applications and optimization. Linux networking and socket experience a plus. Experience driving product features, functional specifications, and development schedules, representing team and technology. Be an advocate and driver for proven engineering practices. Dedicated attention to detail. Strong interpersonal, communication, and network-building skills. Proven documentation and technical writing skills. Microservices and network communication, HTTP. Automation testing (integration, unit, functional, etc). JUnit, Mockito. Build tools: Maven, Gradle. HTTP client frameworks, Netty is a plus. A solid understanding of networking is a must.
#J-18808-Ljbffr