<?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: Luiz Fernando C. Castilho</title>
    <description>The latest articles on DEV Community by Luiz Fernando C. Castilho (@lufecovizzi).</description>
    <link>https://dev.to/lufecovizzi</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4064510%2F7275e46c-cf45-4576-8de7-9f8de1d8e748.jpg</url>
      <title>DEV Community: Luiz Fernando C. Castilho</title>
      <link>https://dev.to/lufecovizzi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lufecovizzi"/>
    <language>en</language>
    <item>
      <title>From an Chemistry Lab to FastAPI: Why I Built the LabTrack API</title>
      <dc:creator>Luiz Fernando C. Castilho</dc:creator>
      <pubDate>Tue, 18 Aug 2026 16:00:34 +0000</pubDate>
      <link>https://dev.to/lufecovizzi/from-an-chemistry-lab-to-fastapi-why-i-built-the-labtrack-api-4bgo</link>
      <guid>https://dev.to/lufecovizzi/from-an-chemistry-lab-to-fastapi-why-i-built-the-labtrack-api-4bgo</guid>
      <description>&lt;p&gt;Before I wrote a single line of code professionally, I spent years inside an analytical chemistry lab. I did my Master's in Chemical Biology at UNIFESP (Federal University of São Paulo), working with NMR (nuclear magnetic resonance) for hydrogen, carbon, and two-dimensional experiments, plus HPLC (high-performance liquid chromatography). The LabTrack API, my project built with Python, FastAPI, and PostgreSQL, came out of a very specific problem I lived through during that time. It wasn't a portfolio idea thought up from the outside. It was a real pain point.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem: every lab speaks a different language
&lt;/h2&gt;

&lt;p&gt;My lab handled the analytical side: we isolated and characterized compounds. But we didn't do everything alone. To know if a compound had antimicrobial activity, we needed a partner lab specialized in microbiology. To evaluate effects on cells, we needed a lab working with cell culture. Sometimes these partners were in another country.&lt;/p&gt;

&lt;p&gt;The result was that each lab had its own protocol for the same type of task. That alone created friction: every new student joining had to be trained not just in the technique, but in how that specific lab recorded things.&lt;/p&gt;

&lt;h2&gt;
  
  
  The second problem: nobody knew what anyone else was doing
&lt;/h2&gt;

&lt;p&gt;Communication between partner labs happened mostly through email. No shared calendar, no visibility into what each team was running at that moment. To know if an experiment had already been done, when, by whom, and with which reagents, you had to ask the person directly. If that person didn't reply quickly, the experiment simply waited.&lt;/p&gt;

&lt;p&gt;This matters more than it sounds, because eventually that data becomes a scientific paper. To publish, you need to know exactly who did what, when, and in which lab, since that goes into acknowledgments and authorship. If the record is informal and inconsistent, reconstructing that history later is pure rework.&lt;/p&gt;

&lt;h2&gt;
  
  
  The third problem: no standardization even within the same lab
&lt;/h2&gt;

&lt;p&gt;Even inside my own lab, two people using the same HPLC could log its use differently. Without a recording standard, every entry became an individual's interpretation of how to document an experiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the LabTrack API comes in
&lt;/h2&gt;

&lt;p&gt;The LabTrack API is my attempt to address this with what I'm currently learning: Python, FastAPI, and PostgreSQL. The core idea is simple: a system where every experiment is logged in a standardized way, with authorship, date, reagents used, and status, accessible to partner labs without depending on email to know what's happening.&lt;/p&gt;

&lt;p&gt;It's not an ambitious attempt to reinvent a full LIMS (Laboratory Information Management System). It's a learning project, built commit by commit, but solving a problem I know from the inside, not one invented just to have something on GitHub.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmnxxu32833z17x4iexs3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmnxxu32833z17x4iexs3.png" alt=" " width="800" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters for my career transition
&lt;/h2&gt;

&lt;p&gt;I moved from the lab bench to the code editor, but the analytical thinking I developed reading NMR spectra and chromatograms is the same thinking I use now to model a database or design an API route: understand the problem before jumping into a solution.&lt;/p&gt;

&lt;p&gt;The LabTrack API isn't just a technical project for me. It's proof that this career change doesn't erase my previous experience, it becomes the foundation for thinking through the problems I'm solving now.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>From the Lab Bench to the Codebase: What Scientific Research Taught Me About Debugging</title>
      <dc:creator>Luiz Fernando C. Castilho</dc:creator>
      <pubDate>Wed, 05 Aug 2026 16:33:49 +0000</pubDate>
      <link>https://dev.to/lufecovizzi/from-the-lab-bench-to-the-codebase-what-scientific-research-taught-me-about-debugging-35b0</link>
      <guid>https://dev.to/lufecovizzi/from-the-lab-bench-to-the-codebase-what-scientific-research-taught-me-about-debugging-35b0</guid>
      <description>&lt;p&gt;For over five years, my "bugs" weren't in code. They were in DNA sequencing runs that came back with unreadable peaks, PCR reactions that refused to amplify, and antioxidant assays that gave inconsistent results across replicates.&lt;/p&gt;

&lt;p&gt;I have a background in Biotechnology and a Master's in Chemical Biology. I spent years in research labs analyzing experimental data, documenting processes, and trying to figure out why something that worked yesterday suddenly didn't work today.&lt;/p&gt;

&lt;p&gt;Now I'm a career changer, studying Systems Analysis and Development and building my first real projects in Python. And the thing that surprised me most about learning to code wasn't the syntax. It was how familiar the &lt;em&gt;process&lt;/em&gt; of debugging felt.&lt;/p&gt;

&lt;h2&gt;
  
  
  The scientific method is a debugging method
&lt;/h2&gt;

&lt;p&gt;In the lab, when an experiment failed, you didn't just try random things until it worked. You had to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Isolate the variable that changed&lt;/li&gt;
&lt;li&gt;Form a hypothesis about what went wrong&lt;/li&gt;
&lt;li&gt;Test that hypothesis in the smallest possible way&lt;/li&gt;
&lt;li&gt;Document what you tried, even when it didn't work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's... exactly what debugging is. When my first FastAPI project threw an error I didn't understand, I caught myself doing the same thing I'd done hundreds of times in a lab: change one thing, re-run, observe, repeat. Don't guess wildly. Narrow it down.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproducibility matters more than you think
&lt;/h2&gt;

&lt;p&gt;One of the hardest lessons from research was that a result nobody else can reproduce isn't really a result. If I couldn't explain exactly what I did, in what order, with what parameters, my data was worthless to anyone else, including future me, six months later, trying to remember what I did.&lt;/p&gt;

&lt;p&gt;That obsession with documentation carried straight over into version control. Writing clear commit messages, keeping a README that actually explains what a project does and why, structuring code so someone else (or future me) can follow the logic, none of that felt like a "best practice" I had to learn from scratch. It felt like something I already knew was important, just applied to a new domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Patience with things that don't work
&lt;/h2&gt;

&lt;p&gt;Research trains you for a strange kind of patience. Most experiments don't work the first time. Most don't work the tenth time either. You learn to treat failure as information, not as a verdict on your competence.&lt;/p&gt;

&lt;p&gt;I won't pretend that switching careers has been easy or that this patience makes learning to code frictionless. It doesn't. But I notice that when a script fails for the fifth time in a row, I don't spiral the way I might have if this were my first experience with something not working. I've been here before, just with different tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm building now
&lt;/h2&gt;

&lt;p&gt;Right now I'm working on &lt;strong&gt;LabTrack API&lt;/strong&gt;, a FastAPI + PostgreSQL project for managing lab experiment data. It's a small, deliberate way of connecting both halves of my background: using the software skills I'm building now to solve a real problem I actually lived through in research.&lt;/p&gt;

&lt;p&gt;I'm also getting more into applied AI, using tools like Claude Code to automate parts of my own workflow (including, a little ironically, my job search).&lt;/p&gt;

&lt;h2&gt;
  
  
  If you're also switching into tech from somewhere else
&lt;/h2&gt;

&lt;p&gt;You're probably bringing more transferable skills than it feels like some days. The specific tools change, but the thinking underneath is often the same: isolate the problem, test a hypothesis, document what you learn, be patient with failure.&lt;/p&gt;

&lt;p&gt;I'd love to hear from anyone else on a similar path. What did your previous field teach you that turned out to be surprisingly useful in tech?&lt;/p&gt;

</description>
      <category>career</category>
      <category>learning</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
