
Django/Python Backend Developer, based in Moscow, Russia
Django/Python Backend developer
I am a Django/Python Backend Developer, and I work on APIs and web projects. Primarily, in my work, I perform tasks in the Web Fullstack spectrum. From designing architecture and testing the overall flow to negotiations with international partners – I do what is necessary within and beyond my primary specialty for the project to launch quickly and efficiently.
Stack
Technological Stack
Administration: Linux (Ubuntu, CentOS), Supervisor, macOS
Backend: Django, Python, Celery, Facebook APIs, Google APIs, Firebase, AWS (S3, Lightsail, Polly etc.), Google Cloud, Integromat, Telegram API
Data storages: Firebase, Redis, PostgreSQL, MongoDB, SQL
Testing: Postman, Selenium, Pytest, Django Silk, Sentry.io, manual UI testing
Cloud: Amazon Web Services, Google Cloud, Firebase
E-Commerce: Chargebee API, Stripe API, Esputnik API, Paypal API
Web scraping: Beautiful Soup, Selenium
Frontend: Javascript, HTML/CSS, Bootstrap
Algorithms: Language learning systems, Astrological calculations (Pylunar, PySwissEph)
Design and Media: OpenCV, ffmpeg, Figma, Adobe PhotoshopWork environment: Github, Bitbucket, Jira, Figma Jam, Digital Ocean
Non-Technological Stack
Languages: English (IELTS 8.0, fluent), Russian (native), German (B1)
Soft skills: Project Management, Working with non-technical specialists, Outsource Management
Negotiation: Online and Offiline Bussiness and Technical Meetings (English/Russian)
Content Creation: Text writing and editing, imagery preparation
Experiences
Mobidoo (2020 – )
Roles: Backend Developer, Assisting project manager
Stack: Django/Python, more described below
Responsibilities and projects:
- APIs for Web/mobile projects. Designing and creating APIs for lifestyle apps, organising managers, thematical social communities, content creating apps, video feeds. Diverse scalable systems, used and developed for multiple Web and mobile projects.
- E-commerce systems implementation. Using APIs of Chargebee, Stripe and Paypal as well as additional on-the-go integration using Integromat and Telegram Bot API.
- Distributed user data processing system. Dynamic user feed with media content with a composite storing system.
- Remote mixed type database system. Setting up several remote SQL and NoSQL databases to work to achieve speed and stability.
- Cross-platform support system. Firebase-based chat to connect mobile app users and web users (such as support team members).
- Internal modules for management and communication between the client and the customer. Automated processing of cancellation requests via a system of web UI, server processing, and management inside a messenger.
- Email management. Creating and setting up personalized emails via Esputnik API and integrating them in Django projects using user information.
- Internal proxy servers. Setting up proxy servers for an office work with restrictions such as torrent downloads.
- Web-scraping module. Testing web modules and content scraping with Selenium, BS4. Testing web modules and content scraping with Selenium, BS4. Performing network test with Selenium.
- Technical and business negotiations with international partners. Conducting deals with business partners; technical interviews for Web developers.
- Project management, testing and release preparation. Managing work of a team of web developers. Finalizing the products.
- Content management. Making PDF reports for users with their activity and recommendations. Text editing, media finalization.
Some of the related blog posts:
- Remote MongoDB + AWS LightSail + CentoOS 7 + SupervisorD ( + FirewallD + Basic Authentication)
- A case of generalization in astrological calculations
- Making a PDF using Django
- How to access Model’s pk/id when you create an instance in Django
- Step-by-step DRF social login
- PostgreSQL on macOS
- How to use Esputnik
Lingomost (2017 – 2020)
Roles: Backend Developer, Project manager
Stack: Django/Python, PostgreSQL, Celery, described below
Responsibilities and projects:
- Backend development. Designing an education system with Django/Python, working with complex Javascript modules.
- Internal UI/UX. Creating input forms for content creators for internal use.
- Conceptual design of educational systems. Exam-oriented exercises and modules targeting major aspects of language learning – listening, writing, reading, vocabulary. Designing with an aim to development time optimization.
- Web-scraping and processing. Collecting, processing and storing information of language-related data such as words and phrases.
- Automatization of content creating tasks. Generation of texts based on user data. Generation of OpenCV videos with German/Russian audio from text data. By that – reducing expenses on content creating staff.
- Syntax analysis. Determining parts of the sentences, breaking down data for further ML processing.
- E-commerce. Setting up a payment system and its integration in the existing scheme of the project.
- Project and team management. Decision making regarding new modules and the direction the project is taking.
- Scrum management. Managing team work in Jira and assigning tasks.
Some of the related blog posts:
- Web-scraping 5-part series on how to begin, a challenge example, and some etiquette
- Django-allauth 5-part series on setting it up, Facebook/Google/VK Login, templates and emails
- Django + Celery 4-part series of setting it up and testing
- Django project optimization series
- Django models migration errors and how to solve them
- M2M relation to itself
- On using or no using through in M2M relations
- How to clear data POST data in Django
- Custom fields for users
- Copyable table column
- GenericView filter misunderstanding
- Manipulating HTML field for Django
- Sorting QuerySet Typerror solution
- kwargs and ModelForm
- Video Generation series
Other Experiences
Technical Writing
My blog about Django and Python problems, filling gaps in the community knowledge base.
Freelance (2017 – 2019)
- building websites;
- backend development;
- implementation of external E-commerce APIs;
- English to Russian translations (and vice versa).
Education
NUST MISIS (2013 – 2017)
BSc in Applied mathematics
Graduate work on Computer Vision using OpenCV – Road scene recognition and modelling from the front view camera system
Samsung R&D, Moscow (2016)
Summer internship on Tizen mobile development.
Graduate work – fitness metrics app using GPS in mobile.
IELTS Certification (2016)
Band 8.0 with 7.5 in Writing.
Hobbies
Art, languages, mobile apps development using Swift.