· Translate business requirements and use cases into functional applications.
· Contribute to all stages of software development lifecycle
· Design, implement and maintain Java-based applications that can be high-volume and low-latency
· Analyze user requirements to define business objectives
· Envisioning system features and functionality
· Design, build, and maintain efficient, reusable, and reliable Java code.
· Review, test, and verify code for adherence to quality and security standards.
· Ensure the best possible performance, quality, and responsiveness of the applications.
· Identify bottlenecks and bugs, and devise solutions to these problems.
· Help maintain code quality and organization.
What we need in you?
· 4+ years of experience with full lifecycle of project development for Java Applications
· Proficiency in Java, with a good understanding of its ecosystems
· Sound knowledge of Object-Oriented Programming (OOP) Patterns and Concepts
· Familiarity with different design and architectural patterns
· Skill for writing reusable Java libraries
· Knowhow of Java concurrency patterns
· Strong skills in core Java, server-side Java technologies, and Spring frameworks
· Extensive experience in software design, architecture, development integration
· Solid knowledge of event processing models, multi-threading, enterprise integration pattern, Web Service and REST
· Experience in financial systems, especially payment domain, is great bonus