AlNedorezov / cv

Aleksandr Nedorezov's CV

Home Page:https://alnedorezov.github.io/cv/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Aleksandr Nedorezov

Software engineer, MSIT-SE

Email / LinkedIn / GitHub

πŸ‘¨β€πŸ’» Work experience

Expert in Software Engineering @ PochtaTech (Apr 2022 - Present)
In Pochta Tech I continue to work on projects for Russian Post, most notably, I design and lead the implementation of an Internal Development Platform, continue to take part in the development of solutions for calling customers via voice bots, contact center, hyperlocal delivery, various courier services, and until Feb, 2024 I lead the engineering of Order Management System, which I have originally designed.

As Expert in Software Engineering I am more involved in the development of the Software Engineering communities in the organization, most notably Java Developers Guild, which I represent as a leader of its local branch. When working with professional communities I am helping with preparing development standards, skills matrices, interview scenarios, questions, and test cases, as well as with formulation of competency check-list for teams evaluation.

Instruments and practices I am using for work:

  • Backend: Java 21, Spring (WebFlux, Web, Security), Lombok, Reactor, r2dbc, Reactive Kafka, Spring Cache, Json Schema, Python, Kopf
  • Frontend: JavaScript, React JS, MobX, CSS Modules, Svelte
  • Design: Figma
  • Testing: Java 21, JUnit 5, Rest Assured, Mockito, k6, testcafe
  • Infrastructure: Docker, Kubernetes, GitLab, Apache Maven, Apache Pulsar, Apache Kafka, PostreSQL, Redis, Nginx, Keycloak, Puppet, Gitlab CI, Zabbix, Zipkin, Fluentd, Prometheus, Grafana, ELK, IIS+CriptoPro (GOST TLS)
  • Architecture: Hexagonal, DDD, CQRS, SOLID
  • Modelling: UML, Archimate
  • Management: Jira, Tempo, Confluence

Mentor @ Yandex Practicum (Jan 2022 - Present)
Mentor at Java development department

  • I supervise groups of 40-100 students throughout their entire learning process;
  • I help to sort out what remains unclear by answering questions in Slack;
  • I conduct group consultations, where I sort out difficult questions on software engineering theory with students;
  • I help not to lose motivation and support students during their studies.

Head of E-Commerce Solutions Development Division @ Russian Post - Post Technologies - Department of Digital Technology Development for E-Commerce (Feb 2020 - Apr 2022)
Leading the Engineering Team at the Department of Digital Technology Development for E-Commerce.
During my work at Russian Post I have designed & lead the engineering of Order Management System, and have participated in the launch or re-launch of solutions for calling customers via voice bots, contact center, hyperlocal delivery, various courier services, etc.

I have participated in the work of technical communities, most notably Java community. There I have been helping with preparing skills marices, interview scenarios, questions, and test cases, as well as with formulation of competency check-list for teams evaluation.

Mentor @ Yandex Practicum (Nov 2019 - Aug 2021)
Mentor at Backend/Python development department

Supervised a group of 30-60 students: communicated with them in Slack, conducted group and individual calls (on technical issues, finding motivation, creating a career map, etc.), compiled and conducted webinars (~1 webinar per month), organized students into groups to work on open-source projects that they created from scratch for practice, where I was acting as a "customer" with business requirements, and as mentor who helped to organize SDLC.

CTO (Chief Technology Officer) @ OWN.space (Aug 2017 - Dec 2019)
In this position I am involved at all areas of Software Development Lifecycle and am responsible for such areas as Software Projects Management (Planning, Tracking, Context & Requirements Management, Configuration Management, Risk Management). Software development teams Management, Software systems Architecture, Cloud Systems Administration, Software Quality Management (backend APIs (Java), AI services (Python), web user interface (JavaScript, React)), as well as Mentorship of Software Engineers, defining career paths and keeping developers achieve their career goals, and providing technical expertise in ongoing communications with customers. More than 40% of my work time a week I am directly involved in the engineering of the Java backend for the own.space platform, and most business-critical features of Python services, staying up to date with the latest technological trends.

Solutions stack for the backend API: Java 8, Play Framework 2.x, Ebean, Amazon S3, Redis, Postgre SQL, Mongo DB, websockets, JUnit, Stripe Billing.
Solutions stack for AI Agents & services: Python (3.6, 3.7), flask, FireStore (firebase), Postgre SQL, Redis, jinja2, firebase Admin, beautifulsoup, IBM Watson NLU, Google Cloud APIs + docker, kubernetes.
For projects with both stacks described above I have set up tools for static code analysis, automatic testing and continuous deployment of solutions on servers (TeamCity, SonarQube, bash, etc.)
For different projects I have use cloud solutions for working with Virtual Machines, Load Balancing, Network Management, RDBMS, NoSQL databases and Data Storage from Google Cloud, Amazon Web Services, Azure, T-Systems and other providers.

Team Lead, Product Owner, JavaScript Engineer @ Freelance (LabelThem project) (Jan 2017 - Aug 2017)
LabelThem is an online markup tool aimed at building image datasets for computer vision research, and integrated with Yandex.Toloka crowdsourcing system. Our team follows "Disciplined Agile" software development process. I perform three roles: "Team Lead", "Product Owner", and "Team Member" (detailed description of roles and process can be found at http://www.disciplinedagiledelivery.com/roles-on-dad-teams/).

In this project I run requirements (functional, quality attributes, and constraints) gathering and management, regular team meetings (Stand Up & Coordination Meetings), conducting retrospectives at the end of each iteration, and holding meetings with the customer. Moreover, I took part in the construction of the architecture of the system, its approval by the customer, as well as in products implementation, testing, static analysis, code reviews and documentation. As an issue tracking system we use youTrack, which I have configured at the inception phase of the project.

Solution stack: JavaScript (EcmaScript 6), Bootstrap, jQuery, NodeJS, Bower, Grunt CLI, Python.

Scrum Master, Android Engineer @ Freelance (Did I? project) (Aug 2016 - Feb 2017)
"Did I?" is a habit tracking companion. It tracks how often a user repeats his or her habits, collects statistics, presents it as a simple chart, and regularly notifies a user on his/her achievements.

Solution stack: Java, Android, ORMLite, Play Services, Gradle, Git, Jira.

Team Lead, Python/Django Engineer @ Freelance (University Picker project) (Sep 2016 - Nov 2016)
University Picker project represents a web-site, the purpose of which is to help high school graduates to choose the university and the specialization based on the Russian State Exams results, the location of the university, the standard of living, average salary sizes, the number of preferred job offers, the cost of rental housing and hostels in that location.

In this project I was responsible for gathering and managing requirements, conducting team meetings, building a database structure, implementation of specialties descriptions fetching, automatic mapping between vacancies and specialties, and also for deploying the application on the server.

Solution stack: Django, Python, PostgreSQL, JavaScript, HTML5, CSS3, Bootstrap.

Java/Android Engineer @ Innopolis University (Jun 2016 - Jul 2016)
At Innopolis University I developed the InnoMaps application as a summer internship project.
InnoMaps is an Android application that provides indoor navigation functionality for the Innopolis University.

I was faced with the following tasks:

  • implementation of a spring application server in the format of a RESTful web service, in which the logic from the client application should be moved in the future;
  • design of a database for the application;
  • transferring data from an xml file into the database;
  • implementation of an API to retrieve data from the database in the format of REST controllers which provide CRUD capabilities;
  • implementation of the client application module responsible for retrieving data from the database server through the implemented API;
  • connection of the ORM to the client application;
  • implementation of the client application module to synchronize the local database with the server database;
  • modification of the user interface of the client application to use data from the new database.

Achievements: I have managed to complete all of the assigned tasks (listed above).

Solution stack: Java, Android, Spring framework, ORMLite, JGraphT, Play Services, Jackson, Gradle, H2, SQLite, Ubuntu Server, Git, bash, Docker.

While working on the project our team followed Scrum project management framework, and used such tools as Jira, SonarQube, and Toggl.

Project's source code is available on GitHub.
Android application: https://github.com/AlNedorezov/InnoMaps
Server: https://github.com/AlNedorezov/InnomapsServer

Java/Android Engineer @ Freelance (Software Engineering Insights project) (Jan 2016 - Apr 2016)
Software Engineering Insights project is about development of the mobile application which informs users about best practices in Software Engineering, and motivates users to learn best practices in Software Engineering. The application provides the following functionality: useful daily advises on how to perform projects in software industry, possibility to choose development process in quantified manner, categorized articles on Software Engineering.

Solution stack: Java, Android, Spring framework, ORMLite, Gradle, H2, SQLite, Cent OS 7.

PHP Engineer, Java Engineer @ Freelance (Publications Management System project) (Sep 2015 - Dec 2015)
In Publications Management System project our team have developed a complete system to manage publication records.
The overall project was divided into three phases:

  1. Design and Implementation of Relational Model using an existing DBMS (PostgreSQL, UML);
  2. Development of web based user interface, which offers CRUD capabilities to interact with the database created on phase 1;
  3. Development of own DBMS based on page storage logic in a single file with indexing algorithm of B+ tree and replacement of the DBMS used on phase 1.

Solution stack: PHP, PostgreSQL, jQuery, SQL, UML, Git

Web Engineer, Web Content Manager, Team Lead @ Freelance (Jul 2009 - Apr 2013)
Responsiblities:

  • Supervision of the design, content, promotion and engineering of websites based on content management systems

Achievements:

  • Successfull experience of managing a small distributed team
  • Worked on 8 projects from initiation phase to maintenance

πŸ‘¨β€πŸŽ“ Education

The Master of Science in Information Technology - Software Engineering
Innopolis University - Innopolis, Russia (2015 - 2017)
Activities and societies: Instructor at Math club

The Specialist Degree - Mathematics and System Programming
Ulyanovsk State University - Ulyanovsk, Russia (2010 - 2015)
Field of study: Theory of Probability and Mathematical Statistics
Grade 5.0 (5.0 is the highest possible)

The winner of the annual scientific conference in English "Global and local problems of modern society"​. The speaker of the scientific conference "Stochastic models in theoretical biology". Ulyanovsk State University, 2013. The winner of the annual scientific conference of the Faculty of Mathematics and Information Technology, 2015

Bachelor of economics
Ulyanovsk State University - Ulyanovsk, Russia (2012 - 2015)
Grade 4.65 (5.00 is the highest possible)

Advansed training course, Translation for special purposes
Ulyanovsk State Technical University - Ulyanovsk, Russia (2013 - 2015)
Grade 4.82 (5.00 is the highest possible)

Advanced training course, Teaching Mathematics and Information Technology
Ulyanovsk State University - Ulyanovsk, Russia (2014 - 2015)
Grade 5.0 (5.0 is the highest possible)

πŸ“š Professional development, courses

Project Risk Management @ State University β€” Higher School of Economics (2021)
Credential ID 184288

Fundamentals of effective project management. Project initiation @ State University β€” Higher School of Economics (2021)
Credential ID 184074

Development of anti-crisis leaders and teams of the digital economy in the competencies of data-based management @ Innopolis University (2020)
Credential ID 1ΠšΠ›Π˜Πš-201762

Methods and technologies based on working with data, focus "Introduction to data-driven management" @ University 20.35 (2020)
Credential ID У2035 ПК 000000949

Development of web-services in GoLang @ Stepik, Mail.ru (2019)

Mentor School @ Yandex.Practicum (2019)

Startup School by Y Combinator @ Y Combinator (2018)

edX LFS101x: Introduction to Linux @ LinuxFoundationX (2016)

PHP, MySQL @ Infinite Skills Inc. (2015)

Entrepreneurship in IT, the basics of creating a business @ IT start, Ulyanovsk State University (2014)

Ulyanovsk IT Learning Center - .NET development @ IT Learning Center / itc73.ru (2012)

Ulyanovsk IT Learning Center - PHP development @ IT Learning Center / itc73.ru (2012)

Ulyanovsk IT Learning Center - Web Development @ IT Learning Center / itc73.ru (2012)

Ulyanovsk IT Learning Center - php, MySQL, C# @ Nonprofit Partnership for promotion of the Development of Internet Technologies, Youth Initiative Center (2012)

Ulyanovsk IT Learning Center - Web Design @ IT Learning Center / itc73.ru (2011)


πŸ’¬ Languages

πŸ‡·πŸ‡Ί Russian: Native
πŸ‡¬πŸ‡§ English: Proficient

About

Aleksandr Nedorezov's CV

https://alnedorezov.github.io/cv/