Job SummaryThe Full Stack Java Developer will support multiple initiatives within the Research Technology organization in an Agile development environment. The role focuses on building modern, cloud-native applications using microservices architecture and technologies such as Java, Spring Boot, PostgreSQL, MongoDB, Angular, React, and Ext JS.
The ideal candidate will have strong full-stack development experience, solid software design fundamentals, and an understanding of Generative AI, Large Language Models (LLMs), and AI-assisted software development
Key Responsibilities- Design, develop, test, and maintain enterprise applications using Java, Spring Framework, and Spring Boot.
- Develop and support web services using Spring Web Services and related technologies.
- Build applications based on microservices architecture and cloud-native design principles.
- Develop and maintain front-end applications using technologies such as Angular, React, or Ext JS.
- Design and optimize relational database solutions using PostgreSQL, including SQL optimization and data modeling.
- Work with MongoDB, including NoSQL concepts and CRUD operations.
- Develop unit tests using JUnit and apply Test-Driven Development (TDD) practices.
- Apply SOLID principles and Java design patterns to create scalable, maintainable software solutions.
- Contribute to system designs involving microservices, event-driven architecture, API-first design, and scalable cloud-native applications.
- Utilize AI coding assistants such as GitHub Copilot, Microsoft Copilot, Cursor, or similar tools to improve developer productivity.
- Apply prompt engineering and effective AI interaction techniques during software development.
- Support integration of applications with AI services and APIs, such as Azure OpenAI, OpenAI, Anthropic, or similar platforms.
- Evaluate opportunities to incorporate AI capabilities into business applications and workflows.
- Apply responsible AI, governance, and secure enterprise data-handling principles.
- Collaborate with technical teams and business stakeholders in an Agile/Scrum environment.
- Continuously evaluate emerging technologies, particularly AI and automation, to improve development efficiency, quality, and innovation
Required Qualifications- Strong hands-on experience with Java.
- Strong knowledge of Spring Framework and Spring Boot for enterprise application development.
- Experience with Spring Web Services and understanding of the Apache CXF framework.
- Strong experience with JUnit, unit testing, and Test-Driven Development (TDD).
- Good understanding of relational databases, particularly PostgreSQL, SQL optimization, and data modeling.
- Good knowledge of MongoDB, NoSQL concepts, and CRUD operations.
- Understanding of Generative AI and Large Language Model (LLM) concepts.
- Experience using AI-assisted development tools such as GitHub Copilot, Microsoft Copilot, Cursor, or similar technologies.
- Familiarity with prompt engineering and AI interaction techniques.
- Basic understanding of Retrieval-Augmented Generation (RAG), vector databases, and AI agent workflows.
- Experience integrating applications with AI services and APIs.
- Knowledge of responsible AI principles, AI governance, and secure handling of enterprise data.
- Strong understanding and practical application of SOLID software design principles.
- Knowledge of Java design patterns, including Singleton, Factory, Template, and Strategy.
- Understanding of microservices architecture, event-driven systems, API-first design, and scalable cloud-native applications.
- Excellent communication and stakeholder collaboration skills.
- Strong analytical and problem-solving abilities.
- Ability to work effectively within Agile/Scrum teams.
- Strong ownership, work ethic, and continuous learning mindset.
Preferred Qualifications- Experience with Docker and Kubernetes.
- Experience with cloud technologies, preferably Microsoft Azure.
- Knowledge of Git and CI/CD technologies such as Jenkins, GitHub Actions, and Azure DevOps.
- Experience with front-end technologies such as Angular and Ext JS.
- Familiarity with AI/ML platforms and services.
- Knowledge of additional design patterns, including Observer, Builder, Adapter, Facade, and Dependency Injection.
- Experience with AI frameworks such as LangChain, Semantic Kernel, AutoGen, or Model Context Protocol (MCP).
- Exposure to vector databases, embeddings, and semantic search technologies.
- Experience implementing AI-powered automation, observability, or operational intelligence solutions.
- Ability to identify and evaluate opportunities for incorporating AI capabilities into business workflows and applications.