Vagif M. Python Software Engineer
Summary
- Experience in developing more than 6 years
- Developing web applications using Python, C#, JavaScript, Node.js
- Experience in team leading
- New functionality development
- Good logical thinking and team player
- Hard-working, result-oriented, creative and communicable, team player
- Good attention to details
- Upper-Intermediate English
- Available ASAP
Experience
Python Developer
May 2021 - Present
Python Software Developer
Feb 2018 – May 2021
Software Developer
Dec 2016 – Jan 2018
Projects
Python developer
Oct 2022 – July 2023
Description: An ARM system which helps to keep track of ads published on different Ad providers. Monitoring budget and performance of ads. Generating reports and statistics.
Responsibilities:
- Develop new microservices with third-party integrations and support old ones.
- Refactoring old microservices using new technologies and programming approaches.
- Task composition, task decomposition, task scheduling and task distribution to other developers.
- Code review.
- Writing documentation added integrations with third-party services such as GA4 and AdForm and CM360 (CRUD operation with different entities) set up creation, editing, deletion, import of entities via DV360 API to the client platform
Technologies: Django, FastAPI, Django Ninja, DRF, Kafka, Pydantic, Mypy, Celery, SQLAlchemy, Dependency Injector, DataDog, Sentry, PostgreSQL, Redis, AWS (S3, EC2), Docker, k8s
Senior Architect / Team Lead
Dec 2021 – Oct 2022
Description: Create a reporting service. Service need to collect all change logs from databases of all other services using Debezium technology. Collected data should be aggregated and processed and later all processed data is used to generate flexible reports. Project used micro service architecture. The amount of data processed is 100K+ records per day
Responsibilities:
- Generate flexible and configurable reports
- Simulate legacy system behavior using custom Python scripts
- Monitor performance of application code
- Design scalable architecture for reporting service that might handle 1M+ records per day in the future
- Design and Review code
- Assist DevOPS on setting up pipelines for our current services
- Unittesting
- Understand and fix business requirements to satisfy client’s need
- Elasticsearch schema design to efficiently store aggregated data
- Refactoring of older systems that require backfilling of big amount of data from new database to legacy. Moved most of the logic to infrastructure layer so almost no work done on application layer, providing reliability and maintainability
Technologies: Python, FastAPI, asyncio, AWS (S3, EC2, EKS, MSK, MSK Connect), Elasticsearch, Kafka, Numpy, Pandas, RabbitMQ), MySQL, Docker, Pytest
Senior Python developer
Oct 2021 – Dec 2021
Description: E-commerce. Technical requirements are almost the same as Turkish site trendyol.com
Responsibilities:
- Code review Migrating entire codebase to Python 3.7
- Rewriting from old PHP codebase and migrating legacy data
- Testing and code review, TDD
- Optimizing database access using advanced Django ORM functionality
- Meetings with consumers, support
- Statistical pattern recognition is the process of establishing a connection between assigning an object to a particular class.
Technologies: Python/Django, gRPC, Rest, Celery, Postgres, Redis, RabbitMQ, React.js, a little Node.js for sockets, Elasticsearch, Cloudflare, DigitalOceans (Kubernetes cluster, Databases and Spaces for static and media files)
Senior Python developer, 3 X Logistic projects (cargo shipping companies)
Aug 2021 – Oct 2021
Description: Technical requirements are almost the same as Starex.az except that at starex.az we do a lot of integrations with other internal services (finances department, international cargo shipping software and so on).
Responsibilities:
- The task was to get data about candidates.
- Migrating from Django 1.x to 2.x
- Some data was got using the API.
- Fixing security issues on application such as XSS, IDORs, LFI
- Optimizing database access using advanced Django ORM functionality
- Migrating to class based (generic views) from function-based views (whole codebase)
- Optimizing background workers
- Scrapping was used to reduce the number of requests and get information that isn't available in the API responses. Beautiful Soup was used as a scrapping tool.
- Resources for getting data were Moi Krug, Stackoverflow, and Github.
Technologies: Python/Django, Celery, Redis, Postgres, Cloudflare, DigitalOceans (both of them hosted using Kubernetes Cluster, the remaining one deployed using Docker swarm, + spaces for media and static files).
Senior Python developer
Apr 2021 – Aug 2021
Description: Another domestic e-commerce. Currently working on. Stack: Users must be able to register their own shops, add products. Users are able to add products without shops too but then they will get limited access to features (For example their product will expire in 30 days). All products must be approved by moderators in order to be shown in search results.
Responsibilities:
- Writing new algorithms for data scrapping
- Writing new algorithms for voice transcription
- Rewriting old Java project using Python and changing 90% of database schema without loss of data
- Optimizing database access using advanced Django ORM functionality
- Optimizing background workers
- Implementing new features
- Meetings with consumers, support
Technologies: Python/Django, Celery, Redis, Postgres, React.js, Elasticsearch, Cloudflare, Digital Oceans (planning to deploy using Docker Swarm + spaces as always).
Senior Python developer
Jan 2021 – Apr 2021
Description: Management application for domestic IT courses (mostly mentoring). Mostly mentored other developers.
Responsibilities:
- Microservices architecture planning;
- Coding back-end for microservices
- Fixing invalid migration files (dependecnies, invalid schema, messed up indexes) on production so we can develop application further
- Optimizing database access using advanced Django ORM functionality
- Testing and code review, TDD
- Dev-team management, code review
- Design and integrate REST APIs between entire infrastructure
- Meetings with consumers, support
Technologies: Python/Django, Celery, Redis, PostgreSQL, Cloudflare, React.js, DigitalOceans (spaces as always + simple deployment using docker containers).
Senior Python developer
Oct 2020 – Jan 2021
Description: Regular new site with dynamic content management, advertisements and so on.
Responsibilities:
- Knowledge transfer sessions
- Designing new algorithms for audience search
- Implementing new features
- Testing and code review, TDD
Technologies: Python/Django, Celery, Redis, PostgreSQL, Cloudflare, DigitalOceans (Docker swarm deployment + spaces).
Senior Python developer
Jun 2020 – Oct 2020
Description: 5 x One-time projects (I am not allowed to tell which projects as I've accepted them from special channel).
Responsibilities:
- Developing of back-end part of application
- Optimizing database access using advanced Django ORM functionality
- Bug fixing and implementing new features
- Consumers support
Technologies: Python/Django, Celery, Redis, PostgreSQL, Cloudflare, DigitalOceans (simple container deployment, no spaces)
Senior Python developer, Corporate time tracking system
Mar 2020 – Jun 2020
Description: Jabber bot that could parse incoming messages via XMPP protocol and “understand” specific commands to manage tickets and time logs through Redmine API. In addition, was implemented invoice generating function in PDF format.
Responsibilities:
- Developing of back-end part of application
- Technical consultation
- Optimizing database access using advanced Django ORM functionality
- Performance testing and optimization
- Bug fixing and implementing new features
- Consumers support
Technologies: Python, Django, PostgreSQL, Jabber, Kafka, Spark Streaming, Google Cloud, Pisa
Python developer, E-Commerce portal with competitive websites analytics
Sep 2019 – Mar 2020
Description: One of the biggest German E-Commerce portals of motorcycle parts trading. Project Includes scraping of competitive sites for prices analysis.
Responsibilities:
- QA audit;
- Developing content scraping system;
- Implementing unit and functional tests;
- Designed DB.
Technologies: Python, Flask, Odoo, PostgreSQL, PostGIS, Amazon Web Services (S3, Redshift, EC2, SNS), REST
Python developer, Trading bot
Jan 2019 – Sep 2019
Description: Program that continuously analyses the European Energy Exchange, evaluates and participates in electricity trading. Trading Bot can replace an entire department of business analysts
Responsibilities:
- Application deployment and delivery;
- Design and prototype main business logic;
- Developing process of synchronization with remote server;
- Designed DB;
- Support
Technologies: Python, Django, win32 COM, FTP, Nagios, ETL, MySQL, REST, СSV, Apache Druid, Cassandra, Spark Core, MS Office program interaction, High availability architecture.
Python developer, Corporate booking platform
Feb 2018 – Dec 2018
Description: Complex search of accommodation and conference services for corporate events of large teams. Complex parameterized search, options comparison, negotiations system, statistics and some white-label flavor.
Responsibilities:
- Implementing complex translation framework;
- Developing price calculator;
- Testing and code review, TDD;
- Feature development for fuel web-backend;
- Meetings with consumer
Technologies: Python, Django, MySQL, react.js, SQLAlchemy, Grafana, Puppets, Azkaban, Google Cloud
Python developer, E-Learning Platform
Jun 2017 – Jan 2018
Description: Multilingual (12 languages) and multi-vendor E-Learning platform built for a world renowned beauty brand serving the needs of beauty salons and professionals. Complex stack including web, desktop and iPad applications.
Responsibilities:
- Refactoring the whole project;
- Upgrading to newer version of Django framework;
- Reviewed code of other contributors
Technologies: Python, Django, PostgreSQL, ETL, Amazon Web Services (S3, Redshift, EC2, SNS, SQS), ffmpeg
Python developer, Automation tests system
Dec 2016 – Jun 2017
Description: Complex automation tests system for mobile application operating with GSM modems through usb interface
Responsibilities:
- Developing of back-end part of application;
- Code reviewing;
- Developed tests;
- Meetings with consumers
Technologies: Python, Unit tests, Bash
Education
Academy of Public Administration under the name of President of Azerbaijan Republic
2021-current (master Security of State's inState'son systems)
2017-2021 (Bachelor of Computer Science)