Responsibilities
- Assist technical & product managers in the evaluation of product requirements for software applications.
- Develop detailed specifications.
- Provide accurate and reliable estimates for project tasks
- Application development, customization and integration of work
- Design, code and unit test the applications
- 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, user guides and operations guide
- Be available after normal working hours to support production problems and deployments
Knowledge and Experience
- Bachelor’s Degree or equivalent in Computer Science or related field
- Very strong C/C++ programming – 7+ yrs of development on Unix/Linux platforms.
- Experience with Linux/Unix and shell scripting exposure
- Knowledge of Java, Python
- TCP and Multicast knowledge
- 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 Source Control Management (CVS, GiT, SVN)
- Experience with unit testing and testing frameworks
- SDLC experience as applicable to current development group processes
- Ability to adhere to group standards
- Teamwork - ability to work as project team member, work effectively with team leads, manager, as well as other groups including QA, Operations, and Product Management Excellent written and verbal skills
Preferred
- Experience with MySQL
- Understand market data behavior across multiple asset classes (Equities, options, fixed income, and derivatives).
- Complex High Throughput, Low Latency systems.
- Experience with cloud based application development and setup