Roles & Responsibilities:
The primary responsibilities of this position will include, but will not be limited to:
Designing systems to support massive scale that can span continents when required to.
Developing services and applications that will work on a distributed system, and adhere to requirements of performance, reliability and scalability.
Modeling data available from various data sources to fit into the existing data model of the product, and building connectors that can speak with these data sources.
Building unit-tests for the modules that you develop.
Basic skill-set expected to be useful for this position includes:
Developing in Python, plus the ability to integrate other third-party tools/software into Python using C, C++ or Java.
Sound knowledge of operating system basics, and experience developing multi-threaded applications, transaction-based applications, and remote procedure calls.
Understanding and designing relational database schema and the ability to develop and implement SQL queries.
Developing for and working within a Linux environment.
Well-versed in algorithms and data structures.
Not shy to take on any other closely related tasks like working with build processes, debugging open-source libraries or helping with application development.
At least 8 years experience in Programming
At least 4 years experience in Operating System Fundamentals
At least 2 years experience in Multi-threaded programming