Stoyan Kyosev

Technical lead

  Varna, Bulgaria

A strong decision-maker with more than 15 years of experience in software engineering and application development. I took part in many web-related projects of different sizes and requirements, with hands-on development from scratch as well as dealing with legacy code.

I always strive to create clean and modular software architectures with strong adherence to OOP principles and great attention to technical debt. Ready to work closely with both teams and customers to identify the most efficient and beneficial solutions for process improvement.

    

Skills

Runtimes

PHP
Javascript
NodeJs
Docker

Libraries

Laravel
Symfony
Angular
PhpUnit
Puppeteer

Databases

MySQL
PostgreSQL
Redis

Methodologies

DDD
TDD
Scrum

Work Experience

Technical lead

Digitall (former Bulpros)  •  January 2020 - Present

• Lead a team of backend and frontend developers
• Interface with a cross-functional team of business analysts, developers and technical support
• Interact with clients and product managers
• Design and implement a custom modular content management system tailored to the company's business needs
• Hands-on development and maintain existing source bases
• Create unified development standards
• Allocate tasks and set deadlines
• Create high-level product specifications and design documents
• Research and plan for new technologies
• Assist the software architects division
• Basic DevOps

Technical lead / Solution Architect

Blockchain Solutions (acquired by Bulpros)  •  October 2018 - January 2020

• Supervise a team of developers engaged in a newly created social interaction platform
• Help debug and analyze code in order to improve quality and reduce technical debt
• Hands-on development
• Verify that the delivered code is a correct and effective solution for the requirements at hand
• Research, design and implement scalable applications for information identification, extraction, retrieval and indexing
• Explore new technologies and frameworks to support and enhance the architectural landscape of the project
• Prepare reports on team activities

Senior web developer

Svest Ltd  •  October 2008 - October 2018

• Backend and frontend development, database design and modeling
• Create, deploy and support custom e-commerce/CMS/CRM applications
• Hands-on development from scratch as well as dealing with legacy code
• Collect requirements and define project goals
• Troubleshoot and resolve technical issues
• End-user documentation of the delivered products
• Basic server administration
• Keeping up-to-date with industry trends and technology developments
• Contribute on open source projects

Web developer

Faktolodzhi LTD  •  May 2005 - September 2008

• Custom CMS development (frontend and backend)
• Supporting a legacy code base for a site in the sports industry

Notable projects

Borika e-shop (in progress) / Technical lead

A unified platform that enables the provision and sale of the company's products and services - digital certificates, signatures and timestamp, B-Trust, E-Faktura, Infopay. The backend integrates a variety of APIs that are developed in sync with Borika's team. The frontend is fully decoupled and is deployed in its own pods in the production environment.

Technologies used:

▪ PHP 8.1 / Laravel
▪ Javascript / Angular
▪ Postgres, Redis
▪ Docker / Kubernetes

Sofyiska voda  / Technical lead

A full rewrite of the current website, CMS and CRM of the biggest water service supplier in Bulgaria. The product is based on Bulpros CMS. It integrates with SAP for invoice management. The topology includes load balancing, database master/slave replication, job queues and monitoring services.

Technologies used:

▪ PHP 7.4 / Laravel
▪ Javascript
▪ MySQL, Redis
▪ SOAP

Bulpros CMS (internal) / Software architect, Lead developer

A lightweight, developer-friendly CMS. It provides a minimal base that offers basic functionalities, which can be customized according to specific business needs. Goals:

▪ serve as boilerplate for CMS-like projects
▪ serve as ‘best practices example’ when building apps with PHP/Laravel stack
▪ allow integration into existing Laravel projects to serve their CMS needs

The code is non-opinionated in terms of generating and displaying content. The developer should glue and extend functionality manually, instead of relying on configurations for view logic. The backend is decoupled from the frontend, which allows the front-end implementation to be chosen on a per-project basis.

Technologies used:

▪ PHP 7.4 / Laravel
▪ Javascript
▪ MySQL, PostgreSQL, Sqlite

Kucoinplay / Technical lead

A social interaction platform, where users are rewarded for performing different tasks on various social networks, e.g. 'Tweet a message', 'Comment on a Facebook post', 'Join on a Reddit thread' etc. There are gamification activities like competitions, leaderboards, lotteries, giveaways, mini-games and other realtime actions that incentive users to participate. All of the social activities are validated by bots, which crawl/scrape social networks in order to match the user actions on the social platforms with their respective competition actions on kucoinplay. Technologies used:

▪ Laravel/Postgres for CMS, competitions/games management, statistics
▪ websockets for realtime updates on rank changes, lottery draws, notifications or custom messages
from admin
▪ nodejs/puppeteer for implementation of headless browser scraping engine with parallel processing,
automatic proxy rotation. Used for Facebook, Instagram and Medium
▪ Redis for implementing distributed locks
▪ MySQL for storing bot validation data and scrapper stats and elastic search for Twitter data
▪ nginx for web server and load balancing
▪ Python for implementing telegram scrapper
▪ Docker for implementing Redis apps instances with rotation to avoid api rate limiting

Burnengine (docs.themeburn.com) / Main developer

A framework that adds advanced layout and cms features to OpeCart (e-commerce project). It has a unified control panel, which delivers a consistent experience across different themes and stores. BurnEngine stands as a layer between the store and the theme – it manages a huge amount of options to customize your shop, while keeping backward compatibility with third party modules and extensions. 

It is a codebase/SDK to build extensions and themes upon and takes care of every aspect of the theme – appearance, performance and data migration etc. It also brings system-wide features like performance optimizations, SEO tools, an internal plugin system etc. There is a custom-made visual drag&drop page builder with advanced color inheritance capabilities, which allows creating whole themes without touching code. The project is built with PHP/MySQL on the backend and jQuery/Bootstrap on the frontend.

fensternorm.com / Main developer

A product configurator and shop in the field of windows and doors industry. It allows the configuration of different aspects of the product's properties. The main challenge is handling the dependencies of hundreds of interconnected features of the products, which form their capabilities and price. There is also a crm  for order tracking. 

The project uses PHP/MySQL for building a custom MVC framework that serves the CMS/CRM backend. NodeJS/Puppeteer is used for taking snapshots of the frontend configurations to embed them in pdf. There is also extensive JavaScript usage for configurator interactivity.

phonearena.com / backend developer

A phone review site. It has large and extensive CMS that controls every aspect of the site. The technology stack on the version I worked on was PHP/MySQL (with custom-made MVC framework) for the backend and jQuery for the frontend.

Education

2002 - 2007

University of Economics, Varna (Bulgaria)

Information Technology

1996 - 2001

Yoan Ekzarh High School, Varna (Bulgaria)

German Language