Backend PHP Developer
InterUp
Total years of experience :9 years, 4 Months
InterUp is a platform for career and project solutions. It helps define the professional path and launch a startup.
What InterUp does:
- unites initiative students
- holds interesting events
- allows to form and develop a startup (packaging ideas, drawing up a business plan, team building, the opportunity to get support)
- helps to build a dream career (skill development, resume builder, selection for internships, gaining experience).
It is a highload project. Has service architecture to reduce load. php8.1+ with new functionality. docker. Slim Framework. Bundle with GraphQL for documentation and testing. Bundle with MongoDB. Bundle with Swagger. And a lot of native code on top of these according to PSR, code-style. phpstan for code quality control. Mandatory testing. Kubernetes. Rich frontend stack.
My responsibilities:
- development of service-oriented server business logic / RESTful API for the needs of the frontend team
- development of GraphQL documentation (stand for testing requests to RESTful API)
- testing, debugging RESTful API of individual application services
- refactoring of existing code, getting rid of bad practices
- code quality support, code-review
- coverage of business logic with unit tests
- Swagger documentation development
- working with MongoDB storages
- using git
- work with GitLab (pipelines, jobs, deploy and others)
- deployment of environments for testing with subsequent testing of completed tasks.
Technology stack: php 8.1+, Slim Framework, docker, MongoDB, GraphQL, redis, PHPUnit, phpstan, php-cs-fixer, Swagger, git, Kubernetes.
The workflow is organized:
- developers are divided into teams: backend, frontend, several team leads
- navigation map and platform design in Figma
- task sprints in Asana
- multiple git repositories
- rent of servers in the cloud service
- capacities are managed by Kubernetes
- corporate mail and other services
- Slack for communication
- daily team calls.
Full cycle of individual software development. Starting from concept development, design and drafting of software requirements and ending with software publication, testing and tuning in a production environment and further support and maintenance.
My responsibilities:
- development of product concept
- design
- drawing up software requirements
- prototype designing
- backend development
- frontend development (including crafting of layout)
- search for specialists
- delegation of tasks
- technical negotiations
- hosting administration
- server administration
- database administration
- integration of third-party services
- version control system (VCS) and VCS tools
- evaluation of works
- access control
- deployment, testing and configuration in a production environment
- support and maintenance.
SirenaBus.com is a service for finding and buying bus tickets in Russia, the CIS and Europe.
Highload project. The project uses a variety of relational databases for different purposes. To assess the scope of the project - the main database that the API uses consists of more than hundred of related tables. Full-text search is used for some sections of the platform.
My responsibilities:
- server logic development
- RESTful API development for the needs of the frontend team
- integration and configuration of documentation for RESTful API
- interaction with the database
- full text search
- unit tests development
- cli commands development (including for cron)
- git management.
Stack of technologies: php 7.*, Laravel, NGinx + php-fpm, MariaDB, Sphinx, RabbitMQ, Redis, PHPUnit, git.
The workflow is organized by:
- task sprints
- time tracker
- git repository for backend
- development server
- databases for "production" and "combat" modes
- corporate mail
- team chat.
The company sells products of leading manufacturers, as well as assembling of personal computers, graphics stations and servers under its own brand 'REGARD', which has a conformity certificate of the 'Rosstandard'. The company cooperates with more than 250 partners. The company has its own online store, the range of which includes not only new items, but also proven, recommended models of computer components. Since 1993, LLC 'Regard' has been the official distributor of 'SAMSUNG Elecrtonics'. The company has gained extensive experience in the Russian telecommunications market.
LLC 'Regard' deservedly included in the TOP 5 of the independent ratings among online shops of computer electronics in Russia and the near abroad:
- http://markakachestva.ru/best-brands/2484-luchshie-internet-magaziny-kompjuternoj-tehniki.html
- https://hardprice.ru/store.
IT specialists of the company are engaged in the development and maintenance of two internet resources: one - for consumers (https://www.regard.ru/), the another - for internal staff. I'm developing the backend of both projects.
The first project was implemented 'from scratch' without using any frameworks. Stack of technologies: php 7.3+, MySQL, VCS: git, Redmine.
The second project was implemented using Laravel framework, but uses its own abstract universal layer, allowing to achieve even greater acceleration of development and getting rid of many *Model, *Controller, *DataTable, *Repository classes that have the same type of structure. Stack of technologies: php 7.3+, Laravel 5.5, VCS: git, Webpack, Marionette.js, Vue.js, Redmine. In the project we fully use OOP paradigm, new php 7.0+ functionality, design patterns; following SOLID.
My responsibilities:
- development of the backend
- development of the RESTful API for the frontend team's needs
- development of Unit and functional tests, test control
- database administration
- work with VCS in the 'command mode'.
I took advanced training courses on the basics of project activities in August 2016.
I had conducted a computer practical work on the basics of programming in C/C ++ (2nd year ofstudy) since September 2016.
I had conducted classes on the basics of project activities (1st yaer of study) in the spring
semester of the 2016/2017 academic year.
I had been beginninh to conduct classes on internet technologies (3rd, 4th years of study) in
addition to the discipline above since February 2018.
3rd year of study should learn to work with the CLI of Unix-like operating systems, deploy the
necessary server software, configure different web servers and develop client-server software
using programming languages without different libraries, frameworks and third-party software
solutions.
4th year of study should be able to work with Unix-like operating systems' CLI, deploy the
necessary server software, configure different web servers and develop client-server software
using frameworks, third-party libraries and other software solutions.
Inspection, maintenance, issuance and reception of electric trucks.
Accounting for the issue and repair of electric trucks in the software system.
Work with people.
The company is developing Internet applications for various purposes. There were implemented two web sites during the period of work in the company.
My responsibilities:
- fully backend developing of the project (system objects model's designing; creating the project database on the basis of this; implementing the application business logic, console commands and interaction with the file system, microservices, etc.);
- DB administration;
- VCS management;
- testing;
- setting up a web server;
- setup and administration of Linux server.
Stack of technologies: php 7.0+, DBMS: PostgreSQL 9.6, Symfony, Foundation 6, VCS: git, web server: NGinx + php-fpm.
The company is engaged in redirecting internet traffic to attract network users to advertiser resources.
My responsibilities:
- in general, the development of an internal resource for collecting and analyzing statistics and statistical indicators from different partner systems, and later from different sources of traffic;
- implementation of tools for loading data from remote APIs;- development of a convenient and intuitive web interface (optimization of controls, implementation of navigation, and so on);
- database integration;
- automation of the formation of printed forms from the content of web pages;
- setup and administration of a cloud web server (VPS);
- DBMS setting and database administration;
- management of the VCS;
- data transfer to the server;
- maintaining the technical documentation of the project;
- testing functionality.
Stack of technologies: php 7.0.9, DBMS: PostgreSQL 9.5, Symfony, Twitter Bootstrap 4, VCS: git,
web server: NGinx + PHP-FPM.
I was developing an experimental mobile application for iOS operating systems (iPad and iPhone devices). The company has its own web application and a server RESTful API. The product had to interact with third-party APIs of maps, weather, exchange rates and metrics. The mobile application has a modular structure and uses powerful third-party libraries such as 'Alamofire' for network data exchange, 'SwiftyJSON' for convenient and fast work with the JSON data structure, 'SWRevealalViewController' for implementing side navigation in the application, 'Realm' - is the fastest, non-relational database for mobile devices, 'FontAwesome' and 'Google Material' - for modern design.
The project is written in Swift 2.2, CocoaPods is the dependency manager. At the implementation stage of the modules, I used various Swift programming techniques due to the richest language architecture. First of all, these are 'new' for many popular programming languages of the data structure - tuples, dictionaries, sets that open up the flexibility and wide possibilities of writing beautiful and structured program code. Secondly, Swift is a protocol-oriented language, and protocol's declaration and delegation is important. Plus, I learned to develop, following the experience of developers from different world 'platforms' for programming, and singled out for myself a number of win-win implementations that would look good in any project. This concerns, first of all, modern design and animations.
The company is engaged in the procurement, processing and transportation of scrap metal, has a corporate website for managing business processes.
My responsibilities:
- implementation of the content controls;
- implementation and optimization of interface elements (up to the implementation of widgets);
- automation of the formation of printed forms from the content of web-pages;
- database administration;
- testing scripts.
Stack of technologies: php 5.6+, DBMS: during the existence of the project, the site has interacted with MySQL and PostgreSQL, Symfony 2+, AngularJS, Twitter Bootstrap 3, VCS: git.
The company is engaged in the procurement, processing and transportation of scrap metal, has a corporate website for managing business processes.
My responsibilities:
- implementation of the content controls;
- implementation and optimization of interface elements (up to the implementation of widgets);
- automation of the formation of printed forms from the content of web-pages;
- database administration;
- testing scripts.
Stack of technologies: php 5.6+, DBMS: during the existence of the project, the site has interacted
with MySQL and PostgreSQL, Symfony 2+, AngularJS, Twitter Bootstrap 3, VCS: git.
School of Natural Sciences, Department of Applied Mathematics, Mechanics, Control and Software)
School of Natural Sciences, Department of Applied Mathematics, Mechanics, Control and Software
Institute of Physics and Information Technology