- Name: Ilya Levin
- Birth date: 06.12.1992
- Family status: married
- LinkedIn: ilyachase
- Backend:
- PHP - Symfony, Laravel, Yii2, Slim
- Golang
- Frontend:
- React, redux, axios
- Bootstrap, HTML5, CSS3
- Tests:
- PHPUnit, Codeception
- Jest, Selenium
- Storages:
- MySQL
- Memcache, Redis
- MongoDB, Apache Cassandra
- ElasticSearch
- Async
- RabbitMQ, beanstalk
- Containerization, CI\CD:
- Docker, docker-compose
- Github actions, Bitbucket pipelines, drone.io, Jenkins
- Infrastructure:
- Nginx, PHP-FPM, HAProxy, Bugsnag, Sentry, Grafana, Graylog
- Profiling:
- NewRelic, Blackfire, Pinba, xDebug
South Ural State University: Bachelor of Mathematics and Information Technology
Right after finishing my bachelor's degree, I started working as a junior PHP developer at a popular high-load News site called 74.ru. I wanted to go exactly in this company because it's a complex product with a lot of daily viewers, therefore with sophisticated distribution, storing, and caching solutions. By the end of the year, I was promoted to Senior PHP developer. After one more year, I was proposed to become a team lead, and I've chose to take this responsibility. I managed a team of 6 great developers. There was the entire spectrum of development - not only code but also architecture and design of applications, infrastructure, CI \ CD, improvement of the development process (integrated SCRUM). Along the way, I never stopped learning, and I chose freelance as an instrument to learn new technologies and get more real-life experience. Here you can see some of my recent freelance work.
At 74.ru, our team was actively developing a self-written engine to serve all news sites of our network.
Besides News, some ads platforms were working on the same engine: domchel.ru (now integrated with N1), autochel.ru (integrated with auto.ru), so I earned experience with relatively sophisticated real-estate and cars-selling systems.
The engine itself was more than 1 300 000 lines of code: at that moment, it was the most sophisticated system I worked on ever.
As a result, my skills have grown rapidly in a short amount of time, I've learned a lot of different approaches to implement fault tolerance, load balancing, organizing code to serve multi-domain multi-service product, and a lot of high-load "tricks" (e.g. changing structure of very loaded MySQL tables, working with long-running scripts (more than one day), intelligent stale-caching, etc.).
Last year of my work at 74.ru, our team was supporting a complicated forums board called NN.ru. Since it's a big and old legacy project, my solution there was to integrate a modern PHP micro-framework called Slim right in the same repository and to start re-factoring old stuff along with implementing new features. As a result, business tasks wasn't stuck, but we also made a good job on the improvement of the current codebase.
After that, I started working as a full-time remote PHP-developer at Realforce. Here I've learned more deeply the beauty of Symfony, and now I actually use it in every side-project. Also, worked more closely with Elasticsearch and liked it a lot.
Overall, I would say that I love modern frameworks and clean coding, but I'm not afraid of difficult tasks related to old and big legacy projects.
The one thing that was tickling me recently is that my frontend skills were relatively old: jQuery and Bootstrap v2. So I decided to learn one modern frontend framework, and I've chose React. In my case "learn" is to successfully deliver at least one real commercial project using this technology, and I've succeeded in that - I've made a survey webapp for a German school.
Besides the actual coding, I have experience with multiple infrastructure and monitoring solutions, such as Percona, MongoDB cluster, replication, sharding, etc.
I have some starting experience with Kubernetes and would like to work more with it.
Have the experience with optimization of queries and finding bottlenecks.
My motivation: Engineering is my passion. I want to be a part of something that people love and use every day.