We are focusing on developing various components of our parallel programming models and frameworks for high performance and Big Data applications which need to handle massive data. Our programming model includes FP, data parallel programming, distributed programming, and concurrent programming. We are looking for candidates from every area of computer science, including parallel/distributed computing, parallel programming, functional programming, domain specific language (DSL), Scala programming language, compiler, large-scale system design, machine learning and data mining. We need our developers/researchers to be versatile and passionate to tackle new problems.
- Participate in development of a compiler (written in Scala) for High-Performance eDSL (Domain Specific Language).
- Take part in development of infrastructure of our parallel programming framework.
- Research in the field of compiler optimization and parallel computing (the results of research are: improvements in the framework, patents, and academic papers).
Skills and Traits Preferred:
- Good knowledge of functional programming
- Experience in modern distributed computing.
- Practical experience in I/O optimizations, like network and disk I/O
- Skills in systems programming in Linux kernel and user-space. Experience with Data Plane kits like Intel DPDK, NetMap is welcome.).
- Knowledge of modern data structures that are used in DBMS, network stacks and disk subsystem (like Radix Tree, clustering hash tables, dynamic perfect hash tables etc.).
- Modern high-performance parallel programming technologies and tools broad experience.
- DVCS (git), build tools (sbt), automated testing.
- Good verbal and written communication skills in English.
- Good interpersonal skills as well as a team player.
- Curiosity and creativity.
The Following Skills and Traits Will be a plus
- MS or PhD in Computer Science.
- Have experience in one of these development processes: Agile, Test Driven, Code Review.