Nexedi is looking for a Python and C developer interested in implementing a multi-threaded coroutine and garbage collector extension for the Cython language.
Nexedi has been extending for one year the Cython compiler with experimental features that provide automated memory management, multi-threading without GIL and type inference. The goal of this effort is to improve Python code execution speed with 100x to 1000x acceleration factor.
Cython is a superset of the Python language that introduces basic type inference and static code analysis. It is the language used to develop libraries such as scikit-learn and lxml.
The various efforts of Nexedi - named Cython+ - are already promising. Read for example the blog entry: https://www.nexedi.com/blog/NXD-Document.Blog.Cypclass
The paragraph "An alternative approach to cypclass" describes our short term goals: implement the cypclass idea based on PyObject object protocol rather than on C++ object protocol as it is done currently.
A more long term goal is to implement static analysis of a Python code base and determine subsets of code that can be statically typed and compiled with Cython+, while retaining the flexibility of Python scripting for other parts of the code. This long term goal may be part of full research project based on linear types and type inference systems, based on the concept of progressive types. A PhD position can thus be considered in addition to internship and engineering positions.
Nexedi has been developing free software since launching in 2001. We are maintaining software solutions (see our full stack) with over 10 million lines of code including:
Besides participating in various research initiatives, Nexedi provides customisation services for solutions with implementations being used by corporations such as Airbus, Sanef, Mitsubishi all around the world. We follow the principles of reflexive programming, enforce strict unit testing and emphasise using the latest web technologies.
Our economic model requires each developer to fulfill R&D objectives aiming at delivering short to medium sized solutions to customer requirements and progressing the evolution of our software stack. This way we try to be innovative and fund long term free software without the need for venture capital.
We would be happy to hear from you, so drop us a line (along with your CV) at jobs(at)nexedi.com and we will get in touch with you.
147 Rue de Ballon
59110 La Madeleine
Phone+33 629 02 44 25