We are looking for a Back-End Developer who is specialized in server-side components. Primarily in this role, you would be working in Java and will bring a depth of knowledge on basic algorithms and data structures. As a Back-End Software Engineer, on any given day you might be architecting new features for our customers, refactoring existing code to be more scalable, and seeing changes through to completion in a live environment.
- Develop robust and scalable software in Java
- Design and create services and system architecture for your projects
- Build reusable code and libraries to support the application and for future use
- Collaborate with other team members and stakeholders in understanding the requirements, use cases and translating them into effective technical solution
- Delivering high quality software on schedule
- 4+ years of hands-on experience in large-scale (distributed) system architecture, complex software design, high scalability and availability, optimization, etc.
- Experience working with Server-side components in Java
- Strong analytical problem solving and decision-making skills
- Strong knowledge of algorithms
- A degree in Computer Science (preferred) or related engineering field. MS preferred.
- Experience with related open-source technologies such as Tomcat, Lucene, Zookeeper, Kafka, Netty, NoSQL DBs, etc. is a plus
- Experience building REST based API, microservices architecture, Docker and Kubernetes is a strong plus
- Knowledge in big data and cloud technologies is a strong plus
- Solid understanding and working knowledge of Unix/Windows operating systems, networking, and scaling techniques
- Good written and verbal communication skills
- Proficient understanding of code versioning tools, such as GIT
This position requires the hire to be available during core business hours, with some additional outside hours to coordinate with other global teams.
This position will be performed in an office setting when possible and remote as required by local regulations.