We've been creating eEngine foundations for ten years. Along with the approaching round anniversary of the company, we have set a new direction in which eEngine is heading. Let’s pivot!
Where are we from and where we are going
The history of eEngine began with an e-commerce platform. It was online shopping software, operating in the SaaS model. The platform operated under the eCommerce24h brand most of the time. We decided to close this product in early 2017. We gave up on this solution because of its bulk character, which turned out to be incompatible with our philosophy of communication with clients and our work culture. In other words, we wanted to tame larger monsters and be closer with the customers who decide to cooperate with us.
Speaking about the eCommerce, we tried to become friends with Magento. However, currently this system has too many disadvantages, and further going this way will not be pleasant either for clients (costs) or for developers (technological flaws of Magento). During one of our Magento implementations, we created Perseids.io, a fast and autonomous front for online stores. The experience of the users clicking on the shop with Perseids front is indescribable. The most common commentary is "WOW" in the context of the speed of the site. Our concept of the product proved to be right. You can check it with your own eyes when shopping at ManyMornings.com.
Business and technological dilemmas
However, we faced a considerable dilemma: what do we do with new implementations? How will we develop the systems of our current customers? Magento did not fit into our reality, and Perseids were "only" the storefront. On the other hand, writing every application from scratch would be the ramming of open doors and would not give any specific value to our company.
In the light of the above, we have made the only and right decision. We're working on a tangible product which will enable us to create and develop business applications wisely. It will also provide us with stable conditions for building a strong team.
We know that an eCommerce system based on microservice architecture will be such a product and as you probably guessed already - Perseids.io will be part of it.
Why did we choose this solution?
- Considering the reality in which we operate as a software house, a monolithic solution would limit the flexibility of creating new systems, and before mvp would see daylight, the whole concept could already grow old.
- Microservices allow us to expand our customers' current systems with new functions, here and now. Once created, the microservice can be used universally regardless of the technology in which the system is written.
- This way, we want to build our competitive advantage and sort out the technological chaos (many systems and technologies) in which we have been functioning for some time.
The best is yet to come
Translating company's vision into specifics: what are our plans for the immediate future?
When it comes to programming languages, we decided to stay in two main technologies. These are PHP and Ruby on Rails. As a part of the team, we selected four Team Leaders who will be responsible for key technology areas.
In order of seniority in eEngine, our Team Leaders are:
- Adam - Tech Leader of key eCommerce projects, Team Leader team of a team taking care of projects operating on our e-commerce platform software. Each of these stores currently operates on dedicated software, developed as a part of an individual development path. Adam is the undisputed champion of the most demanding tasks on the front and dry jokes.
- Krzysztof - for the good of the company, I can not close Krzysiek in one technology because his incredible problem-solving power is much desired in various projects. Krzysiek solves technical problems while playing Tetris on his cell phone. I want every programmer to be able to count on his support if the need arises. Having Krzysztof’s skills on board, I sleep peacefully.
- Bartek - Team Leader of Ruby on Rails (RoR) projects. People like Bartek are often said to be silent champions. Bartek is a developer who does not collect applause for hotfixes on the production of projects he gives to the customers. This is because the quality of his work is so high these bugs appear extremely rarely. He works in silence, but the effects of his work makes noise.
- Beniamin - will not only be Team Leader of the PHP team, but above all - the main architect of our microservices. Those who have had the opportunity to work with Beniamin know how attentive he is to the quality of the produced code, which is also accompanied by reflection on the business sense of the produced solutions. Beniamin takes on the challenge of designing the system and implementing it successively. Once I asked Krzysiek: "Why does Benjamin has no equipment (except a laptop and a mouse)?" looking at Beniamin's empty desk. Krzysiek replied, "He does not need it. He has everything in his head. " This is probably the nicest thing Krzysiek said about the competences of anyone. Ever.
What will happen next in our current projects?
As far as current needs are concerned, in all projects supported by us, we will implement or expand new functions as microservices. Microservices will be implemented in Symfony as well as in RoR.
How will it be in the case of completely new projects?
Let’s speak about our new project which will be implemented in RoR. It will be designed by Bartek, the most repetitive functions for various systems will be coded as microservices, while the part specific to a given business will be a typical RoR application.
While creating business solutions in the future, microservices which were created as a part of earlier implementations will be immediately available for us to use. Thus, the monolithic architecture of traditional solutions and the associated technological debt do not affect us negatively.
This way, we will have a range of microservices which we will eventually be able to use to create new systems or connect to the ever-expanding systems of other clients.
What can the eEngine Team expect in the nearest future? In relation with the introduction of new tools and a change in philosophy when it comes to the architecture of the software we produce, we will carry out many internal trainings which will expand the team's hard skills. We want those to consist of 2, maximum 3 people, and focused on actively acquiring and expanding knowledge.
The new technological vector we have chosen for eEngine is an ambitious, challenging, and - above all - very exciting direction for us as a company. Forces of the whole Team are needed for the final effect to see the daylight. The currently marked path is the most concrete, clear and captivating vision of the company for ten years of its existence!