Software Engineer (II)
Houston, Texas, United States
Duties: Engineer the software tools and engines needed for the operation of Two Sigma’s computer-based trading platforms and computer quantitative models to life and contribute to team designs by sharing ideas. Duties include designing, engineering and implementing software-based trading analytics; engineering large-scale, real-time, and distributed quantitative software applications; and engineering high-performance, multi-threaded quantitative software applications using several programming languages including Java, C++, and functional languages and scripting languages including Bash or Python, all in Linux with industry-standard toolchains.
Minimum Education Required: PhD degree or equivalent in Computer Science, Mathematics, Statistics, Physics, or related field.
- Must have the following skills gained through employment experience, graduate research experience or academic coursework/training:
- Demonstrated knowledge of core computer science skills such as compilers, parallel computing, memory models, and functional programming models;
- Experience with C/C++/Java and Bash or Python;
- Experience with numerical computing and numerical linear algebra including BLAS and LAPACK;
- Experience working with numerical programming, scientific computing, algorithm development, pattern recognition, and data analysis libraries;
- Experience with software engineering design and practices in a team, using OO design principles and patterns (e.g. MVC, Factory pattern, Builder pattern);
- Experience with GNU/Linux development environment and toolchain including gcc and make;
- Experience in coding, debugging, testing, tuning algorithms for parallel computing, distributed computing, high performance computing including Intel Threading Building Blocks and MPI;
- Experience and knowledge with declarative, single-assignment, directed-acyclic-graph parallel programming models similar to Apache Spark, and;
- Must also pass company's required skills assessment.
The employer will accept any amount of experience in the above skills.