Alexandr Shurigin, Developer in Valencia, Spain
Alexandr is available for hire
Hire Alexandr

Alexandr Shurigin

Verified Expert  in Engineering

Python Developer

Location
Valencia, Spain
Toptal Member Since
July 4, 2016

Alexandr loves to create, and his favorite way to do it is through web development that fulfills a client’s need or solves a problem. He's passionate about fast, well-written, user-friendly applications. Providing clients with high-quality apps that meet their business needs is Alexandr's top priority. Alexandr excels at solving technical problems using Python, PHP, and JavaScript, and he builds expert applications from scratch.

Portfolio

Reddit (via Toptal)
Async.js, HTTP Live Streaming (HLS), Apache Cassandra, Microservices...
One Big Switch (via Toptal)
Amazon Web Services (AWS), PHP, VPN, DNS, Capistrano, Chef, Ruby, Docker
Tremor Technologies, Inc. (via Toptal)
GitHub, React, Python, Node.js, Java, Jenkins Pipeline, Docker

Experience

Availability

Full-time

Preferred Environment

Trello, Slack, PhpStorm, PyCharm, GitHub, MacOS

The most amazing...

...thing I've built is a fully automated neural network to crawl articles online. It finds, extracts, analyzes, and publishes interesting articles on a website.

Work Experience

Senior Software Engineer

2018 - 2020
Reddit (via Toptal)
  • Worked as a full-stack senior software engineer to implement and support a sizable list of tools, features, and microservices.
  • Created multiple internal tools from scratch including UI and back-end work.
  • Contributed to the development of a high-load part of the project which should finish in a constant, predictable time. Multiple optimizations and some tricky logic were implemented to reduce IO.
  • Developed parts of a bulk action tool which supports various DB objects actions for lists which contain hundreds of thousands of items.
  • Created a Google Chrome extension to download recently implemented HLS livestream support for employees and anti-evil team folks.
  • Worked on internal tools which use Zendesk and Jira integration for processing users' feedback requests and reports.
  • Helped fix and implement new features and workflows for DMCA legal request processing and blocking.
  • Contributed to the construction of new microservices and components of the Reddit system.
  • Refactored and analyzed code to improve readability and make it more strict where possible.
  • Created a tool for admins to reset two backup factor codes for employees with various checks.
  • Created an ACL system from scratch for a custom-written API and used a framework which allows devs to manage user permissions in a cool way right on the API level.
Technologies: Async.js, HTTP Live Streaming (HLS), Apache Cassandra, Microservices, Apache Thrift, React, Node.js, Python

Senior DevOps Engineer

2017 - 2020
One Big Switch (via Toptal)
  • Contributed to the solution of a list of varying issues for the company in different areas, but the main direction was to migrate from the old Capistrano and Chef deployment system to the modern AWS CodePipeline solution via AWS ECS.
  • Created a from-scratch cookbook for custom OpenVPN installation and cross-origin integration.
  • Built on AWS CodePipeline for a heavy WordPress website installation the company had and moved from a pretty expensive hosting provider to AWS ECS, which costs the client just a few hundred bucks.
  • Built a Ruby on Rails application deployment pipeline using AWS CodePipeline to AWS ECS with optimized caching of FS layers.
  • Optimized the WordPress back-end on PHP to allow handle approx 5,000 visitors online, which was impossible to serve before.
  • Developed and optimized Docker files to get everything working and building between builds without sharing build artifacts.
  • Supported the custom installation of Chef and Chef Server, supporting the deployment configuration in Capistrano.
Technologies: Amazon Web Services (AWS), PHP, VPN, DNS, Capistrano, Chef, Ruby, Docker

AWS DevOps

2018 - 2018
Tremor Technologies, Inc. (via Toptal)
  • Created a Jenkins pipeline in a Docker agent which checks multiple components of the system, tests them, runs integration tests, builds new containers, and deploys the new application version to ECS.
  • Developed the Java application build process using Gradle and Jooq tools.
  • Upgraded build servers including base systems and Jenkins components because it was outdated for years.
  • Added the Docker configuration to the components of the system which makes Docker builds very fast and optimized.
  • Fixed existing build pipelines.
Technologies: GitHub, React, Python, Node.js, Java, Jenkins Pipeline, Docker

Full-stack Developer

2017 - 2018
Backstage (via Toptal)
  • Audited, refactored, and made other fixes to Celery tasks.
  • Built a Stripe webhooks logging and analysis dashboard.
  • Developed and fixed the REST API.
  • Added a lot of unit testing to various components of the system.
  • Developed and fixed front-end elements in React and Backbone.
  • Improved the Django admin interface.
  • Fixed bugs for various components of the system.
  • Reviewed source code and checked for permissions vulnerabilities.
Technologies: Unit Testing, Mercurial, Elasticsearch, MySQL, Django, Backbone.js, React, Python

Freelance DevOps Engineer

2017 - 2018
Skuchain (via Toptal)
  • Checked, fixed, refactored, and enhanced a deployment solution in the project.
  • Used Docker with Docker Compose for building microservices architecture.
  • Created microservices architecture using Docker, AWS CloudFormation, and Traefik (and Nginx) for traffic balancing and routing.
  • Handled Bash scripting; the deployment configuration is all built in Bash.
  • Configured multiple branches that support dynamic services adding/removing/migrating from a plain text file with services list and their URLs/branches/commits.
Technologies: Amazon Web Services (AWS), AWS CLI, Secure Copy Protocol (SCP), SSH, Bash, Webpack, Express.js, React, Node.js, Hyperledger, Docker

Freelance Software Engineer

2017 - 2017
Webconnex (via Toptal)
  • Created AWS OpsWorks infrastructure from scratch. The configuration is connected with a CI pipeline.
  • Configured over 30 microservices.
  • Deployed recipes in Go and Node.js.
  • Configured Filebeat and Metricbeat.
  • Supported a multiple stacks environment via custom JSON configuration in OpsWorks.
  • Added role grouping (soft-layer) support for multiple applications in one instance.
  • Integrated local testing and Chef cookbooks dependency management.
  • Integrated the AWS application level balancer.
  • Added support and configured dynamic DNS names for multiple environments.
Technologies: Amazon Web Services (AWS), Node.js, Go, Ruby, Chef, AWS OpsWorks

Freelance Django and React Developer

2017 - 2017
Boyd Creative Pty, Ltd. (via Toptal)
  • Created a single-page application dashboard with various graphs, tables, and dynamic filters for analytics data.
  • Developed a very fast JavaScript async application which works many times faster than previously in AngularJS.
  • Supported and modified the legacy source code.
  • Optimized access to the API requests database to decrease API response time.
  • Optimized a Webpack build for dashboard assets.
Technologies: Linux, MySQL, Mercurial, REST APIs, React, Django

Freelance Lead Django Developer

2017 - 2017
Dalton Bain (via Toptal)
  • Integrated a multi-branch Docker-based CI (Continuous Integration) full cycle to the project using Chef and OpsWorks.
  • Automated tests using a Jenkins pipeline.
  • Supported Django and AngularJS projects, integrating new features and fixing bugs, among other things.
Technologies: Amazon Web Services (AWS), Chef, AWS OpsWorks, AngularJS, Docker, Jenkins, Django

Freelance Senior Django Developer

2016 - 2017
DecisionDesk (via Toptal)
  • Optimized back-end performance.
  • Integrated Docker containers into the project infrastructure.
  • Converted images and MS Office files to PDF.
  • Manipulated various PDF files in Python and Java (read, convert, merge, export to PDF).
  • Installed and configured a Graylog2 (+ MongoDB and Elasticsearch) cluster in Docker containers on AWS OpsWorks Stack.
  • Developed custom logging adapters (TCP, UDP, HTTP/HTTPS) for the Graylog2 instance.
  • Integrated a Shibboleth (SAML2 Protocol) authorization method.
  • Built custom Django MongoDB Queries profiler middleware, allowing users to see and download detailed requests for deep checking code, load performance, etc. to a MongoDB server list.
  • Integrated a CASHNet payment processor.
  • Built Chef recipes in Ruby.
  • Fixed bugs.
  • Implemented additional small features.
  • Installed and configured Postfix as a smart host.
Technologies: Amazon Web Services (AWS), Linux, PostgreSQL, Backbone.js, Docker, Tastypie, MongoDB, Django

Full-stack Back-end Developer

2014 - 2015
Stealth Mode iOS/M-Commerce Silicon Valley Startup
  • Oversaw back-end creation and maintenance of an m-commerce iOS platform.
  • Served as product manager for all API integrations, including multiple payment gateways.
  • Managed all AWS/S3 activity.
  • Rewrote legacy source code from scratch.
Technologies: Amazon Web Services (AWS), Docker, Linux, Stripe, iOS, REST, Python

Chief Information Officer and Scrum Product Owner

2011 - 2015
FloraExpress
  • Managed a five-member team and served as Scrum master in the company’s Scrum environment. Additional roles included senior full-stack engineer, devops engineer, and deployment engineer.
  • Created an API-driven platform for quickly-growing company websites, mobile applications, and third-party integrations, and fully managed the deployment process.
  • Reduced website downtime from 20% to 0% by rewriting the company’s services from scratch; helped to increase orders from 25/day to 75-80/day; and created 80% of the source code for the Python/Django version of a payment gateway that has twenty available payment methods, amongst other achievements.
  • Developed an API core, four eCommerce fully functional landing sites, two alpha versions, two payment gateways (PHP and Python versions with fifteen and twenty payment methods), and a lot of small tools and integrations with third-party services.
  • Built a stable, DDOS-protected, and horizontal scalable platform as well as a lot of business instruments.
  • Enabled the company to handle about 8,000 orders per day on holidays because of the amazing CRM system built with Ajax and HTML5.
Technologies: Distributed File Systems, Scaling, RESTful Web Services, Webpack, SCSS, Less, CSS, HTML5, Continuous Integration (CI), OAuth, Sphinx Search Engine, Redis, Memcached, MongoDB, Docker, MySQL, Node.js, JavaScript, Python, PHP

Senior PHP Developer, System Architect

2011 - 2012
Kanga
  • Developed Flash games for Vk.com. Managed the team’s task management.
  • Developed back-end features in PHP.
  • Developed game landing pages and websites.
  • Handled the deployment process with Linux server administration tasks.
  • Facilitated real-time video processing with Wowza media services.
Technologies: Continuous Integration (CI), CSS, HTML, JavaScript, Flash ActionScript, RESTful Development, REST APIs, MySQL, PHP

Middle Java Developer & System Architect

2010 - 2011
DuoTM
  • Worked with a team of Java developers to develop web application tasks and AION/Lineage II server network core in Java.
  • Managed two team members.
  • Completed the project successfully, but DuoTM was discontinued due to lack of funding.
  • Built a very fast network IO threaded solution with encryption and DDOS protection.
  • Developed and deployed configuration with Java build tools.
Technologies: Network Stack, Continuous Integration (CI), Jira, Java

CEO, Team Leader, and Full-stack Developer

2008 - 2009
2315.ru
  • Founded and managed a web design and development company, managed four team members, and built eCommerce and portal type websites for the Russian market.
  • Oversaw team task management, contracts, system administration, PHP/JavaScript development, database management, and more.
Technologies: Git, Sass, Less, CSS, JavaScript, Linux Administration, Python, PHP

Network Engineer and Junior .NET Developer

2004 - 2007
Ural State University
  • Served as network engineer and Windows/Linux administration team member.
  • Helped manage a seven-server campus network along with 300 staff PCs.
  • Oversaw diskless Linux and Windows boots, overriding workstation operating systems via remote network diskless boot and restoration of hard disk images, Active Directory management, domain politics, software politics, web servers, and network routing with shaping configuration.
  • Used Python, C# (including .NET ASPX), Bash, and PHP to create utilities and other small programs for managing Active Directory and user politics.
  • Developed a student intranet portal.
Technologies: Infrastructure, Azure Active Directory, Linux Administration, Bash, Python, PHP, C#, .NET

Network Engineer and .NET Junior Developer

2005 - 2006
SKB Kontur
  • Served primarily as contract network engineer but occasionally worked as a junior .NET developer.
  • Managed all network hardware, software, and server configuration.
  • Built company applications in ASP.NET C#, Windows-based C# apps, and console apps.
Technologies: Azure Active Directory, Git, Subversion (SVN), Linux Server Administration, PHP, C#, .NET

Webconnex Chef/AWS/Opsworks configuration

I've built Chef/AWS/Opsworks configuration for deploying all required applications and services with very flexible deployment configuration including a lot of features.

- Created AWS OpsWorks infrastructure from scratch.
- The configuration is connected with CI pipeline.
- Configuration for over than 30 microservices.
- Go language and Node.js deploy recipes.
- Filebeat and Metricbeat configuration.
- Multiple Stacks environment support via Custom JSON configuration in OpsWorks.
- Roles grouping (soft-layers) for multiple applications in one instance support is added.
- Local testing, Chef cookbooks dependency management integration.
- AWS application level balancer integration.
- Dynamic DNS names for multiple environments configuration support is added.

Used technologies: AWS, OpsWorks, Chef, Ruby, Go Lang, Node.js

DecisionDesk (via Toptal)

I joined the team when the project was in a crisis due to a series of major issues: bugs, feature requests, performance problems, etc. Performance optimization was the most serious problem because it made normal usage impossible at times due to critical bugs. My work helped the team out of the crisis and stabilized the application, and it is now fast and growing.

My work included the following:
- Back-end performance optimization
- Docker container integration
- Image/Office file to PDF conversion
- PDF file manipulation (read, convert, merge, export) in Python and Java
- Graylog2 (+MongoDB +ElasticSearch) cluster installation/configuration in Docker containers on AWS OpsWorks Stack
- Custom logging adapters (TCP, UDP, HTTP/HTTPS) added to the Graylog2 instance
- Shibboleth (SAML2 Protocol) auth method integration
- Custom Django MongoDB Queries profiler middleware that allows users to see/download requests for checking code, load performance, etc., to a Mongo server list
- CASHNet payment processor integration
- Chef recipes in Ruby
- Bug fixes and features
- Postfix installed/configured as a smart host

Tech stack: Django, AWS, Mongo, TastyPie, Docker, Backbone, Postgres, Linux

Skills test project using AWS/Chef/OpsWorks

Created a flexible configuration in Chef from scratch for deploying a test application on a cluster of application servers, balancers, database servers with dedicated logging server which collects logs from all the servers and allows you look through it in a moment.

Solution stuff:
- Python Application servers
- Nginx Router/Balancer servers
- MySQL server with slaves
- Graylog2 server with its configuration which accepts logs from multiple sources and processes it allowing flexible filtering and reporting.
- Multiple application level balancing
- Automatic S3 backups for mutable storages

Used technologies: Chef, Ruby, AWS \w OpsWorks \ ALB \ VPC \ Route53 \ EC2 \ etc, MySQL, Python, Django, Nginx.

Stealth Mode iOS/Mobile Commerce Silicon Valley Startup

The client required back-end API architecture for a mobile application with geolocation, payments, and shipment integration. I delivered a working app that had all of these features.

I also hired an iOS developer contractor for the client and managed a small team until the application was completed.

The client received a working prototype and used it to secure another round of investment.

CLIENT TESTIMONIAL
“I’ve worked with Alex on multiple projects and have been amazed at the quality of his work and his professionalism. His work is definitely top shelf material and he takes great pride in making sure of this. He is extremely easy to work with and can handle any stressful situation before him. Ambiguity is no concern for Alex! I’m also impressed with his communication skills as he makes sure to focus on his clients’ needs and puts any concerns to rest by walking them through risks and providing alternative solutions. I’ve considered myself very lucky to have worked with Alex and hope to work more with him in the future.”

Visual Sitemap Generator - Dyno Mapper

The client needed to fix bugs and add features to a back-end ScraPy project tool that is used to crawl websites.

I added approximately sixty features, including login support for standard HTTP authorization methods, popular CMS engines, and custom client engines. We moved from a standalone dedicated server to AWS autoscaling Docker container deployment processes.

My work greatly improved crawler speed and accuracy. I added extra caching layers, database bulk writes, and temporary storage for crawling time data to Redis and MongoDB. The crawler now works without any bottlenecks and can crawl websites in about fifteen parallel threads, providing an amazing user experience. This project has increased lead generation and boosted the popularity of the client's service.

CLIENT TESTIMONIAL
“Alexandr Shurigin is a brilliant Python developer who has always delivered projects to exact specifications and has always been a pleasure to work with. If you are looking for an innovative developer with fresh ideas, he would be an excellent choice to add to your team. He works well with other developers and has an excellent attitude. He succeeds where I have seen other Python developers fail and he makes it look easy. A+ developer.”

CRM & POS System Development/Magento Optimization/Linux Support

This project encompassed a wide variety of tasks, including simple template work, simple PHP work, software dev from scratch, inventory management CRM creation, POS system development from scratch, performance optimization, source code sanitation from spaghetti code, and integration with third-party services such as ShipStation, Amazon, eBay, PayPal API, PayPal Payflow Pro, and more.

I built an amazing CRM and POS with all required features and integrations, which has reduced the client’s spending on staff costs.

These systems have also allowed the client to spend less time on business management because all areas of business now are automated. This has freed the client up to grow his business, open a brick-and-mortar showroom, and make more sales than ever before.

CLIENT TESTIMONIAL
“Alex is a GREAT programmer. I have repeatedly retained his services for my private business interests (not for my employer) and he has produced prompt and expert work every time. I have learnt that I can count on his expertise every time. I also love that for many items I have wished programming for that other programmers have said that were not possible, Alex delivered them. Wow!!"

FloraExpress

https://www.floraexpress.ru/
My role: Full-stack engineer, Linux/DevOps engineer, Scrum product owner

The client required a project manager to build a dedicated CRM system from scratch with REST API endpoints and approximately seven of the company's clients' applications. I oversaw the build of a CRM system, three versions of the primary eCommerce website, two additional eCommerce websites, two payment gateways, mobile applications, several mobile websites designed from scratch (not responsive versions of the main websites), and many additional tools and utilities. I used best practices to perform all required tasks. All elements of the project have been deployed; they are now live and generating leads.

As a result of my work, the client now uses many new business instruments that generate leads and increase customer satisfaction. My work led to an increase in orders from 25/day to 80/day. Additionally, I built a stable platform with 99.99% SLA, DDoS protection, all infrastructure configuration, automated deployment, version control, and various features.

Google Chrome Plugin

The client required a Google Chrome extension to perform an automation "change and control IP task" to prevent being banned when the same cookie appears on multiple IPs. This plugin saved the client a significant amount of time and prevents him from being blocked by a target service due to an IP conflict.

CLIENT TESTIMONIAL
"Excellent. Perfect on all fronts. Alexandr did a really amazing job quickly and with great communication. I look forward to hiring him again in the future."

Django Deploy Fixes and Bug Fixes with Some Features

The client’s website stopped working after being switched to a new hosting provider. I fixed all deploy configuration issues so that the website would work properly. Once the website went live, I fixed numerous problems, including bad validation of form data. I also adjusted email settings/configuration, including SPF and DKIM configuration with auto-forwarding to company staff. As a result, the client’s website is now functional and able to generate leads.

CLIENT TESTIMONIALS
"I like everything about my experience working with this particular contractor: knowledge, communication, quality of work, availability, professionalism. Extremely happy with his work! Everything has been fixed even faster than I could expect! Thank you!

"Great quality of work and outstanding communication skills!

"Strongly recommending!"

Major Code Migration

The client needed to migrate from Google App Engine to an AWS Elastic Beanstalk Docker Multi-container infrastructure. This required rewriting a significant amount of source code that depended on Google App Engine API.

I rewrote a significant portion of the project and made all deployment processes as simple as possible with shippable.com CI. I found alternatives and rewrote all source code for Google App Engine APIs: URLfetch, geocoding, XMPP proxy, Cloud SQL, Async tasks, deferred tasks, and cache. I also rewrote many unit tests to test all migration process results.

DELIVERABLES
- Shippable configuration for CI and auto-deploy staging/production configurations and tests evaluation
- All source code migrated to open source existing solutions which work like Google App Engine API
- Lot of bugs and outdated source code fixes

CLIENT TESTIMONIAL
"Alex is a great developer and sysadmin. He showed great flexibility and accountability during the project. I would recommend him for any job that involves sysadmin, Docker, and Python skills."

Attune.co API Python Client

https://github.com/attune-api/attune-python/
The client had an API web service as the main project feature and wanted to have an API client written using Python. I built a strong API client with features such as auto-retry on 5xx errors, a circuit-breaking pattern to avoid DDoS on API web service if it has an increasing error count, async/sync execution of API, unit-tested features, and more. All of this was completed within two weeks and all deadlines were met.

The client received an exceptional Python client and has begun to use it with his web service business clients.

CLIENT TESTIMONIAL

"Alexandr produced very well written code. Very readable, well structured and commented. Great Python skills employing lambdas and multi-threading.

Alexandr worked late hours to deliver my project in time. Great talent!"

Languages

ECMAScript (ES6), Python 3, XML, Sass, CoffeeScript, Less, HTML, PHP, SQL, CSS, CSS3, JavaScript, Python, ActionScript 2, C#, HTML5, Java, Flash ActionScript, SCSS, Bash, Go, Ruby

Frameworks

CakePHP, Django REST Framework, Flask, Redux, Django, Scrapy, AngularJS, Apache Thrift, .NET, Express.js

Libraries/APIs

React, jQuery, Requests, Flask-RESTful, Node.js, JavaScript API for Chrome, Stripe, Tastypie, Backbone.js, REST APIs, Jenkins Pipeline, OpenOffice UNO API

Tools

Amazon Virtual Private Cloud (VPC), Bitbucket, GitHub, AWS OpsWorks, Amazon Elastic Container Registry (ECR), AWS ELB, Redux Thunk, Git, MySQL Performance Tuning, Celery, Webpack, Xdebug, Apache, NGINX, Trello, Amazon Elastic Container Service (Amazon ECS), Amazon EBS, RabbitMQ, Chef, Shibboleth, Graylog, Gulp, GitLab, Babel, Grunt, PyCharm, PhpStorm, Slack, Subversion (SVN), Jira, Jenkins, Mercurial, AWS CLI, Capistrano, VPN, Xcode

Paradigms

REST, Scrum, Refactoring, Object-oriented Programming (OOP), Continuous Deployment, Continuous Delivery (CD), Continuous Integration (CI), Unit Testing, Microservices, RESTful Development

Platforms

Amazon EC2, Docker, Linux, Ubuntu Linux, Linux RHEL/CentOS, Ubuntu, Debian Linux, MacOS, AWS Elastic Beanstalk, FreeBSD, iOS, Hyperledger, Amazon Web Services (AWS), iOS 10+, Android

Storage

JSON, SQL Performance, Memcached, Redis, MySQL, Amazon S3 (AWS S3), Elasticsearch, Sphinx Search Engine, MongoDB, PostgreSQL, Azure Active Directory

Other

Front-end, Back-end Performance, Load Balancers, Ajax, Performance Optimization, Performance, Distributed File Systems, Gitolite, Client-side JavaScript Frameworks, Apache Cassandra, Linux Administration, Linux Server Administration, OAuth, RESTful Web Services, Scaling, Network Stack, Infrastructure, SSH, Secure Copy Protocol (SCP), HTTP Live Streaming (HLS), Async.js, DNS

2003 - 2007

Partially Completed Degree in Theoretical Physics

A. M. Gorky Ural State University - Russia, Yekaterinburg

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring