Natalia photo

Natalia Malkovska

Software developer / Web developer / Pythonista

Sofia, Bulgaria

 Hello, my name is Natalia, thanks for taking an interest in me! I am passionate about Python, web development and UX/UI design. I am a friendly person and an avid learner always striving to perfect her craft.

WORK EXPERIENCE @ PRINTT

February 2022 - Present

Full Stack Web Development (Python, Django, DRF, React, Redux, Typescript)

Redesigned, refactored, and improved the Printt web application, offering delivery, click-and-collect, and self-printing services to users in the UK and Bulgaria.

 My focuses are:

  • The backend API written in Python, utilizing Django and the Django Rest Framework, with a PostgreSQL database.
  • The frontend part of the application, developed with React, Redux and Typescript.
  • DevOps responsibilities, including Docker containerization, GitHub Actions CI\CD, and AWS deployment.

 Some key achievements:

  • Played role in the company extension beyond the initial UK market by integrating Office 1 Superstore and their printing services with Printt.
  • Developed automated systems to replace manual tasks done by developers and support, reducing overhead. Examples: automating the CI/CD flow, enabling Google social login users to create regular accounts.
  • Implemented new features to enrich user experience, such as A3 printing, a donation system, and support for guest users.
  • Enhanced API performance through code optimizations, including significantly improving load times for Django queries.
  • Database modelling: Optimized database migrations by eliminating unused tables and resolving merge conflicts.
  • Added localization to the web app, including translations in Bulgarian.
  • Configured lint checks using pylint for testing and continuous integration.
  • Created comprehensive documentation for the new API architecture.
  • DevOps experience (Docker, Amazon Web Services)

    • Docker Containerization: Migrated the API infrastructure from Ansible and Vagrant to using Docker.
    • AWS Migration: Transitioned from Amazon EC2 servers to the Amazon Elastic Container Service with serverless computing, which resulted in a substantial decrease in monthly service costs for the API.
    • Message Queue: Migrated from RabbitMQ to Amazon Simple Queue Service.
    • Logging and Monitoring: Set up logging and monitoring for the API on Amazon CloudWatch.
    • CI/CD Workflow: Established a CI/CD flow for the API using GitHub Actions.

    Other: MVP Project (Django, Flask, FastAPI)

    Developed an MVP version of a Python package to track and analyze user sessions using three distinct Python frameworks (Django, Flask, and FastAPI).

    WORK EXPERIENCE @ FLOWSCAPE

    May 2020 - July 2021

     The Swedish company Flowscape provides software solutions for smart office buildings.

    FULL STACK DEVELOPMENT (Python, Flask, Backbone.js)

     Redesigning and improving a messaging app for smart buildings.

     The app enables on-scene personnel to report accidents with rich geo-tagged media, voice, text, photo and/or video.

     My focuses are:

    • The media service component of the application which is written in Python and Flask, with a PostgreSQL database and SQLAlchemy ORM. The media service allows upload and download of various kinds of media.
    • The frontend part of the application which is written in Backbone.js, and provides a user-friendly interface for reporting accidents by exchanging messages and uploading files to better illustrate the reports.

     Some key achievements:

    • Migrated the existing codebase of the media service from Python 2.7 to Python 3.7;
    • Set up pylint and flake8 checks for testing and continuous integration;
    • Migrated the file storage from Citycloud to AWS Simple Storage Service;
    • Migrated the video converting workflow from Amazon Elastic Transcoder to AWS Elemental MediaConvert;
    • Upgraded the Ubuntu OS servers in the development and qa environments.
    • Provided the users with the option to take a real-time video recording and upload it to the web app.
    • Set up Sentry monitoring and error tracking for the frontend app.
    • Frontend Web Development (React, Redux)

       Reworking multiple web applications, implementing new features according to the customers' requirements and in close collaboration with a UX/UI designer. The applications are:

      • Main desk and room booking application;
      • Office Manager app enabling office administrators to book rooms on behalf of guests.
        Entirely redesigned the app to meet the client's requrements, implementing KendoReact UI.
      • Internal admin tool that allows the management of buidings, rooms and desks available for booking, among other features.

      Data Analytics (Power BI)

       Creating reports that analyze and vizualize the room and desk utilization of our clients' offices around the world.

      WORK EXPERIENCE @ G ADVENTURES

      May 2019 - May 2020

      G Adventures is an adventure travel company dedicated to responsible and sustainable travel. Their website extends over 70 web applications. In my role, I manage and redesign many of these applications, while working on various projects of different sizes.

      Full Stack Web Developer

       My responsibilities are:

      • Writing software for the G Adventures marketing and ecommerce website and Sherpa, their B2B travel agent portal.
      • Closely collaborating with business stakeholders and other teams
      • Using Python, Django, Django REST framework, as well as Javascript (jQuery, Backbone.js) to implement new features to the existing web applications.
      • to redesign the business logic of web applications.
      • Improving my business knowledge and thinking in terms of data-driven decision making, conversion rates and scalability.

       Some key achievements:

      • Created Dynamic maps for custom trips, allowing users to define their own itineraries, in contrast to static itineraries for regular trips.
      • Reworked the custom trip request process to enhance user experience and provide a more user-friendly interface, ultimately aiming to boost conversion rates.
      • Implemented a content management system (CMS) for travel agent resources, enabling non-technical teams, such as marketing, to independently create resources for travel agents without requiring technical support.
      • Improved the donation process for the G Adventures non-profit foundation, Planeterra, by providing multiple donation options.
      • Implemented various data collection and analytics solutions through Heap.
      • Added a referral program to the G Adventures website, enabling fans to promote trips to their friends and followers and earn cash.
      • Implemented a mobile-first, one-column layout for the trip booking checkout process, optimizing the user experience for mobile users.

       Tools and platforms I've used include: Dynamic Yield (for A/B testing new features), Heap (for tracking data), Tealium (for tag management and analytics), Ambassador referral software.

      WORK EXPERIENCE @ STRYPES

      Technical Lead

      April 2018 - May 2019

      • Leading by example, influencing best engineering practices within a self-organized team of 3-5 developers.
      • Mentoring and providing technical training to newcomers. My goal is through communication and collaboration with other teams to find the best person who can train the new employee on a particular topic.
      • Working with the Project Manager to establish transparent and effective communication, as well as ensure that the deadlines are met and the projects are completed both swiftly and with high quality.

      Academy Trainer

      June 2017 - May 2019

       Providing domain specific technical training to new employees.

       Training topics:

      • Review process (presentation + demo);
      • Code reviews (presentation + workshop);
      • Document reviews (presentation + workshop);
      • Agile methodologies (presentation with accent on Scrum);
      • Problem solving algorithm (presentation on creative problem solving and team collaboration).

      Python Software Developer

      October 2016 - May 2019

       As a software developer, I specialize in executing architecture improvement projects for the world's largest supplier of photolithography systems in the semiconductor industry (ASML).

       I take responsibility for the entire project from start to completion:

      • Investigating customer requirements, creating prototypes to validate solutions;
      • Coming up with a detailed design plan, estimating the amount of effort necessary to implement the project;
      • Making design decisions;
      • Writing technical documentation;
      • Implementing code changes (in C/C++ and Python);
      • Defining and executing automated and manual testing;
      • Conducting thorough code and document reviews;
      • Delivering the finalized code changes.

       The ongoing communication and collaboration with stakeholders are crucial aspects of each project.

 Web-Dev Stack

  • Python
  • Django ORM
  • Django Rest Framework
  • Flask
  • FastAPI
  • Javascript
  • React, Redux, Typescript
  • Backbone.js
  • HTML5, Jade
  • CSS3, Sass, Bootstrap

 Industry Knowledge

  • Databases: PostgreSQL, SQLAlchemy
  • Object Oriented Programming
  • Distributed Systems and Task Queuing
  • CI/CD
  • Cloud Services
  • A/B Testing and Optimization
  • Software Documentation

 Infrastructure & Deployment Stack

 Analytics

 Education

  • Master’s Degree: Child Psychology
    Sofia University
    2004-2006
  • Bachelor’s Degree: General Psychology
    Sofia University
    1998-2002

Thank you for your time! Have a bright day!