<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by OutSystems Content on Medium]]></title>
        <description><![CDATA[Stories by OutSystems Content on Medium]]></description>
        <link>https://medium.com/@outsystems?source=rss-7ebd6a5d506e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*bHmtIDjLOsUBRQr64h_yuA.png</url>
            <title>Stories by OutSystems Content on Medium</title>
            <link>https://medium.com/@outsystems?source=rss-7ebd6a5d506e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 11:42:45 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@outsystems/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[8 Best Moments of OutSystems Engineering in 2021]]></title>
            <link>https://medium.com/outsystems-engineering/8-best-moments-of-outsystems-engineering-in-2021-8e44bd2b9a82?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/8e44bd2b9a82</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[company-culture]]></category>
            <category><![CDATA[team-building]]></category>
            <category><![CDATA[lessons-learned]]></category>
            <category><![CDATA[2021]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Wed, 29 Dec 2021 16:17:56 GMT</pubDate>
            <atom:updated>2021-12-29T16:23:49.252Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*56qEP4yKmhynE8kZOl10Yg.png" /></figure><p>“It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of light, it was the season of darkness, it was the spring of hope, it was the winter of despair.” Dickens was obviously referring to the Covid pandemic.</p><p>So here we are, at the end of 2020’s sequel, and while it sometimes feels we’re stuck in limbo, OutSystemers had plenty of reasons to celebrate in 2021. Our team grew by leaps and bounds, we celebrated 20 years of this now grown-up company with a vibrant startup mindset, and <a href="https://www.outsystems.com/platform/project-neo/">we have exciting new projects ahead</a>.</p><p>To keep the good vibes flowing into the new year, we asked eight OutSystemers about their best moments of 2021. Here’s what they had to say.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*c3Y2yM19scp2xdl9" /><figcaption><strong>Cristiana Costa</strong>, Senior Agile Coach</figcaption></figure><blockquote>For me, 2021 was both challenging and rewarding. OutSystems is a place where no two days are the same. I can guarantee you will never get bored!</blockquote><blockquote>I’ve been at OutSystems for the last six months; it seems like it was ages ago. When looking at all the work I’ve done and the feedback I received, the satisfaction is priceless. I am really proud to be part of this team where I had the opportunity to learn from the best-you do learn every single day.</blockquote><blockquote>Things at Outsystems happen at a fast pace, but it gets easier when you have a team that is always available, willing to support you, believes in you, and aims for the best. It is so fulfilling when your opinion and work matter.</blockquote><blockquote>I met such amazing people, and some have become my second family, my friends!</blockquote><blockquote>2021 was a year full of the best moments and I can’t wait for 2022!</blockquote><blockquote>This is one of the happiest memories I will keep from this year:</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/697/0*wdHem5vVqbDayH7I" /><figcaption><em>Cristiana at the award ceremony for Agile Coach of the Year. Well, sort of…</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/668/1*YgzLPlm-SFonfRHOvKfxVQ.jpeg" /><figcaption><strong>Hélio Dolores</strong>, Team Lead</figcaption></figure><blockquote>I’ve been at OutSystems for more than a decade, and the ability this company has to adapt to every circumstance never ceases to amaze me. For most of us, 2021 was the year of the consolidation of remote work. We learned how to work as a group in a distributed way, and even expanded to new areas of the globe.</blockquote><blockquote>This year, my team implemented a solution to send Emails in Reactive Applications. It was a huge challenge from the start, as it was a highly requested feature in our community, and we had to redesign it from scratch. We just released it into general availability, and it’s already in use in hundreds of applications. Wow! It’s an absolutely fantastic feeling — I’m super proud of my team!</blockquote><blockquote>What was my biggest accomplishment? My beautiful daughter! Sofia was born in August, and she is amazing! The biggest challenge? Well, dealing with a newborn and a toddler with my arm in a cast. I do not recommend that! Please stay safe!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*4Gdp4qy1QU7cTEQ7" /><figcaption><strong>TJ Moore</strong>, Manager of Cloud Security Engineering</figcaption></figure><blockquote>I joined OutSystems because I strongly believe in the impact that it will make on the market and world. We have a once-in-a-lifetime opportunity here.</blockquote><blockquote>The Security division is non-stop action, comparable to a “Mission Impossible” movie. We get to hunt down threats via Breeze and Wazuh, walk through cobblestone streets in Portugal, gain insights into what is running in the infrastructure that we have, and are starting to develop an actionable intelligence system to mitigate identified threats.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*rF0OkwhQszmEl_DY0vUsWg.jpeg" /><figcaption>TJ enjoying lunch with his team in Lisbon</figcaption></figure><blockquote>Sometimes, we even get to impersonate other individuals within the Individual and Account Management Teams. The company and division have a positive outlook and are performing with a sense of purpose. 2021 was a wild ride. We’re all looking forward to what we get to see and bring to the company in 2022.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/542/1*ZY65ZV_FK0DMakNAVpfFqw.jpeg" /><figcaption><strong>Nuno Ribeiro Batista</strong>, Head of Product Ownership R&amp;D</figcaption></figure><blockquote>After nine years at the OutSystems Customer Success team, in February 2021, I moved to OutSystems Engineering, where I found people full of drive, committed, with a true sense of pride over our Product and what it stands for, and a great leadership alignment!</blockquote><blockquote>I had the challenge of maturing the product ownership (PO) practice while growing the PO structure as the R&amp;D Team expanded. After 10 months of tons of interviews to almost triple the PO structure in size, I’m very proud of what my team and I have achieved in 2021: a consolidated PO practice, product owners who are recognized as key in bridging strategy and execution, and playing a leading role in all key initiatives across the year, and a solid and collaborative structure that is well integrated into the Product groups.</blockquote><blockquote>It’s been one hell of a ride, and I’m looking forward to what 2022 will hold!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*wf03jjfoEQ84X-cd" /><figcaption><strong><em>Paulo Cardoso Ferreira</em></strong><em>, Manager, Technical Knowledge</em></figcaption></figure><blockquote>2021 was a strange year for everyone but, at the same time, a great year for the team. At Technical Knowledge, not only did we onboard several new colleagues throughout the year, but we also continued to deliver the best technical content to our users. In between, we were recognized by it, which is always nice.</blockquote><blockquote>In 2021, I would highlight two major accomplishments:</blockquote><blockquote>We created and delivered “Project Facelift,” in which we updated all the <a href="https://success.outsystems.com/Documentation/11_x_platform/Getting_started">documentation</a> and <a href="https://www.outsystems.com/training/paths/18/becoming-a-reactive-web-developer/">training</a> visual assets to support the launch of Service Studio for macOS. That translated into roughly 4,500 updated visual assets, among images, screenshots, videos, etc. As part of this project, we also reviewed (literally) thousands of documentation articles and hundreds of videos to make sure the content was contextual and up to date <a href="https://www.outsystems.com/blog/posts/introducing-outsystems-for-mac/">with the new Service Studio</a>. These were delivered on launch day, as we released Service Studio with a fully digital experience that takes macOS users to the right training and documentation.</blockquote><blockquote>Secondly, we’ve been delivering a fully updated <a href="https://www.outsystems.com/training/paths/8/architecting-sustainable-applications/">Architecture Guided Path</a> to help our OutSystems users, especially Tech Leads and Architects, access the latest and greatest best practices on architecture design for the OutSystems applications and factories.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*SCjCsHKkf0bR9IsN" /><figcaption>The Technical Knowledge Team in the OutSystems Lisbon office — it was the first time that some of the teammates met face to face</figcaption></figure><blockquote>All this work and the things we do each day came with a good amount of recognition for the team, especially the two <a href="https://lavacon.org/awards/">impact awards</a> that we received at <a href="https://lavacon.org/">LavaCon</a>, one of the world’s leading content strategy conferences. These distinctions, one for our work automating online training creation and the other for our approach to documentation and training as technical knowledge, are the external recognition of our team as a leading team in this area of the software industry.</blockquote><blockquote>On a more personal note, another best moment — with the pandemic and everything going on — was having almost everyone on the team together in the same room!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*iInozwp8BJ8M2hUy8gU4JA.png" /><figcaption><strong>Michele Schell</strong>, UX Writer</figcaption></figure><blockquote>It’s quite difficult to list all the year’s best moments because every day is a surprise, filled with great little moments. Thinking of the Product Content Team, something that comes to mind is that everyone really embraces what designing a product is about: collaboration, openness, and reflection. And we should never forget that writing is designing.</blockquote><blockquote>In 2021, our team grew globally. We’ve worked on evolving our practice, shaping our guidelines and processes. We started designing for Project Neo to help outline the best experience for our current and new users. For that, we decided to kick off a terminology initiative in which we’ve been running a lot of research and testing to choose the best words for our users.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*pdEU31-MgUMjiiBO" /><figcaption>Michele (in the middle row, on the right) with her colleagues from the Product Content Team</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*JJiAPSMO6bH0BDe0" /><figcaption><strong>Catarina Coelho</strong>, AI IDE Team</figcaption></figure><blockquote>It’s been about one year since I joined OutSystems, and I can say it has been a year full of great challenges!</blockquote><blockquote>This year, our team had the opportunity to work with two other teams, participated in different initiatives to enable our users to have a faster and better experience using Service Studio, and joined forces on Service Studio’s release for macOS. Working alongside these teams and in these initiatives was a great learning experience full of surprises.</blockquote><blockquote>Besides learning about different projects, it was also an excellent opportunity to get to know other colleagues, especially at a time when we were all working remotely. It was great to know other people, which is not so easy when we all work apart.</blockquote><blockquote>Given all the time we spent working with different teams, I would say the best 2021 moment was when we could finally get the team back together! A second highlight for me was when we gathered in person and even got matching t-shirts!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*VaKXv_pysnwT7rJc" /><figcaption>The AI IDE Team wearing matching t-shirts (the t-shirt quote “5 is not enough, 20 is a lot, 10 is meh, 15 is just perfect!” was courtesy of AI Product Owner Magda Pereira, on the left. And in case you’re wondering, they were discussing percentages)</figcaption></figure><blockquote>Even more exciting, we had new people joining the team and started working on a new AI-powered initiative full of surprises.</blockquote><blockquote>I look forward to seeing what next year will bring!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rKEJLxjy9xT5BBlg" /><figcaption><strong>Marialaura Giova</strong>, R&amp;D Employee Experience Manager (upper row, center), with her team on a special Christmas virtual gathering</figcaption></figure><blockquote>I joined OutSystems in May 2021, and people aren’t wrong when they say that OutSystems years are like dog years. Every day at OutSystems is so rich in experiences that I feel a little bit more grown-up each week.</blockquote><blockquote>It has been a journey that I would define as unique. Since my first day, a lot has changed, and I am sure there will be more changes ahead. Change is a constant at OutSystems, and our team is definitely not afraid of it. The group is incredibly adaptable and committed to the mission. You can feel it at any encounter, informal chat, or business meeting. Everybody is here to ensure we “Give Every Organization the Power to Innovate Through Software.” [That’s the OutSystems mission, by the way.]</blockquote><blockquote>Personally, I am grateful to OutSystems for my team. Together, we came a long way and built a strong team from the ground up. This year, we launched a new R&amp;D Onboarding Program, among other milestones, and the team worked tirelessly to make this happen. It has been a success so far, and I could not be prouder of what we have accomplished, mainly being a newly formed team in a remote setup.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/384/0*u9WD8H--1ErUmQe9" /><figcaption><em>Marialaura with her dog, Pepper</em></figcaption></figure><blockquote>Much like my team, high energy and drive are common denominators for all OutSystems employees. The company enables that by giving every individual the autonomy to expand horizons, the freedom to experiment, and plenty of opportunities to prove value.</blockquote><blockquote>Now, I look forward to the new amazing achievements we will be able to unlock in 2022!</blockquote><p><strong>Happy New Year from the OutSystems Engineering Team!</strong></p><p><em>Originally published at </em><a href="https://www.outsystems.com/blog/posts/best-moments-outsystems-engineering-2021/"><em>https://www.outsystems.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8e44bd2b9a82" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/8-best-moments-of-outsystems-engineering-in-2021-8e44bd2b9a82">8 Best Moments of OutSystems Engineering in 2021</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why OutSystems Engineering Is A Good Place to Work]]></title>
            <link>https://medium.com/outsystems-engineering/why-outsystems-engineering-is-a-good-place-to-work-8e12d4a1da2b?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/8e12d4a1da2b</guid>
            <category><![CDATA[pandemic]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[company-culture]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Tue, 21 Dec 2021 21:56:56 GMT</pubDate>
            <atom:updated>2021-12-21T21:57:38.455Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/747/1*DieHKJd0z61jmiABt1T_7A.png" /></figure><p>At OutSystems, we believe in programing with good practices. We’ve seen so many cool stories about apps created to <a href="https://www.outsystems.com/case-studies/red-cross-netherlands-mobile-app-for-volunteers/">help people</a> and <a href="https://www.outsystems.com/blog/posts/app-to-fight-covid-19/">fight the pandemic</a>.</p><p>Moreover, the world needs more developers in the swiftly growing digital era. One LinkedIn search showed there are 719,074 developers vacancies worldwide to be filled — considering the U.S. alone, there are more than one million developer positions today. And if we narrow the search to “OutSystems developer,” <a href="https://www.outsystems.com/community/jobs">our community has 358 jobs available.</a></p><p>This is undoubtedly the tech golden era. Covid-19 caused an impact in businesses with almost everyone working remotely, requiring fast and collaborative platforms. For the consumers and clients, the lookdown closed nonessential stores, services, and part of the solution — because consumer spending is one of the most important driving forces for global economic growth — was even more modern applications to keep customers consuming and users online. And the result was: the critical despair of hiring developers as we read in <a href="https://www.outsystems.com/blog/posts/seeking-technical-talent-in-romania/">this piece about Romania</a>, but the competition is so high that that’s happening in every country.</p><p>During pandemic peaks, people spent less but didn’t stop <a href="https://www.psychologytoday.com/us/blog/the-human-beast/201805/why-we-consume-so-much">consuming </a>— and in some cases, spent more compared to pre-pandemic levels — on some necessities such as groceries and household supplies. <a href="https://www.mckinsey.com/business-functions/marketing-and-sales/our-insights/a-global-view-of-how-consumer-behavior-is-changing-amid-covid-19">We know for a fact the shift to digital persisted just like in pre-pandemic times and that more people expect to purchase online post-Covid.</a></p><p>But, let’s cut to the chase and get to the part you want to know: Why OutSystems?</p><h3>It’s All About Great People, Collaboration, and Solving Real-Life Puzzles</h3><p>If you are wondering “why should I start developing with OutSystems or work at OutSystems?” Then this next part is for you. Well, it’s easy to answer the first question, our community of developers has shared their love for OutSystems and inspired so many. Did you know about <a href="https://www.outsystems.com/profile/ojq3ozrpmc/">Helena Lameiro’s story</a>?</p><blockquote><em>“Helena used to be a pharmacist in a pharmacy near the LaV office. Not very happy with the progression of her career in the bridge of 40, she did an ITUp OutSystems training course. A few weeks later, she was working at Everis where she is now a senior developer. She has since: achieved 9 OutSystems certifications, became an OutSystems community champion, was on a winning team of the Build for the Future Hackathon, gave two talks about becoming a low-code developer. She’s also one of the most active users in providing feedback on our documentation. For her, OutSystems opened a completely new career possibility she never thought she could excel on as someone that wasn’t an engineer.”</em></blockquote><p>But, if you’d like to help build the OutSystems platform there is no one better than our engineers to tell you why the company — that helps to <a href="https://www.outsystems.com/">build applications fast, right, and for the future</a> — is a good place to work. Let’s read from seven people working at OutSystems Engineering.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*wFgaDKBQObTSD-hnrgXewQ.jpeg" /><figcaption>Dijoy Divakaran | Development Manager @R&amp;D</figcaption></figure><p>“In my mere 11 months at OutSystems, I was amazed by the way such a big company could hold up a healthy, transparent, and honest culture so well. Empathy, ownership, and autonomy are something I enjoy here and this lets everyone free up their mind and think innovatively and bring value.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*2oeCNlD-addGhQxNS_UoFw.jpeg" /><figcaption>Laura Huysamen | Senior Software Engineer @R&amp;D</figcaption></figure><p>“I think OutSystems is a great place to work because it has a development culture that both attracts and retains great people. This means that, wherever you go in OutSystems, you tend to be surrounded by people who are growing and reaching towards the future. The company itself has both the vision and the ability to actually follow through with their vision.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*e0SA4f9JM8nL1yDLcE6_DA.jpeg" /><figcaption>Luís Lopes | Lead Software Engineer @R&amp;D</figcaption></figure><p>“Since I was a kid I always liked puzzles, OutSystems gives me the ability to solve real-life puzzles that can benefit the lives of millions, and that’s very gratifying. When I’m solving puzzles, most of the time I feel like the “Dr. House” of issues. I can do what I like while having fun and be with awesome peers that basically enjoy the same things. People around me are very happy and smart, and that makes me feel happy and smart.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*_yAc_qbv2sSwHNIZ03DGEQ.jpeg" /><figcaption>Vera Branco | Business Process Analyst @R&amp;D</figcaption></figure><p>“Outsystems Engineering is the place where magic is made, with innovation and creativity. You just need to embrace it. From creating a new product from scratch, or just a feature to answer a customer’s question, or even to improve the way we do things faster. It is just there and there is no way you can miss it. And this is happening because we have talented and passionate people in our DNA. Even in the most challenging times, we don’t give up.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/300/1*IgXjfJn4ouo6Hd0HVkbRIA.jpeg" /><figcaption>Sérgio Oliveira |Team Lead Architecture Dashboard @R&amp;D</figcaption></figure><p>“Here I feel fulfilled! I was part of the team that started OutSystems’ PAN branch in 2009. For most of my years I worked at Professional Services, travelling the world to support customers and find solutions, it was only two years ago that I switched departments to Engineering. I’m still here because OutSystems has the best collaborative work environment — everyone jumps in to help no matter the job description — I feel challenged everyday and on top of innovation.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*5PQqEXE3af7jhw32xeqCgQ.png" /><figcaption>Inês Ribeiro Silva | UX/UI @ R&amp;D</figcaption></figure><p>“I found a friendly and supportive environment where I can try a new career path. I could find leaders and mentors with whom I could learn from and grow in a different position. That helped me to acquire a number of skills that otherwise would take more time to get. I feel that every time I step out of my comfort zone there is a wave of support and empowerment and that is what I like the most about working at OutSystems.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*1TTehKIetdNDGIw6EDEhFA.png" /><figcaption>Yang Yang | Lead SW Engineer @ R&amp;D Dev Acceleration</figcaption></figure><p>“Working at Outsystems is different from any of my previous developing jobs. I am amazed by the developing team size and talent, and the product it developed. The company just had its 20 years anniversary but yet the spirit still feels young and energetic. Everyone is very engaging and very responsive. It is truly a fast-paced environment, in a good way. Also, you can feel there is a strong sense of involvement within the company. People are not just doing their own daily work. They truly care about every aspect, from its customer, the product, company strategy to the working environment. There’s a lot of feedback and healthy discussion on all topics on all slack channels. Some of the discussions may sound blunt or may be carried too enthusiastically to new people. But I think this reflects the “Ask why” culture of the company best and it’s a good thing. I also appreciate that Outsystems’ employees come from different places and cultures of the world. One can learn a lot by interacting with people with different backgrounds, both in and out of work.”</p><p>Recently, OutSystems was featured in <a href="https://www.wired.com/story/great-resignation-tech-workers-great-reconsideration/">Wired</a> in a story about engineers finding new workplaces to prioritize their own wellbeing. And even the reporter wrote to me, “Seems like a great engineering culture you’ve got over there!”</p><p>If you would like to be a part of OutSystems Engineering, click <a href="https://www.outsystems.com/careers/job-list/?s=&amp;l=Show%20All&amp;d=Engineering&amp;f=">here</a> to find our latest vacancies.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8e12d4a1da2b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/why-outsystems-engineering-is-a-good-place-to-work-8e12d4a1da2b">Why OutSystems Engineering Is A Good Place to Work</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fantastic Frameworks and How to Build Them: Developer Experience]]></title>
            <link>https://medium.com/outsystems-engineering/fantastic-frameworks-and-how-to-build-them-developer-experience-34b75048f7d0?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/34b75048f7d0</guid>
            <category><![CDATA[framework]]></category>
            <category><![CDATA[components]]></category>
            <category><![CDATA[stories]]></category>
            <category><![CDATA[developer-experience]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Wed, 15 Dec 2021 16:31:20 GMT</pubDate>
            <atom:updated>2021-12-15T16:31:20.316Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WHmSXXdIFCz-XtV26jSo2w.png" /></figure><p>Developer experience — think of it as the user experience of programmers. Or, as we like to say, developers are people, too. And this means that they also feel pain. It can be physical, of course, but the pain we want to highlight here is the rather intense emotional pain — which turns physical after you despairingly hit your head on your desk — that comes with the disruption of your programming and thought flow. And who’s to blame? The framework you’re using.</p><p>By now, you’re probably aware that we like to talk about frameworks. “We” are the Data Visualization Team at OutSystems, who, in the <a href="https://www.outsystems.com/blog/posts/frameworks-how-to-build-tools-and-technologies/">inaugural article of this series, advocated for building components with the mindset of creating a framework</a> for added productivity and efficiency.</p><p>As a unit whose work revolves around creating components for developers who program with our visual, low-code platform, we explained that the first step for creating a fantastic framework is picking the adequate tools and technologies.</p><p>Aaaand if we had skin-itching, dev-ingrained qualms about using the word “fantastic” to describe frameworks in that first article, these evaporated as soon as we began talking about the kind of developer experience we aim to provide. It must, indeed, be fantastic — hey, you must always aim high…</p><p>Tag along as we guide you through the second step of building a framework: how to provide a fantastic developer experience. Now, where did we get that idea from? Customers, of course.</p><h3>Developer Experience First, Technology After</h3><p>Before moving to the OutSystems R&amp;D Team, two of our team members worked closely with customers as part of the Professional Services Team. That gave them a unique understanding of how the OutSystems platform is used and what the requirements are of the developers who use it. And, this knowledge, of course, shaped our entire work and our approach to problems.</p><p>With our distinct vision and experience, we set out to define a few guiding principles that would become our manifesto. These are our seven commandments:</p><p>1. Experience first, technology after — we don’t follow fads and prioritize the developer experience over technology trends.</p><p>2. The world is our customer; a customer doesn’t rule the world — we deeply value our customer’s feedback, <a href="https://www.outsystems.com/the-small-book/">but we’re also fans of the 80/20 rule</a>. Before implementing a new feature, we must assess how many people we’re impacting.</p><p>3. Do not reinvent the wheel. Period.</p><p>4. No one’s left behind — products exist because they are used. We believe that our mission is to listen to users and help them extract the best out of the product. We support them, listen to their use cases, and we never ignore them. To answer their issues, we can alter the product or send a custom sample (more on that below). By helping users, we are creating forward motion in two directions: they learn more about the product and see their use case resolved, while we lean on their feedback to improve the product, documentation, and even our backlogs.</p><p>5. No third-party lock-in — we don’t wish to be limited to a single provider. We built our code architecture and framework to facilitate work with different providers.</p><p>6. Doing it the right way takes the same time as doing it wrong.</p><p>And finally, last but certainly not least, as this is the major focal point of this article:</p><p>7. Keep the feedback looping — we work in close collaboration with the developers that use our components and the OutSystems platform. We have tools to monitor our user forums. Being close to the developers who build apps with our product allows us some complacency: because we keep such a watchful eye on their pains, we get away with breaking changes. There’s a margin error that comes with trust, and they are aware that as soon as they complain, we’re here to fix it.</p><p>“Hang on,” you may be thinking. “Didn’t they say that the first step to building a framework was choosing the appropriate tools and technologies?” You are correct.</p><p>But if the tools you’ve picked for the task don’t serve your users (remember that in a framework your users are other developers), they should probably be left in your toolbox. When building a framework, you’re not simply developing an app for customers; you’re creating modular blocks that other developers will use to devise apps for their customers. So you better make something freakin’ okay (read: fantastic) with developers in mind instead of tinkering with the latest hot tools that will deliver a flashy yet underwhelming result.</p><p>Remember point three: <strong>do not reinvent the wheel.</strong> Respect the industry standards and design for consistency.</p><p>You will find that we will refer to our principles many times throughout this article. Our seven-rule manifesto is crucial to our work because its guidelines aren’t ornamental; they impact our decisions, and we can trace back our choices to each of them. For instance, “experience first, technology after” is a great principle, but it only works when you live up to it.</p><h3>The Decision Tree</h3><p>So how do we do it?</p><p>With the help of our Product Designer Mariana Bexiga, we created a visual decision tree that we use every time we need to add a new feature to one of our components. The tree allows us to determine how we should add it and where and visually explains the reasoning behind that decision. All in all, <strong>it’s a unique tool within OutSystems R&amp;D</strong> — for now.</p><p>Our decision tree works almost like a parameter or placeholder, adding to our efficiency as a team. Farewell two-hour meetings, good riddance! We can now make decisions in 15 to 30 minutes just by following our tree when adding a new feature.</p><p>Components were often built in an ad hoc fashion, and that is precisely what we tried to avoid by creating our framework and our manifesto. It aligns our team towards a common goal and enables us to make quick and productive moves. Much like programmers follow coding standards and best practices, we put together a few best practices for components, and our matrix is a vital part of it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*BXAqdLmMmo9N4hK5" /><figcaption>The decision tree</figcaption></figure><p>First, we start by evaluating whether the feature our users requested must be added or not — based on how much usage we predict it will have. If, for some reason, we decide not to add a feature immediately, we keep track of it and wait until we know that we must add it because the developers using the OutSystems platform truly need it. In this, we are quite medieval and believe that “pain will bring us the truth,” meaning that we purposely avoid giving viable workarounds to see how many people actually complain.</p><p>After that, we use the decision tree to understand how to add the new feature. This way, we can ensure consistency with other features, meaning that integration within the component and other components will be seamless, making our devs’ lives easier.</p><h3>A Whole Branch of Questions</h3><p>Let’s imagine that we want to add the Center property to the map. This property specifies the place where the map should be centered. The first question is, “Can it live isolated on the page?” In this case, we pick “no.” The Center feature can’t live isolated on the page and is intrinsically related to the map.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*BG6gPDa9gujlU6hK" /></figure><p>The next question is, “Can it be defined by a boolean, number, string, or identifier?” The Center needs to be defined by its coordinates (latitude and longitude) or address. So, the answer to this question is “yes.”</p><p>Those are some of the rules we follow when dealing with more complex properties. We like to provide a subset of options with relevant values instead of having an “open” field to ease the development process. For instance, in the case of Zoom, we decided to give devs a group of options (read a static entity) instead of having an Integer field (they can always extend it and add other values).</p><p>Next, we have the following question: “Is it mandatory <strong>or</strong> is it frequently used?”<br> We avoid having mandatory fields as much as possible and give smart defaults instead to speed up the development process. Usually, mandatory fields refer to lists or variables that the developer must define and that the pattern will not work without.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*WZIfsV0Pe-DIA__-" /></figure><p>To answer the second part of the question — “Is it frequently used?” — we rely on data (from interviews, our community forums, and usage data). If we know other OutSystems / Forge components with similar properties, we check their usage to understand how developers are working with them. This way, we can make informed, data-driven decisions.</p><p>As far as the Center property, it wouldn’t be a mandatory field, but our developers would use it frequently. The answer is “yes.”</p><p>And we reached the end of a branch! According to the tree, the center of the map must be a property at the root of the block, that is, one of the properties that are immediately shown to the developer given its relevance.</p><h3>Keep Your Users Close, and Your Pain Points Closer</h3><p>One of the reasons why we felt we needed a decision tree to support our decisions is because we’re so close to our users (see point seven of our manifesto). For us, that is crucial to provide the best developer experience.</p><p>Being close, however, brings you new insight into their needs — and with new needs come new decisions, which lead us back to our tree. You get the point.</p><p>Fast decisions mean faster actions. And with every problem we solve, thanks to our users’ feedback, our trust capital continues to grow. Users trust that we will make their experience better, which is invaluable. It’s how we keep on growing and improving as a team.</p><p>One of the ways we keep in touch with the developers that use OutSystems is by inviting them to an interview with the team. Feedback can be scarce in the first few days after you release a new component, so if we get comments or questions in our forum, we reach out to those developers to question how we can further improve their experience.</p><p>(Again, keep the feedback looping.)</p><p>But that’s not the only thing we do…</p><h3>How We Keep Track of Users Feedback</h3><p>We have devised clever ways never to lose track of the feedback we receive. If you read our previous article, you know we are motivated by laziness. Why chase inputs in many different platforms when they can come to you?</p><p>Picture this: you have multiple threads from multiple components. Now, you have to keep track of them. By keeping track, we mean something as simple as knowing which threads you already answered and provided the user with the right solution so that you can act upon the unattended ones and don’t miss that precious feedback.</p><p>Well, this can be a nightmare to manage, as more and more components fall under our hat. So, we needed to develop a new way to control the threads from our assets. With the help of scraping tools, we created an internal application that combs through all the questions from our components’ forum pages and collects the following info:</p><ul><li>Title</li><li>Date of creation</li><li>Number of comments and likes</li><li>Reply dates</li></ul><p>The best part is that the app does all of this behind the scenes, which means that in short (and configurable) intervals, the scraping runs itself and collects the data to fill our five-component thread slots. It then highlights the ones that may need our attention either because they have new questions from our community or recent updates.</p><p>And, in case you’re wondering, the application could, of course, have been done differently, but it was built within the current limitations of the forum, which doesn’t have any supported or public APIs to analyze the community posts and group the threads to answer our needs.</p><h3>Sampling for Success</h3><p>Finally, there’s nothing wrong with a bit of show and tell.</p><p>To amp up our developer experience, we focused on building rich samples, full of real-life examples, to help developers understand how they can use our components. <a href="https://www.outsystems.com/forge/">Our samples are available for download on Forge</a>, allowing users a live sneak preview of our components.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*mGh_jPjIstJb60ag" /><figcaption>Our sample page for OutSystems Maps</figcaption></figure><p>Since we have experience with development, we know that an excellent way to learn is by seeing and doing. The samples that we build have a double purpose (check out the ones we created for the <a href="https://outsystemsui.outsystems.com/OutSystemsMapsSample/MapOverview">OutSystems Maps</a> and Data Grid Reactive components). They are documentation but you can download the source code and, instead of just reading the documentation, you can check how the sample was implemented.</p><p>This really helps reduce the learning curve and gives a sense of openness for our users, since we are showing and sharing our code (just like Git, where our repositories for <a href="https://github.com/OutSystems/outsystems-maps">OutSystems Maps</a> and <a href="https://github.com/OutSystems/outsystems-datagrid-reactive">Data Grid Reactive</a>, for example, are public and we have even received and accepted pull requests from people outside OutSystems).</p><p>In the end, we build the documentation and samples that we wish we had when we were (or are) in the developer seat. And ultimately, that is why we work so hard towards a fantastic developer experience — it takes one to know one.</p><p><em>Originally published at </em><a href="https://www.outsystems.com/blog/posts/how-to-build-frameworks-developer-experience/"><em>https://www.outsystems.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=34b75048f7d0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/fantastic-frameworks-and-how-to-build-them-developer-experience-34b75048f7d0">Fantastic Frameworks and How to Build Them: Developer Experience</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[From Cakes to Code — This Is How My Career Changed]]></title>
            <link>https://medium.com/outsystems-engineering/from-cakes-to-code-this-is-how-my-career-changed-630b589c7c36?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/630b589c7c36</guid>
            <category><![CDATA[careers]]></category>
            <category><![CDATA[jobs]]></category>
            <category><![CDATA[dev]]></category>
            <category><![CDATA[perpective]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Tue, 14 Dec 2021 17:42:57 GMT</pubDate>
            <atom:updated>2021-12-14T17:42:57.243Z</atom:updated>
            <content:encoded><![CDATA[<h3>From Cakes to Code — This Is How My Career Changed</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/747/1*H5k8ei1ha0BBkT1k3Y5p2g.png" /></figure><p>Filipa Almeida, 28, thought she would be doing pastry for a very long time: comforting people’s hearts through desserts, seeing them smile, and feeling really embarrassed whenever she got a compliment as she is mostly a giver, not a receiver. Her career was doing great, working at movie sets, Marylebone Cricket Stadium, charming hotels and catering companies. But about one year ago a question came to her mind: why not turn into the technology business?</p><p>Born in Amadora, Lisbon’s outskirts, Filipa has a seven-year background in Pastry, a degree in Cookery and Food Production from Estoril Higher Institute for Tourism and Hospitality, and a Pastry diploma from Le Cordon Bleu — one of the largest network of culinary and hospitality schools in the world — a course she attended in 2017 in London to uplevel her culinary skills. Gordon Ramsay, one of her favourite chefs, was born there. The other favourites are: Dominique Ansel, and her personal hero Raymond Blanc, who have set up businesses in England.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*j2-_ikrrbTZlHc5l" /><figcaption><em>Graduation day at Cordon Bleu.</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*hbJtZ3qOxMHVtYGf" /><figcaption><em>Some serious cake creations.</em></figcaption></figure><p>Throughout all the places, different people and recipes, she gathered a bunch of neat moments and others not so great, but she was able to keep a positive attitude. “These experiences gave me experience in many things, especially soft skills like dealing with customers and deadlines, being organized, a team player, eager to learn and not afraid to ask for help. This is really the most similar thing between pastry and IT; the technical part I’m still learning every day.”</p><p>So what made Filipa change her career? In February 2020, when she was about to leave the front lines of baking cakes and start a new job as a human resources consultant in the same industry, something unexpected happened.</p><p>“Hospitality workforce is not an easy world, unpredictable work hours and the pressure of solving a problem on the spot — my body was not taking it lightly. By the age of 26 I already had experienced three burnouts. I was at a hotel doing the breakfast shift. Started my day at 4:30 AM and never got out before 4:00 PM. I had midweek days off, which meant I never got to have a social life outside my job. It started to affect my mental health in ways I can’t even put into words, and it manifested through some physical signs that made me stop working for a few days, so I decided it was time to think about my health first.” That was when Covid-19 hit, Food and Beverage businesses crashed, and it was almost impossible to get any related job. She became desperate about what she was going to do with her life and studies. “I had invested so much to just move along to some other career! Those first months of unemployment were really difficult.”</p><p>Recalling how she overcame that period, she said: “Everything has a reason. I’m a gamer and have a lot of family and friends working in IT. That made me think about it and see a big world of possibilities in the industry.”</p><p>Before, she never thought about programming languages and writing code itself, “It kind of bothered me, but the thought of being able to do it while using ‘low-code’ and logic brought me hope.”</p><p>She started taking small steps to understand the basics: a Microsoft SQL Server certification and a small diploma for Algorithms in C.</p><p>But how could she do it coming from such a different background? I wondered if she was good at math in school or if her head exploded while learning how to code. “Math wasn’t bad, but not my strongest suit for sure. The point was learning algorithms — the whole foundation of coding — the available course was in C. But yes, I struggled a lot. Thankfully a shiny light appeared: an opportunity to enroll in the Upskill Training Program to learn OutSystems. Low code made it possible for me!”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*b08SkHUBgtGKtPGd" /><figcaption><em>First swag as a proud software developer intern.</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*8jhQpAhzPVQBJ5on" /><figcaption><em>Filipa in a team gathering, with her colleagues. Five of them are also coming from the Upskill program, all with different backgrounds. “It has been fun growing alongside them.”</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*dNJCNFu_Y1omqPW6" /><figcaption><em>Celebrating a senior developer’s birthday in October.</em></figcaption></figure><p>In December 2020 she enrolled in the <a href="https://upskill.pt/">Upskill program</a> — the Portuguese government’s new measure to reskill people with non-IT backgrounds. After six months she was an intern at OutSystems. In 12 months, she became a full-time happy employee, working as an Associate Software Developer with Internal Apps. (This team maintains and develops applications for internal use, enhancing quality and user experience.)</p><p>“The community is amazing, the learning process, the challenges and I have everyone to thank for it. I can’t wait to keep growing with this environment.” To any person feeling desperate and stuck in any area her advice is: “You’re not alone, some opportunity is just waiting for you to embrace it. There isn’t any shame in not knowing or making choices that put your health as priority. And mostly, dreams can still have a place in your hearts, or become different ones.”</p><p>Filipa’s next career moves are: get some OutSystems certifications and strive to understand it better, learn about quality assurance and testing, some Python to broaden horizons and keep her SQL in check. Meanwhile, she keeps making cakes as a hobby and her team is very grateful for it!</p><p>Check some of OutSystems’ job openings<a href="https://www.outsystems.com/careers/engineering/"> here</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=630b589c7c36" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/from-cakes-to-code-this-is-how-my-career-changed-630b589c7c36">From Cakes to Code — This Is How My Career Changed</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Creative Ideas: Bookmarks in Service Studio]]></title>
            <link>https://medium.com/outsystems-engineering/creative-ideas-bookmarks-in-service-studio-fb5c3f19faa?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb5c3f19faa</guid>
            <category><![CDATA[creativity]]></category>
            <category><![CDATA[outsystems]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[bookmarks]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Fri, 19 Nov 2021 17:01:13 GMT</pubDate>
            <atom:updated>2021-11-19T17:01:13.793Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MMwn7rx2TwNCYw_uuC1RXg.png" /></figure><p><em>As Albert Einstein said, “Creativity is intelligence having fun.” At OutSystems, we want to stimulate creativity and have a more innovative R&amp;D; that’s why we created the </em><a href="https://medium.com/outsystems-engineering/how-we-boosted-creativity-at-outsystems-r-d-61aee841d866"><em>Open Days.</em></a><em> A three-day event where our team can try new ideas, be creative, and feel powerful.</em></p><p>“A bookmark is a saved shortcut that directs your browser to a specific webpage,” according to website TechTerms.</p><p>Pedro Melo Rosa, Senior Developer at OutSystems, thinks it’d be good to have a bookmark feature in Service Studio. Let’s find out more about it.</p><h3>Pedro, the Creator</h3><p>I started as an OutContractor in October 2009, and in January 2021 I became an employee and part of the ART (Agile Release Train)<a href="https://www.outsystems.com/platform/integration-builder/"> Integration Builder</a>, which is an add-on to the core product. I’d heard about Open Days, months ago, and I wished to take part but I hadn’t found the time. Eventually, with that wish and the company’s <a href="https://www.youtube.com/watch?v=hiiEeMN7vbQ">growth mindset</a> goals, I could have the best of both worlds. I thought about an idea and applied it.</p><p>The Open Days are a great initiative to deep dive into our product, work, learn new things, and leave my comfort zone.</p><h3>The Inspiration</h3><p>Before I joined OutSystems I was working with .NET and Visual Studio, the integrated development environment (IDE). Visual Studio has a bookmarks feature. As it happens, sometimes I miss that feature so I thought, why not come up with some?</p><h3>The Process</h3><p>On the three days of Open Days, I worked on the idea by myself, although when I was blocking on something I’d talk to Team Lead <a href="https://www.outsystems.com/blog/posts/hosting-an-innovation-program/">Nuno Maurício</a>. He always pointed me to the right people.</p><h3>It’s a Hard Knock… Code Source</h3><p>Setting up the environment to be able to use Service Studio was hard. There was a little mistake in Confluence’s tutorial, but someone fixed it after. It was also my first time working with our core product.</p><h3>What Does the Bookmark Idea Consist Of?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*RRBE1A4CPzuzij6z2_P-hw.png" /><figcaption>I run a Service Studio demo for this feature.</figcaption></figure><p>In Service Studio you can open several modules at the same time. Each module has screens and server actions (where the code is at). When we’re working we open one server action here and there, we need to go to a screen and then be back to the first action — we need to jump around to see what to do. What happens is that sometimes we think, <em>“I want to go back to that code that did that action and now I don’t remember where it was.”</em></p><p>With a bookmark, you can simply put several labels on specific points of the code, or in the diagrams, have a list of bookmarks, and directly jump to those points of interest.</p><p>Everyone who uses Service Studio would benefit from the feature. This is not related to code; the goal is to help developers navigate in Service Studio.</p><p>The problem I want to solve with this feature is speed of execution. Sometimes you can have a big project with a huge list of actions and it can be difficult to go from one point to another.</p><p>Of course, there’ll be more options in the context menu, two or three buttons in the toolbar but that’s it. No big cons.</p><h3>After All, What Was in It For Me?</h3><p>I believe that when ideas show up and when they are converted into reality the motivation to pursue more ideas increases. But I look at creativity as something intrinsic in people.</p><p>It was great to participate in the Open Days and to hear that people found my idea useful.</p><p>I dove into Service Studio code and learned new terminology. I became familiar with concepts I was hearing in other teams but were only abstract to me.</p><p>Now, your turn, what do you think about Pedro Melo Rosa’s idea? <a href="https://twitter.com/OutSystemsEng">Share your thoughts with us.</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb5c3f19faa" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/creative-ideas-bookmarks-in-service-studio-fb5c3f19faa">Creative Ideas: Bookmarks in Service Studio</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Geeks That Speak — 30+ Public Speaking Tips for Developers]]></title>
            <link>https://medium.com/outsystems-engineering/geeks-that-speak-30-public-speaking-tips-for-developers-ec7b5ab24f3?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/ec7b5ab24f3</guid>
            <category><![CDATA[public-speaking-tips]]></category>
            <category><![CDATA[public-speaking]]></category>
            <category><![CDATA[perspective]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Wed, 17 Nov 2021 17:51:24 GMT</pubDate>
            <atom:updated>2021-11-17T17:51:24.912Z</atom:updated>
            <content:encoded><![CDATA[<h3>Geeks That Speak — 30+ Public Speaking Tips for Developers</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*W2ipI3tjz_cX3IyV5lyoQA.png" /></figure><p>With the <a href="https://www.outsystems.com/nextstep/osdc/">OutSystems Developer Conference (OSDC)</a> 2021 starting today, some members of the R&amp;D and Community Teams face a common challenge in every engineer’s life: public speaking. Whether you’re showcasing a demo, presenting new work to your team, or taking part in a public engagement, the perils of public speaking are there to haunt you.</p><p>But don’t freak out about that slide deck (or Powerpoint presentation if you’re old school) just yet. As every seasoned public speaker will tell you, this skill is a muscle. You need to flex it, much like programming.</p><p>Since practice makes perfect, we gathered experienced speakers within the OutSystems team — from communication experts to engineers and developer advocates — and asked them for tips <a href="https://www.thetimes.co.uk/article/speaking-in-public-is-worse-than-death-for-most-5l2bvqlmbnt#:~:text=If%20you%20have%20ever%20thought,a%20survey%20on%20common%20phobias.&amp;text=The%20top%20ranking%2C%20at%206.41,a%205.63%20for%20public%20speaking.#:~:text=If%20you%20have%20ever%20thought,a%20survey%20on%20common%20phobias.&amp;text=The%20top%20ranking%2C%20at%206.41,a%205.63%20for%20public%20speaking.">on making public speaking (whether virtually or face to face, live or recorded) less scary than death.</a></p><p>The 30 plus answers were as diverse as our team, from motivational (Breathe, you’re the best!) to technical (Do you call that a proper mic?) and everything in between. We hope you learn from them and nail your next slide deck.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*K1O6rNqmPjfoya8F" /><figcaption>The OutSystems CEO, Paulo Rosado, at the 2018 OutSystems Developer Conference</figcaption></figure><h3>Flexing That Public Speaking Muscle</h3><p>Often depicted as geeky, introverted nerds, some developers surprise people with excellent communication abilities when it comes to their work. It actually shouldn’t be that surprising, as engineers, as part of their everyday jobs, are constantly asked to speak up and share their knowledge, be it in the shape of tech talks, team presentations, or outreach events.</p><p>Melissa Perdue, a Senior Communications Manager at OutSystems, is part of a team of tech evangelists who supports the R&amp;D Team in their communication endeavors, from social media to blog posts and internal and external talks. Besides international conferences, one of the initiatives where she helps devs flex that public speaking muscle is BridgeTalks, a series of internal presentations about any software development topic from one (or more) member(s) of the R&amp;D Team to the others.</p><p>In her words, “the goal is to bridge the gap between groups in R&amp;D, removing any silos. They aim to educate, provide training, and request help from other teams.” They are “informal and generate valuable conversations across teams,” she says. From polishing up the engineers’ message to reviewing slides, managing deadlines, and running through presentations numerous times in dry-runs, Melissa says she worries about the moving parts so that experts — that’s you, dev — can focus on the message.</p><h3>Tips From the Specialist Communicator</h3><p>In fact, according to communication specialists, <a href="https://hbr.org/2019/09/to-overcome-your-fear-of-public-speaking-stop-thinking-about-yourself">one good way to perfect your public speaking chops is to stop thinking about yourself</a> and more about others. In sum, think more about the content and less about the speaking.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1002/0*fj3mtyx-GvGi8sfk" /><figcaption>Melissa Perdue</figcaption></figure><p>The OutSystems expert takes it a step further by adding a little twist: boosting your confidence first will allow you to start thinking about your audience. “Everyone is here to listen to your expertise and what you’re saying. Be confident in that. Your audience doesn’t want to read your slides. Slides are visuals to highlight parts of your speech, so use them as aids and less as the whole presentation,” explains Melissa.</p><p>Now that you’re confident that people show up to hear you talk and you’ve pushed those jitters away, what do you have to say to your audience? It’s time to start thinking about them. How? Here are Melissa’s tips for great presentations, whether they’re virtual or in-person:</p><ol><li><strong>Start at the end. </strong>Meaning, think about the conclusion of your presentation first. What is the idea behind your presentation? Why would your audience care? What do you want them to learn or take away from listening to you? Then move to the opening and how you’re going to pull them into your idea. That will create a through-line for your audience, so they know from the start what you’re giving them.</li><li><strong>Good visuals. </strong>This is more than slides or images on slides. Visuals can also be physical objects or how you gesture.</li><li><strong>Less is more. </strong>If it’s on your slide and you do not mention it, drop it. Keep it simple.</li><li><strong>Know your audience. </strong>Are they technical or non-technical? Managers? CEOs? Make sure you think about who you’re speaking to.</li><li><strong>Practice. Practice. Practice. </strong>Record and watch it back. It helps to see yourself presenting to know where you might need to practice more, slow down, or remove a slide. It will also help with your time management.</li></ol><h3>Tips From the R&amp;D Team</h3><p>After establishing the baseline for an excellent presentation, it’s time to get personal. Public speaking is an individual deal, and every successful speaker has valuable tricks up their sleeve, so we’re sharing a wide range of advice on what works and doesn’t work for our R&amp;D Team.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*NjRNNQVfuM5P9D21" /><figcaption>João Proença at TestBash in 2019</figcaption></figure><p>The first in line is Quality Practice Lead João Proença, who boasts an impressive track record of speaking at international software conferences and events. This year alone, you may have attended his workshop on biases with fellow quality engineer Michael Kutz at <a href="https://www.ministryoftesting.com/">The Ministry of Testing</a>. However, if you haven’t, you can still catch <a href="https://agiletestingdays.com/2021/program/?day=conference-day-2">his keynote speech today at Agile Testing Days</a>.</p><p>João’s advice is an excellent complement to the foundational tips above and a great reminder that your audience needs to come first:</p><ol><li><strong>Feedback is key! </strong>One of the best ways to ensure that you build an awesome presentation is to gather feedback simply. As others have pointed out, practicing is very important, so do some dry-runs with your teammates and allow for 20 minutes in the end to collect feedback on how to improve your presentation. If you’re making a presentation at an external conference, also consider delivering it in a smaller, local meetup, as you’ll be able to collect feedback from people without the contextual bias of working at the same place as you.</li><li><strong>Slides are there to help you, </strong>not the other way around! <strong>You</strong> are delivering the presentation; the slides are not. Use them as an aid to convey your message. That means you don’t need the slides to be complete, or in other words, to contain all the info you will be talking about.</li><li><strong>Engage with your audience. </strong>Sometimes, you have the opportunity to involve the audience in some of the moments of your session. Such is especially effective at the beginning of a presentation (as you will catch the audience’s attention early on). One example is demonstrating a specific concept with an exercise/question or launching a “short poll” with a quick show of hands.</li></ol><h4>Stay hydrated</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*sIOfxzIeo_x-Kc1L" /><figcaption>Sérgio Amorim at Open Days Lisbon 2018</figcaption></figure><p>Quality Group Lead Sérgio Amorim <a href="https://www.outsystems.com/blog/posts/inside-outsystems-engineering-sergio-amorim/">has already shared his path from introvert to prolific public speaker and member of the DevOps Lisbon meetups community</a>. Buckle up; his tips for an easy delivery are incredibly detailed:</p><ol><li><strong>Breathe and hydrate. </strong>Breathing is essential to quickly rest and oxygenate the brain, allowing you a moment to think about what you’re going to say next. Use a glass of water to hydrate so that words come out fluidly and to create more breaks. Also, the first time you engage in public speaking, you’ll feel more nervous, and your mouth will dry up quicker. In my opinion, having a water bottle in my hand helps not only because it keeps my hands occupied (which is something that you don’t usually know how to do with them) but also because it reminds me to drink from time to time. The last time I presented in public, I didn’t have water; my mouth got parched, and the words didn’t come out as easily. So drink up!</li><li><strong>Communicate to be understood. </strong>Think about how your audience will interpret the message. Communication is the art of others understanding you; it’s not about dumping information on people for 30 minutes. Do dry-runs with other colleagues or random people. Try to explain your talk to your kids, parents, friends. Would they understand the full story? Or just a part of it? As others have mentioned, you need to understand your audience. Knowing who you’re talking to (or with) allows you to adjust your communication style: can you use jargon freely, or should you explain it in a more detailed way?</li><li><strong>Use your body language. </strong>We don’t communicate just with our voices. Use your hands and body. Display emotion, engagement, and power with the help of your body. That works for both physical and virtual events. Have you ever thought of leaning in on the camera to be closer to your audience? Wouldn’t that create a stronger message? Like: “Hey? Are you listening to me?” And by the way, stay straight, don’t curl your back. That will boost not only your self-confidence but also the audience’s.</li></ol><p>You may recognize her from previous OutSystems Developer Conferences — <a href="http://https//www.outsystems.com/blog/posts/inside-outsystems-engineering-sara-goncalves/">or if you’ve ever run a half-marathon in the Lisbon area</a>. Team Lead Sara Gonçalves is not one to shy away from a challenge, and public speaking is no different. These are her tips:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*lEqoIvXqK94QcKff" /><figcaption>Sara Gonçalves at 2018 OutSystems Developer Conference</figcaption></figure><ol><li><strong>Use an icebreaker </strong>at the beginning of the presentation to help people disconnect from what they were doing before. That is a tip I learned during effective meetings training, but I think it can also work here! You can, for example, start by asking the audience a question that will get their attention or add a slide with a funny image to get them talking and which will allow you to make some sort of connection to what you will be presenting next.</li><li><strong>Don’t end a presentation with “That’s it, thank you!” </strong>Choose your final sentence carefully because it will stay on people’s minds and help them connect the dots regarding everything you presented.</li><li><strong>Use concrete examples and images </strong>to help people visualize and follow your chain of thought.</li><li><strong>Tell a story. </strong>You need to think about who your audience is, what their context is, and start the presentation in a way that will make them want to reach its end to find out how it unravels. <a href="https://www.outsystems.com/blog/author/miguelventura/">That is a great piece of advice I got from Miguel Ventura.</a></li></ol><h4>Show off your personality</h4><p>With a Ph.D. in Social and Organizational Psychology and having worked as a postdoctoral researcher at New York University, Tânia Ramos lectured a fair share of academic events. More recently, the Senior UX Researcher at OutSystems <a href="https://www.youtube.com/watch?v=YTALwxnTeek&amp;list=PLuo3RMjuSfpLULx2ev8uxMFs14ZfZ4ZOO&amp;index=1">also gave a talk on behavioral economics at Interact Global 2021</a>, an international UX and Design conference.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*JlAXWp60mDcjbJF9" /><figcaption>UX Researcher Tânia Ramos presenting at Interact Global 2021</figcaption></figure><p>Read her tips for frictionless presentations:</p><ol><li><strong>Don’t try to say everything in one presentation. </strong>Think about the three to five main points you want to convey and organize your narrative around them.</li><li><strong>Be authentic, show your passion, and let the presentation reflect your personality. </strong>The audience can sense when someone is genuinely passionate about what they are talking about!</li><li><strong>When I’m unsure who the audience is, </strong>I plan the presentation to suit people with less knowledge (novices) and experts. Use simple language and concrete examples, but include one or two more complex ideas for experienced people.</li><li><strong>If you’re nervous, practice, rehearse and try to visualize yourself </strong>giving a fantastic presentation.</li><li><strong>If the presentation lasts longer than 20–30 minutes, </strong>promote interaction with the audience (questions, quizzes, exercises, etc.) to keep their attention.</li><li><strong>Try to anticipate questions for the Q&amp;A </strong>and reserve some exciting ideas to share during the discussion part.</li></ol><p>Finally, we couldn’t end the R&amp;D advice section of this article without mentioning Team Lead César Afonso, an evil genius who is years ahead of us on this subject — that’s why we hired him in the first place.</p><p>Back in 2014 (??!!), <a href="https://medium.com/cesarafonso/preliminaries-are-as-important-as-the-act-1e8b4e874333">César wrote a piece on how to prepare for a presentation</a> and, four years later, <a href="https://medium.com/cesarafonso/preliminaries-are-as-important-as-the-act-part-ii-3616ab14354f">he added a sequel on essential presentation skills</a>. And yes, if you picked up on his Seinfeld reference about public speaking being scarier than death — we got that from him too. Always paving the way, this one.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/974/0*2as2c2KY0zUNd6rz" /><figcaption>The credit for this wholesome meme of César goes out to our <a href="https://medium.com/outsystems-engineering/ideation-of-an-ide-the-net-and-reactjs-love-affair-dc29a9dd26b6?source=collection_home---4------9-----------------------">Principal Software Engineer, João Neves</a>, also known as the OutSystems Meme Master</figcaption></figure><h3>Tips From the Trenches, a.k.a. the Community Team</h3><p>Speaking to other developers or a general audience can be nerve-wracking, but have you ever tried speaking to your product’s users? If anyone has good advice on bullet-proof presentations, it’s your company’s community team.</p><p>So, we reached out to ours. Not to brag, but besides having *the best* community, we have the coolest bunch of people catering to them. If you’re a podcast fan, you probably have come across Sydney Lai, Developer Advocate at OutSystems, and host extraordinaire of the <a href="https://www.outsystems.com/events/decoded-podcast/">DE/CODED podcast series</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*Il552v2NAngLX4cc" /></figure><p>Needless to say, Sydney knows one thing or two about public speaking, whether she’s talking into a mic or not. So, without further ado, here is her advice to up your presentation game:</p><ol><li><strong>Remember to speak slowly and clearly.</strong> This helps with accents or tripping over your words.</li><li><strong>When presenting:</strong><br> a. Tell them what you’re going to talk about.<br> b. Talk about it.<br> c. In the recap, tell them what you just told them.</li><li><strong>Do not overcrowd the slides with too many words.</strong> (You’ve read this before, but if there is one takeaway from this article, this is it.)</li></ol><h3>Let’s get technical</h3><p>Some people know so well what they’re doing that they will ask you questions that had never crossed your busy mind. When we set out to write this article, handing out advice for both physical and virtual events was a priority. But when we asked our teammate G. Andrew Duthie for his tips, he added an extra layer of abstraction: “Live or recorded?” he asked. “Or either/both?”</p><p>Sheesh, I wonder who would get into specifics like that?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*TOP966qcJKdcDciT" /><figcaption><a href="https://www.youtube.com/watch?v=Vhh_GeBPOhs&gt;">Click here to watch the video</a></figcaption></figure><p>Or, it turns out, a Developer Advocate. Here are his tips from the trenches for “either/both”:</p><ol><li><strong>Avoid reading your slides! </strong>Think of your slides as either an accompaniment to your talk (for example, graphic or photo-heavy slide decks) or a roadmap for your presentation to help keep you on track. Attendees can read much faster silently than you can out loud, so you will lose their attention if you read your slides.</li><li><strong>Be aware of the power of silence. </strong>This is particularly important for live presentations in front of an audience. If you find that your audience is drifting, or seems distracted, try pausing for a few seconds. It can be really difficult, as we’re all tempted to fill the silence with our voice, but a dramatic pause will have those faces that were buried in phones looking up to wonder what they missed! But even in a virtual talk, a pause will catch the attention.</li><li><strong>If you’re new to presenting, don’t forget to practice, practice, practice!</strong> Practice your demos repeatedly to ensure you won’t hit surprises during the talk. Practice your presentation end-to-end, so you have a clear idea of how much time it will take, but count on the live presentation being at least a bit longer, so you don’t run out of time.</li><li><strong>When doing virtual presentations, or recording videos, these are the three most important technologies to get right, in order:</strong></li></ol><p>a. Audio — make sure you have a quality microphone (USB headset at a minimum. Avoid Bluetooth headsets, to avoid connection issues during a live talk), ideally a large-diaphragm condenser microphone, <a href="https://www.bluemic.com/en-us/products/yeti/">such as the Blue Yeti</a> or similar. If you will be using it frequently, it’s a good idea to mount it on a boom arm with a spider mount to isolate the mic from noise from typing, etc. Also, double and triple-check that you have the correct mic selected before recording or presenting!</p><p>b. Audio — yes, I’m listing it twice; it’s that important. If your audience can’t hear you, none of the rest of the tech matters. Make sure you sound great!</p><p>c. Lighting — Regardless of the quality of your camera, more light will help it do its job well. If you are in a room with lots of natural light, make sure that the lighting doesn’t throw weird shadows on your face. For supplemental lighting, an LED work light bounced off a nearby wall can help fill in shadows without looking harsh.<a href="https://www.elgato.com/en/key-light">Purpose-made key lights such as the panels available from elgato</a> are great for those who do lots of recordings/online presentations.</p><p>d. Camera — Lots of options when it comes to presenting or recording online. One thing to avoid, if at all possible, is using a built-in webcam on a laptop. These are usually poor quality, though good lighting can help (see above). A stand-alone high-quality webcam will bump things up considerably. You can also often use a modern cell phone to record good quality video, though if you’re doing that, you’ll want your microphone plugged into the phone, rather than running through your computer, to avoid sync issues later on. Best is a DSLR that supports video streaming to PC via a capture card.</p><p>5. <strong>Last note, also related to virtual presentations or recordings: be aware of your background.</strong> Avoid busy or cluttered backgrounds, and be aware of things you might not want to show. A virtual background can be a workaround, but in many cases, this can look a little odd, especially if you are wearing glasses or a headset, as the results can vary depending on the software used.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*99obYxCboc7x0UbR" /><figcaption>The OutSystems Developer Advocate G. Andrew Duthie</figcaption></figure><h4>Let’s get motivational</h4><p>Duthie’s amazingly hands-on, technical advice could only be offset by some motivational tips from our Senior Developer Marketing Manager. <a href="https://twitter.com/OutSystemsEng/status/1448328761498296320">Known for spreading the word about developers and how great they are</a>, public speaking is no match for Ricardo Miguel Silva.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*9EXGOUEX9xd6tPEp" /><figcaption>Ricardo Miguel Silva working his magic</figcaption></figure><p>Here are his top three tips:</p><p>According to Ricardo, “the best part of public speaking is learning how to feel the audience.” That is also a skill you will develop over time, he believes, especially “as your vision and focus can be funneled by the uncertainty of your first public speaking experiences.” You will need to push through it — no other way about it.</p><p>“But you’ll eventually relax enough to scan the audience. Find those people who are engaged, reel them in. <strong>Engagement is infectious, and if someone is having a good time while learning something new, that good energy tends to spread,”</strong> says the Senior Developer Marketing Manager.</p><ul><li><strong>2. Breathe. Be candid. Show emotion.</strong> You’re a human being presenting to other human beings. No one expects you to be a speech delivery machine. The certainty of your words is important, sure, but so is showing the emotion behind them. No one should speak to a group of people about a subject they’re not passionate about. If that’s the case, keep it for something you love more. There’s nothing duller or more unengaging than watching someone speak unenthusiastically.</li><li><strong>There is also a bizarre tip that I once saw spreading throughout the interwebs: that to feel a bit more relaxed, one should imagine the audience naked.</strong> While that seems strange and might not necessarily relax everyone, I understand the basic psychology behind that. It’s the essential acknowledgment that, deep down, we’re the same: we’re all just flesh and bone. I kid you not when I tell you that I’ve seen people more nervous about attending sessions than those on stage. It’s a two-way street.<br> So, everything that makes you human is important, starting with the most basic of all human functions: breathing. Don’t spit out words. Pronounce them. Use your lips, use your tongue, fill your lungs, breathe it out. Use your hands — it’s not just for Italians — it’ll show expressiveness.</li><li><strong>And if you’re nervous, why not just say it?</strong> What’s the big deal? Wouldn’t many people from the audience be too if they were in your shoes? Vulnerability can be the best destroyer of walls. And people tend to trust what other like-minded people tell them. Make sure you understand how to use that to your benefit, and you’ll be golden.</li><li><strong>3. Keep the rhythm of words and sentences in mind as you speak. </strong>This goes for speaking as it should go for writing. People generally forget about this, but even if you deliver with passion, you can still sound monotonic even if you put some emotion in it. Make it a bit more musical, then. Get into that groove and mix short, impactful sentences with some longer ones. Improve those dynamics as if it were a song. Just mind that while speaking, you need to make sure your phrases aren’t too long, as both meaning and lungs can (and will) quickly expire. If you’re running out of breath, take a breather. Sure, the message is the most critical part of the whole thing, but sometimes you can turn the most boring subjects into something cool to listen to if you just get into the right mindset.</li></ul><p>Now, wouldn’t you give this a standing ovation?</p><p><em>Originally published at </em><a href="https://www.outsystems.com/blog/posts/public-speaking-tips-for-developers/"><em>https://www.outsystems.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ec7b5ab24f3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/geeks-that-speak-30-public-speaking-tips-for-developers-ec7b5ab24f3">Geeks That Speak — 30+ Public Speaking Tips for Developers</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fantastic* Frameworks and How to Build Them: Tools and Technologies]]></title>
            <link>https://medium.com/outsystems-engineering/fantastic-frameworks-and-how-to-build-them-tools-and-technologies-bf20eb7f395?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/bf20eb7f395</guid>
            <category><![CDATA[api]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[components]]></category>
            <category><![CDATA[framework]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Wed, 10 Nov 2021 19:29:09 GMT</pubDate>
            <atom:updated>2021-11-10T19:29:09.726Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RGZyEMlGVu6_KxFlOrIUhg.png" /></figure><p><em>Co-authors: </em><a href="https://www.outsystems.com/blog/author/brunomartinho/"><em>Bruno Martinho</em></a><em>, </em><a href="https://www.outsystems.com/blog/author/gabriel-lundgren/"><em>Gabriel Lundgren</em></a><em>,</em><a href="https://www.outsystems.com/blog/author/joao-manuel-ferreira/"><em> João Ferreira</em></a><em>, </em><a href="https://www.outsystems.com/blog/author/mariana-bexiga/"><em>Mariana Bexiga</em></a><em>, </em><a href="https://www.outsystems.com/blog/author/rubgon/"><em>Rúben Gonçalves</em></a><em> and </em><a href="https://www.outsystems.com/blog/author/tiago-pereira/"><em>Tiago M. Pereira</em></a></p><p>Low code platforms, like OutSystems, greatly contribute to the democratization of app creation to solve real-world problems, and components are essential for this. Besides the obvious code reusability, they enable developers to build software faster without reinventing the wheel while (idyllically) simplifying the usage of said code or library.</p><p>Frameworks and libraries provide reliable and reusable code, allowing the developer to focus on app functionality. This is why good frameworks accelerate the development process, and the best ones are easy to use.</p><p>In this article, we’ll explain how a good component framework can save brain cells and make life easier. We’ll also get into the very first aspects you need to consider when building a framework — tools and technologies. And to illustrate just that, we will tell you a story based on a real-life problem.</p><p>But, before we dive in, know that this is the first on a series of posts on how to build a fantastic* framework. If you want to learn more on how you can divide and organize work, create a diagram that works as a decision matrix to help you build new components and improve the developer experience, among many other things, <a href="https://twitter.com/OutSystemsEng">follow us on Twitter</a> and we’ll keep you posted on upcoming articles.</p><p>*From dev to dev: sorry, but our editing team made us use this adjective for SERP (Search Engine Results Page) purposes…</p><p><em>Note from the editing team: The word grew on them, and look how high they’re flying now on your results page *wink*.</em></p><h3>Who Are We, Anyway, and Why Are We Building a Component Framework?</h3><p>Alright, let’s start with a little context.</p><p>Formed in February 2020, the Data Visualization Team was born out of the need to stabilize one of the OutSystems components, the <a href="https://www.outsystems.com/forge/component-overview/5554/data-grid-web#:~:text=Enable%20users%20to%20securely%20view,enterprise%2Dgrade%20data%20grid%20interfaces.#:~:text=Enable%20users%20to%20securely%20view,enterprise%2Dgrade%20data%20grid%20interfaces.">Data Grid Web</a>, and support its users. Data Grid Web allows developers using the OutSystems platform to build complex, scalable, and data-rich interfaces for apps. As a result, application users can securely view, explore, and edit large amounts of data in an Excel-style user interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*vu3zPoI8y-E5UgmU" /></figure><h3>Starting a Framework? Pick Your Tools</h3><p>A wise man once said — actually, it was our Team Lead, Bruno Martinho — that pain leads to change. We were about to experience that first-hand.</p><p>As we rolled up our sleeves and began toiling away, we struggled — the effort required to maintain the existing code was excruciating (let’s not even mention adding new features).</p><p>Why? Due to the traditional way these components had been developed (there were a lot of difficult circumstances and constraints), altering them required wizard’s hands, black magic, and above all, plenty of time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/759/0*2Z8oPGhHADOpjqiV" /></figure><p>There was virtually no automation. Processes were primarily manual and error-prone. Imagine, just imagine, several people bug fixing and working on features in copies of a multi-thousand line JavaScript file — kept in OML — and then going for a <strong>manual merge</strong>, which of course, was done in Notepad++. The result was what one would expect, with multiple defects caused by merge mistakes, code losses, and worst of all: a lack of trust and confidence from customers.</p><p>As we are lazy (and strong contenders*), we decided to change things, starting with the obvious — tools — and forbidding ourselves from ever doing something similar, or else we’d be bound for some harsh physical punishment**.</p><p>* Yes, yes, we did notice the apparent contradiction.<br> ** No developer was physically harmed.</p><p>Things turned out well, so after we stabilized the Data Grid Web component, we applied the lessons learned to <a href="https://www.outsystems.com/forge/component-overview/9764/data-grid-reactive">its runtime Reactive counterpart</a>, which we built from scratch. Then, as our team grew, we consolidated our framework while redesigning two other reactive components — <a href="https://www.outsystems.com/forge/component-overview/4141/outsystems-charts">OutSystems Charts</a> and <a href="https://www.outsystems.com/forge/component-overview/9909/outsystems-maps">OutSystems Maps</a>.</p><p>When you’re building a new framework, the first thing you need to do is pick the appropriate tools and technologies. So that is where our story will really begin. Here’s what we learned.</p><h3>Good Old Git</h3><p>Most of the issues we told you about began right when we started tackling our web component and can be summarized by the old pasting code motto.</p><p>We have, however, a new mantra for you. Repeat after us:</p><ul><li>Copying and pasting JavaScript code is bad.</li><li>Manually merging JavaScript code is horrible.</li><li>Maintaining JavaScript in an OutSystems module <strong>is worthy of punishment</strong>.</li></ul><p>Yet, as you now know, that was the problem we faced.</p><p>To make the process more agile and our lives easier, we needed the right tools. And sometimes, the easiest solution is right in front of you. So, the first thing we did was move our JavaScript code to GitHub, which instantly solved many of the issues we had. Faster merges? Check. Code traceability? Check. Code reviews? Check.</p><p>Performing code reviews was nearly impossible before as we had no means to compare what had been added to the code and were, therefore, unable to track changes properly. Git got that out of the way. Bang.</p><p>Our spirits were lifted, but we weren’t completely satisfied, so we turned our heads to our next big pain. To deliver a feature, you need to have a sandbox, so that you can fix, test, and generally mess around with your code without standing in the way of other developers (or the other way around).</p><p>We needed the ability to create a new application that contained a replica or clone of those modules but there’s no magic button for that…</p><p>Or so we thought. The plot thickens.</p><h3>Saved by the API</h3><p>Meanwhile, some of our colleagues encouraged us to use TypeScript, so we decided to convert our JavaScript code base into TypeScript. We thought it would be a much more complex move, but we benefited simply by changing the extension from <em>js</em> to <em>ts</em> — and starting to use Visual Code. With these changes alone, we could unleash TypeScript’s potential, our code could be compiled, and we could start catching mistakes even before they’d get to the browser.</p><p>With Git and TypeScript, merges were now mostly automatic, meaning that two engineers didn’t have to waste a whole eight-hour day copying and pasting code — and then validating the copying and pasting — every time we did a release.</p><p>But, for a team who likes to be as efficient as possible and save time on tedious tasks to focus on what we really enjoy doing, it still wasn’t good enough. Setting up a sandbox took about an hour because the process involved cloning three or four different modules and then changing all the references to the right modules.</p><p>There was indeed no magic button, but instead, two magical, underdeveloped, experimental, and fantastic APIs.</p><p>And you know the saying, “Give a developer an API, and they’ll create a whole application around it” or something like that. We got not one, but two APIs! JUST PICTURE our happiness!</p><p>Using these <em>#blessed</em> APIs (our codename for them, as we are not authorized to reveal their names), we created a new app that allowed us to clone entire applications, change the references to the cloned modules, and publish them to our environment.</p><p>But, much better than that, we designed it with the concept of “templates.” What exactly is this? A “template” is a virtual app that features all the modules (which actually belong to different apps) that a developer needs in its sandbox to build a new feature or fix an issue (in our case, we needed the DataGridWeb, DataGridSampleWeb, DataGridExample, DataGridTestsWeb modules).</p><p>The result? Our one-hour-long step to set up the sandbox, now became a five-minute step, including the login time on our app and on Git to create the branch.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/759/0*IAjdM4xy3zSeVRXn" /></figure><h3>All Hail Pipelines</h3><p>With things finally on the fast track, we took another step towards automation. We didn’t want to compile the TypeScript code in our machines only to realize that other devices would compile the same code differently, thus generating problems we wouldn’t pick up on easily.</p><p>So, using Azure DevOps, we created a new pipeline that would compile our TypeScript code after each pull request, so that the final code was available to download and insert in the module. That ensured that the released code was always compiled under the same conditions.</p><p>However, we still had to open the DataGridWeb module, add the latest version of previously compiled code, and of course, open and update the consumer modules. Not good enough for our books.</p><p>How did we skip this step? By now, you already know the answer… Using the <em>#blessed</em> APIs, we created yet another app. This application begins working its magic when Azure finishes compiling the code.</p><p>We summarized its inner workings in this very plausible monologue: “OK, the code is compiled. This is the JavaScript code, this is the CSS code; now where shall I put it? Oh, I must send it to this environment, so I will open this module, place the JavaScript and CSS code folders inside, publish the module and, obviously, also publish all the other modules that use the same code.”</p><p>“Holy cow!” you might say (as we did back then). This means that when a pull request is accepted, the TypeScript code is compiled to JavaScript, which is then sent to our environment, inserted in the correct module, published, and the consumer modules refreshed. Hypothetically, every time a pull request is accepted following the code reviews, our components are ready to be uploaded to the Forge by the time the app completes its job. Who needs magical buttons, when you can create buttonless magic?</p><p>Once two people accept the pull request, the code will be merged, and the magic we described kicks in — we are now down to a 10-minute process.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/759/0*iwIlR5XszXQ4kHYt" /></figure><h3>What About Testing?</h3><p>While shortening the whole process was a much anticipated happy ending to this story, using the right tools and technologies has brought us other benefits from an engineering perspective. Testing is one of them.</p><p>Thanks to our Azure setup, we now have a whole new pipeline of automated tests (using a framework that our R&amp;D Team built, but that is another story). Every time there’s a pull request, the tool will run hundreds of automated tests (462 x 4 browsers, to be precise) in the <strong>respective sandbox</strong> of the issue to validate the changes’ impact. That is particularly useful for those carrying out the code review, as they will immediately find out if the changes cause collateral impact or not.</p><p>In order for the pipeline to be able to execute the tests, we created a naming convention for the sandboxes and the branches in Git (e.g. RGRIDT-0000 — yup, JIRA issue number! :D). So, every time there’s a pull request, the pipeline knows what to do: it knows which environment it must access and will then find the sandbox with that specific name, and run the automated test list. It doesn’t get any greener than this.</p><p>If at this point you’re wondering why we’re so obsessed with automation, it’s easy to explain. When you’re a developer programming on your own, you probably won’t face these challenges. You’re in charge of all your code, and you perform one task at a time. However, if you have three or more developers working simultaneously on the same component, it’s easy to understand how things can go wrong.</p><p>You change the code. You run the tests. You get the all-green go-ahead. As simple as that, and everyone is happy.</p><h3>The End (at Least for Now)</h3><p>The main takeaway from our story — and which only gained momentum since we first tackled this project — is that building components should be done with the mindset of building a framework.</p><p>And for that, you will need to choose the right technologies and the right tools. While it may be tempting, don’t just stick to what you know, because when the only tool in your toolbox is a hammer, everything looks like nails. Remember that this is only your first step, as you’ll need to look into many more things to build your framework.</p><p>As we mentioned, we will address them in other articles, but you can also catch up with our team member, Rúben Gonçalves, in his talk <a href="https://www.outsystems.com/nextstep/osdc/agenda/?d=2&amp;tz=%7B762220FE-86DB-4B7C-8C84-3051DEED1A2A%7D">“Building Frameworks: From Concept to Completion” at the OutSystems Developer Conference 2021, on November 18 at 12.15 p.m. (EMEA).</a> He’ll be there to answer your questions and dive into the complexities of building frameworks.</p><p>For now, if this looks like a lot of work, know that it is. But…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*vdXDIBDw3XYcSjvs" /></figure><p><em>Originally published at </em><a href="https://www.outsystems.com/blog/posts/frameworks-how-to-build-tools-and-technologies/"><em>https://www.outsystems.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bf20eb7f395" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/fantastic-frameworks-and-how-to-build-them-tools-and-technologies-bf20eb7f395">Fantastic* Frameworks and How to Build Them: Tools and Technologies</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Inside OutSystems Engineering — 
Sandra Rodrigues, Quality Practice Lead]]></title>
            <link>https://medium.com/outsystems-engineering/inside-outsystems-engineering-sandra-rodrigues-quality-practice-lead-795f930e3edf?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/795f930e3edf</guid>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[women-in-tech]]></category>
            <category><![CDATA[quality-assurance]]></category>
            <category><![CDATA[company-culture]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Thu, 21 Oct 2021 11:49:17 GMT</pubDate>
            <atom:updated>2021-10-21T11:50:48.862Z</atom:updated>
            <content:encoded><![CDATA[<h3>Inside OutSystems Engineering — <br>Sandra Rodrigues, Quality Practice Lead</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3gKzG2qIgErL5Dy4eUC7RQ.png" /></figure><p>In this series of interviews, we talk to an OutSystemer from the engineering team about their role, interests, and expertise.</p><p><a href="https://www.linkedin.com/in/sandramgarodrigues/"><em>Sandra Rodrigues</em></a><em> 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.</em></p><h3>Why did you choose an engineering career?</h3><p>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, <em>why not if it has a lot of math thinking behind it? </em>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.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*FmHx0A-eSFzXHb5H" /><figcaption>That’s me! 😁 The day we exchanged presents (warm slippers) among the engineering team.</figcaption></figure><h3>Why did you shift from software development to quality engineer?</h3><p>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.</p><p>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.</p><p>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.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*SlIUXdAbI60Vlvd1" /><figcaption>Team brainstorming — important sessions to discuss, share and align goals and action.</figcaption></figure><h3>How was joining the OutSystems Engineering team?</h3><p>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.</p><h3>Describe the roles you have worked on since joining OutSystems in 2017.</h3><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*Vuk_X3ND0xxsLmmp" /><figcaption>Workshop session about “What is a Quality Owner?”, public attendance and OutSystemers at Braga’s office.</figcaption></figure><h3>What do you like most about working at OutSystems?</h3><p>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.</p><p>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.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*lWh290oaFnSiU3hs" /><figcaption>OutSystems culture allows us to work and play at the same time.</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*Dc9hwMmTvsa77dMu" /><figcaption>Let’s play! It’s Carnival time.</figcaption></figure><p>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.</p><p>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.</p><h3>What excites you most about working on quality engineering?</h3><p>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.</p><p>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.</p><p>We have a lot of investment in test automation because we want to be quicker and quicker in minimum validation before delivery.</p><p>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.</p><h3>What’s your advice for aspiring engineers?</h3><p>I always say if you want to join a quality engineering team you don’t need to be an expert, you need to be eager to learn, to explore product features, and face challenges. Having a software development background is good; it’s not mandatory to know JavaScript or .NET, you can learn languages. For example, someone with test experience, who has done manual product validation, we need these types of people to evolve and teach how you can validate a product manually like if it was a customer. There’s no recipe to be a quality engineer, if there’s a will everything is possible.</p><h3>What do you like to do in your free time?</h3><p>I love knitting and crochet, it’s something that makes me feel very good mentally.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*QXy-wsWJg8UwBg90" /><figcaption>Some of the works I made during my free time, “Crochet and Knitting, a way to a healthier, happier mind.”</figcaption></figure><p>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.</p><p><em>Interested in a quality engineering career? </em><a href="https://www.outsystems.com/careers/engineering/?s=quality%20engineer&amp;l=Show%20All&amp;d=&amp;f="><em>Explore our open roles</em></a><em>.</em></p><p><em>OutSystems Engineering has a lot of interesting things to say! Be part of our conversation on </em><a href="https://twitter.com/OutSystemsEng"><em>Twitter </em></a><em>or </em><a href="https://www.facebook.com/login/?next=https%3A%2F%2Fwww.facebook.com%2FOutSystemsEng%2F"><em>Facebook</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=795f930e3edf" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/inside-outsystems-engineering-sandra-rodrigues-quality-practice-lead-795f930e3edf">Inside OutSystems Engineering — 
Sandra Rodrigues, Quality Practice Lead</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Seeking Technical Talent in Romania]]></title>
            <link>https://medium.com/outsystems-engineering/seeking-technical-talent-in-romania-c0a08f1ec82d?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/c0a08f1ec82d</guid>
            <category><![CDATA[romania]]></category>
            <category><![CDATA[recruiting]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[company-culture]]></category>
            <category><![CDATA[hiring]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Fri, 15 Oct 2021 17:35:28 GMT</pubDate>
            <atom:updated>2021-10-15T17:35:28.064Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yvbcOzMiv802oWAvi56SSw.png" /></figure><p>Hi! I’m <a href="https://www.linkedin.com/in/dan-enachioaie/">Dan</a> and I’m in charge of OutSystems’ Romania Delivery Center. Let me tell you a little about my career journey.</p><p>I started writing code in high school. I wrote my very first program in 1992. I remember I was writing in BASIC, there was a game called Green Beret and we were trying to change it. I went to college in Romania, studying Computer Science, but then I immigrated to the US in 1996 and I had to start all over again because nobody recognized a Romanian degree.</p><p>In 2001 I decided to move from New York to California because I had a job promised. That was a mistake! I was driving from New York to California and I got a phone call.</p><p><em>“Hey, we got some good news, we were acquired by Oracle, but the bad news is that we’ve frozen all the opening positions,” said the recruiter.<br>“Wait a second, what does that mean?” I asked.<br>“Well, that means you don’t have a job.” answered the recruiter.</em></p><p>I was in Utah when that happened, but I continued all the way to California.</p><p>I had to start everything from the ground up, again. I found a job in a big civil engineering company, doing Visual Basic development for cranes that were controlled by GPS. At the time it was a really big deal. I stayed with Graniterock for sixteen years.</p><p>It was there that I met Patrick Jean, who became OutSystems’ CTO.</p><p><a href="https://www.outsystems.com/news/outsystems-named-to-forbes-cloud100/">OutSystems</a> has been doing expansion for the past year and half, and I reconnected with him to create the Romania Delivery Center.</p><p>This particular job I’m in is different from your typical engineering director; it’s a lot of recruiting. I’m spending most of my time sourcing, trying to figure out how to get the development center up and running, trying to understand exactly the skillset I’m looking for to build the teams.</p><h3>Building the Finest Delivery Team</h3><p>We’ve just finished building a delivery team of six engineers: a product owner, a team lead, a lead senior engineer, a mid-level developer, a junior developer, and a quality engineer. Now the thinking is just do it again and build another one.</p><p>After building the second delivery team, we’re going to do some out-of-ART features for O11 and the IDE group. The hiring managers will see there’s a fully functional development team from Romania that they can request to work on their efforts.</p><p>So far, we’re offering remote positions because we don’t know where we’ll end up with the biggest presence. It might be in Constanta, or in the capital, Bucharest.</p><h3>The Struggles</h3><p>It’s very difficult to find technical people in Romania because it’s a market dominated by other firms — Oracle, Amazon, IBM, Microsoft. OutSystems is already considered a big firm, however Romania’s big talent still associates quality and future to those firms, not with us, so we’re competing for visibility within the market. It will take time but we’ll get there.</p><p>Another challenge we have while recruiting in Romania is that engineers come in different flavors and some flavors you don&#39;t find unless you go compete head-to-head with the big firms. So internally we’d say, “Okay we’ll focus our needs in Romania looking for C# and SQL knowledge,” but the bigger firms are holding people’s attention.</p><p>OutSystems is here to stay, and that typically comes with creating a unique culture, but we need to bring a Romanian flavor in to it. Romanians need to feel the company is here to do business with and for them.</p><p>Romania is the fourth largest market in Europe by volume. Its capacity is twice as big as Portugal. In Eastern Europe, only Poland is bigger than Romania. From a skillset perspective, it is extremely diverse because we have built big delivery centers for the main technology companies in the world. The country has 8,000 graduates a year, so the talent pool is solid.</p><p>I do enjoy building teams, even if sometimes it’s really hard. The most rewarding thing is dealing with people, talking to them in general and helping them. This will be the third delivery center that I’ve undertaken to build — one for the construction firm, my own outsourcing company, and now with OutSystems Engineering.</p><h3>What Can Engineers in Romania Expect From OutSystems?</h3><p>Romania is an exporter of software. The majority of people employed work as outsourcers, so they never get to choose their own projects. If you work for OutSystems, you work for a product-based company, so instead of being just a muscle for hire, where a client will dictate what you’re doing, you become an investment. OutSystems will invest in you because our purpose is to retain you, grow you, and make an OutSystemer out of you.</p><p>The company invests in you as a person, in your career, not because you’re making a client happy. There’s no competition between what OutSystems offers, and what the others do.</p><p><em>Check out our Engineering openings in Romania </em><a href="https://www.outsystems.com/careers/engineering/?s=romania&amp;l=Show%20All&amp;d=&amp;f="><em>here</em></a><em>. For more thoughts and musings from the OutSystems Engineering team, follow us on </em><a href="https://twitter.com/OutSystemsEng"><em>Twitter</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c0a08f1ec82d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/seeking-technical-talent-in-romania-c0a08f1ec82d">Seeking Technical Talent in Romania</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[When Building Up Teams Is Your Favorite Job — Meet the VP, Sudhakaran Nair]]></title>
            <link>https://medium.com/outsystems-engineering/when-building-up-teams-is-your-favorite-job-meet-the-vp-sudhakaran-nair-d394e70f48d6?source=rss-7ebd6a5d506e------2</link>
            <guid isPermaLink="false">https://medium.com/p/d394e70f48d6</guid>
            <category><![CDATA[company-culture]]></category>
            <category><![CDATA[leadership]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[careers]]></category>
            <dc:creator><![CDATA[OutSystems Content]]></dc:creator>
            <pubDate>Thu, 23 Sep 2021 14:58:36 GMT</pubDate>
            <atom:updated>2021-09-23T14:58:36.571Z</atom:updated>
            <content:encoded><![CDATA[<h3>When Building Up Teams Is Your Favorite Job — Meet the VP, Sudhakaran Nair</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/747/1*yYyXirOlMCZCygBebW2uHA.png" /></figure><p><em>Sudhakaran Nair was the first VP of Engineering to be hired outside OutSystems. Looking at his CV, it’s not hard to understand why. His wide range of experience impressed the OutSystems Chief Technical Officer (CTO), Patrick Jean (PJ), from their very first conversation: “He has grown teams and companies rapidly. But most impressive was his curiosity, obvious passion for what he does, and frank discussion about his past failures and what he’s learned from them,” said PJ.</em></p><p><em>“This is so relevant to us at OutSystems, our learning culture with a growth mindset and the drive to change the world through easily accessible software development. I’m looking forward to the experience and drive he brings to R&amp;D,” he added.</em></p><p><em>With 25 years of experience in the tech industry, Sudhakaran has, in fact, built up several startups, growing their teams, improving their product, and putting them on the map until larger companies can’t help but notice them. However, his core lessons come from Apple, where he learned to simplify software development, to the delight of users.</em></p><p><em>At OutSystems, his focus from day one is on hiring a great team. And while he admits he is still learning every day about low code, this avid bike rider and occasional drum player is definitely into the OutSystems beat.</em></p><h4>Tell us more about your experience and background. How did you end up at OutSystems? We heard that you actually reached out to us!</h4><p>I’ve been in the industry for 25 years now. I started my career at Apple and then worked in four startups, two of which I founded. In all of these, I built up small teams and grew to hundreds of engineers. Three of my startups were acquired by big corporations.</p><p>That’s how my career has been: building engineering teams and delivering products, taking it from concept to an enterprise-class product that can be repeated and used by the customers quickly.</p><blockquote>“I was really excited when I began learning more about the company, looking into its website, and reading articles. The low code domain, especially now, is very exciting”</blockquote><p>In the past 18 years, I’ve been in areas such as distributed systems, databases, real-time platforms, and cloud technologies. I started as an engineer but in the past eight years, I haven’t been doing much coding, although I get involved in architecture and strategy.</p><p>Now, how did I reach out to OutSystems? I first saw OutSystems on LinkedIn. My recent company, Dashbase, got acquired by Cisco, and I decided to leave as Cisco is a huge enterprise, and my passion is to work for a company where things move quickly, much like a startup. I started looking out to see what was out there and found OutSystems.</p><p>I was really excited when I began learning more about the company, looking into its website, and reading articles. The low code domain, especially now, is very exciting. Because of the pandemic, every company is trying to move to digital or undergoing a digital transformation. I felt it was a very interesting domain.</p><p>I don’t have much experience with low code, but I am extremely interested in that domain.</p><h4>Being your first time in a low code company, what is your vision?</h4><p>That’s the first thing that caught my attention — low code. I know a lot of companies and have a lot of experience with startups. Getting something up and running is very hard. Even for technology folks, you need to have a team of people.</p><p>To do good full-stack application development is very hard, especially if the companies don’t have many engineers and have to hire a team of engineers. That’s always an entry barrier for many of these companies, and that’s what instantly caught my attention: the opportunity of how time can be reduced for these companies.</p><h4>You’ve been the VP of so many companies. From what you’ve learned so far, what is the number one experience you’re bringing to the table?</h4><p>I can quickly build a team, hire the right way, and add good folks from my network. Secondly, I have a lot of experience with cloud technologies — like Amazon, Azure, and Google Cloud — and many distribution system technologies, like various databases, such as Elasticsearch, Cassandra, Hadoop, Spark, Kafka.</p><p>I have a lot of big data experience that I can bring to the team, distributed systems knowledge, and I’ve also delivered enterprise-class products many times. That delivery knowledge, I think it’s very valuable. I’m a customer-obsessed person, and in all the companies I worked in, the teams also became customer-obsessed. I always develop everything based on customer needs — this experience will be invaluable at OutSystems.</p><blockquote><em>“Typically, I adapt to the company culture and try to learn the product. That’s my first task. Then, I identify the gaps, the weaknesses and try to fill the gaps. That’s how I get up to speed”</em></blockquote><h4>You probably get asked this a lot, but you mentioned that you’ve worked for Apple — did you meet Steve Jobs? And how was working at Apple at that time?</h4><p>I worked for Apple right at the beginning, it was my first job. This was at an early stage, so before the iPhone, right? But it was very exciting because I was working on the first object-rendered software development project. They were trying to develop an object-rendered operating system, which is actually how the Java language was born — it started from that concept. So it was very exciting to be there.</p><p>The culture was very good, although Steve Jobs had left by that time. But he left his user-centric approach, it was all about the usability of the product. And they tend to simplify things at every level, right? I got very good training in all those areas. When you build software, you simplify it so that the users can use it easily — those concepts I learned from Apple. And they had great engineers at the time, passionate engineers, people who worked at Apple because of their passion.</p><h4>When you step into a new company, what is your strategy for building a team?</h4><p>I joined at a very early stage in other companies, so it was easier to build a culture and strategy. You don’t have a lot of legacy or existing history. And also, the product is not so mature; at OutSystems, the product is mature. I have a lot more learning to do.</p><p>Typically, I adapt to the company culture and try to learn the product. That’s my first task. Then, I identify the gaps, the weaknesses and try to fill the gaps. That’s how I get up to speed. And of course, I get to know the team and be helpful as early as possible.</p><h4>What do you enjoy doing in your spare time?</h4><p>I bike regularly and hike whenever I can. I play drums, not so well, but I keep playing them once in a while.</p><h3>VP Snapshot</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/751/0*4LSWGWGj-C9Jn4jk" /></figure><p><em>Originally published at </em><a href="https://www.outsystems.com/blog/posts/meet-the-vp-sudhakaran-nair/"><em>https://www.outsystems.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d394e70f48d6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/outsystems-engineering/when-building-up-teams-is-your-favorite-job-meet-the-vp-sudhakaran-nair-d394e70f48d6">When Building Up Teams Is Your Favorite Job — Meet the VP, Sudhakaran Nair</a> was originally published in <a href="https://medium.com/outsystems-engineering">OutSystems Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>