In this series of interviews, we talk to an OutSystemer from the Engineering team about their role, interests, and expertise.
Sara Gonçalves began working at OutSystems fresh out of college, but seven years later, she is as motivated as day one. Not the kind for turning down a challenge, she finds inspiration both in diverse work projects and sports. She is known as the OutSystems official runner, and if you’re not careful, she might even convince you to do a half-marathon. Catch her if you can because when she’s not fearlessly leading her team, running or cycling, she is also an avid traveler.
How did you end up at OutSystems? You completed your master’s degree at the company, right?
Like many other people at OutSystems, I joined the company as part of my master’s thesis [Automated Web App Optimization Using Client-Side Templates]. I began in 2013 and worked on my thesis for a year, with Hugo Lourenço as my supervisor. After a year, if you are a good fit, OutSystems will invite you to join the R&D Team, and that’s what happened to me. I joined what was then known as the User Interface (UI) Team as a software engineer. While it might not look like it, I’m still working in the same area, building product features, for seven years now.
How did you gravitate towards software engineering?
I don’t remember precisely when I chose it as a career path, but I know I was clearly influenced by my father because he already worked in the IT industry. When I was a kid, I visited his office, always had a computer at home, but I never programmed. I only started programming when I got to college. I wasn’t even one of those people who played video games or spent most of their time on the computer, but I always saw myself as a problem solver throughout my education. I really enjoyed mathematics but not foreign languages or even biology, so I ruled out medical and social sciences. I studied science and technology in high school, and then I think my dad ended up influencing me. I became more and more inclined to pursue a Computer Science course, but I was very scared at the time because I’d never programmed or really studied the area. I wondered for a long time if I would enjoy it, but then I enrolled and loved it. For me, it was all about problem-solving and logic — that’s what drew me in.
How would you describe what your team does?
We introduce features in the app development process to enable developers who use OutSystems to build their apps easily and in a way that makes them performant and delightful from a user experience perspective. We care about the whole cycle, from the OutSystems developer to the end-user, and introduce new capacities to the OutSystems platform to streamline all the steps a user takes.
How do you come up with ideas for new features?
The needs always come from our customers to make developers’ lives easier and create apps as quickly as possible and with the highest quality. As we begin to define the experience and conducting technical research, we get to our use cases and assess if we should address them. The ideas often come from brainstorming sessions, an innovation process which I’m very fond of because when you put together people from different backgrounds in a room, it’s great to see how the ideas flow around. What we keep in mind and what makes us accelerate the process of evolving the product is making developers’ lives easier. It’s to create a frictionless experience to build performant apps. This drive makes you think about how you can abstract the issues that a low-code developer has to deal with: how do you abstract that complexity through OutSystems?
Of course, there’s a challenging balance here — it’s our 80/20 rule. You need to prioritize because we can’t solve everything with a specific feature. There can be another that’s even more important on hold. We have to make hard decisions. Sometimes, we know we could do better, but perhaps the return won’t be as impactful as improving another feature from which the clients will benefit more.
You don’t like it when people say that working in OutSystems is like having a template platform. Why is that?
That is a huge trigger for me [laughs]. I know that idea has faded throughout the years. Still, most people from outside the software development industry, who don’t know the inherent problems to develop an application, think of us like that. When you look at any template development platform, it’s easy to understand that they solve much simpler problems. Most of them only provide an app’s user interface; there’s nothing about what’s behind the app, including everything we have to build at the request of a government, hospital, or airport. We deal with much more complex business logics that pose a higher number of scale and performance challenges — this is what OutSystems has to abstract, and most developers don’t even notice it. It’s about valuing the ability that OutSystems has to solve problems and to look at them from an incredibly straightforward perspective, which most people won’t do because they have no context on what’s happening “backstage.”
There’s this generalized idea that OutSystems was created to build “toy apps” since that’s what people often associate with low-code, “drag and drop,” and other visual tools. When explaining what we do, I avoid mentioning those terms because OutSystems is so much more than that. When you bring up the subjects of low-code and visual tools, people outside the software industry often oversimplify the problems we’re solving. For those who don’t know anything about it, I like to show them videos, and it’s funny because people’s reaction is that it looks too good to be true [laughs]. I wish I had a few apps or an app portfolio I could download and share so we could say: “See, this was made with OutSystems.” I also give them real-life examples: “Did you know that the ANA airport [the airport authority in Portugal] apps were built with OutSystems?” The answer is always: “Oh, really?” These examples are helpful because there’s always the risk of it sounding so good that it feels like we’re actually selling something that isn’t true.
“[When you become team captain], you need to stop looking at the tasks you execute and complete and begin to look to the tasks your team executes and completes”
What does your role as a team captain entail?
I transitioned from software developer to team captain in 2017. It was very challenging at the time, and I had to learn on the job. I relied heavily on other team captains as one of the main mindset changes you need to make is to stop looking at the tasks you execute and complete and begin to look to the tasks your team executes and completes. Your work doesn’t reflect only on you anymore; it reflects on your team. I often felt I wasn’t productive or accomplishing things, but I had to look at the impact I was making on the team. They made things happen.
As a team captain, there are always two main threads. You have the people’s side, how they grow, their motivation, if they’re doing what they enjoy doing, and setting action items to keep them motivated. Then, you have execution: ensuring that the team executes at the right speed, removing road blockers, and escalating problems. On the people side, I try to keep an eye out for issues because team captains aren’t as deeply involved in the development, and I don’t want to be caught off guard. I lean on my team, and I rely on them to share issues and be transparent because it helps me escalate and solve problems that can be of use to other groups. This involves actual work, such as following up on the team members, having one-on-one meetings every two weeks, creating action items, and everything on the performance evaluation side.
Regarding execution, most of our road blockers are alignment issues with other teams, so I try to create processes that can help R&D and my team to be more efficient. You have to start small: start with your group, see if it works, and if it does, let’s spread it on a larger scale. Finally, we can’t forget to align with our product managers and product owners to ensure the team is accomplishing everything with the right timings.
Can you give us an example of one of those processes you expanded onto the rest of the company?
We helped improve the client support process because we received feedback that communicating with the R&D Team wasn’t always an agile or efficient step. These very simple things have a massive impact. We created a two-way survey for all support communications that we send to the support agents to provide us with feedback on how we handled the request and see what we can improve next time. Now, in every support case, we have somebody proofreading the team’s message, much like there’s always someone who revises the code. These are little things that we build as a team and help us become more efficient while working on team maturity and extracting value from these steps.
“I don’t think we’re ever 100% satisfied with how a project turns out. After all, we’re engineers!”
And what about a project that has made you incredibly proud?
I don’t think we’re ever 100% satisfied with how a project turns out. After all, we’re engineers! [Laughs.] At OutSystems, we tend to be perfectionists. We get to the end, we celebrate our accomplishments, and then we always identify that tiny thing that could have been better. We’re always learning. All projects are different, and that’s why I say that as long as I’m here and learning, I’ll always be motivated. The first challenge that struck a chord was OutSystems 10, the mobile launch, because that was one of my largest projects. At the time, it impacted me because we united all teams to do something innovative and unheard of — pressing a button and having an app on iOS and Android ready to install on your device. I remember that demo, and I think it was striking for OutSystems as a whole.
As team captain, I was very proud when we introduced a new kind of app, the reactive apps, without breaking previous platform versions. It was a considerable change in the programming language, and for the first time, clients could upgrade without breaking their factories. There was so much collaboration between teams; I was super proud of our alignment. It was almost like changing the car wheels while the vehicle is still in motion. It happened three years ago, and we’re still evolving our new OutSystems language with zero impact, which will allow our customers to build all their use cases using the most modern reactive stack. All clients will eventually migrate to this new architecture, and we managed to introduce value without any negative impact.
“In our company Slack channels, I’m on every fitness channel — I love individual sports in general. You’re constantly pushing your boundaries, overcoming challenges, and I love it”
Moving on to your interests, you’re the official OutSystems jogger.
People always think of me as a runner because I started jogging when I joined OutSystems, basically. It was probably around 2012 or 2013 when I also began my master’s thesis. So I went for runs with my colleagues, and we would take selfies in Belém [a popular running site in Lisbon, by the river]. We had a room where we stored our bikes in the office, and we put up all the pictures on the wall, which obviously made people associate me with running. I was super sedentary until that time; I only exercised before summertime [laughs]. But then, some of my university mates, Hélder Marques and Bruno Grácio (who in the meantime joined OutSystems, too), downloaded the Runkeeper app, and they were constantly comparing distances and pace. I couldn’t run for more than two minutes without losing my breath, so I installed the app and began following a plan — I swear this is how it happened — to run my first 5K. I would run for a minute, walk for two, and then on. I perfectly remember the moment I finished my first 5K; I was super happy. I got home and told my parents, “I ran consecutively for half an hour!” And that was it. I got the running bug, and boy, does it grow fast because you see your body evolving. First, you can’t run for more than two minutes, then, you’re running for half an hour, and you think: How did this happen?
Sharing the passion with others who enjoy jogging, like those I found at OutSystems, only nurtures the habit because it’s always best to share a passion. I signed up for mini-marathons, half-marathons. I ran one with Rodrigo Coutinho [who’s been working at OutSystems for 20 years and is now the Head of Product Insights], and I convinced him to run his first half-marathon in 2016.
The first one I entered took place in 2013, and I suffered so much. It took me a long time to get to the finish line because I hadn’t trained properly. I hadn’t followed a plan which is essential when you’re doing long-distance running. I honestly thought that all I needed to do was run [laughs]. In total, I’ve finished six by now, and two or three years ago, I wanted to run my first marathon, but I didn’t respect my body. My body was exhausted, but my head wanted to do it, and I ended up injuring my Achilles heel tendon. It was the worst injury I’ve ever had, and even today, I feel it hasn’t healed up entirely. I never ran half-marathons again because it drains your body — this is much more about the love of running than just being healthy. In parallel with jogging, I also joined the gym for some muscle reinforcement. And I found many people at OutSystems who also loved cycling, so I joined them and started doing longer distances.
Last year, I also got into CrossFit training, which is my new addiction. In our company Slack channels, I’m on every fitness channel — I love individual sports in general. You’re constantly pushing your boundaries, overcoming challenges, and I love it. I started CrossfFit training because of the pandemic as all the gyms were closed, and I already had some CrossFit sessions at the gym, but that was just light practice. I never used any of the gym equipment machines anyway; I just lifted weights and did my own thing. So my gym friends kept saying that I should just quit and do CrossFit. When the gyms closed, it was my cue. I started doing it last summer, and it’s cool because you have the individual goal part that I appreciate, but then you evolve so much more because you’re in a group, you have a plan, and others motivate you.
Between work and working out, do you still have time to pursue other interests?
It’s not so much a matter of time, it’s more about setting priorities. My priorities so far are work and exercise, and I love working out to clear my head. Before the pandemic, traveling was one of my main passions. I enjoy traveling alone, and I loved planning trips, exploring, and creating adventures. And besides sports and travel, I love music (and really miss those summer festivals and concerts).
What do you enjoy listening to?
That is a very complicated question [laughs]. It depends on my mood: I can listen to rock or metal music in one day, indie or more chilled songs in the other, classical music, electronic music. I like all genres, but if I had to choose one, it would probably be rock.
And what was your most memorable travel?
Thailand. I went alone. I started traveling by myself three years ago. I spent two weeks in Thailand, and I have incredibly fond memories of that time. Of everything really, especially the people because everyone was so friendly. I was there alone, and I always felt I had company; everybody was helpful. And of course, the beaches, the weather. I loved it, and I wish I could go back soon.
When the pandemic is over, where do you want to go?
I keep a little board with a list of countries I’d like to visit. I’d like to know all the continents, and I haven’t been to the Americas yet. It’s still unexplored territory for me, but I’d love to go to Peru, Bolivia, Chile. People told me it could be riskier to go by myself, but it’s on my list — also, Iceland and the Seven Wonders of the World. Two years ago, that’s how I ended up in Jordan. You start by reading articles like “How to Explore Jordan in a Week,” and before you know it, you’re there.
Since we’re all working from home now, can we see your desk?
- 1 — Water bottle.
- 2 — Coffee cup.
- 3 — Hair scrunchie, because they’re everywhere.
- 4 — Jabra earbuds (fitness meetings and running purposes).
- 5 — Work laptop.
- 6 — An OutSystems gift that reminds me that we are building it together.
- 7 — Wide monitor.
- 8 — Wireless mouse.
- 9 — Notebook and a pen (just in case I need to think on paper).
- 10 — Pictures of my team.
- 11 — Backup light when the sun is not in the mood.
- 12 — CrossFit material for the Zoom lessons.
Want OutSystems Engineering blogs delivered to your inbox? Click the Subscribe box below.
Interested in joining our team? Check out some of our open roles.