Application development, customization and integration of work. Design, code and unit test the applications. Maintain / modify existing software applications with periodic releases for financial market data connectivity with the stock exchanges.
Design and develop software for UNIX/LINUX platform.
Development and enhancement of applications using C/C++, STL, Multi-Threading, IPC, Socket Programming on UNIX/LINUX platform.
Provide production support and debugging of software core dumps, analysis and fixing the issues using GDB debugger on LINUX.
Find application memory leaks, resource leaks using Valgrind tool and fixing the memory / resource leaks.
Find application performance issues using Callgrind tool and improving software performance.
Use UNIX shell (bash) and perl scripting languages to develop support tools for production applications.
Development of shell scripts to automate production environments and also automating testing process.
Write UNIT testing using C++/Python on Unix/Linux platforms.
Create test plans and test tools; support testing and address on-line bug reports/issues.
Requirements:
Very strong C/C++ programming 3+ yrs of development on Unix/Linux platforms
Experience with Linux/Unix and shell scripting exposure
TCP and Multicast knowledge
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
Bachelors Degree or equivalent in Computer Science or related field