Java Full Stack Developer

CitiIndianapolis, IN
16h

About The Position

The Applications Development Intermediate Programmer Analyst is an intermediate level position responsible for participation in the establishment and implementation of new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to contribute to applications systems analysis and programming activities. We are looking for a highly skilled and experienced Senior Java Developer to join our engineering team. The ideal candidate will be responsible for designing, developing, and maintaining high-performance, scalable, and resilient applications using modern Java technologies. This role requires strong technical expertise, a passion for problem-solving, and the ability to contribute significantly to our product development lifecycle, from concept to deployment. The Senior Java Developer will also mentor junior team members and contribute to architectural discussions.

Requirements

  • 5+ years of relevant experience in the Financial Service industry
  • Intermediate level experience in Applications Development role
  • Consistently demonstrates clear and concise written and verbal communication
  • Demonstrated problem-solving and decision-making skills
  • Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
  • Bachelor’s degree/University degree or equivalent experience
  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical field.
  • 5+ years of professional experience in Java development.
  • Strong expertise in Core Java, including multithreading, data structures, algorithms, and object-oriented design principles.
  • Extensive experience with Spring Framework and Spring Boot for building microservices and RESTful APIs.
  • Hands on ReactJS working experience.
  • Solid understanding and hands-on experience with relational databases (e.g., PostgreSQL, Oracle, MySQL, SQL Server), including advanced SQL, schema design, and ORM frameworks (e.g., Hibernate, JPA).
  • Experience with building and consuming RESTful web services.
  • Proficiency with build tools such as Maven or Gradle.
  • Experience with version control systems, particularly Git.
  • Familiarity with Agile development methodologies (Scrum, Kanban).
  • Strong problem-solving skills, attention to detail, and ability to work independently and as part of a team.
  • Excellent communication skills, both written and verbal.

Nice To Haves

  • Experience with NoSQL databases (e.g., MongoDB, Cassandra, Redis).
  • Familiarity with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes).
  • Experience with message brokers (e.g., Kafka, RabbitMQ).
  • Knowledge of testing frameworks (e.g., JUnit, Mockito) and experience with Test-Driven Development (TDD).
  • Understanding of CI/CD pipelines and tools (e.g., Jenkins, GitLab CI, GitHub Actions).
  • Experience with performance tuning and optimization of Java applications.
  • Familiarity with front-end technologies (e.g., JavaScript, React, Angular) is a plus, but not required for this backend-focused role.
  • Building SPA and Micro front end experience will be a plus.

Responsibilities

  • Utilize knowledge of applications development procedures and concepts, and basic knowledge of other technical areas to identify and define necessary system enhancements, including using script tools and analyzing/interpreting code
  • Consult with users, clients, and other technology groups on issues, and recommend programming solutions, install, and support customer exposure systems
  • Apply fundamental knowledge of programming languages for design specifications.
  • Analyze applications to identify vulnerabilities and security issues, as well as conduct testing and debugging
  • Serve as advisor or coach to new or lower level analysts
  • Identify problems, analyze information, and make evaluative judgements to recommend and implement solutions
  • Resolve issues by identifying and selecting solutions through the applications of acquired technical experience and guided by precedents
  • Has the ability to operate with a limited level of direct supervision. Can exercise independence of judgement and autonomy. Acts as SME to senior stakeholders and /or other team members.
  • Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency.
  • Design, develop, and maintain robust, scalable, and high-performance backend applications and services using Java and the Spring ecosystem (Spring Boot, Spring Framework).
  • Write clean, efficient, well-documented, and testable code following best practices and design patterns.
  • Collaborate with product owners, architects, and other developers to understand requirements, define technical specifications, and deliver innovative solutions.
  • Participate in all phases of the software development lifecycle, including analysis, design, development, testing, deployment, and support.
  • Optimize application performance, identify bottlenecks, and implement solutions to ensure high availability and responsiveness.
  • Conduct code reviews, provide constructive feedback, and ensure adherence to coding standards and architectural guidelines.
  • Troubleshoot and debug complex issues in development and production environments.
  • Mentor junior developers, share knowledge, and contribute to a culture of continuous learning and improvement.
  • Stay up-to-date with emerging technologies, industry trends, and best practices in Java development and software engineering.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service