Artem Aleksashkin

PDF Download

PHP, Python, Golang, JavaScript, TypeScript, SQL, Linux

https://github.com/alexartwww

Summary

  • 12+ years of experience in building commercial software and services
  • Leading projects and teams
  • In my previous company was leader of a team of 5
  • In total I built 7 commercial projects from the ground and supported 18 existing commercial projects

Skills

  • Projects:Leading, Planning, Specifications, Presentations, Decomposition, Time Estimations, Gantt charts, PMBOK
  • Soft:Team leading, Hiring, Interviewing, Building, Mentoring
  • Languages:PHP, Python, JavaScript, TypeScript, Golang, Bash, HTML, CSS
  • Technologies: Symfony(1, 4+), Laravel, Django, Angular, jQuery, Less, Sass, REST/RPC/Web services, WebSockets, ExtJs, PHPUnit, PHPStan, Jasmine, Ansible, Docker, DockerHUB, Kubernetes, Iptables, Vagrant, VirtualBox, KVM, Xen, mdadm, postfix, scikit-learn
  • Tools:Github, Jira, Asana, Graphana, Munin
  • Continuous integration:CircleCI, Drone, Jenkins
  • Source Control:Git, Mercurial, SVN
  • Methodology:Scrum, Kanban, TDD
  • Databases:MySQL, MongoDB, ElasticSearch, PostgreSQL, Neo4j, Memcache, Redis, ClickHouse, Presto, Sphinx
  • Queues:RabbitMQ
  • OS:Linux(Ubuntu, Gentoo), Windows, OS X
  • IDE:PHPStorm, PyCharm, GoLand

Work Experience

Senior Software Developer, Sxope Inc., Tampa, FL(remote)

May 2022 - present

Projects: UI, backend apps

Accomplishments:

  • Static analyzer has been added on ci for all projects. Each team decides for itself when to turn it on on build lock. Added instructions for implementing a static analyzer for projects.
  • Logging project stabilized, covered with tests and cleaned from unnecessary code and static errors (analyzer added to CI)
  • A test plan for the UI project was developed and a plan document was written
  • A review of technologies for possible automatic testing of projects was carried out. The Cypress library seems promising, which will allow you to run API tests on CI and e2e. Conducted consultations with the team on possible solutions. Cypress seems to be usable by all members - both testers and UI and backend specialists.

Team Lead, Kubient Inc., New York, NY(remote from Moscow)

May 2019 - March 2022

Project: UI, team of 3

Accomplishments:

  • Standardized 3 UI projects(dockerized, updated PHP, added tests, added deployment flow, added environment, added documentation, added xdebug config): development speed growth up to 210%, entering into projects for newbies speed growth up to 400%. Ready to scale the team.
  • Developers become up to 100% more flexible: every of 3 developers can develop each of 3 projects.
  • Developed new UI 2.0(PHP, Symfony 4, API Platform, Typescript, Angular) in 3,5 month. Business can grow with a new account system, can give api to partners and become more flexible and modern. Old projects was included in UI 2.0 and old projects were terminated
  • Reworked UI reporting system: UI can handle up to 2000% more data in a browser including sorting and searching data.
  • Wrote documentation that decreased onboarding new employees up to 100%. All common questions and problems are there.
  • Participation in company processes: remote team work, hiring, tickets, CI, demos, data investigations. Result: understanding business needs and targets.

Team Lead, Iponweb Inc., Moscow, Russia

Mar 2016 - Oct 2018

Project: UI, team of 5

Accomplishments:

  • Unified 8 projects and decreased number of developers from 20 to 5
  • Reviewed work & planning process: releases without delays up to 1200%
  • Planning resources for each 3 months, result: team capacity planning
  • Feedback analyzing from project managers, result: expected predictable results
  • Reviewing tech debt of all projects (analyzing, planning, removing), result: full tests coverage, no bugs for existing features, optimizing performance(up to 10x)
  • Rewriting critical parts of code, result: growing project speed(less latency in UI), better customer experience.
  • Hiring new developers(Designing test tasks and interviewing), result: 2 new programmers in team passed trial period
  • Working on team motivation (For each team member personally), result: tech targets and personal targets are done
  • Training team(Books, courses), result: team members passed python interview.
  • Personal growing: testing different methods of team work.

Lead Software Developer, Ecommercemarket, Moscow, Russia

Jun 2014 - Oct 2015

Projects: Website and pricelist ads service, team of 2

Accomplishments:

  • Built scalable architecture on PHP/MySQL stack
  • Collected big goods database with joint algorithm for price comparison
  • Built search in 3,5 millions goods by price, category, brand and shop(in some categories more)
  • Automated payments for content managers
  • Administration, backups, monitoring
  • We had 300 000 requests per day for our contextual advertising(B2B solution)
  • Dedicated server, Ubuntu(14.04), RAID(mdadm), LVM, IPTABLES, Munin, BIND, KVM(VMs)
  • NGINX, PHPfpm 5.5.9, MySQL 5.7, Memcached, Redis, Sphinx(SphinxQL), RabbitMQ, UI: built grid system and UI components. migrated from SphinxSearch to ElasticSearch, moved part of data to MongoDB

Senior Software Developer, Svyaznoy, Moscow, Russia

Nov 2010 - Jul 2013

Projects: Price control system and competitors price collection, team of 2

Accomplishments:

  • Developed a price control project that increased discounts setup up to 1000% faster.
  • Developed competitors' price collection project that increased price collection up to 7500%.
  • Increased speed of stock service up to 10000%.
  • Writing specifications, working with other departments, working with external contractors, priority checking, compliance with deadlines.
  • Working with existing code, reverse-engineering, finding solutions for code, architecture, administration. Testing, debugging. Responsibility. Support for projects in PHP 1C-Bitrix, Python / Django, PHP Symfony, interaction with the 1C servers. Bash, PHP, Python 2.6, Linux Gentoo / Fedora / Ubuntu / Debian, MySQL, PostgreSQL.
  • Development and construction projects in the loaded PHP / Python. Development of schemes of interaction projects, ETL. Optimization projects, performance and efficiency of the script.
  • The ability to understand the problem, to discuss and work out a solution. The desire to bring the project to a working state. Understanding business processes, business intelligence. Specifications, approval, distribution of tasks, work with people.

Education

GeekBrains, Moscow, Russia

2020 - Present

  • Department of Artificial intelligence

Moscow State University of Electronic and Mathematics, Moscow, Russia

2004 - 2010

  • Master's degree in Computer Science
  • Department of Automated control systems
  • Research area - Error correction in controllers under strong interference

Moscow State University of Electronic and Mathematics, Moscow, Russia

2006 - 2010

  • Bachelor in Manager
  • Department of Economics
  • Research area - Comparison of full and simplified tax systems in Russia

Education Center "Specialist", Moscow, Russia

2009

  • PHP. Level 3. Professional development on PHP 5.

Staff Development Center, Moscow, Russia

2012

  • Category management

Recommendations

Paul Roberts

Founder and CEO at Kubient (NASDAQ:KBNT)

Artem is a high-level professional. He accepted old projects for support, launched a large new project and organized the work for all of his team. The project included modern technologies and accounting for the current infrastructure. As the project was launched, presentations were made and answers to all questions were received. Transparent documentation is written for both programmers and users. The new project includes a flexible system for working with different types of clients and users. Data visualization, dashboards and the RTB system management system turned out to be at a high level.

Nina Zarina

Head of Publisher Trading Platform (PTP) at IPONWEB

Artem is a highly professional software engineer and efficient leader who can reliably solve complex, complicated technical tasks. For two years, I've worked as a team manager with Artem on advertising platform solutions for a few international customers (USA, Japan, Netherlands). Our team's development cycle improved a lot under his supervision. He wrote detailed instructions with all possible actions for each task. He worked closely with the developers' team to explain the correct estimation's importance. They even started "planning poker" for each release. All of these led to an impressive result: our releases were delivered on time, which led to an amazing relationship with our customers. Thank you, Artem, for the great job!