Job Description for Java developer
- Experience Required: 3+ Years
- Job Location: Mumbai
We are looking for highly skilled programmers with experience building web applications in Java. Java Developers are responsible for analyzing user requirements and business objectives, determining application features and functionality, and recommending changes to existing Java-based applications, among other duties.
SKILLS AND EXPERIENCE:
- Minimum of 3 years of hands-on experience with Java and Java EE.
- Bachelor’s/Master’s degree in Computer Science, Engineering, or a related field.
- Proficiency in building web services – RESTful, SOAP, etc.
- Familiarity with Java frameworks like Spring Boot, Hibernate, and others.
- Solid understanding of object-oriented programming (OOP) concepts, and design patterns.
- Experience with databases (SQL & NoSQL), including schema design, and query optimization.
- Understanding of JVM, its limitations, weaknesses, and workarounds.
- Knowledge of concurrency patterns in Java.
- Good understanding of server-side templating languages.
- Experience with Maven or Gradle for dependency management.
- Familiarity with mobile app development lifecycles and challenges, even if not hands-on with mobile development itself.
- Strong knowledge of secure coding practices and experience with open-source security tools.
- Ability to integrate multiple data sources and databases into one system.
- Proficient understanding of code versioning tools, such as Git.
- Strong problem-solving skills, analytical mindset, and attention to detail.
- Knowledge of containerization platforms like Docker and Kubernetes.
- Experience with cloud platforms like AWS, Azure, or Google Cloud.
- Previous experience in a mobile-first or mobile-centric environment.
- Design, develop, and maintain server-side applications using Java.
- Collaborate with mobile application developers to integrate user-facing elements with server-side logic.
- Contribute to all phases of the development lifecycle – from concept to deployment.
- Write well-designed, efficient, and testable code.
- Ensure the best possible performance, quality, and responsiveness of the applications.
- Troubleshoot, debug, and upgrade existing systems.
- Implement security and data protection solutions.
- Conduct software analysis, programming, testing, and debugging.
- Engage with the product team to gather and refine specifications and requirements.
- Stay up-to-date with emerging technologies and architectures in the Java landscape.