Senior Software Engineer, Liquidity Technology, Associate
As a member of our Software Engineering Group you will dive head-first into creating innovative solutions that advance businesses and careers. You'll join an inspiring and curious team of technologists dedicated to improving the design, analytics, development, coding, testing and application programming that goes into creating high quality software and new products. You'll be tasked with keeping the team and other key stakeholders up to speed on the progress of what's being developed. Coming in with an understanding of the importance of end-to-end software development-such as Agile frameworks-is key. And best of all, you'll be working with and sharing ideas, information and innovation with our global team of technologists from all over the world.
This role is for a Software Engineer responsible for the development of Global Liquidity applications. A key part of the liquidity management program is the delivery of a technology solution to perform cash management and treasury functions in the firm. Technical challenges in the technology space include constantly increasing level of Straight Through Processing (STP) with low latency/high volume data feeds, multi-dimensional aggregation & presentation, strong transaction management for absolute data integrity, and effective fault-tolerance for maximum availability.
This role requires a wide variety of strengths and capabilities, including:
- BS/BA degree or equivalent experience
- Minimum 8 years of Software Development work experience
- Strong focus on automated testing with good knowledge of TDD, BDD and Unit testing techniques
- Solid understanding of development tools: source code control software (e.g. subversion, git), build automation (e.g. Maven), continuous integration (e.g. Hudson/Jenkins), automated testing (e.g. cucumber, FitNesse), JIRA/Green Hopper task tracking
- 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
- Understanding of software skills such as business analysis, development, maintenance and software improvement
- Exposure to Lean & Agile Software Methodologies
- Knowledge of Spring Framework, Java 8 features, REST, AngularJS, UNIX shell scripting
- A broad range of exposure to distributed messaging systems such as Kafka