4+ years exp
Python
SQL
Data Layer & Database: 4/10
Active 8 days ago
Invite to interview
Message
Download CVCV
Overview
Technical skills
Roles
Overview
Backend API engineer (Middle) specializing in Django REST APIs for data collection and analysis. The strongest proven skill is implementing model-driven REST endpoints and server-side aggregation logic, evidenced by api/views.py ListCreateAPIView/viewset implementations and analysis/views.py usage of F expressions and Sum aggregates. There is limited evidence of production-grade reliability, security hardening for file ingestion, automated tests, or scalability patterns like background workers and caching.
Technical skills
Python• Middle • 4y+
SQL
Python
Django
Django REST Framework
Databases
Databases
Frontend
Bootstrap
Frontend
DevOps
Rest API
Middle Backend Developer
Confidence: Medium API Engineer
Backend API engineer (Middle) specializing in Django REST APIs for data collection and analysis. The strongest proven skill is implementing model-driven REST endpoints and server-side aggregation logic, evidenced by api/views.py ListCreateAPIView/viewset implementations and analysis/views.py usage of F expressions and Sum aggregates. There is limited evidence of production-grade reliability, security hardening for file ingestion, automated tests, or scalability patterns like background workers and caching.
API Design
3/10
How well APIs are designed
Basic, consistent REST API design using DRF generics and viewsets with authentication, but lacking explicit versioning, pagination strategy, idempotency handling, consistent error contract, or documented API versioning.
Evidence
omarap/data_api/api/views.py: api_root and multiple ListCreateAPIView / RetrieveUpdateDestroyAPIView classes
omarap/data_api/api/views.py: UploadCropFileView, UploadFileView implementing CSV import handlers
omarap/data_api/analysis/views.py: Analysis_root and many APIView endpoints exposing aggregate analysis
Data Layer & Database
4/10
Working with databases
Reasonable data modelling with relational models and migration history; uses ORM aggregates and F expressions for computed aggregates but lacks explicit transaction boundaries, migration-chain commentary, or tuned/raw SQL where N+1 would be a concern.
Evidence
omarap/data_api/api/models.py: relational Django models (ProjectAffectedPerson, Crop, Tree, Land, ConstructionBuilding) with property value_of_* calculations
omarap/data_api/api/migrations/0001_initial.py: initial migration creating tables and fields
omarap/data_api/analysis/views.py: Total*Value views using F(...) and Sum aggregates to compute derived totals
Scalability & Performance
1/10
Handling load and speed
Almost no explicit scalability or performance engineering: no caching strategy, no queueing or async workers for heavy imports/exports, and no rate-limiting or connection pool tuning visible.
System Architecture
3/10
Overall system structure
Monolithic Django project with reasonable module separation (api, analysis, pandas_analysis) but no explicit service decomposition, secrets/config management, or multi-service contracts for distributed operation.
Security & Auth
3/10
Protecting data and access
Uses DRF authentication and owner-based filtering which is positive, but there are missing input validations (file uploads), inconsistent field naming across migrations and models, and use of BasicAuthentication may be inappropriate for APIs in production.
Evidence
omarap/data_api/api/views.py: many views declare authentication_classes = [SessionAuthentication, BasicAuthentication] and permission_classes = [IsAuthenticated]
omarap/data_api/api/views.py: UploadFileView and UploadCropFileView call pandas.read_csv on uploaded files without file-type or content validation
omarap/data_api/api/migrations/0001_initial.py and omarap/data_api/api/models.py: ProjectAffectedPerson field naming differs (migration uses id_no while current models.py uses nin) indicating schema/name drift
Reliability & Observability
2/10
Stability and monitoring
Minimal reliability and observability patterns present; no structured logging, no metrics or alerting, and no retry/backoff or graceful shutdown handling in long-running operations.
Expertise
Python• Middle
Databases & Vector Storage• Middle
Industries
Data & Analytics• Middle
Farming & Agriculture• Middle
Technologies
Databases
Python• Middle • 4y+
Rest API
Django
Django REST Framework
Recommendations
- Extend and harden CSV/file ingestion by validating file types, sanitizing content, and offloading heavy imports to background workers (Celery/RQ) with idempotency checks.
- Add structured logging, metrics (Prometheus), and basic observability (correlation IDs) around long-running exports and aggregation endpoints.
- Address schema drift and migrations consistency; run and maintain a clear migration chain and add tests around critical data-layer behavior and aggregation correctness.
- Introduce rate limiting, pagination, and an explicit API versioning strategy for public endpoints to improve backward compatibility and operational safety.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Frontend Developer
Confidence: Low UI Engineer
A junior UI-focused developer building Bootstrap/template-driven websites with small vanilla-JS interactions. The strongest proven skill is front-end templating and basic interactive UI (examples include browsejobs.html filter logic and static/js/style.js language/navigation helpers). There is no evidence of SPA architecture, client-side state management, automated tests, CI, or accessibility auditing in the public code.
UI Component Architecture
2/10
How interface parts are built
Basic template-driven UI and small vanilla-JS helpers; no deliberate component system or composition patterns visible.
Responsive & Cross-browser
1/10
Works on all screens and browsers
Responsive behaviour appears to rely on included grid CSS; no developer-authored responsive logic or feature-detection found.
Performance Optimization
Speed of the interface
Not evidenced in public code
Accessibility & Semantics
Usable for everyone
Not evidenced in public code
State Management & Data Flow
Managing data in the app
Not evidenced in public code
UX & Visual Polish
2/10
Look and feel quality
Basic UX interactions and small utilities (filters, open/close toggles, language switchers) indicate attention to interactive UX, but no advanced flows or edge states.
Expertise
HTML & CSS• Junior
Technologies
Frontend
Bootstrap
Recommendations
- Build or maintain small to medium marketing and portfolio sites using HTML, CSS and Bootstrap where template-based workflows are acceptable.
- Implement and polish UI interactions and micro-interactions (forms, filters, toggles, language switchers) using vanilla JS or minimal libraries.
- Contribute to frontend UI/UX tasks such as responsive layout fixes, accessibility improvements, and converting template pages into reusable components.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
