In this series of interviews, we talk to an OutSystemer from the engineering team about their role, interests, and expertise.
Sandra Rodrigues was born and raised in the north of Portugal and lives in Braga now. She graduated in mathematics and computer science — a choice she made upon her love for math. Sandra is a true engineering role model. Let’s find out more about her journey at OutSystems Engineering.
Why did you choose an engineering career?
I've always liked mathematics and chemical physics and making things happen. To do something small and prove it, like do an exercise and get to a result. I didn't like to study language and history disciplines, with all the dates to memorize. By 10th grade, I didn't have a computer at home, but the first Information Technology (IT) disciplines were appearing and I thought, why not if it has a lot of math thinking behind it? That was my first contact with the programming language Pascal. I really loved thinking about algorithms and the logic behind a program that’d do something with half a dozen letters. In the 1990s, I already was a huge believer in automation. Eventually, I chose Informatics with natural and neurologic systems in my second cycle degree.
Why did you shift from software development to quality engineer?
I’ve always liked to dive into details and to know how things work. When I was a software developer I liked to try and break down the program to make sure the final customer didn’t complain about quality. In 2008, I changed to quality because Microsoft bought the company I was working for (MobiComp) and I heard for the first time about quality roles. Up until then I was a fullstack developer, doing documentation about customer pre-requirements, development, installation, product releases and support. Software engineers’ specialized roles didn’t exist. I think that a multitasking background helps in my professional path and in the quality role’s principals.
Quality is a set of practices (mainly manual and automatic) that should start as early as possible in the software development lifecycle and make sure the product is at its best when it reaches the customer. And the final customer - internal or external - it's our main goal and my main focus in the quality role.
To transition to a quality role I think you need to be curious about why things break, why the customer wants things in a specific way, or what’s the use case or journey in mind. Sometimes, our customers are the product owner and product manager informing us through requirements of the product, features, etc. Other times scenarios can be very abstract. As a quality member, I need to face the scenarios assertively, without subjective interpretations. That way all the process lifecycle - development, testing, releases, support - is clear to every team member.
How was joining the OutSystems Engineering team?
I didn’t know the company and one colleague from Braga’s office, a university buddy, told me about the company’s quality openings. First, I had a smooth interview with Eduardo Andrade, People Success Manager. OutSystems was shifting to focus on product quality. It looked like just what I wanted: a less technical role with a chance to start guiding people. (Enabling teams to be fully accountable and autonomous in owning product quality.) The second interview was an informal conversation with the quality engineer manager in Braga. All the questions were about technologies, product, product quality, and how’d I face challenges.
Describe the roles you have worked on since joining OutSystems in 2017.
I joined as a senior quality owner and my job was to help two Braga-based teams spot quality challenges, improve processes, research for quality product frameworks, releases, bug reporting, and listen to customer’s feedback. We identified quality priorities, made changes in manual process validations (adding exploratory and user acceptance testing to the development process), and added more test automation (increasing the coverage of unit tests, integration tests and end-to-end tests). One of our goals was a smooth journey when picking up parts from all teams to assemble the OutSystems product. Of course, bugs will always exist but we’re making new validations sooner to avoid critical things when the customer starts using it.
OutSystems Quality members suggest new tools for specific needs, so the teams are able to define a Quality Operating Model that allows them to autonomously make 90% of the quality decisions and to create quality built-in assets.
The instruments we use for the model are diverse: help the teams to set a Product Quality Goal that answers to what is quality to them and their products, and how they can measure it to achieve that goal; Maintenance guidelines — for example assess the priority of issues backlog; Risk Assessments, to help anticipate and mitigate risks; Quality Radar, a set of quality related practices, tools and techniques to reflect on their behaviours and practices, providing guidance on possible next steps in their quality journey.
Since quality is context driven, testing is context dependent. This means use different approaches, methodologies, techniques and types of testing (unit, integration, component, service, contract, exploratory, performance, security), depending upon the application type. Quality at OutSystems is a huge field with different challenges and goals.
Because of my enthusiasm for quality, in 2019 I was invited to a Lead position. I continued to work as an individual contributor (quality engineer) with a few teams but added the mentoring part. As a quality mentor my goals are: sharing guidelines, new practices and frameworks, such as finding industry knowledge and helping teams implement these theories into practical terms - not only with quality members but outside teams that need a push to reach minimum quality standards. We’re not as many in quality yet that’s why we’re hiring.
What do you like most about working at OutSystems?
The culture is great. There are no issues with being a rookie and make stupid questions because everyone, at all company levels, is available to explain stuff to you.
At the Braga office we have so much fun, it’s like a family. We used to celebrate Halloween and Carnival with a mask contest.
OutSystems might be a visual development platform but the challenges behind the product are huge. We know that software engineers that use our product like to code and sometimes they think with OutSystems they’ll not have code, architecture, or solution challenges. That’s not true.
Don’t look at OutSystems as drag-and-drop dots that do stuff — behind the visuals is a gigantic software world that requires a lot of work and follows the software engineering principles: design, develop, maintain, test, and evaluate the product delivered.
What excites you most about working on quality engineering?
I’m happy when the area I’m most involved in reaches its goals and when my team doesn't need to deal with a lot of customers’ complaints, even when those customers are internal. That means the product doesn’t have serious bugs.
Two years ago I switched to the mobile team, which is very important for the final customers that need to create a mobile app. For example, we have challenges every year when Apple or Google launch new operating systems because the team is dealing with the unknown. So it’s very rewarding when teams can put up an automatic framework validation, creating a set of tests that run in real devices. It all started with a proof of concept and today we have more than 500 automated tests running in the cloud in different iPhones and Androids supported by OutSystems. This is a huge step to identify problems that run in mobile apps. Our goal is always to anticipate and correct issues before production. However, that’s nothing compared to our entire product that has thousands of quality tests. The OutSystems product is huge; we start testing the smallest components individually and move to collective tests.
We have a lot of investment in test automation because we want to be quicker and quicker in minimum validation before delivery.
The other parts of the job are: to monitor product and customer product interactions, collect feedback, find issues through that monitoring before the customer finds them, react and if needed send a new version.
What’s your advice for aspiring engineers?
What do you like to do in your free time?
I love knitting and crochet, it’s something that makes me feel very good mentally.
I like to read romance, science, and detective fiction and to be with my family. I have a 14 year old daughter and a nine year old son. My daughter is very good at math like her mother. I think intelligence can be inherited but you need to work hard and be driven to succeed. That’s what I tell my children.
Interested in a quality engineering career? Explore our open roles.