Job purpose:
Commerbank’s eFX platform is a vital component of the FX trading business. Without market leading performance, stability and flexibility in this platform Commerzbank’s position as a broker of choice for key clients will be eroded, which would be materially detrimental to the investment bank’s P&L.
The eFX Technology Team is responsible for architecture, design and development of Commerzbank’s eFX trading platform. This could involve building bespoke trading and pricing platforms a well as distribution to external clients. The team is highly competent and technically adept on low latency and high performance computing.
The position "Software Engineer" comprises the following roles:
- Software Developer / Database Developer
- Development Environment Specialist
- Technical Specialist / Product Specialist
- Technical Writer
- Tester
- Third level support to high calibre customers and personnel
The candidate will work closely with a small (but globally distributed) IT team, both to participate in new developments to deliver business initiatives and to support our existing application. The business is ever changing and demands an agile development culture. The candidate must have a proven track record of being able to work in a highly dynamic environment with demanding clients and aggressive schedules. Primary asset classes covered are FX and FX Options.
Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with the banks coding standards and technical design.
Key activities:
Key Accountabilities:
- Execute full software development life cycle (SDLC)
- Develop flowcharts, layouts and documentation to identify requirements and solutions
- Write well-designed, testable code
- Produce specifications and determine operational feasibility
- Integrate software components into a fully functional software system
- Develop software verification plans and quality assurance procedures
- Support, document and maintain software functionality
- Troubleshoot, debug and upgrade existing systems
- Deploy programs and evaluate user feedback
- Comply with project plans, industry standards and internal or external policies
- Ensure software is updated with latest features
- Performance tuning, improvement, balancing, usability, automation
- Software testing and quality assurance
- Maintain compliance standards
Formal education:
Requires a Master's degree in Information Technology, Computer Science, or related field or equivalent and three (3) years of experience designing and developing complex computer systems.
Specialist knowledge (work experience, further qualification):
Work experience requirements:
- 5+ years of commercial experience in software development using core Java
- 2+ years of hands on experience in writing multi-threaded / concurrent applications
- Experience in code analysis, performance tuning / profiling of real-time, high-performance, low-latency systems
- Good in computer science fundamentals
- Experience with resolving issues related to memory management / garbage collections is a plus
- Experience in profiling tools is a plus
- Experience with using continuous integration tools like TeamCity / Junit /JMock, Maven, JIRA, or any other set of tools is a plus)
- Proficient knowledge of Unix scripting, databases, network protocols
Qualifications:
- Experience with financial market data messaging standards highly desirable (e.g. FIX)
- Swing/GUI experience desirable, but not required
- Experience with financial tick database technology (e.g. kdb+) desirable
- Experience and knowledge of IT security best practices
- A good understanding of eFX trading processes as well as of technical architectures in this domain is desirable
Personal Skills:
- Must be a team player with excellent attitude to work in collaborative environment
- Should be able to pair program with colleagues
- Excellent communications skills
- Must be a self-starter and versatile
- Outstanding analytical thinking
Qualification Criteria and Experience Levels
Comprehensive, wide-ranging knowledge and totally confident practical application. Is capable of communicating knowledge and practical experience and finding new solutions independently. Works independently with much decision-making power within a predefined structure:
- Advanced standard skills beyond Commerzbank scope
- Able to handle the complete lifecycle for the relevant subject
- High productivity and quality
- Reliable effort estimation, also for third parties
- Quick to learn new topics
- Experience as a software developer in at least 2 projects for different applications, each with an IT capacity of > 250,000 EUR.