<?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: Caleb Ariel</title>
    <description>The latest articles on DEV Community by Caleb Ariel (@ejakait).</description>
    <link>https://dev.to/ejakait</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%2F107450%2F81e9e40a-170c-4049-b1f8-3f2641dc7cdf.jpeg</url>
      <title>DEV Community: Caleb Ariel</title>
      <link>https://dev.to/ejakait</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ejakait"/>
    <language>en</language>
    <item>
      <title>Navigating Your Career Path</title>
      <dc:creator>Caleb Ariel</dc:creator>
      <pubDate>Tue, 14 Apr 2026 13:45:53 +0000</pubDate>
      <link>https://dev.to/ejakait/navigating-your-career-path-3h76</link>
      <guid>https://dev.to/ejakait/navigating-your-career-path-3h76</guid>
      <description>&lt;p&gt;Whether you are looking to break into a new niche or scale the ladder in your current field, success requires a cycle of intentional exploration, strategic planning, and disciplined execution. Here are some insights from my experience and this amazing blog &lt;a href="https://www.ikukuyeva.com/blog/data-professionals/how-to-be-your-own-mentor" rel="noopener noreferrer"&gt;post&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Explore
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahp7137x1xat7sg13v53.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahp7137x1xat7sg13v53.png" alt="A ship captain exploring the seas" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
Starting with the end goal/goals is a great place to start. The thinking behind this, is reverse engineering the success that you want to see in your career or the goals that you have set for yourself, with as much specificity as possible. &lt;br&gt;
Ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What would I like to accomplish?&lt;/li&gt;
&lt;li&gt;What role do I want to end up in?&lt;/li&gt;
&lt;li&gt;What do I want to be know for?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Plan
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa0kv0tcmjq9z2pf7zj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa0kv0tcmjq9z2pf7zj0.png" alt="A ship captain charting a course" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
Once you answer these questions the road-map almost writes itself. Breaking down the process into the smallest next step.&lt;/p&gt;

&lt;p&gt;This road map will also need some research into the skills and qualification you require. Reviewing job descriptions on platforms such as LinkedIn, Google or just ask your favorite LLM. Attending panel sessions, read articles and blog posts and listening podcasts that contain the insights from are in the role you see yourself is a no-brainer. Doing this will also help you learn about industry trends, pain-points and notice themes which give you a broader sense of the future of the role and demonstrate leadership skills in your current role.&lt;/p&gt;

&lt;h3&gt;
  
  
  Translate knowledge to action
&lt;/h3&gt;

&lt;p&gt;Then comes the evaluation. Now that you know what's expected of you, what are the things that stood out and are missing from your arsenal? Identify a couple and work on closing them.&lt;/p&gt;

&lt;p&gt;Iterate on execution and sharing your progress to get feedback and find ways to demonstrate your competence. After each gap you fill, it would be valuable to re-evaluate that list once more&lt;/p&gt;

&lt;h3&gt;
  
  
  Oh-no! I'm Stuck
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf1ziq23ijhnbd4uixr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf1ziq23ijhnbd4uixr0.png" alt="A ship stuck at sea in some rock close to shore" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
This might only get you part of the way there and having session, as needed, with a mentor could prove extremely valuable in getting feedback on your journey so far, where you are stuck and what you need to improve on or resources to help you along. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tips on receiving mentorship:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Whether you have a relationship with this person or not matters and changes your approach and the questions you'd ask.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Making it as easy for mentors to help you as possible by sharing you questions before hand shows that you value their time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Giving your mentor an update, if you've followed their advice - even when things don't go as expected is a great way build that relationship.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If a one on one call might not be possible, perhaps suggesting async communication either via email or personal messaging goes a long way. Don't take it personally people are busy sometimes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sometimes the best "mentorship" is indirect. Reviewing and analyzing work from people you admire like reading papers, code-bases or blogs provides valuable insight into the.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let me know if you found this helpful in the comments and if you have any amazing insights from your experience&lt;/p&gt;

</description>
      <category>career</category>
    </item>
    <item>
      <title>The Power of the Paper Trail: Architecture Decision Records (ADRs)</title>
      <dc:creator>Caleb Ariel</dc:creator>
      <pubDate>Fri, 13 Feb 2026 07:56:00 +0000</pubDate>
      <link>https://dev.to/ejakait/the-power-of-the-paper-trail-architecture-decision-records-adrs-3e2d</link>
      <guid>https://dev.to/ejakait/the-power-of-the-paper-trail-architecture-decision-records-adrs-3e2d</guid>
      <description>&lt;p&gt;The ultimate output of knowledge work,in this case software architecture and engineering, is decision making. Regardless of what form it takes, recording the thought process of key decisions is an important part of maintaining clarity before, during and after decision are agreed upon, to help prevent hind-sight bias and to allow your future self and others, understand the environment in which the decisions were made. &lt;/p&gt;

&lt;p&gt;In this post I will be sharing what I have been learning about Architecture Decision Records their applications in software and data projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are ARDs anyway?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe5c6uomybamhvzpputoi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe5c6uomybamhvzpputoi.jpg" alt="What are ADRs" width="612" height="397"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Architecture Decision Records&lt;/strong&gt; are essentially a paper trail for &lt;strong&gt;significant&lt;/strong&gt; architectural decisions that you make in the lifecyle of a project. I will mostly refer to them as ADRs from now on.&lt;/p&gt;

&lt;p&gt;In my years as an software engineer and data engineer, I have scarcely, if at all come across this ADRs. Documentation has taken many forms in the projects I have been apart of; abandoned Notion pages, diagrams and sparsely detailed text files about what was going to be implemented or has already been implemented, or no documentation at all. When decison change, ADRs help track this by introducing states to these documents i.e Propose, Accepted, Rejected, Superseded&lt;/p&gt;

&lt;h2&gt;
  
  
  Why should you care?
&lt;/h2&gt;

&lt;p&gt;Architectural decisions are some of the most costly in any organization. They have impacts on how easy it will be to add features or how resilient and flexible the system will be to changing requirements of the business. Interrogating and justifying these decisions with a decent amount of rigour, within the required time-frame becomes that much more important. Not to mention the framework can be adopting to many other fields and types of decision processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you know what to document?
&lt;/h2&gt;

&lt;p&gt;Not every decision warrants a paper trail; the administrative overhead would be a nightmare. Michael Nygard describes "architecturally significant" decisions as those affecting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structure and construction techniques.&lt;/li&gt;
&lt;li&gt;Non-functional characteristics, for example how it affects scalability or security.&lt;/li&gt;
&lt;li&gt;Dependencies and interfaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ask yourself: &lt;em&gt;Is this decision reversible, and what is the cost of reversing it?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Olaf Zimmermann goes into great detail on this in his &lt;a href="https://ozimmer.ch/practices/2020/09/24/ASRTestECSADecisions.html" rel="noopener noreferrer"&gt;blog post&lt;/a&gt; about what criteria to use. regarding decision criteria &lt;/p&gt;

&lt;h2&gt;
  
  
  Lightweight ADRs: Setting Them Up
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9dxyojiqailz8sith7i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9dxyojiqailz8sith7i.jpg" alt="Architectural Plans" width="612" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll be the first to hold up a cross to administrative overhead and because gaining initial velocity on the habit of documentation is hard enough, lightweight ADRs make for the best format to help reap the benefits of documenting your decision without dramatically affecting your workflow.There are even tools that help you manage ADRs, which you can find in this &lt;a href="https://github.com/npryce/adr-tools" rel="noopener noreferrer"&gt;gihub repo&lt;/a&gt; to help grease the wheels.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvdq5v0kphr1ibuh8woz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvdq5v0kphr1ibuh8woz.gif" alt="Admin Overhead" width="220" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my projects, I simply add an &lt;code&gt;/adr&lt;/code&gt; folder consisting of one Markdown document per decision:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ADR 001 - Postgres for Operational Database.md&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ADR 002 - Microservice Architecture for Orders Module.md&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I include diagrams directly in the folder and commit everything to source control. This allows the documentation to version-match the code. When a decision changes, I don’t edit the old ADR; I create a new one, mark the old one as Superseded, and link to the replacement.&lt;/p&gt;

&lt;h3&gt;
  
  
  The lifecycle of ADRs
&lt;/h3&gt;

&lt;p&gt;The lifecycle of these documents vary and are affected by team dynamics and roles and responsibilities of different stakeholder in the decision making process. There is always a main contact person or team responsible for communicating, publishing and maintaining these documents where maintenance is moving an adr from one state to the next.&lt;/p&gt;

&lt;p&gt;I have come to interprete the states as below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Proposed&lt;/strong&gt;: The draft phase; getting stakeholders to poke holes in the logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accepted&lt;/strong&gt;: The green light; ensuring everyone is aligned on the path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rejected&lt;/strong&gt;: Recording why we said "no" so we don't repeat the debate next year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Superseded&lt;/strong&gt;: Signaling that a new ADR has taken its place, ensuring there is only one "source of truth."&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;Documentation is a habit and one that is important especially with the changing landscape of tools and technologies that teams adopt. Though many of the organizational consideration that go into documentation frameworks haven't been touched on here, the rigour required to fill-in and socializing ADRs alone should help stave off some of the pitfalls that come with insufficient documentation and decision silos that are created as a result. Where ADRs live is just as important as writing them and it affects how they are versioned and maintained which is, in my opinion, the biggest battle with technical documentiation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/joelparkerhenderson/architecture-decision-record/tree/main" rel="noopener noreferrer"&gt;More on ARDs and Templates&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  References:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=rwfXkSjFhzc" rel="noopener noreferrer"&gt;Communicating and documenting architectural decisions - David Ayers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions" rel="noopener noreferrer"&gt;Documenting Architecture Decisions - Michael Nygard 2011&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>adr</category>
      <category>software</category>
      <category>architecture</category>
      <category>data</category>
    </item>
    <item>
      <title>I am a junior data engineer without a senior engineer. What should I do?</title>
      <dc:creator>Caleb Ariel</dc:creator>
      <pubDate>Mon, 30 Sep 2019 07:33:58 +0000</pubDate>
      <link>https://dev.to/ejakait/i-am-a-junior-data-engineer-without-a-senior-engineer-what-should-i-do-3cck</link>
      <guid>https://dev.to/ejakait/i-am-a-junior-data-engineer-without-a-senior-engineer-what-should-i-do-3cck</guid>
      <description>&lt;p&gt;I am working at a startup and i was promoted to a junior data engineer a couple of months ago. This is my first rodeo with most things data engineering, coming from a dev background. I feel like I have too many blind spots and no one to help cover them.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>dataengineering</category>
    </item>
  </channel>
</rss>
