Job Description
Backend Developer/Java
Job Description
We are looking for a Java developer who is responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different infrastructure layers. Thus, a commitment to collaborative problem-solving, sophisticated design, and product quality is essential.
Responsibilities
- Translate application storyboards and use cases into functional applications
- Design, build, and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- dentify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality and, automatization
Skills & Qualification
- Bachelor's degree in computer science, information technology, or a similar field.
- Previous experience working as a Java developer.
- Proficient in Java, with a good knowledge of its ecosystems
- Solid understanding of object-oriented programming
- Familiar with various design and architectural patterns
- Skill for writing reusable Java libraries
- Problem-solving skills and a good understanding of data structures and algorithms.
- Knowledge of concurrency patterns in Java
- Familiarity with concepts of MVC, JDBC, and RESTful
- Experience with popular web application frameworks, such as Spring, and Hibernate.
- Must have experience with DBs MySQL, and MSSQL, and good to have experience with Elasticsearch, MongoDB, and Redis.
- Experience with Messaging Frameworks like Kafka, RabbitMQ
- History of working on Cloud Platforms and related technologies
- A knack for writing clean, readable Java code
- Experience with both external and embedded databases
- Understanding fundamental design principles behind a scalable application
- Creating database schemas that represent and support business processes
- Basic understanding of JVM, its limitations, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git
- Familiarity with build tools such as Maven, and Gradle
- Familiarity with continuous integration
- Ability to up-skill in new technologies
- Innovative thinker with strong problem-solving skills