Job Summary:
We are seeking a talented and experienced Application Developer to join our fast-paced, elite development team. As a full-stack Java developer, you will play a crucial role in designing, developing, and maintaining web-based and machine-to-machine API-based applications. You will collaborate with business stakeholders and contribute to all aspects of the development lifecycle, from initial design to deployment and ongoing maintenance.
Responsibilities:
- Design, develop, and maintain server-side Java code for web applications using JavaEE application servers like Tomcat or Netty.
- Develop browser-based client-side code using technologies such as HTML, CSS, JSP, AJAX, DWR, JSON, ExtJS, Angular, React.js, GraphQL, and Node.js.
- Demonstrate proficiency in database development, including SQL, PLSQL, and ORM tools like Hibernate.
- Collaborate with business stakeholders to build financial systems and implement SWIFT and FIX Messaging for inter-institution communication, as well as RabbitMQ for internal microservices communication.
- Demonstrate a strong understanding of Object-Oriented design, code refactoring, multithreading, concurrency, transactions, Spring/SpringBoot, Hibernate/JPA/JDBC, and JMS.
- Write clean, testable code using JUnit Mockito and leverage server-side load testing and other end-to-end testing frameworks.
- Adhere to secure coding principles and address web security concerns.
- Work with data structures and algorithms.
- Utilize RabbitMQ (with cloud function stream) and other common open-source libraries.
- Collaborate with the team to implement cloud-native CI/CD container-based integration/deployment using Docker, Kubernetes, and JFrog in a public cloud provider like AWS.
Qualifications:
- Bachelor’s degree or equivalent in Computer Science, Computer Information Systems, or a related technical field, plus 5 years of relevant experience.
- Strong proficiency in core Java 11+, multithreading/concurrency/transaction, Spring/SpringBoot, Hibernate/JPA/JDBC, and JUnit Mockito.
- Solid understanding of Object-Oriented design, functional (and reactive) programming, and code refactoring.
- Proven experience writing clean, quality, and secure code.
- Proficiency in data modeling and database development, including SQL, PL/SQL, and Hibernate/JPA best practices.
- Experience with microservices architecture (EDA, DDD) and Kubernetes, as well as distributed tracing (e.g., OpenTelemetry).
- Knowledge of SWIFT and FIX Messaging, and experience with RabbitMQ message broker.
- Strong communication skills and a passion for professional software development.
- Experience working with IT technologies and hands-on development throughout the full development lifecycle.