Java Software Engineer
Description
Summary of role
The Java Developer works with the product and design teams to understand end-user requirements and use cases and translate them into pragmatic and effective technical solutions.
Key responsibilities
- Shaping and implementing technology/business solutions to contribute to client organization’s competitive differentiation.
- Uses various software development technologies to rapidly develop creative and efficient solutions that enhance client organization’s technology stack.
- Collaborates with other team members to implement user stories, write tests, and continuously deliver new or improved product functionality.
- Communicates with internal IT teams to resolve technical dependencies during implementation.
Requirements
- Engineer I: 0-2 years total software development experience.
- Engineer II: 2-4 years total software development experience.
- Engineer III: 4-6 years total software development experience.
- Bachelor’s degree in computer science or similar; advanced degree preferred with outstanding record of academic achievement.
- Experience working in JVM based programming languages like Java 8+, Kotlin and/or modern backend frameworks like Spring Boot.
- Significant experience writing, utilizing and securing RESTful API services in large scale distributed applications.
- Experience with microservice architectures, including understanding of service discovery and circuit breakers.
- Experience with relational and non-relational databases (e.g., Oracle, PostgreSQL, MySQL/MariaDB, MongoDB, CouchDB, Cassandra, Elasticsearch, etc.).
- Experience in build scripts Maven, Gradle, CI Jenkins and/or Azure Pipelines.
- Experience in engineering practices such as code refactoring, design patterns, test driven development, continuous integration, building highly scalable applications, application security.
- Experience in container technologies like Docker/Kubernetes a plus.
- Experience in agile development methodologies.
- Knowledge in any other languages such as NodeJS, Go-Lang, and/or Python a plus.