Introduction

In this blog post, I will describe how I founded BitBag on top of Sylius and Open Source. It is more-less everything I talked about during the Sylius meetup in Madrid at The Cocktail. It’s split into two parts. The first one concerns my use-case as CTO & developer. The second one will be more about being a CEO at the company, which does Open Source and great projects on top of Sylius.

Sit down, relax and enjoy the post 😉

$(whoami)

My name is Mikołaj Król, and I am from Poland. Because my primary language is weird, you can just call me Nick. I am 21 years old, and I’m the CEO & Co-founder of BitBag – the eCommerce development company which does its software based on the Sylius platform and components. I am also the CTO of Anqan’s – growing fashion company with an eCommerce store based obviously on Sylius software, which I will talk about later. The first thing to notice – Although I am a business person, I do love coding, especially in an Open Source way. That’s why much of our work is Open Sourced, and I am planning to lead a growing “Friends Of Sylius” organization. It is something you will read more about in the second part of the blog post

Why Sylius? How it all started?

Ok, so first things first. My adventure with Sylius started more than a year ago when I was working on my startup product in Symfony. I was obsessed with this framework so much that one day my colleague told me that I should check Sylius. He said that although it is under hard development, I should love it. I thought, ok, why not, tried to install it, saw a 500 and said it’s a mess. It was one of the biggest mistakes I ever made in my entire life.

Three months later, after my startup failed, my friend from Germany told me that he’s starting his business in Poland. After years of experience as a sales director in the fashion industry, he thought it would be nice to make some profit for himself with the contacts he made in the past. He became a retailer. By the time I already had a strong eCommerce development background, and I was still a developer with passion. Knowing it, he asked me to become a CTO of his business and lead an eCommerce website development, which will have the potential to grow in incoming years. For some reason, I thought that even having that much experience with Symfony, it would be nice to try Magento 2. Don’t ask me why.

How I transformed 480 hours of work with Magento 2 into 160 hours in Sylius?

This topic looks like a byte-click. But actually, it’s not. So here we are. Back in a year before. Great, new technology, new opportunities, new skills. I guess each developer knows that feeling.

But my enthusiasm started to fall when I first had to wait a minute to load the page.

I thought ok, maybe it needs that much performance. I Googled for the best solution for Magento performance issues, turned on all the cache systems, and it was at least ok.

The first step of the project was the implementation of a template. It was the second time my enthusiasm got a little bit lower. As a Symfony developer, I was used to a templating engine that does not mix PHP directly with HTML. As you probably guess, I am not a close friend to pHTML. But I thought – hey, just because you are not used to it, doesn’t mean it is terrible. So ok, I told my employee to work with it. We integrated the template and got to the next step.

Here Magento had its last chance to make me fall in love with it. After six weeks of work, it was time to implement ERP integration. Here’s when I needed to go deeper into the documentation and the core code itself, and I got frustrated. For me, the module development process was way much overengineered, and by the time Magento didn’t even have a deployment process. I wanted to die. Luckily I reminded myself about Sylius. It was my last resort. I remember that evening. I was sitting on my sofa, installing it, and praying for it to run. And I made it. The feeling was like driving for the whole life with VW Beetle, one of the slowest and ugliest cars on the earth, and jumping into Ferrari Italia. I knew I couldn’t drive it every day. I knew it wasn’t practical. I knew it was expensive. But I loved it, and I wanted it in my garage. That’s how I felt jumping from Magento into Sylius.

Here’s what I did – I called Patrick, my employee, showed him Sylius, and asked him what he thinks about it. He shared my vision. That’s when my enthusiasm has grown twice compared to the one I had with Magento. I called the project CEO, told him about it, and asked him if we can switch because I will die if I’d need to work one day longer with Magento. He said, “Do what you want. I trust you.”, which you can understand as “Do what you want, but once you fail, I will cut off your balls.”. Although from the business perspective, it was stupid and risky, I trusted Sylius. After 160 hours of work, we integrated the template and started rapidly working on ERP integration. Thank you, Sylius, for saving my sausage.

Why Sylius worked for me?

Ok, but here’s the key thing – I’m not saying Magento is a wrong tool at all. Undoubtedly it has many advantages that prove its current success. There are many use-cases where Magento is a perfect tool to use, but for me, Sylius was just a better option. The other important thing to note is that I made progress so fast, mostly because I knew Symfony quite well before. Many of the hours I spent while working with Magento were consumed by learning this technology.

But here’s the exact answer to the “why” question – I needed something for modern eCommerce development that can grow with the business. I didn’t want my platform to be packed with average quality plugins and transform it into B2B in one week. I wanted to start with the MVP and develop it in the future for my needs. In the world of SaaS, PaaS, and microservices, I wanted my platform to be flexible rather than plug’n playable. I also knew that having a good code architecture, I can control matters in the long term and is hard to achieve with other platforms. With Sylius, it was possible to write the business plan for incoming months without being afraid of some third part software breaking it or what’s even worse – causing the regression in the whole process. It was the case I had faced more than once while working with popular eCommerce software in the past.

Conclusion

Sylius is an excellent tool for modern eCommerce projects. Nowadays, eCommerce has changed since the date other popular solutions were developed, and its flexibility is its attitude to become the one we would love to work with in the future.

So what’s the exact use-case?

Let’s go back to the motor word for a second. Imagine you are an engineer and you’re having a Fiat Panda and want to have a Maserati GranTurismo. Would you like to try transforming Fiat into the Maserati or get the right tools, materials, and build it from scratch in an enjoyable way? Trying to change Panda into a sports car wouldn’t probably end the way you expect it unless you expect it to fail.

But why would you like to have a Maserati? Maybe you’re ok with your small practical car, and hey, there’s nothing wrong with it. See the point?

So here’s the key thing:

Sylius is not a platform. It’s a framework.

It will provide you the right tools to build your Maserati starting from the prototype. It will probably take some time, but in the end, you will end up with something you wanted, and you won’t be surprised.

Summary

From the developer’s point of view, for me, Sylius was the best option, and now I can sleep being calm and ready for my business to grow. From the business perspective, giving so much trust to Sylius was risky, but it was worth it. I’m now building two brands on top of this technology, and I’m sure this was the right choice for my employees, clients, and I enjoy it now.