Job Openings Python API Developer

About the job Python API Developer

We are looking for a mid-level Python developer role focused on API development. At this level, the developer is expected to work independently, handling end-to-end API projects with minimal supervision. This includes designing, implementing, testing, and deploying APIs, while occasionally collaborating with teams. Assume 3-5 years of relevant experience as a baseline and cloud experience, ideally with Azure or multi-cloud.

Main responsibilities

As an independent developer, expect to own API projects from conception to maintenance. Key duties include:

  • Designing and architecting scalable APIs based on business requirements.
  • Implementing features, debugging issues, and optimizing performance without constant oversight.
  • Collaborating with frontend teams or stakeholders to define API contracts (e.g., via OpenAPI/Swagger docs).
  • Conducting code reviews, mentoring juniors if needed, and ensuring compliance with standards.
  • Troubleshooting production issues and iterating on APIs based on feedback/metrics.
  • Staying updated with Python ecosystem trends (e.g., via PyCon or online communities).

Required Qualifications

  • Bachelors degree in computer science, engineering, or a related field (or equivalent experience).
  • 3-5 years of professional experience in backend development, with at least 2 years focused on Python-based APIs.
  • Proven track record of delivering production-ready APIs in real-world projects (e.g., via GitHub portfolio or references).
  • Familiarity with agile methodologies and version control (e.g., Git).
  • Experience with Azure Functions, APIs, Microsoft Fabric, and Jupyter Notebooks development is a plus.

Technical Skills
These are prioritized from core essentials to advanced proficiencies. The developer should be able to apply these in Python environments independently.

1. Python Proficiency (High Priority):

  • Strong command of Python 3.x, including asynchronous programming (Asencio), decorators, context managers, and error handling.
  • Experience with key libraries: requests, json, datetime, and typing for type hints.

2. API Frameworks and Design (High Priority):

  • Expertise in at least one major framework: FastAPI (preferred for modern async APIs), Flask, or Django REST Framework.
  • Solid understanding of API design principles: RESTful architecture, HTTP methods/status codes, versioning, pagination, and error responses.
  • Ability to implement GraphQL APIs using libraries like Strawberry or Graphene (bonus).
3. Data Handling and Integration (High Priority):
  • Proficiency with databases: SQL (PostgreSQL/MySQL via SQLAlchemy) and NoSQL (MongoDB via PyMongo).
  • Data validation and serialization using Pydantic or similar.
  • Integration with external services: message queues (e.g., Celery with RabbitMQ/Redis), caching (Redis), and third-party APIs.
4. Security and Best Practices (High Priority):
  • Implementation of authentication/authorization: JWT, OAuth2, API keys.
  • Knowledge of security fundamentals: input sanitization, rate limiting, CORS, HTTPS, and OWASP top 10 vulnerabilities.
  • Environment management: virtualenvs, Docker for containerization.
5. Testing and Quality Assurance (Medium Priority):
  • Writing unit, integration, and end-to-end tests using pytest, unittest, or httpx.
  • Code quality tools: linting (Black, Flake8), type checking (mypy), and coverage analysis.
6. Deployment and DevOps (Medium Priority):
  • Experience deploying APIs to cloud platforms (e.g., AWS, Heroku, Vercel) using CI/CD pipelines (GitHub Actions, Jenkins).
  • Monitoring and logging: tools like Sentry, Prometheus, or logging libraries.
  • Scalability basics: load balancing, async processing for high-traffic APIs.
7. Advanced Tools (Lower Priority):
  • Real-time features: WebSockets with FastAPI or Socket.IO.
  • Performance optimization: profiling with cProfile, caching strategies.
Soft Skills for Independence
  • Problem-Solving: Ability to research and resolve complex issues autonomously (e.g., using Stack Overflow, docs).
  • Time Management: Prioritize tasks, meet deadlines, and handle multiple projects.
  • Communication: Clearly document code/APIs and explain technical decisions to non- technical stakeholders.
  • Adaptability: Quickly learn new tools or adapt to changing requirements.
  • Initiative: Proactively suggest improvements, like refactoring for efficiency.

  • Evaluation Criteria

    During hiring, candidates might be assessed via:

    Coding interviews: Build a sample API (e.g., CRUD with auth).

    Take-home assignments: Extend an existing API project idea into a functional prototype with deployment guidance.

    Discussions: Explain past projects, trade-offs (e.g., REST vs. GraphQL).