We are seeking a software developer to work on a number of related projects related to the task of developing a tool to apply textual similarity algorithms to short texts and to make that tool as accessible to fellow researchers as possible. Portions of this tool already exist but are in need of changes to handle scaling more efficiently, others need to be integrated into a newer platform, and some tools will need to be re-implemented based on existing code. The primary application code is written in Python 3.6 with use of the SciPy stack, NLTK, and AioHTTP; the database code is written in PostgreSQL; the web frontend uses bootstrap, jquery, and HTML; deployment of code has been managed through Docker; and Redis, NGINX, and R are also used.
The tasks for these projects include
1. Modifying existing code in order to better handle asynchronous parallelism.
2. Identifying and correcting inefficiencies in legacy code.
3. Porting legacy code to the new platform.
4. Development and documentation of a public API that can be used to access the platform.
5. UI and security improvements to the web front end.
6. Annotation and packaging of the platform suitable for public release on GitHub and Docker Hub.
7. Scaling the system to transition from a limited beta to a public release.
Because of the size of this effort, work will begin with a more limited task better suited to your background which will be used to evaluate if we continue to work with you the whole project.