Python Developer - You maintain and improve existing microservices for data processing, data persistence and data transport via APIs. To scale up our software environment, you review, refactor and extend existing implementations. The focus is on optimization of performance, robustness and test coverage. A broad set of technologies is involved: Web frontends (Flask, Jinja, Bootstrap), API interaction with external systems (REST), Publish/Subscribe based messaging (MQTT), continuous and event-driven data processing, partially multi-threaded and/or concurrent (asyncio) and database operations (MySQL).
Your responsibilities:
- Understand and maintain existing services; troubleshooting and bug fixing
- Optimize implementations for higher performance and robustness
- Refactor codebase, extract cross-project dependencies to libraries
- Increase test coverage (Unit tests and integration tests)
- Interact with and embed external services, third-party libraries
What we expect:
- Min. 3 years of professional experience in object oriented programming
- Min. 2 years of professional experience with Python
- Advanced python developer; write efficient, well-understandable code
- Good understanding of concurrent processing; especially using asyncio
- Knowledge about common data exchange concepts, e.g. REST, MQTT
- Experience in writing PyUnit tests and Integration tests; concept of mocking
- Confident usage of MySQL databases
- (Debian) Linux CLI usage; Docker; Git version control system
- Team-player spirit with strong self-learning abilities
- Good communication skills, good English level spoken and written
That awaits you:
- Flat hierarchies, short decision paths, open corporate culture
- Opportunity to work together with an innovative international team
- Possibility for hybrid working
- Flexible work schedule
- A new office with all amenities
- Free coffee, tea & other drinks
- Regular, fun team events