Python Developer

Maadi, Egypt

As an applications developer using python, you will translate software requirements into workable programming code and maintain and develop programs for use in our clients' businesses.

You will specialize in developing applications within Cubex's platforms, servers and software packages. These software include but not limited to: Cruze, Nixous, Symmae and Virtua AI.Our software packages are cross-platform and you'll need to have experience in at least Linux and Windows environments.

depending on a project's specifics, you may have various roles, that may include implementing, testing and debugging for your own codes, existing code or your peers code. Your work will be closely tied to business logic in various sectors and departments, thus having the ability to understand businesses and its processes is a must-have.


  • Building modules per client requirements within current and future Cubex software packages.

  • Upgrading software package from Python 2.x to 3.x.

  • Upgrading modules from older software releases.

  • Choosing, testing and implementing alternative(s)for obsolete libraries.

  • cooperating with teammates and solving SCM conflicts.

Must Have

  • Excellent knowledge with Python 2 & 3.

  • Preferably, very good knowledge of Java, JavaScript and XML.

  • Good knowledge of Machine Learning.

  • Good knowledge of API creation and systems integrations.

  • The ability to create and interpret UML maps.

  • A creative approach to problem-solving.

  • An understanding of CASE tools and IDEs, preferably PyCharm.

  • Excellent proficiency at using SCM tools (git is a must).

  • The ability to work with people at all levels, including non-technical staff

  • Good project and time management skills

  • The ability to work under pressure and meet deadlines

  • Good teamwork skills

  • An appreciation of the client's business needs

  • A deep understanding and compliance of confidentiality and data protection rules and principles.

Typical Client Project Roles

  • Writing code for a new module(s).

  • Re-customize existing module(s).

  • Deploying and testing installations and compatibility issues.

  • Optimize existing code and verify performance KPIs.

  • Create technical documentation of software.

  • Participate in user documentation.