As part of the Inventory Management Applications Suite, Senior Java developer is responsible for building very high volume / low latency enterprise multi-tiered Java applications that provide cutting edge solutions for the Collateral Optimization and Substitution Engine (COSINE) Application in the Capital Markets domain while following the industry best practices and Citi standards.
The requirement calls for a Senior Java developer who can analyze the business requirement, conceptualize, design and develop the solution while working independently or with a distributed team of developers working simultaneously on different application layers towards developing enterprise solutions for large projects.
This requires a highly experienced developer who has a track record of delivering highly scalable robust applications that use the latest tools and technologies while working on all phases of the development life cycle.
A commitment to collaborative problem solving, sophisticated design, and product quality is essential.
Design and develop new Java modules using the latest technology stack in a fast paced Agile development environment.
Migrate application functionalities that are part of large monolithic systems into an ecosystem of microservices using the latest technologies.
Understand the client requirements and envision the solution that can be captured as respective user stories in JIRA.
Understand the impact of adapting different architectures and designs and present the same to all relevant stakeholders.
Manage both functional and technical requirements while deciding on technical solutions.
Develop solutions following established technical design, application development standards and quality processes in projects.
Develop new and enhance existing features / functionalities to meet clients’ needs.
Focus on building test automation suites to reduce the regression effort of the QA team.
Identify existing system bottlenecks and deficiencies, devise and implement robust solutions to address these shortcomings.
Interact with other stakeholders not limited to end-user clients, Project Manager / Scrum master, Business Analysts, offshore development, Quality Assurance and other cross-functional teams.
Stay up-to-date with new development methodologies, tools and strategies
Inspire other development resources with best practices and process improvement within Inventory Management Application team, Operation Solution team and Citi organization
Ensure that the requirements are properly analyzed prior to planning implementation. Understand what customer needs.
Design and develop to customer specifications with best quality implementation practices : Ensure the best possible performance, quality, and responsiveness of the applications.
Meet customer requirements with least amount of rework and high amount of test coverage in the least amount of time
BS / MS degree in Engineering, Computer Science, or equivalent
8+ years of experience as a Senior Java Developer
Thorough understanding of the class loading mechanism in Java
Thorough experience working with JVM, its limitations, weaknesses, and workarounds
Thorough experience working with transaction management.
Able to work in a fast pace environment
6+ years of experience in extensively using JMS to connect to Tibco / IBM MQ middleware
5+ experience with Spring Framework and Spring Boot, Microservices, Spring MVC, Spring Data, Spring Security, Spring Oauth 2
5+ years of experience in Java front end frameworks like Angular, Wicket, jQuery etc
4+ Experience in developing and deploying applications to cloud platforms AWS, GCP, PCF, etc
5+ years of experience with WebLogic 10 and 12c application server.
5+ years of Agile development experience with multiple agile projects
5+ years of Microservices development experience using Spring boot, AppDynamics, Docker, MongoDB / Cassandra , Kubernetes, Kafka, RabitMQ, Swagger, REST API etc
7+ years of experience in Java multi-threaded programming.
7+ years of experience with Test Driven Development TDD
8+ year of experience in designing oracle database objects
7+ years of experience in writing stored procedures, packages, functions etc.
5+ years of experience with code versioning tools such as Github,Bitbucket, Subversion, Perforce
6+ Experience in DevOps process and tools like Jenkins / Bamboo / UrbanCode also build technology like Maven / Gradle
2+ years of working Experience with NoSql database such as MongoDB, Cassandra, Redis
Strong interpersonal ,oral and written communication skills
Nice to Have Skills
Familiarity with in-memory datagrid such as Gemfire, Hezelcast
Experience in supporting Elasticsearch, Logstash and Kibana stack environment
Industry recognized Technology Certifications in AWS, Java and Oracle RDBMS
Experience in Capital Market domain
Citi Canada is an equal opportunity employer. Accordingly, we will make accommodations to respond to the needs of people with disabilities (including, without limitation, physical and mental health disabilities) during the recruitment process and otherwise in accordance with law.
Individuals who view themselves as Aboriginals, members of visible minority or racialized communities, and people with disabilities are encouraged to apply.
Grade : All Job Level - All Job FunctionsAll Job Level - All Job Functions - CA