Software developer vs. product developer. How to (and why) make a shift?

Anna Szemiot
Máté Széll Feb 21 2023 6 min read

Over the past few years, creating our own product has become one of Dynamic Solutions’s top priorities.

WebSight, a real-time DXP which we’ve been developing since 2020, captures data from multiple sources and transforms it into digital experiences optimized for lightweight global delivery. With a WYSIWYG CMS embedded into it, it can easily become an end-to-end solution for the entire company's digital presence.

It now has over a dozen people working on it on a daily basis, but this shift towards a product-focused approach was really made possible by the collective growth and gaining experience of our core team. 

What developing enterprise solutions has taught us

At Dynamic Solutions, the developers face complex technical challenges daily. These challenges have taught us to think beyond just writing code and consider the broader impact on our clients' businesses. By taking a more holistic approach, we have become more focused on our program's functionality and efficiency, rather than just thinking in terms of functions, methods, and classes. This mindset change in the core team has been crucial in our transition to becoming a product company. We have witnessed technical problems impacting organizations on a business level repeatedly over the years. Then we decided to tackle them.

Building an effective product team requires people who take the initiative to gain a deep understanding of the customer and their domain, rather than relying on others to clarify and hand off the information. This approach has led DS to building a solution that will empower organizations to seamlessly scale their online operations, integrate with innovative solutions, and create experiences at a level beyond what traditional solutions can achieve.

Entering the product developer’s path

What does the journey to becoming product-oriented look like from an individual developer’s perspective?  We asked Máté Széll - the Senior Frontend Developer of our WebSight CMS Team.

You are a young guy, but have been a developer “since forever”?

Máté Széll: Yes, I actually started as a kid - it just does not count as a commercial experience :). I've been working on programming-related projects since I was 14 or 15 years old. 

Started with microcontrollers, turning LEDs on and off, and then moved on to mobile and web development. I loved working with UIs and creating visually appealing designs. I pursued a career in this area and ended up where I am today.

Is WebSight your first time working on building a proprietary product?

Máté Széll: No, my previous company had a custom product as well. It was an application lifecycle management tool similar to JIRA, but for other industries. I spent almost two years there, so I have quite a bit of experience working on an actual product, as opposed to just being outsourced for client projects.

So, how is working with a product different from a typical scope of software engineering job?

Máté Széll: I think when you work directly for a company that owns the product, you feel more involved in the process, and the product feels like your own. You're treated as a core member of the product team, responsible for how it works and how it improves over time. 

As an outsourced developer, you get to work with different projects and clients. It's an opportunity to broaden your skill set and expand knowledge of different industries, but the tasks can start to feel repetitive after some time.

What makes WebSight CMS different from the projects you have worked on before?

Máté Széll: First of all, I think our architecture is quite unique. Although we use popular front-end technology like React, we still face various issues that are not present in other projects. WebSight requires us to constantly improve our own developer experience and provide additional tooling. These tools can help people create great pages using the CMS.

For example, at the moment I'm working on the inline editing feature.The purpose of this is to allow users to make quick changes or create content without having to refresh the page. It’s been a fun thing to solve because in the CMS editors, you typically have a static page. If you make any changes, the entire page or just a component refreshes on its own. Making the “live” changes work required some front-end expertise to solve properly, while also maintaining performance and not overloading the browser.

Working on features like this, how does the daily collaboration look like in the product team?

Máté Széll: Usually, when we receive a requirement - for example, the idea to provide inline editing functionality - the whole team sits together.

We hold a workshop and try to break the idea down into smaller chunks that we can handle separately. Then we determine the steps to move forward.

We plan for what's needed on the backend and what's needed on the frontend. Since we have a powerful framework on the backend and the team did a great job of providing even more layers on top of that, usually 90% of these features are implemented on the frontend, with just slight changes on the backend to support them.

So each team member is used to thinking beyond their own scope?

Máté Széll: Exactly. These initial meetings where we discuss the business requirements help us understand how these improvements have effects on how people use our platform to create those sites.

We feel that with each single sprint of improvements, we are getting closer to providing the necessary improvements for the people using our CMS.

Is there something about WebSight that you are particularly proud of?

Máté Széll: I think it’s more of a sum of small wins, month to month. But in general, I'm really proud of what we've achieved in the past year.

It’s easy to go to WebSight’s GitHub and check the versions from a year ago. When you compare it to the progress we have now, it's like a completely different product. 

It's not only on the UI or the backend, we improved as an entire platform. All the tooling is there. Our users can set up a website easily and get started working on the content and components.

How do you keep creative while working in a product team?

Máté Széll: Well, from a technical perspective, the front-end world is quite fast-paced. If you get stuck in a certain technology stack, or don't look outside to see where the industry is moving, you can quickly fall behind.

It's important to stay up-to-date with recent technology, and I usually spend my free time doing that. We also have allocated time for learning new technologies during work, so it's a good opportunity to improve projects. However, it's also interesting to learn about things outside of the day-to-day work that you do.

For the mental aspect, it's important to switch things up. Even if you try to stay up-to-date, it's usually for things that you don't work on during the day. Doing some backend work or learning about AI can be a refreshing change.

For those extra projects or learning, what are your favorite resources? Do you take courses or read blogs?

Máté Széll: I usually rely on the YouTube algorithm to recommend tech-related videos. I especially recommend the channel called Fireship, it never fails to provide new ideas and is pretty hilarious at the same time.

I also listen to the podcast called Syntax FM, where two front-end developers talk about both front-end and outside-of-work activities. I like trying out new things by creating small applications and experimenting with them.

It sounds like you’ve made learning a part of your life.

Máté Széll:  Absolutely. If you only think about work from 9 to 5 and don't give any thought to it outside of those hours, it's hard to stay motivated and passionate about it.

_
This conversation has been edited for length and clarity
Photo credit: Headway via unsplash.com