Python API and Application developer

We’re hiring for long term cooperation an OOP Python developer of end-user level API, server and client applications for our project.

Job description:


Applied API, server and client management tools cli applications and functional tests applications developer. The APIs development jobs include abstractions levels:

  • the network transport with usage of MOM-based transports and messaging libraries like ZMQ,
  • the application applied algorithms,
  • the user applied interfaces and application framework.

More detailed information about the APIs structure see at here.

Required skills:


  • python 2.x – strong.
  • pydev – good (Eclipse IDE is preferred)
  • OOP – strong.
  • Unit-tests – strong,
  • Structured data formats usage, like json and xml – strong.
  • Network messaging libraries like zmq – good.
  • Development process tools like BT(Mantis), Versioning (svn, git) – strong.
  • Development documenting like UML diagrams, doxygen, phpdoc – good.
  • Linux scripting shell – basic.
  • Streaming data processing – basic.

Linux system user knowledge:


  • Basic networking, TCP/IP, sockets – strong.
  • Command shell – basic.
  • Application profiling, system resources monitoring – basic.

Theoretical knowledge:


  • Client-server protocols definitions and architectures – strong.
  • REST and SOAP understanding – basic.
  • HTTP – basic.
  • Cluster and cloud technologies – good.
  • Distributed data processing – good.
  • Full text search – basic.

Language:


  • English: technical reading, writing – middle.

Test task:


FOR Potential candidate, we require to complete free small test task (please mention in your bid if you’re ready to do it) to confirm your skills level.

Test task for API middle vacancy, for the Transport API level represented here http://hierarchical-cluster-engine.com/wp-content/uploads/2014/02/API_class_bgv41.png, please:

  1. Check objects primitives and create report of your understanding of existing client-server model. Draw UML diagrams: Classes and sequence.
  2. Design and implement OOP representation of possible functionality (may be empty methods with comments about functionality). Make minimal description for implementation.

We’re looking forward a good software engineer to join our interesting project for long term cooperation!