Job Purpose
The senior developer is responsible for all phases of the project life-cycle activities, from initial analysis through production support including design, testing, integration, implementation, and maintenance.
Responsibilities
Reporting to the development manager responsibilities will include:
- Assist technical & product managers in the evaluation of product requirements for software applications.
- Design, develop code and unit test your applications
- Provide accurate and reliable estimates for project tasks
- Application development, customization and integration of work
- Maintain/modify existing software applications with periodic releases
- Create test plans and test tools; support testing and address on-line bug reports/issues
- Document applications for technical white papers, functional and operations support documentation
- Provide on-call out-of-hours support for production on a rotation basis and ad hoc weekend and/or early morning cover of releases
- Adhere to departmental and company testing, change control, deployment and development practices and supporting QA engineers with their full integration, functional and regression testing
Knowledge and Experience
- Very strong C/C++ programming on Unix/Linux platforms
- Experience with Linux/Unix and shell scripting exposure
- Experience with TCP/IP and multicast applications
- Hands on experience on developing multi-threaded applications.
- Understanding complex systems and how to debug problems
- Experience with debuggers such as GDB, and memory checkers such as Valgrind
- Experience with GIT source control management
- Experience with Google unit testing and testing frameworks
- SDLC experience as applicable to current development group processes
- Ability to adhere to company standards
- Teamwork - ability to work as project team member, work effectively with team leads, manager, as well as other teams including QA, Operations, and Product Management
- Excellent written and verbal skills
- Bachelor’s Degree or equivalent in Computer Science or related field
Preferred
- Experience with database technologies, like MySQL, Postgres
- Understand market data behaviour across multiple asset classes (Equities, options, fixed income, and derivatives).
- Experience of complex high throughput, low latency systems
- Experience with cloud-based application development and setup
- Ability to work under pressure and multitask