
Senior Java Software Engineer
- Mississauga, ON
- Permanent
- Temps-plein
- Conduct tasks related to feasibility studies, time and cost estimates, IT planning, risk technology, applications development, model development, and establish and implement new or revised applications systems and programs to meet specific business needs or user areas
- Monitor and control all phases of development process and analysis, design, construction, testing, and implementation as well as provide user and operational support on applications to business users
- Utilize in-depth specialty knowledge of applications development to analyze complex problems/issues, provide evaluation of business process, system process, and industry standards, and make evaluative judgement
- Recommend and develop security measures in post implementation analysis of business usage to ensure successful system design and functionality
- Consult with users/clients and other technology groups on issues, recommend advanced programming solutions, and install and assist customer exposure systems
- Ensure essential procedures are followed and help define operating standards and processes
- Serve as advisor or coach to new or lower level analysts
- 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.
- 3-5 years demonstrable and relevant experience.
- Solid understanding of Java / Spring stack development.
- Solid understanding of REST API development.
- Demonstrable experience in writing reusable, testable and efficient code with proper error and exception handling.
- Experience with the design and implementation of cloud-ready applications and deployment via Kubernetes / Openshift.
- Experience with big data computation platforms (Flink, Trino, Spark, Apache Beam) or big data distribution platforms (Hadoop, Pinot, Druid, Ignite).
- Hands-on experience in handling various data structures.
- Experience with API gateway, circuit breaker, spring boot security, discovery server, and monitoring services is plus.
- Good understanding of data modelling, partitioning, and sharing of huge data sets.
- Good to have knowledge on any BI tool like Splunk, Tableau, and Power BI.
- Experience working on a Continuous Integration and Continuous Delivery environment. Familiarity with TeamCity, SonarQube and Jenkins
- Experience with the SDLC lifecycle and in working within an Agile environment.
- Demonstrable understanding and experience of engineering best practices: design patterns, coding standard, code review, unit testing via Mockito and Junit
- Understanding of Agile software development methodology and strong experience with standard CI tools (Jenkins, TeamCity, SonarQube, git).
- Strong communication skills, oral and written.
- Ability to apply sound technical skills and knowledge of the Rates business to develop creative solutions to meet client and business needs.
- Responsible, agile and collaborative team worker.
- Ability to develop strong relationships with others, effectively influencing peers and business partners.
- Self-motivated and organized, with determination to achieve goals; ability to work autonomously when required.
- Ability to face off to all business users (traders, financial controllers, risk managers, etc.)
- Flexible and able to deliver quality results in the required timeframe.
- Flexibility to work with a global team, across geographies and time zones.
- Strong academic record, ideally with a bachelor's or master's degree in computer science, or related technical/quantitative discipline. Demonstrable success in designing and delivering multi-tiered applications.
- Ideally, an understanding of financial derivatives (rates or other) or willing to learn about this area.