We are seeking a software developer to assist with building solutions and providing services to our Institutional Securities, Electronic Trading System Technology team. The ideal candidate has: strong Java, experience in large scale real-time systems, deep knowledge of data structures and algorithms, problem solving skills, and good communication skills. The candidate will be responsible for taking part in various stages of the delivery and software development process including activities like analysis, design, implementation, testing, and deployment of strategic and tactical solutions for execution strategies, improving scalability, performance and efficiency of the strategies.
The candidate is a software developer with a minimum of 5 years of experience in programming, preferably in the financial services industry or interested in the industry. The role involves Java programming, as well as the use of scripting languages (Shell, Perl) and relational database interaction using SQL. The candidate will be expected to take an active role in the design, development, testing and delivery of back-end server processes.
The role may also involve extensive interaction with business users, operations or support teams and therefore, requires the ability to communicate clearly and concisely. This is a developer position, not a management position; the candidate will be expected to code and deliver software as their primary responsibility. We do expect the candidate will demonstrate significant interest in Investment Banking.
– Strong Java skills with 5+ years of experience writing production code – Core Java knowledge – Spring Framework, Patterns, Collections, Garbage Collection – Excellent written and verbal communication skills – Strong interest in the financial business (albeit no prior knowledge is required) – Proficiency with Unix/Linux – Proficiency with at least one Enterprise level database (ex. Oracle, SQL Server, Sybase, DB2) and SQL – Knowledge and working experience on agile software development practices – Experience working with an IDE (ex.IntelliJ or Eclipse IDE) – Unit testing and unit testing frameworks
– Experience with Java 8 and XML – Experience developing client-server, distributed, real-time, performance-critical, highly available, or large-scale systems – Experience working with Source Code Management solutions (ex. Git, Perforce, CVS) – Computer science fundamentals (client/server, multi-threading, memory management) – Knowledge of financial technologies (e.g. FIX, FpML, Swift protocol) and business applications – Version control, preferably with Perforce or Git