Regular Python Developer

 Job Description:

Job Description:

Built around exceptional individuals, the end-to-end software solutions we delivered won the trust of huge enterprise corporations like ASML - one of the most influential companies in the world!

ASML is the largest manufacturer of lithography machines that are used for the most important step in making semiconductor chips. More than 90% of the chips in the world are currently manufactured using ASML's systems.

After many years of building trust, our teams are growing and we are looking for Python software engineers on regular and senior levels who will work closely with our colleagues in Bulgaria and the Netherlands to define and refine detailed software requirements, implement, document, test and deliver solutions like:

  • Standalone Python-based applications used to Calibrate the parameters, measure the Performance, and Diagnose the ASML machine;
  • Maintain the software lifecycle on the client machine. It contains both a command-line interface and modern web application;
  • Tackle Python encryption, take care of the Statistical Process Control and Testing Support, etc.;
  • Run the solution on an emulation of a real configuration of the lithography machines and give the user the chance to analyze it and make changes;

Job Responsibilities:

  • Implementation, testing, and integration of customer requirements for the world's leading provider of lithography systems;
  • Create the software design and review it with your colleagues;
  • Implementing the design and the unit tests for it;
  • Quality of code is secured with both static code analysis tools and reviews;
  • Install the code on an emulated or prototype lithography machines and test it;
  • After the release of your software, it is installed on lithography systems all over the world;
  • Debugging and fixing problems in the existing code;
  • Ensuring delivery on time;
  • Ensuring up-to-date and high-quality documentation;
  • Working in an agile development environment participate actively in Scrum rituals (Sprint reviews, Plannings, Dailies, Refinement, Retrospective Meetings, etc.) and client communication;
  • Responsibility and ownership over Sprint goals and keeping the code quality intact;
  • Mentor teammates;
  • Actively participate in architectural discussions.

Requirements

Required:

  • 3+ years of experience in programming in Python and its ecosystems;
  • Experience with multi-threading and concurrency;
  • Experience with debugging tools (e.g., GDB, Valgrind;
  • Experience with version control systems (Git);
  • Familiarity with Linux/Unix environments;
  • Familiarity with the SDLC and agile methodologies;
  • Excellent problem-solving skills and attention to detail;

Nice-to-have:

  • Experience with cross-platform development;
  • Experience with MATLAB and/or C/C++;
  • Background in numerical computing, signal processing, or scientific computing;
  • Familiarity with cloud platforms (e.g., AWS, Azure, GCP);
  • Bachelor's degree in Computer Science, Software Engineering, or related field.

Personal skills:

  • Team player;
  • Robust personality;
  • Ability to work independently in a dynamic environment;
  • Strong analytic view combined with pragmatic attitude (flexibility);
  • Open communication attitude: active listening and giving feedback;
  • Excellent knowledge of English (both written and verbal) is a must.
  Required Skills:

Python