As a Senior Software Engineer, you will be part of a software development team that is responsible for the development of company flagship software products; including new product developments, feature enhancements, and maintenance updates as required. You will be helping build and improve our software and our client’s user-experience.
You are already or will become a product and industry expert in key areas of the trading systems domain, and you will mentor other team members in the domain, products and software engineering processes.
You will work closely with business analysts or experts to development solutions, and with QA engineers to ensure the high standard of product quality our customers expect is maintained by the team.
You will have demonstrable experience in Agile Methodologies and be a proponent of techniques such as continuous integration and unit testing. You need to be goal-oriented, detailed, focused, thorough, and pragmatic. Communication is key in this role since you will work with both local and remote teams.
- Execute the software engineering process, adhering to high standards of quality
- Management of tasks and projects to agreed deadlines including appropriate risk management
- Liase and collaborate with Team Lead, Architect, QA teams and project stakeholders
- Participation in and feedback on software project estimation and project planning
- Peer code and design reviews, appropriate unit testing and process reporting
- Mentoring of junior team members on software processes, technology and processes
Knowledge, Skills & Experience Required
- At least 5 years of experience in Java software development
- Experience in multi-threaded and message-based application development
- Passion for programming and software development
- Deep understanding of software engineering processes and techniques
- Experience in design / architecture of complex systems
- Experience in performance optimization
- Development experience in Linux/UNIX environment
- Demonstrable interpersonal and organizational skills
- Excellent written and verbal communication, interpersonal and organizational skills
- Degree in Computer Science, Software, Computer or Electrical Engineering or other related discipline; or a proven track record of software development experience in a similar environment
- Capital Markets and/or Financial Services knowledge (Trading, Market Data, protocols)
- Practical knowledge and experience in Agile Development Processes
- Experience with Swing/Java FX and front-end development
- Experience with financial derivative modeling, pricing and risk management
- Expertise with Java concurrency models, low-level network programming, garbage collectors
- Ability to quickly analyze, learn and work with new complex systems