Roles and responsibilities
Experience Level: 5-10 years
Industry: preferably Banking
Job Overview:
We are looking for a highly skilled Full Stack Java Developer to join our team. The ideal candidate will have extensive experience in designing and developing high-quality Java microservices and Enterprise Edition (EE) applications. You will play a key role in building scalable, secure, and efficient solutions.
Key Responsibilities:
- Design, develop, maintain, and support Java-based backend services and APIs.
- Analyze requirements and define technical solutions.
- Implement Test Driven Development (TDD) for middleware services with over 80% code coverage through JUnit test cases.
- Ensure bug-free application releases by maintaining high code quality.
- Address all penetration testing scenarios to ensure application security.
- Implement and maintain security measures to protect user data and maintain application integrity.
- Stay up to date on security vulnerabilities and industry standards for mitigation.
- Collaborate with cross-functional teams to deliver projects on time and with high quality.
Required Skills & Technologies:
Core Java Skills:
- Strong knowledge of OOP, Design Patterns, Multithreading, Java 8+, Java 21, Lambda, Stream API, REST services.
- Familiarity with Kotlin and Groovy is a plus.
Spring Framework:
- Expertise in Spring Boot, including annotations, Gradle, Maven, Spring JPA, Spring AOP, Spring Security, and JUnit.
Microservices Architecture:
- Experience with Service Mesh, Service Discovery, and Cloud Config using Spring Cloud.
Databases:
- Proficiency in MySQL, PostgreSQL, Oracle, and SQL Server.
Development Tools:
- Hands-on experience with IntelliJ, STS, Eclipse, SoapUI, Postman, Git, Confluence, and Jira.
Cloud & Containers:
- Familiarity with Docker, Kubernetes, AWS, and Azure cloud environments.
Experience & Soft Skills:
- 5-10 years of experience in Java development.
- Experience in platform/hosting support functionality.
- Prior experience in the banking industry is preferred.
- Strong analytical, problem-solving, and troubleshooting skills.
- Excellent communication and teamwork abilities.
- Ability to work independently and manage multiple tasks efficiently.
- A proactive mindset towards learning new technologies and optimizing existing processes.
Good to Have:
- Knowledge of API Gateways (Kong, CA API GW, Azure API GW, AWS API GW).
- Experience with Agile methodologies (Scrum, Kanban, Test Driven Development).
- Familiarity with DevOps tools like Git, Gradle, Maven, Azure DevOps, and CI/CD pipelines (GitHub, Azure).
Desired candidate profile
Server-Side Logic and Application Development
-
Building and Maintaining APIs
- Developing and maintaining APIs (Application Programming Interfaces) that allow the frontend of an application to communicate with the backend.
- APIs may be RESTful or GraphQL, depending on the project requirements.
-
Writing Server-Side Code
- Implementing business logic, processing data, and handling requests from clients (frontend applications).
- Writing backend code in server-side programming languages like Node.js, Java, Python, Ruby, C#, PHP, or Go.
-
Integration with Frontend
- Collaborating with frontend developers to ensure smooth communication between the frontend and backend through APIs or other methods.
- Handling data requests and responses, ensuring that the frontend receives the correct data and that users' requests are properly processed.
Database Management
-
Database Design and Management
- Designing and managing databases that store application data, such as user information, transaction records, or any other data the application needs.
- Working with relational databases (e.g., MySQL, PostgreSQL) or NoSQL databases (e.g., MongoDB, Cassandra) depending on the application requirements.
-
Database Queries and Optimization
- Writing efficient database queries to retrieve, update, delete, or insert data into the database.
- Optimizing queries and database structures to ensure high performance and scalability, especially as the application grows.
Authentication and Security
-
Implementing Authentication
- Implementing user authentication mechanisms, such as OAuth, JWT (JSON Web Tokens), or session-based authentication, to ensure secure login and access control.
- Managing user accounts, passwords, and roles to determine access levels within the application.
-
Ensuring Data Security
- Applying security best practices to prevent attacks such as SQL injection, cross-site scripting (XSS), and cross-site request forgery (CSRF).
- Ensuring secure data transmission, often using HTTPS and implementing encryption techniques for sensitive data.
-
Data Backup and Recovery
- Setting up backup systems for databases to ensure data is protected in case of system failures.
- Implementing disaster recovery strategies to restore data quickly.