A Java Developer will be responsible to design and develop distributed applications with moderate to high complexity and significant business criticality. You will provide application software development services or technical support, develop program logic for new applications or analyze and modify logic in existing applications. Key responsibilities include requirement analysis, code, test, debug, document, implement and maintain software applications. This will be an on-site position based in Multiple locations.
Advanced knowledge of application, data, and infrastructure architecture disciplines
Understanding of architecture and design across all systems
Working proficiency in developmental toolsets
Ability to collaborate with high-performing teams and individuals throughout the firm to accomplish common goals
1-2 years of the current understanding of high-level enterprise architecture and software design
3-4 years of current hands-on development and programming experience on the Java 8+/JEE stack including Functional and Reactive development models
3+ years of hands-on experience on the latest Spring & SpringBoot Framework including Webflux
Good experience on data streaming(ex. Kafka). data messaging and event-driven systems.
Experience with persistence technologies such as SQL and No-SQL(ex. Cassandra) platforms
Experience with modern agile software delivery practices such as scrum, continuous integration and delivery (CI/CD), TDD, and BDD, DevOps, and automation
Hands-on experience with a cloud platform such as Pivotal Cloud Foundry or AWS, or container technologies such as Docker and Kubernetes is a plus
Good communication and documentation skills are essential.
Must have the ability to break down complex concepts into organized and concise units.
Must be able to work in an agile, self-motivated environment with multiple, concurrent priorities.
Good knowledge of object-oriented concepts, design patterns, and UML notation. Solid experience with Reverse Engineering and Refactoring code.
Experience in Java (6, 8) development
Experience working with build tools like Maven, Gradle
Knowledge of application development utilizing Spring Boot framework and security Knowledge of security like Oauth2 and SAML
A College degree in computer science or software engineering or equivalent is required
Excellent verbal and written communication skills are required for the role
Good experience working in Agile-based delivery models and understanding of Agile frameworks