<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cristiana Umbelino</title>
    <description>The latest articles on DEV Community by Cristiana Umbelino (@cristumbelino).</description>
    <link>https://dev.to/cristumbelino</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F329345%2F8648b358-4906-4a05-8a4d-c37fbf3a7d9c.jpg</url>
      <title>DEV Community: Cristiana Umbelino</title>
      <link>https://dev.to/cristumbelino</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cristumbelino"/>
    <language>en</language>
    <item>
      <title>OutSystems Coding Challenge</title>
      <dc:creator>Cristiana Umbelino</dc:creator>
      <pubDate>Tue, 30 Nov 2021 14:45:13 +0000</pubDate>
      <link>https://dev.to/cristumbelino/outsystems-coding-challenge-42ie</link>
      <guid>https://dev.to/cristumbelino/outsystems-coding-challenge-42ie</guid>
      <description>&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;We’re really happy to announce the first ever OutSystems Coding Challenge that will happen throughout the month of December: Neo’s Odyssey!&lt;/p&gt;

&lt;p&gt;This will be a great challenge for you, whether you’re a seasoned OutSystems developer or just starting out.&lt;/p&gt;

&lt;p&gt;So if you are into coding challenges, would like to try a new technology or just want to build an app to use with your friends - join us!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.outsystems.com/our-community/2021-neo-odyssey/"&gt;https://www.outsystems.com/our-community/2021-neo-odyssey/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>development</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Fix your data, not your code</title>
      <dc:creator>Cristiana Umbelino</dc:creator>
      <pubDate>Wed, 30 Jun 2021 17:54:05 +0000</pubDate>
      <link>https://dev.to/cristumbelino/fix-your-data-not-your-code-50lc</link>
      <guid>https://dev.to/cristumbelino/fix-your-data-not-your-code-50lc</guid>
      <description>&lt;p&gt;The exciting moment of starting an app from scratch is to know that you can do everything right. You'll have your CRUD operations very well thought out and ensuring that any database request is done properly, with the right data and at the right time.&lt;/p&gt;

&lt;p&gt;Well at least, it's how I like to think about it and even though that should be fairly common, the world changes and data that was correct at the time might now be incorrect. Also it's not every day that you start an app from scratch.&lt;/p&gt;

&lt;p&gt;Data quality plays an important role in the functioning of your application, furthermore if you have a high volume of end users using your app daily.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This blog post will quickly go through an use case that a team had to deal with recently where the decision was to fix the data and not the code&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The scenario
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;It's 2015&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Two status that can be assigned to an end user: &lt;code&gt;Approved&lt;/code&gt; or &lt;code&gt;Disapproved&lt;/code&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Approved&lt;/code&gt;: use the app with no restrictions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Disapproved&lt;/code&gt;: use the app with no restrictions but you are not part of the user listings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The status and when it changed is stored in a specific table in our database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;It's 2021&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Disapproved&lt;/code&gt; will now have a few restrictions in usage and continue the "invisibility mode"&lt;/li&gt;
&lt;li&gt;Quickly implement the needed changes &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;But the question arises&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What about the users that were disapproved in the past 6 years?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The options
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Make new restrictions only available for users that are disapproved starting from a certain date&lt;/li&gt;
&lt;li&gt;Go through each user and understand whom should keep the disapproved status, now with the new set of restrictions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Pros of #1&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast &amp;amp; easy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons of #1&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Disapproved&lt;/code&gt; now has two different meanings: one before the date it goes live and another after&lt;/li&gt;
&lt;li&gt;That meaning is hidden in the code (don't get me started on documentation...)&lt;/li&gt;
&lt;li&gt;Random logic deciding if users have the new set of restrictions or not&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pros of #2&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data will mirror the current state of affairs&lt;/li&gt;
&lt;li&gt;It can help uncover other issues that lead to a better solution. 
eg: having more than &lt;code&gt;Approved&lt;/code&gt; and &lt;code&gt;Disapproved&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons of #2&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who the hell wants to analyse a spreadsheet row by row?&lt;/li&gt;
&lt;li&gt;Slower than #1&lt;/li&gt;
&lt;li&gt;It might come to a place where hard decisions must be made. 
eg: choosing between continue user x disapproved or not and therefore ruin the user experience&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The final decision
&lt;/h2&gt;

&lt;p&gt;In the end we went ahead with second option. While it took a while to review all the users and make the decision which ones should be under the new changes, we do believe that in the long run not having random decisions in the code (if statements checking and comparing dates, just because) will allows us to have a &lt;strong&gt;better product and happier developers.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is my first post at dev.to, which has been a long time coming.&lt;/em&gt;&lt;br&gt;
Hoping this can help someone out there :)&lt;/p&gt;

</description>
      <category>codequality</category>
    </item>
  </channel>
</rss>
