Software Engineer
I am a software engineer with over 8 years of professional experience. I believe in being self-sufficient and I always try to stay up-to-date with the technologies I use. I think that as software engineers, we are there to solve problems, and we should be able to quickly learn and adapt to whatever is required in order to complete the task.
I studied software engineering at the Software University in Sofia, Bulgaria during high school (remotely) and landed my first job at Oxxy just 2 weeks after graduation. My main area of expertise is fullstack web development with Angular, React, Next.js, Vue and Node.js. I've also used React Native and a bit of Ionic. Throughout the years I've had the pleasure to work on various projects, getting exposed to a wide variety of technologies which I believe is really beneficial as it expands one's grasp.
Technologies I've worked with
My professional journey over the years
The project I worked on while at IKEA was the so-called ROIT - Range Offer Input Tool - which was a tool to allow users to optimize their range of articles exposed in physical stores based on key performance indicators (KPIs). When I joined the project, I discovered that their codebase did not follow most best practices and they had a lot of technical debt. Since the project itself was not that big, I decided to push myself and rewrite their entire frontend and backend in order to become easier to modify and extend. Before I left the project, everything was written to the best of my ability. Our tech stack involved GCP for cloud services, Docker, Kubernetes and Terraform for IaC, BigQuery, CloudSQL and Redis for database storage, a uvicorn Python server with FastAPI on the backend, Vue on the frontend, Jest for unit tests and Cypress with msw.js for end-to-end tests. We were using Github with Github Actions as our CI/CD pipelines so the tests were being run upon a pull request as a sort of an acceptance criterion. I was initially hired as a frontend developer, however I ended up doing fullstack development, so I had complete ownership of the features I delivered.
While at LogicFlow, I did not actually work on their core product. Instead, I was onboarded onto a project of a client of theirs which was basically a banking software written in AngularJS on the frontend and Java on the backend. My role there involved migrating the AngularJS part to Angular v12+ as well as writing unit tests to cover the functionality. We were using BitBucket pipelines for CI/CD so the tests were being executed upon a pull request towards the main branch.
Taxback Group is a family of companies providing tools for tax and VAT management. While there, I worked on an in-house project with Angular where I had to implement response caching on the client side using IndexedDB as well as extend their existing UI and work on bug fixing. Later on we began building a React Native application to basically port that project to mobile (I was the one who suggested React Native and my team lead liked the idea so we went for it). I am not entirely sure about their overall tech stack as I did not get entirely involved in it.
I have been working as a freelancer on the side whenever I have enough capacity. My favorite stack is React with Next.js, MongoDB Atlas, SST and Pulumi for IaC and AWS for cloud services, I've also been using Angular, Vue, Node.js and NestJS, depending on the project requirements.
WeTrack is a platform that provides project and risk management solutions. I implemented a substantial part of their user interface using Angular v2+. We had designs for everything which were provided to us in Zeplin, and this meant creating a whole bunch of custom components to properly adhere to said designs, which gave me the opportunity to get my hands really dirty building all of them thus gaining quite some expertise in building components from scratch. Even though I was more involved on the frontend, I also did some backend work for certain features (one of which involved a filtered Gantt chart view) and I also helped for the backend refactoring when we decided to do that. Our tech stack consisted of Azure for cloud services, .NET Core with Entity Framework on the backend, SQL Server for our database and Angular v2+ on the frontend, and later on we started using Ionic in order to implement PWA capabilities with proper gestures on mobile.
Oxxy is a site builder like Wix. We wrote mostly vanilla JavaScript and later on we started using Angular and Vue to implement e-commerce store functionality. On the backend they were using PHP with Laravel, however I never worked on those as I was just starting off and did not have any experience to be able to tackle those.
Experience with individual technologies