We continue our quest to understand what it’s like to work in an eCommerce company for various professions. Last month, we spoke to product designers. This time, we’re digging deeper into the code.
The importance of eCommerce continues to grow, especially after the pandemic moved the majority of shopping online. So does the diversity of the whole industry. A good front end is crucial for success in online shopping. More projects and more competition in the industry make the performance of both applications and teams crucial.
Adrian Gąsiewicz and Adrian Zniszczyński, our front-end developers, shared their experiences with us. Without a doubt, they gave us two different views on the eCommerce industry.
Although Adrian Gąsiewicz graduated in business informatics, he wasn’t expecting that he would one day be a front-end developer. He became interested in IT during a database course. He started to dig deeper into this topic, got an internship, and worked with Oracle databases for two more years.
He successfully applied for an internship in Japan and traveled to Tokyo for a six-month internship. He worked on a currency exchange platform, which seemed like a jump into the deep water, but that’s when his adventure with Angular began. He also started learning TypeScript and Node.js and got familiar with testing and the product release pipelines. The learning curve was steep, but after six months of practice, he got a full-time job offer.
“Japan is like a second home for me. The work culture there is different than in Poland. For example, you have a nine-hour workday and less paid vacation. But the main thing is the approach to the client and attention to detail. This taught me how to talk to the client and the people I work with. The experience of working in a culture where customer service is a top priority is beneficial on a daily basis to me. I know how to respond to all of the client’s questions. I try to look at things from their perspective, what they may want and expect. I try to predict what users may feel about the UI so I can give some feedback or improve the experience.” – Adrian Gąsiewicz
“It was then I started to realize that eCommerce is a very specialized branch of programming, different than all others, mainly because there is a large variability of projects. You often face a short deadline. For example, you need to build a store that has the potential of an application and is constantly developed. You get to work in large, often very complex, projects.” – Adrian Zniszczyński, Front-end Developer
The quality of the code is as important as deadlines and KPI’s. As a matter of fact, it’s essential for good business and satisfying the users and, in effect, the client. With a lot of different projects and the fast pace of changes, it’s important to make the programmers’ work as smooth as possible. That’s why, at Divante, we focus on useful tools, such as Vue Storefront, which accelerates the implementation of various eCommerce projects.
“I have been working in Divante since January this year, and the main reason I decided to join is that I saw many important and logical decisions made here. Before, I was a bit afraid of eCommerce. In previous companies, I had the impression that it is easy to lose your cool in implementing a large number of projects. Sometimes, it comes down to running with an empty wheelbarrow, as we say in Poland. In other companies, with the rush related to meeting deadlines for the client, there is no time to look at the code and processes. Divante, on the other hand, was not afraid to invest in improving it.” – Adrian Zniszczyński
Vue Storefront is a framework that works well for most eCommerce projects. It’s an open-source tool, so everyone in the front-end community can contribute. Vue Storefront is a useful tool when working on a couple of projects simultaneously. But not all developers work like that. Adrian Gąsiewicz is involved in one of the SAP Commerce projects, so his view is a bit different.
“Angular was the first framework I had worked with. I also worked with Vue and React, but Angular fits me best. Angular comes with a set of tools, a consistent coding style, and implements good practices. In large projects that last a long time, the rotation of developers with different skill sets may be high.
“Angular applications have a common ground, modules, components, services, etc., which makes maintenance easier and allows newcomers to start working quickly with a codebase. Moreover, the concepts you learn in Angular translate into other frameworks, so it’s a great starting point for further learning.” – Adrian Gąsiewicz
The everyday work
No two days are alike in the eCommerce world, and our front-end devs know that best. But in IT, it’s more than expected, and that actually lets us all learn every day and keep us on our toes.
“There is no such thing as a typical, standard working day. When I joined Divante I expected it to be more one-track, but I was surprised. Every day is completely different. Recently, I did a performance audit, and my goal was to show the strengths and weaknesses of a solution that was designed by someone else. I had to outline the direction in which we should develop in reference to efficiency. There’s not always time for it, and here, I could focus on it completely. It was great talking to the client from the business side to take advantage of my wider knowledge. Sometimes I also help colleagues with completing tasks if deadlines are tight.” – Adrian Zniszczyński
Also, the teamwork looks different. Every team is built differently, so you never know who you’re going to work with.
“Since I joined Divante, I have collaborated with a team from Canada for one year. Now, we work together with a team from China, so I start my day early, around 7:30. I do code review and reply to emails. At 10:00 we have our daily 10-minute standup, as we work in Scrum. There are also planning, review, and defect hunting sessions. We have flexible working hours, so if I need to run some errands during the day, then I work longer or the next day I start earlier.” – Adrian Gąsiewicz
Most of our teams work with some level of Scrum. We know that Scrum is a framework. It’s supposed to make them work better and easier. If it’s not making sense, we don’t need to follow it to the letter. It’s not a one-size-fits-all solution.
“We work in Scrum, although eCommerce, to me, is one of the industries where it doesn’t always work. We have the basic Scrum elements, like daily standup, retrospectives, and planning. In my opinion, though, Scrum works best in product companies where you work on one application and the deadlines are distributed differently.” – Adrian Zniszczyński
“Me and the other front-end dev I work with create a pretty independent team. We have a Scrum Master, but most of the tasks we create ourselves. Currently, we are close to completing the migration of the SAP Commerce CMS tool from AngularJS to Angular. We cannot migrate everything at once, so we follow an iterative process.” – Adrian Gąsiewicz
The right methodology and framework are important but not as important as good teamwork and the trust we create.
“Because of the codebase migration, I usually need to work with other people’s code. I have no problem with it because I can learn and discover new things during that. Another great way to increase your knowledge is to teach others. The newcomers often require training, and I’m glad to do it. It’s also the best way to test how much you already know. I love that I’m learning all the time, and every day I get to know some new concepts. Even seemingly small things always give me a dopamine shot.” – Adrian Gąsiewicz
The learning curve
To say that you need to learn constantly if you want to work in IT is an understatement. It may come as a surprise, but our front-end developers’ interests go beyond the front-end world.
“Recently, I’ve become interested in devops. I see it not just as a job but rather as an approach. When the responsibility related to hosting and deployment is passed on to the developer, it can go two ways. Either completely ruin the project or enforce more order. I’m glad that in my career I was able to learn devops-related subjects, was involved in CICD design, and cleaning up artifacts. I also see myself as an architect one day.” – Adrian Zniszczyński
“As I haven’t finished a typical CS course, I sometimes go back to the foundations to make sure I fill my knowledge gaps. Recently, I have been practicing data structures and algorithms. Web security is another very important and interesting topic. I refresh my knowledge by participating in a course my colleague has created. I feel that this topic should be emphasized more. Everyone expects you to know that by default, but learning it takes time and these concepts require practice.” – Adrian Gąsiewicz
Technology is not the only thing you need to master if you want to make a career in IT. You work with people and for the people, so you need to consider this factor as well.
“I happened to be a team leader in previous companies, and I like it very much. The main challenges for the team leader in an eCommerce company are estimation, people rotation, discovery phase, communication, and planning.
“To have good relations and communication within the team, it’s important to have a firm definition of done, know what we mean by code review, unit testing, etc. Eliminate things early that may be misunderstood later.” – Adrian Zniszczyński
But don’t assume that it’s all sunshine and roses! Working in an eCommerce company can be challenging, but the challenges come with a lot of rewards and satisfaction.
“The biggest challenge for me is product optimization and cooperation with other teams who develop extensions. I strive to find the most elegant and future-proof solution under given constraints, so making wise trade-offs might be challenging.” – Adrian Gąsiewicz
The conversation we had with both Adrians showed us how diverse eCommerce can be. That you can approach eCommerce reasonably, despite tight deadlines and wanting to satisfy the client. We know that this is a job worth doing.
If you want to join the eCommerce world, be sure to check out our current open positions at https://divante.com/career