<?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: Naif Amoodi</title>
    <description>The latest articles on DEV Community by Naif Amoodi (@naifamoodi).</description>
    <link>https://dev.to/naifamoodi</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%2F3890416%2F394058f2-3160-4747-9df8-0f7b5e641b5d.jpg</url>
      <title>DEV Community: Naif Amoodi</title>
      <link>https://dev.to/naifamoodi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naifamoodi"/>
    <language>en</language>
    <item>
      <title>What an Old Oracle Database Taught Me About Not Trusting Assumptions</title>
      <dc:creator>Naif Amoodi</dc:creator>
      <pubDate>Thu, 23 Apr 2026 09:27:57 +0000</pubDate>
      <link>https://dev.to/naifamoodi/what-an-old-oracle-database-taught-me-about-not-trusting-assumptions-bcb</link>
      <guid>https://dev.to/naifamoodi/what-an-old-oracle-database-taught-me-about-not-trusting-assumptions-bcb</guid>
      <description>&lt;p&gt;We still work with a client whose entire operation revolves around an old Oracle database, so a lot of our work ends up depending on how that database behaves.&lt;/p&gt;

&lt;p&gt;And honestly, that is where a lot of the pain starts.&lt;/p&gt;

&lt;p&gt;One thing I have run into there is that not every table has a clean single primary key. In some cases, a row is really identified by a combination of several columns. That is manageable, but it becomes a headache when you are syncing data, updating records, or trying to explain row identity to another system that expects something simpler.&lt;/p&gt;

&lt;p&gt;Another issue is that the database is old enough that I have learned not to assume consistency unless I have verified it myself.&lt;/p&gt;

&lt;p&gt;A good example is dates. We ran into cases where a date would come back in one format from the CLI, but in a different format when the same data was accessed through an API layer. That is the kind of thing that can quietly create bugs if you trust the first result you see and move on.&lt;/p&gt;

&lt;p&gt;This is why I try to be careful with old systems. The problem is not always that they are broken. Sometimes the problem is that they behave just differently enough in different environments to cause trouble later.&lt;/p&gt;

&lt;p&gt;So my approach is usually to normalize early, validate what I can, and avoid building logic on top of assumptions that came from one test in one environment.&lt;/p&gt;

&lt;p&gt;My main takeaway is simple: when your work depends on an old database, do not trust anything important until you have seen how it behaves in the real flow.&lt;/p&gt;

</description>
      <category>oracle</category>
      <category>database</category>
      <category>legacy</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
