Distributed Systems Engineer
Description
Your tasks:
- Design and programming of a wide range of modules and components as part of a system that supports over 5 million queries per second with a latency below 50 ms;
- Optimization of the developed software in terms of response time and resource consumption;
- Ensuring the reliability and scalability of the solutions built;
- Creating performance and correctness tests for new system components;
- Analysis of new technologies in terms of their applicability in production conditions;
- Development of tools for monitoring and analysing the operation of the production system;
- Continuous optimization of existing tools and processes.
Selected technologies used:
- Java, Python;
- Aerospike, Memcached;
- HaProxy, Nginx;
- Jenkins, Graphite;
- PostgreSQL;
- Elastic Search;
- Apache Tomcat;
- Google Cloud.
Our expectations:
- Proficiency in programming;
- Excellent understanding of how complex IT systems work (from the hardware level, through software, to algorithmics);
- Very good knowledge of fundamental Internet protocols and technologies (DNS, HTTP, cookies and others);
- Good knowledge of basic methods of creating concurrent programs and distributed systems (from thread level to continent level);
- Practical ability to observe, monitor and analyse the operation of production systems (and draw valuable conclusions from it);
- The ability to critically analyze the solutions created in terms of performance (from estimating the theoretical performance of the designed systems to detecting and removing actual performance problems in production);
- General knowledge of issues (typical problems and methods of solving them) in the areas of 'high scalability' and 'high availability';
- Readiness to work in the DevOps model.
We offer:
- Attractive salary;
- Work in a team of enthusiasts who are willing to share their knowledge and experience;
- Extremely flexible working conditions - we do not have core hours, we do not have holiday limits, you can work fully remotely;
- Access to the latest technologies and the possibility of real use of them in a large-scale and highly dynamic project;
- The hardware and software you need;
Do you have questions about the project, team, work style? Visit our tech blog: http://techblog.rtbhouse.com/jobs/