Inside ABOUT YOU
Get to know our growing family. Follow our Inside ABOUT YOU blog series and catch a brief glimpse of the people behind Germany’s most exciting e-commerce project!
Vol. 2: Robert — Head of Development, Shop
What are your first impressions after 3 months with ABOUT YOU?
On the first day we already went through the role definition, expectations, and discussed the onboarding plan in detail, which included meeting stakeholders and company key players. I also met other leads from dependent teams to deep dive into architecture, data flows, and discuss how to handle cross team topics. I had short feedback cycles during my first weeks to align expectations and define next steps to complete the process.
From the beginning, it was straight into cold water. I immediately took on a lot of responsibilities, absorbed a lot of information, and had tons to do, so I was certainly never bored. My productivity shot up quickly and the work has been fun and inspiring. The atmosphere here has been very warm and welcoming. As a result, I’ve gotten to know a lot of people and quickly made friends…so it’s not like just a new job, but rather kind of a new life.
Tell us a little about your job at ABOUT YOU.
My role is Tech Lead and the official title is Head of Development (Shop), so basically I’m responsible for the management of all technical things on our side. I think to keep it short — I’m here to enable the team to deliver a cutting edge, innovative product, based on a high quality codebase and high implementation speed.
I’m writing technical concepts for new features we are going to implement. I work closely with the developers to make that happen. I also collaborate with other tech leads in different departments to discuss topics that transcend teams, so we are all aligned on our technical strategy for implementation of new features.
Let’s say that in general, I’m responsible for having a solid product that’s online and available to our users.
How would you describe your mission as Head of Development?
Our mission, as we’re pretty much focused on the shop frontend, is to always approach our work with the customer perspective in mind. What does the customer want? What innovative, cool, new features can we implement and deliver a truly awesome product? Everything we do should attempt to answer those fundamental questions. We do this by constantly challenging ourselves on both the customer facing and technical sides, and are always keen to try new things.
How about coming up with new features? Could you walk us through the process of how ideas turn into something a user will eventually work with?
Coming up with new features falls within the scope of a product lead’s responsibilities, so that’s where most of the requirements are coming from, but what I can say is that we try a lot of stuff. If we have an idea, we don’t spend 12 months building and perfecting it in the basement. We try to reduce it to a minimum, asking ourselves “What’s the minimum viable product?”, then implement the first version, putting it out mostly as an A/B test. So, part of our users will see the feature and be able to interact with it. From here, we are measuring if and how it is being used. In the event of positive test results, we will continue trying to evolve the feature and make it perfect. If not, we end up scrapping the idea. Of course, sometimes things won’t work as planned, and for that very reason it is important that we don’t spend too much time trying to perfect a product for its first release. It could be that we find out afterward that few or no one wants to use it. Getting a fast result allows us to decide on whether or not we’ll make improvements.
Why development? When did you discover it as your passion?
I think, as with most of us, it started early. So, as a child I was interested in the topic, but at that point it was more thinking about how the computer games I used to play were made, and how they worked, and if I could actually make my own. I began playing around and I think my first real programming experiences started when I was around the age of 13. That was with PHP, so I started doing my own fun projects, some challenges, tools for managing homework…you know, things that seemed cool at the time. So I started building those things, reading, and followed a lot of online tutorials. I never lost that fascination with trying out new technologies, new ways of building things, improving upon what has already been done, and just learning new skills and concepts in general. At some point, when I founded my own agency, I discovered I really like the responsibility of guiding a whole team to build interesting products, which is an important part of my job now and something I really enjoy.
Any of these early projects you would like to share with us?
I had one project which was kind of big, which I ended up starting over and over again, as I kept learning new and better ways to accomplish what i wanted. It was somewhat similar to Facebook, and at the time, the platform wasn’t very popular. My idea was more oriented toward family. It never reached a point where it was production ready, but that wasn’t necessarily the plan anyway. For me, it was just a great learning experience and something cool to play with. In the end, my goal was just to build something which utilized cutting edge tech, but wouldn’t actually be used by people.
What would you say are the most important qualities for someone in your role, let’s say in general and then specific to your role?
I think what’s most important as a head of development is technical expertise. Even though I don’t program as much as I used to, and there are a lot of management tasks involved, I think you need to have a solid foundation of hands on experience, and a background in solving the same problems that your developers will face.
It’s also important to challenge developers, the ideas they come up with, and to know what they are talking about. Having been there before in similar situations, you can quickly evaluate the pros and cons of a particular concept to find the solution. Another quality I believe is important is having a more analytical or solutions oriented style of thinking. You should be able to understand a problem without significant delay, come up with solutions, and focus on the business impact without getting lost in technical details. It’s helpful to know what is absolutely necessary, versus what is not, and then prioritizing appropriately. With an understanding of my team member’s ideas and solutions, I can provide constructive and useful feedback and know what the impact would be.
Describe a typical day for us.
It’s hard to describe a typical day. Virtually the only constant factor is our standup meeting, for which I’m always in attendance, but apart from that, every day looks different. My days mostly consist of planning meetings with developers, where they present new feature solution approaches, discuss, and estimate them. There’s also a lot of general discussions with the developers, addressing ideas, questions, and improvements. There’s routine meetings with our CTO for example, which help us decide how we want to build a product from a technical perspective. There’s conceptual meetings with other tech leads if we have large projects, so that we can integrate smoothly from all sides, and sharing appointments between developers to go over what we’ve learned and what we can do better. Aside from that, there are job interviews to conduct from time to time. Then if time allows, I can get into some hands on work, but this is typically in the evenings.
What’s the most exciting project you’ve worked on lately?
The rewrite of our shop in React, which is a really cool thing, since we’re basically starting on a greenfield and can rethink everything we’ve done so far. Developers love to work with cool new technologies and a chance to clean up the things we didn’t like before in the current implementation. With this unique opportunity, everyone involved can bring their own ideas to the table.
React is exciting because it’s a relatively new approach to building online shops. There are of course, a lot of React applications out there, but there aren’t many which are doing a fullstack online application. Building a shop as a single page application gives us more freedom to implement cool and useful features, like personalization. Most frameworks that have been there before work fine as well, but you tend to be left with a lot of limitations and hard to maintain code — but React, especially with Redux, gives you the chance to build a high quality product that’s maintainable, adoptable, and which can be consistently iterated on with less inherent limitations.
What keeps you going? What do you like about your job here? What’s the most rewarding aspect of your job?
I think the most rewarding thing for me is when you put a lot of work into something, time and effort, then throw it out into the wild and see that people use it, customers are happy with it, bringing benefit to both them and us — that’s the most awesome and rewarding thing for me.
Aside from your desk, where do you go to get work done?
I like the new basement area. It’s pretty nice to work there if you just want to get something done. It’s not like regular office space, but more like meeting space, and has a very calm and concentrated atmosphere.
How do you prefer to spend your free time?
That’s a good question. I think the cool thing about being a developer who really likes developing is that it’s not only a job, but also a hobby. I still end up coding on the weekends, building my own things, trying out new things because it’s enjoyable. The good thing is that in your spare time there aren’t any meetings, so you can actually sit down for a couple hours and try something while just relaxing and concentrating. Aside from that, I like to hang out with friends, maybe chatting at a cafe for a few hours. I also find a weekend full of Netflix to be totally fine.
Before realizing development was your passion, what did you imagine doing when you grew up?
I don’t know for what reason, but I actually wanted to become a lawyer, but then this whole programming thing was a little more interesting and pragmatic, I would say. The good thing about programming is that you can just try it out. You can’t really break anything, you don’t need a lot of money…it’s free and there’s a lot of information online or books where you can just try things out, build things, and put them online.
Are you interested in teaming up with Robert and the rest of our shop team?