Job Description
We are seeking an experienced Python developer to join our team. The ideal candidate will have a strong background in Python programming and be able to work independently.
The successful candidate will be responsible for implementing a Python library that works on top of an existing REST API, as well as loader scripts that perform bulk operations using the Python library.
Additional responsibilities include implementing a proof-of-concept mapping concept algorithm using input from a GraphDB DF graph and LLM services (ChatGPT API), documenting the architecture, usage, and operational procedures, and training scientists in using the library and scripts.
Key Responsibilities:
* (Re-) Implementation of an easy-to-use Python library that works on top of an existing REST API
* (Re-) Implementation of loader scripts that perform bulk operations by using the Python library
* Implementation of a PoC mapping concept algorithm with input from a GraphDB DF graph and usage of LLM services (ChatGPT API)
* Document the architecture, usage, and operational procedures for future reference and maintenance.
* Communicating and training the scientists in using the library and scripts
* Collaborate with stakeholders to gather requirements and ensure the system meets the needs of the organization.
* Conduct testing and quality assurance to ensure the reliability and accuracy of the code
Your Profile:
* Minimum level of education: Apprenticeship
* Strong proven programming skills in Python (5-10 years)
* Understanding and ability to discuss software architecture best practices
* Experience with JSON format, especially parsing and generation in Python
* Experience with using REST API in Python
* OPTIONAL: experience with using the ChatGPT API
* OPTIONAL: experience with RDF graph databases, e.g. GraphDB
* Strong communication skills in English - speaking and writing
* Ability to write easy to understand documentation about the code
* Explaining to non-engineers how to use the code
* Ability to work independently, manage multiple priorities, and communicate effectively with both technical and non-technical stakeholders.