Senior Python Developer
Description
Open Tender is looking for a Senior Python Developer to add to its very small backend development team. Senior Python Developer responsibilities include participating in all phases of the software development lifecycle. The Open Tender backend is basically a set of APIs that are consumed by various frontend React applications, including the Open Tender Admin Panel and the Open Tender user-facing products (online ordering websites, mobile apps, and in-store ordering kiosks). We have 3 main APIs, which are each quite large: Admin API (for admin panel), Order API (for e-commerce products), and In-store API (for our in-store products including kiosk and kitchen display system). Open Tender is a Flask application that uses MySQL for its database. We do not use an ORM to talk to the database, so you must be well-versed in writing SQL and working directly with a database in order to be effective. The Open Tender code base has also been around for approximately 10 years, so you should be comfortable working with large, established codebases and databases with 100s of tables.
Responsibilities:
- Building new backend functionalities to help expand the feature set of the Open Tender customer-facing products.
- Expanding the capabilities of the Open Tender REST APIs: building new endpoints using the OpenAPI specification.
- Improving the end user experience by reducing the latency of API endpoints using all tools available (SQL queries, indices, caching, background tasks, Datadog APM, etc.).
- Tracking down and fixing bugs encountered by end users.
- Refactoring parts of the application that require modernizing.
- Expanding the scope and coverage of the automated test suite.
Requirements
- Very strong written and verbal communication skills.
- 5-10 years as a Python Developer.
- Experience with Flask or Django, with a strong preference for Flask experience.
- A thorough understanding of working directly with databases and writing custom SQL queries.
- Experience working on a consumer-facing application with high performance requirements.
- Hands-on experience with Celery, Redis, Docker, Linux and AWS is a plus.
- Experience working with an established code base and taking ownership of certain parts of the code base (if you have only worked on projects built from scratch, this role is not for you).
- Ability to work independently with minimal supervision: you should be a self-starter who doesn’t require constant oversight to stay on task and enjoys solving problems largely on their own.
- BSc in Computer Science, Engineering, or relevant field.
- The employee needs to be available until at least 2pm US Eastern Time. Since we hire from across the world, it is important for our employees to coordinate and be present in real time.
- Candidates must have their own system/work setup for remote work.