Refactoring of a time entry application and mentoring of Schwarz’ OutSystems engineers
The best stories are those with multiple layers. This business case even has three. It started with performing a refactoring of a time entry application for Schwarz – the holding of among others Lidl and Kaufland – followed by mentoring their OutSystems team by a mentor from LINKIT, who in his turn has no problem to empathise with them. Thus, a story in three layers that is also a perfect showcase of the advantage(s) of having a mentor for an inexperienced OutSystems team.
How it all started
Jimmy Iliohan, Solution Advisor at LINKIT explains where it all started: “For any company, a Time Entry application is tremendously vital. At Schwarz this app was built by their own OutSystems developers. However, because they didn’t have all the necessary OutSystems skills by then, it wasn’t working at speed and consisted of several flaws. To put this in scale. The Time Entry application at Schwarz is used daily by up to 500.000 employees worldwide to report their working hours, which means there is a lot of data to be processed.
Jimmy continues: “To fix this Schwarz reached out to LINKIT to see if the app could be repaired. However, when OutSystems engineer Carlos Conde did his review he concluded that a full refactoring (rebuilding) would take less time and therefore would be cheaper. This gave a very nice result. Instead of a slow working app with malfunctioning features, Schwarz’ Time Entry application is now fast and much more user friendly.”
The next step after the refactoring was solving the issue that caused the problem in the first place: the lack of experience from Schwarz’ two junior OutSystems developers. Especially for this, LINKIT has been offering a mentoring service for years.
Barend Coetzer, who has been mentoring Schwarz since April, explains the concept. “Together we run biweekly sprints. This means we plan ahead for two weeks, we work on the set tasks and we evaluate what went well and what didn’t. Sometimes we meet more often when there are tricky problems that directly need a solution. In that case I’m like a trusted advisor about the technical possibilities.”
“The idea behind this concept is for them to do it themselves as much as possible. During your tasks you encounter a problem, you try to solve it yourselves and you only keep questions about the stuff you really can’t work out yourself. This makes the sessions very effective.”
Solving problems with different tools
Not all the problems the two OutSystems developers encounter are technical. Barend: “Outsystems certifications maybe cover 20 percent of what you can learn. What it doesn’t do is teaching a good way of working, which is the other 80 percent. It’s like you’re just being taught how to use a hammer. That’s nice, but it means you solve every problem with just that hammer, while there are often many other ways of dealing with it. Each leading to a different outcome. Mentoring service is a way of filling your toolbox, where you learn how to solve problems with the best tool possible.”
“And especially for OutSystems this is really important,” Barend explains. “Because you mainly use logic, you may think it’s quick and easy, but you can screw up just as quickly. It’s possible to set up the whole architecture in a day. And to build an app on top of it in another one. But you are really screwed if it wasn’t built well at the start, because it’s difficult to change the whole application afterwards (and that’s if you already know where it went wrong).”
The mistakes you don’t see
Barend: “To explain this further: developing in OutSystems consists a lot of linear thinking, like chess. Errors often occur when you don’t know you are making one, and that’s the biggest issue. What you get is a bad result. And finding that specific error yourself requires a lot of going back and forward. Time you often don’t have. It goes way faster if you can consult someone with more experience who directly sees where you’ve been going wrong, explains the issue and teaches you how to avoid this in the future.”
A recognizable challenge
This is also where Barend’s work as a mentor collides with his own story and background. “I’m from South Africa which is also where I first started working with OutSystems. I enrolled in it from a business role when my company was looking for someone who had affinity with it. After a while, I became the highest certified OutSystems developer in my company, while I was still a junior. This was possible because in South Africa there are only a few OutSystems developers. For me this was quite a struggle. You are responsible for building an application and solving problems you have no clue of how to solve them, but you make it work. I would love to have had a mentor back then who I could ask for advice on more of the Outsystems intricacies.”
“At some point I concluded that if I wanted to grow further in my career as an OutSystems developer, I had to leave my home country. I joined LINKIT, moved to The Netherlands and now I’m exactly doing this very role as a mentor. It’s ironic, but it also helps me to empathise with the developers at Schwarz I’m mentoring. It’s like looking in the mirror and I know exactly what difference it makes for both them and the company.”
Barend will continue mentoring Schwarz to at least the end of the year. The main challenge Barend and Schwarz’ developers are working on is to improve the Time Entry application even more. Barend: “Carlos did a good job of getting the app trimmed down and refactored, but when we continued building on it we saw plenty of room for improvement. To name a few; it was possible to book hours outside of employees own cost centre and people could book hours ahead in the future. This gave room for all kinds of errors and made accurate reporting a challenge.”
Barend continues: “In July we were able to deliver our improvements into production. With these changes in, project managers started to test the upgraded Time Entry app. And because we made quite some changes, they had a couple of questions. In those times I can reassure them that this is working correctly, but with a different approach. And I’m able to explain how. It proves once again that mentoring is not only very beneficial for the developers, but also for the company as a whole.”
“LINKIT helps our employees grow”
At Schwarz they agree with Barend. “We are very satisfied with LINKITSYSTEMS as a partner for the implementation,” says Zdenek Prochazka, Head of Rapid Application Development at Schwarz in a comment. “Our cooperation is characterized by openness and transparency. The feeling that we are getting support is of great value. And this is regardless of whether the question belongs to the original project. LINKIT helps our employees to improve themselves, instead of simply taking all our worries off.”
Do you want to know more about mentoring? Or do you need a mentor for your OutSystems team? Get in touch with one of our experts for more information.