The role will involve architecting and developing the distributed framework. They want to refactor the software stack to handle other compute targets such as GPUs. They focus on scale numerical methods (while backtesting) where high dimensional linear regression is required. Hence, they do not only have a real time software platform but big iron numerical codes also. The platform will be used for big data analytics, optimization and dynamic modeling of short-term strategies (stat-arb). They are looking for a “number cruncher” to develop/run algorithms at night/weekends to steer decisions/ other algos during trading time. They’re interested in big compute but currently use one node to sort a petabyte sized file.
We need someone to take lead on parallel architectures and distributed computing. This is a hands on role so the focus will involve understanding the problem, designing a solution and then coding / implementing the solution. We need a candidate who can code in C++ with a strong understanding of data structures, algorithms as well as work on architectural designs. The current technologists who interview will grade based on the above. However, to do the job you will need to have a strong background in kernel rewrites/optimizations, cache/vectorization/threading on CPUs and GPU’s and a solid understanding of scalable numerical methods.
Skills/Experience
- C++/STL/Boost
- Node architectures for CPU and GPU
- Debugging large parallel programs
- Experience writing numerical libraries
- Valgrind, Allinea DDT/MAP, Vtune, Intel Trace Analyzer
The budget of this is in the $400-$750k range all in.