Responsibilities:

  • Development of high-available, high-performance, low-latency, secure and scalable applications involving big data processing;
  • Updating and enhancing existing systems and modules;
  • Working in a team of enthusiastic software developers;
  • Interacting with software engineers from different teams in order to exchange new technology information and apply best practices.

Requirements:

  • Bachelor’s or Master’s Degree in Computer Science/ Engineering or in a related field;
  • Solid knowledge of:
  1. object-oriented programming;
  2. data structures;
  3. algorithms and design patterns;
  4. parallel computing (multi-threading/ multi-processing).
  • Experience in working with:
  1. a scripting language (Python) with at least two years of application development;
  2. SQL or NoSQL databases (MySql, PostgreSql, MongoDB, Influx);
  3. a messaging system (RabbitMq, Kafka);
  4. integration of multiple data sources (SOAP, REST, JSON-RPC, Databases, WebServices, MicroServices);
  5. a UNIX-like operating system and shell scripting (Linux & Bash);
  6. an environment of continuous integration/continuous deployment (Git, Docker);
  7. reporting and monitoring tools (Kibana).
  • Nice-to-have:
  1. basic networking, security and data protection concepts;
  2. Python framework usage (Django, Flask);
  3. IoT and machine learning fundamentals.