Senior Full Stack Java Developer
Citi
About the role
Job Summary
We are seeking a highly skilled and motivated Senior Full Stack Java Developer to join our dynamic engineering team. In this role, you will be responsible for designing, developing, and maintaining both front-end and back-end components of our web applications. The ideal candidate will have extensive experience with the Java ecosystem, modern front-end frameworks, and cloud-native technologies. You will play a critical part in the entire software development lifecycle, from concept and design to deployment and support, while collaborating with cross-functional teams to deliver high-quality, scalable, and robust software solutions.
Key Responsibilities
- Full Stack Development: Design, code, test, and deploy high-quality web applications, services, and APIs using Java (Spring Boot) for the back-end and modern JavaScript frameworks (e.g., Angular, React, or Vue.js) for the front-end.
- System Architecture: Participate in architectural design and decision-making, advocating for best practices, scalability, and performance. Contribute to the evolution of our microservices architecture.
- API Development: Build and maintain secure, scalable, and well-documented RESTful APIs and/or gRPC services to support various clients and internal systems.
- Database Management: Design database schemas, write efficient SQL/NoSQL queries, and manage data persistence layers using technologies like MongoDB, or Oracle.
- Cloud & DevOps: Utilize cloud platforms (AWS, GCP, or Azure) for deploying and managing applications. Implement and maintain CI/CD pipelines using tools like Jenkins, Harness, Docker, and Kubernetes to automate testing and deployment.
- Code Quality & Testing: Write clean, maintainable, and well-tested code. Develop comprehensive unit, integration, and end-to-end tests to ensure software quality and reliability.
- Collaboration & Mentorship: Work closely with product managers, UX designers, and other engineers to translate business requirements into technical solutions. Mentor junior developers through code reviews, pair programming, and knowledge sharing.
- Troubleshooting & Support: Diagnose and resolve complex technical issues in production and non-production environments, ensuring high availability and performance of our systems.
Required Skills and Qualifications
- Education: Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- Experience: 5+ years of professional experience in full-stack software development.
- Back-End Proficiency:
- Strong proficiency in Java (Java 17 or later) and extensive experience with the Spring ecosystem (Spring Boot, Spring Cloud, Spring Security).
- Solid experience with ORM frameworks like Hibernate/JPA.
- Proven experience in building and consuming RESTful APIs.
- Front-End Proficiency:
- Expertise in modern JavaScript frameworks such as Angular.
- Strong command of HTML5, CSS3.
- Database Skills: Proficient in both SQL (e.g., MS SQL) and NoSQL (e.g., MongoDB, Redis) databases.
- DevOps & Cloud:
- Hands-on experience with CI/CD tools (Jenkins, etc.).
- Experience with containerization technologies (Docker) and orchestration (Kubernetes).
- Familiarity with at least one major cloud provider (AWS, GCP, Azure).
- Software Practices: Strong understanding of object-oriented programming, design patterns, and SOLID principles. Experience with Agile/Scrum methodologies.
Preferred Qualifications
- Experience with event-driven architecture and messaging systems like Apache Kafka or RabbitMQ.
- Experience with performance monitoring and logging tools (e.g., Prometheus, Grafana, ELK Stack).
- AWS/GCP/Azure certification is a plus.
- Contributions to open-source projects or a strong GitHub profile.
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free