My name is Petar Stoyanov and I’m a sort of a full stack web developer with heavy focus on backend. I have strong background in the Linux system administration. I’m passionate about everything IT related ever since I own a PC (1995). I have about 7 years of experience as a system administrator, and about five as a developer. My driving force has always been making things work, and making them work well, and have adapted this into my career so far. I’ve always tried to learn, adapt and improve and have always focused on companies, that can provide me with such opportunities.
Career:
2023 – Present – AXS Marine (Sofia, remote)
Full stack web developer
At some point I felt that I need to do more than just WordPress sites, so I looked for a new challenge. It came with AXS Marine, a shipping industry information leader, where I’ve been battling and improving with Symfony, ExtJS and Kubernetes.
Details
Job Description:
The team I’m part of is responsible for two product modules, as well as development and maintenance of several ExtJS packages and Symfony bundles used these and other teams’ modules.
The day to day work in this company required me to get more acquainted with Kubernetes as most of the app platforms we work with are built with k8s. I also needed to refreshing my BASH skills, as we have a complex toolset for ease of building and modifying the development environment
Few months ago I got assigned in a project, involving integration with Elastic Stack and processing the logs of most of the company’s applications.
Technologies
- php 7.4/8.2
- Symfony 4.4/5.4
- Kubernetes
- Elastic Stack
- ExtJS
2020 – 2023 ScratchMM (Sofia, remote)
Full stack web developer
At the beginning of the pandemic I found myself without a job. At that time ScratchMM offered me a job opportunity, saving me in a dire situation. This is something I will never forget.
Here my tasks are developing and maintaining the agency’s clients’ WordPress (and occasional hubspot) web sites.
Details
Job Description:
Generally my task is development, styling, maintenance and support of the agency’s customers’ web sites. The majority of the sites are built with WordPress and using the company’s proprietary theme. My tasks come from creation of simple web sites, to integrating business logic into WordPress and integrating with customer and third party platforms.
My day to day tasks revolved around extending WordPress’ functionalities by creating custom plugins, Gutenberg blocks, fixes and improvements to the company’s proprietary theme among others. I’ve created several plugins (non open-sourced) that are used in several customer platforms.
Some things I can brag about is a platform for update of proprietary company plugins, a logging framework plugin, and several extensions for existing WordPress Plugin as well as a Lever integration plugin.
Technologies
- php 7.4
- WordPress core
- Gutenberg
- Foundation
- React
- jQuery
- JavaScript
2018 – 2020 Condor Gaming (Plovdiv)
Backend Developer
Got the opportunity to continue do develop myself and develop code at Condor Gaming. Working on company’s gaming sites, mostly squishing bugs and extending its current functionalities. It’s a learning experience, which helped me improve my PHP skills a lot, I feel way more comfortable working with databases, as my tasks demand it.
Got laid off at the start of 2020 pandemic with a very vague explanation.
Details
Job Description:
I was backend developer, mainly tasked with squishing bugs on the company’s web sites and extending their functionality. Most of the work I’ve done was on the main sites and their administrating panels
My day to day work consisted of extending the current functionality of the company’s web platforms, their integration with third party systems, game and payment providers, as well as adding or extending their existing functionalities.
Technologies
- PHP 5.6 / 7
- Zend Framework 1
- Mysql 5.6 / 8
- Bootstrap
- JavaScript
- jQuery
2018 Freelance, personal projects (Plovdiv)
At the time I desperately needed some time off and took a break from corporate employment and concentrated on personal and freelance projects.
Details
Job Description:
Took the opportunity to create the website for the caricatures I draw. It now pains me to see its code and visuals, but that were my capabilities at the time. I worked as a freelance sysadmin, mainly for a USA based company, taking care of their AWS based cloud infrastructure. Made some improvements to my expenses site. Took some courses in C#, made some basic apps, improved my drawing skills.
Technologies
- PHP 7
- Mysql 5.7
- WordPress
- Ubuntu Server 16
- AWS
- Docker
- Kubernetes
2017 Prime Holding JSC (Plovdiv)
Internal IT
Prime holding was the company, that provided me with the opportunity to return to Plovdiv. It was the classic internal IT job with all its challenges, when being part of the team that maintained offices in multiple cities, the network, VPN connection between the offices and providing tech support for the employees.
My time there ended right before the end of my trial period, as I was experiencing a severe burnout and honestly wasn’t doing a very well with my work.
Details
Job Description:
As part of the internal IT team, my duties were maintaining the company IT infrastructure – workstations, network, VPN connections and the Virtual Machines, used for staging and testing purposes. Years later I found out that a pet project of mine – a php web app providing a web interface for setting up DNS records, has become a major project for the company with several people involved.
Technologies
- Juniper
- Ubuntu Server 14, 16
- apache/ngnix
- Smokeping
- Zabbix
2016-2017 – FFW (Sofia)
Drupal Developer
I wanted a change in my career, and after undertaking a php course in 2016, I grabbed the opportunity to become a web developer in FFW. I must admit I started this job with huge expectations and probably incorrect mindset and didn’t perform well.
I almost gave up on development at the end and left the company, so I can work as a sysadmin again and return to my hometown of Plovdiv
Details
Job Description:
My tasks were modifications, customisations and addition of new features of customer sites. Often my job required extending the functionalities of Drupal and writing custommodules.
Technologies
- Drupal
- MySQL 5.7
- PHP 5.6, 7
- jQuery
2011-2016 – Opencode Systems Ltd. (Sofia)
System Administrator
Opencode Systems was the place I achieved greatest career growth so far. I had the opportunity to work on a large scale projects, I understood what real pressure is, what stress is. My task there was the smooth operation of the customer service platforms. Learned a great deal in supporting RHEL server platforms, work with MySQL databases, networking, basic routing, working with networking equipment, storage controllers, etc.
Details
Job Description:
The main task of the team, I was part of, was the 99.99% availability of the customers RHEL based platforms. This meant daily checks, regular updates, debugging, and assisting the development/QA team in finding and correcting any issues occured. Had regular night activities, when it was needed to perform maintenance, changes or upgrades to the customers’ platforms. Also part of my duties was regular one week long 24h support duties, when I had to react and take action in the event of customer emergencies.
I’ve provided support to some of the major companies in the Telecom industry, and I’ve been on business trip to two Asian counties at that time.
Technologies
- Red Hat Enterprise Linux
- Mysql (5.3, 5.6)
- HP rack mount and blade servers
- HP server tools
- HP Storage controllers
- HP Switches
- CISCO switches
- Dialogic SS7 and Media boards
- SS7 protocol
- Opencode proprietary software
2009 – 2011 – Agria S.A. (Plovdiv)
System Administrator
I consider my period in Agria as the official start of my sysadmin career. I had some basic knowledge in Linux, but there I had the opportunity to greatly improve my knowledge in installing, configuring, and maintaining Linux based workstations and Servers. Since for the majority of my period there I was the only IT – it was up to me to keep the IT infrastructure running.
Details
Job Description:
My main task was keeping things running. This meant workstations, servers, network and partially – surveilance systems. My job was the typical internal IT – If there was any IT related problem – I had to deal with it in short terms. I personally contributed with the installation and setup of a CentOS based router/firewall (beforehand they were using a basic D-link home router), network monitoring and was ordered to implement policies for access to certain sites, as facebook.
Technologies
- Ubuntu
- Slackware Server
- iptables
2002 – 2008 – Multiple (Plovdiv / Sofia)
Various
With the exception of my summer job of selling newspapers back when I was 10, I started working in 2002, and throughout that period I changed many jobs in many companies, mainly trying to find what I’m good at and what I like doing. This includes internet cafes, ISP, supermarkets, a chinese restaurant and many more, some of which contributed to my general knowledge with the computers and others – not at all.
Skill Set
Overall
Backend
Frontend
Disclaimer
Take this chart with a grain of salt. I’m perfectly aware that a person is unable to objectively evaluate himself and I’m no exception.
I’m also highly critical of myself, and thus I tend to lower my grade, since I prefer to compare myself with the best, rather than enjoying mediocrity. In order to evaluate a skill with 10 – I need to be a John Carmack with it.
Keep in mind that I’ve worked with quite a lot of different technologies, and this chart represents my current skill set. For instance – I considered myself pretty good with RHEL server administration when I worked in Opencode, but since I haven’t touched one for quite awhile – I hadn’t evaluated myself highly. This doesn’t mean that I won’t be able to quickly “recover” my knowledge.
For the above reason I’ve skipped quite a few of the technologies I’ve worked before. I’m confident that I’ll be able to regain everything I’ve forgotten, but I don’t consider myself good with them now.
PHP
MySQL
HTML
CSS
JavaScript (vanilla)
jQuery
React
WordPress
Gutenberg
Linux Administration
Networking
BASH Scripting
Ubuntu
RHEL
Approach
If I have to be honest – I’m not the fastest out there. I’ve always valued quality over quantity and thus like to perfect what I’m doing. I like to consider the requirements, think it through and deliver something I can take pride of.
As an oldschool nerd – my interest in everything computer related is the same as it was back in 1995, when computers in Bulgaria were rarity, information was scarce and there was no internet. Thus I engage my work with passion, which is both good and bad. It is good because I take my work seriously and I enjoy doing it. It can be bad, because being passionate, not achieving perfection can be frustrating, and we all know that perfection is easier said than done. Being passionate about my work can also wear me out and a long project with many hours of overtime can be exhuasting, can begin wearing me out I will begin losing productivity. Thus I need to have sufficient time to rest and recuperate.
I don’t enjoy overtime. I hold the belief that a project with overtime is a project with issues. As stated earlier – I need my rest and if I’m deprived of it – I start to lose my desire, my passion for my work and thus – my productivity. Yes, I understand that you can’t always perfectly plan, and often unexpected variables can push a project into the “overtime” zone, and yes – if the company I work for is treating me well – I will do the neccessary, but if overtime is the norm there – I tend to look for change.
I always aim for perfection and I can be vocal about things that are badly made/designed. Being honest and straightforward to a fault, I will often prefer being honest than being polite. I’m always up for a constructive debate, I don’t mind clashing views with others and I don’t mind changing my stance, if I’m proven wrong. I thoroughly belive that if you want to improve – you need to be open for criticism and should never let ego cloud your perception.
I believe in documentation. When I develop something – I prefer leaving it in a state, that it would be easilly maintainable by other people on the team. Whether if it’s comments in the code or an article in the project’s documentation – I prefer to make it easy for others. There are two main reason to do it –
1) I take pride in my work
2) It would save me time to explain it to others, who “inherit” this from me,
3) Would be easier for me to “return” to the project later on
4) I believe we should be nice to each other.
I believe in separating work and personal life. I don’t bring my personal life to work, and I don’t bring my work home. I don’t have the habbit of checking my mails or company messenger in my free time unless strictly required and for a limited time period. I do love my work, but it’s not the reason for me to live. To rest efficiently and be fully capable at work – I need to separate my personal life from work.
Personal Projects
In my spare time I work on several personal projects. They are:
Pest Caricatures – this is one of the first ever sites I developed and at the moment it shows. It’s currently undergoing a major rework, as I plan to use WordPress as a platform for it to ease its maintenance.
Car Expenses – My course project for a PHP course I took long ago – a PHP based web application for managing car related expenses and providing statistic data. Since then this app went through several reworks. And major improvement, since I continue to actively use it to calculate the expenses on my car. I had started reworking it to use React, but haven’t found the time to finish and deploy it.
This Blog – My personal page. Wanted to get a bit more familiar with WordPress, so this is my sandbox. And virtual portfolio.
The code for these applications can be seen in my GitHub page.
Interests:
As a typical geek, I have a large variety of interests. I would love to improve my knowledge and skills in the following fields:
- Mobile – at the time of writing (Oct. 2024) I’m getting familiar with mobile development. At the moment, I’ve done a small app to organize our trip in Italy in React Native, but I’ll try to get familiar with Flutter as well, as I want to make an educated choice between the two.
- Java – I’m currently studying Java, as I’ve had interest in this language for a very long time. At the moment I’m still learning and can’t share anything written by me, but in the future – I hope I’ll be able to.
- C# – Although – a bit unorthodox for being Linux and Open Source user – I really liked C# – seemed neat language, I still have a minor side project, written in C# and in the future might have a look at it.
Being a passionate gamer, I might one day turn my attention to Unity and the huge arsenal of tools it provides.