Python Developer Archetypes
Python's versatility means "Python developer" can describe very different roles. Clarify which you're hiring:
1. Backend Web Developer
Builds: APIs, web applications, microservices
Uses: Django, FastAPI, Flask
Examples: Instagram (Django), Pinterest (Django/Flask), Robinhood (FastAPI)
2. Data Engineer
Builds: ETL pipelines, data warehouses, real-time processing
Uses: Apache Spark, Airflow, dbt, Pandas
Examples: Spotify (data pipelines), Netflix (data infrastructure), Uber (real-time analytics)
3. Machine Learning Engineer
Builds: ML models, training pipelines, inference services
Uses: PyTorch, TensorFlow, scikit-learn, Hugging Face
Examples: OpenAI (GPT), Tesla (Autopilot), DeepMind (AlphaFold)
4. DevOps/Automation
Builds: Infrastructure scripts, CI/CD, monitoring tools
Uses: Ansible, Terraform, AWS SDK, GitHub Actions
Examples: Cloud automation at Netflix, Dropbox, and most tech companies
What to Look For by Role Type
For Backend Web Developers
Must-Have Skills:
- Django or FastAPI proficiency
- REST API design
- SQL/database experience
- Testing (pytest)
- Git and deployment basics
Interview Focus:
- "Design an API for [your product feature]"
- "How do you handle database migrations in Django?"
- "Walk me through request/response in your framework"
For Data Engineers
Must-Have Skills:
- SQL mastery (this is more important than Python)
- Pandas and data manipulation
- ETL pipeline design
- Cloud data platforms (BigQuery, Redshift, Snowflake)
- Orchestration tools (Airflow, Dagster)
Interview Focus:
- "How would you design a pipeline processing 1TB daily?"
- "Explain slowly changing dimensions"
- "Debug this Pandas code that's slow"
For ML Engineers
Must-Have Skills:
- PyTorch or TensorFlow
- Model training and evaluation
- MLOps (model serving, monitoring)
- Statistics and math fundamentals
- GPU computing basics
Interview Focus:
- "Walk me through training a model from data to production"
- "How do you handle model drift?"
- "Explain your feature engineering process"
Python Version Matters
Python 3.10+ (Modern)
- Pattern matching, better type hints
- Performance improvements
- Modern async patterns
Python 3.7-3.9 (Common in Production)
- Type hints available
- Async support solid
- Most libraries support
Python 2.x (Legacy Red Flag)
- End of life since 2020
- If a candidate's experience is mostly Python 2, they may need to modernize
Interview Question: "What Python version did you use in your last project, and which features did you use?"
Typing in Python
Python has optional static typing. Modern Python developers use type hints:
def get_user(user_id: int) -> User | None:
return db.query(User).get(user_id)
Why This Matters:
- Type hints catch bugs early
- Better IDE support
- Clearer documentation
- Required for many modern libraries (FastAPI)
Evaluation Tip: Check if their GitHub code uses type hints. Absence isn't a dealbreaker but suggests older practices.
Common Hiring Mistakes
1. Conflating Different Python Roles
A Django web developer is NOT a data engineer. A data scientist is NOT an ML engineer. Python skills transfer, but domain expertise doesn't.
Fix: Be specific in your job description about what they'll build.
2. Overweighting Algorithm Challenges
LeetCode-style problems test computer science, not Python production skills. A developer who aces algorithms but can't design an API won't help you ship products.
Fix: Include practical exercises related to your actual work.
3. Ignoring Ecosystem Fit
Python has multiple web frameworks, data tools, and ML libraries. Hiring someone deep in Django for a FastAPI codebase works, but expect ramp-up time.
Fix: Ask about specific tools you use and assess learning ability.
4. Undervaluing SQL for Data Roles
Data engineers spend more time in SQL than Python. A candidate with moderate Python but excellent SQL often outperforms one with the opposite.
Recruiter's Cheat Sheet
Resume Green Flags
- Specific frameworks mentioned (Django, FastAPI, not just "Python")
- Production metrics or scale indicators
- Type hints mentioned in code samples
- Testing frameworks (pytest)
- Domain expertise matching your needs
Resume Yellow Flags
- Generic "Python experience" without specifics
- Only tutorial or bootcamp projects
- Python 2 experience without recent Python 3
- No framework experience for web roles
Technical Terms to Know
| Term | What It Means |
|---|---|
| Django | Full-featured web framework ("batteries included") |
| FastAPI | Modern, fast API framework with automatic docs |
| Pandas | Data manipulation library |
| pytest | Standard Python testing framework |
| pip/Poetry | Package managers for Python |
Fix: For data roles, prioritize SQL in interviews.