<?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: Samy</title>
    <description>The latest articles on DEV Community by Samy (@samy_1592).</description>
    <link>https://dev.to/samy_1592</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%2F3390969%2Fda15f315-d841-4b84-b324-ee99d18175b4.png</url>
      <title>DEV Community: Samy</title>
      <link>https://dev.to/samy_1592</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samy_1592"/>
    <language>en</language>
    <item>
      <title>🚀 5 DevOps Habits That Changed How I Code (and Ship)</title>
      <dc:creator>Samy</dc:creator>
      <pubDate>Tue, 05 Aug 2025 14:10:33 +0000</pubDate>
      <link>https://dev.to/samy_1592/5-devops-habits-that-changed-how-i-code-and-ship-53d6</link>
      <guid>https://dev.to/samy_1592/5-devops-habits-that-changed-how-i-code-and-ship-53d6</guid>
      <description>&lt;p&gt;At first, I thought DevOps was only for ops teams or huge companies. But over time, I realized that adopting a few key DevOps practices can seriously improve any developer’s workflow — even on small projects.&lt;/p&gt;

&lt;p&gt;Here are 5 habits I’ve picked up that save me time, stress, and confusion.&lt;/p&gt;

&lt;p&gt;🧪 1. Automate tests from the first commit&lt;br&gt;
I used to run tests manually (when I remembered).&lt;br&gt;
✅ Now, every push triggers automated tests (with GitHub Actions, GitLab CI, etc.). Fewer regressions, more peace of mind.&lt;/p&gt;

&lt;p&gt;📦 2. Keep CI/CD pipelines simple but solid&lt;br&gt;
No need for overly complex 12-step pipelines.&lt;br&gt;
✅ A clean setup for me: tests → build → lint → deploy (staging → production). Versioned, reliable, easy to maintain.&lt;/p&gt;

&lt;p&gt;🔐 3. Never hardcode secrets&lt;br&gt;
Yep, I’ve done it. Didn’t end well.&lt;br&gt;
✅ These days, I use environment variables and secret managers (Vault, Doppler, AWS Secrets Manager… anything but plain text).&lt;/p&gt;

&lt;p&gt;🔁 4. Reproduce production locally (as much as possible)&lt;br&gt;
Ever had code that worked in prod but not locally — or vice versa?&lt;br&gt;
✅ Docker, docker-compose, or minikube help me keep dev and prod close enough. Fewer surprises.&lt;/p&gt;

&lt;p&gt;📈 5. Monitor what you deploy&lt;br&gt;
Shipping code is great. Knowing it’s running fine is even better.&lt;br&gt;
✅ I always add at least basic logging, alerts, and uptime checks. It’s like wearing a seatbelt.&lt;/p&gt;

&lt;p&gt;📌 I’m not a full-time DevOps engineer — but bringing these habits into my daily workflow has changed the way I build and ship software. Less firefighting, more control.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>backend</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>📦 6 Data Mistakes I Stopped Making (And What I Do Instead)</title>
      <dc:creator>Samy</dc:creator>
      <pubDate>Tue, 29 Jul 2025 13:46:46 +0000</pubDate>
      <link>https://dev.to/samy_1592/6-data-mistakes-i-stopped-making-and-what-i-do-instead-2gdo</link>
      <guid>https://dev.to/samy_1592/6-data-mistakes-i-stopped-making-and-what-i-do-instead-2gdo</guid>
      <description>&lt;p&gt;Working with data is a core part of my daily dev life. But I’ve made my fair share of mistakes along the way. These are 6 common traps I’ve learned to avoid — and what I do differently now.&lt;/p&gt;

&lt;p&gt;❌ 1. Assuming the data is “clean” by default&lt;br&gt;
I used to think a well-structured CSV was enough. It’s not.&lt;/p&gt;

&lt;p&gt;✅ Now I validate everything — with schemas (Pydantic, Zod, etc.), type checks, and sanity checks.&lt;/p&gt;

&lt;p&gt;❌ 2. Diving into code before exploring the data&lt;br&gt;
I’ve written complex queries and loops without understanding what the data looked like.&lt;/p&gt;

&lt;p&gt;✅ Today, I always start with a quick look: print(), head(), group by, describe() — simple, but essential.&lt;/p&gt;

&lt;p&gt;❌ 3. Using the wrong tool for the data size&lt;br&gt;
I’ve tried to process 8GB of data with Pandas on my laptop. Didn’t end well.&lt;/p&gt;

&lt;p&gt;✅ Now I pick the right tool: DuckDB, Polars, or BigQuery — depending on the volume.&lt;/p&gt;

&lt;p&gt;❌ 4. Storing data without context&lt;br&gt;
I’ve had JSON files lying around with zero documentation. Later, I had no idea where they came from or what they represented.&lt;/p&gt;

&lt;p&gt;✅ I include metadata: source, date of extraction, transformations, and purpose.&lt;/p&gt;

&lt;p&gt;❌ 5. Mixing raw and processed data&lt;br&gt;
I’ve spent hours wondering if a dataset was the original or something I’d cleaned earlier.&lt;/p&gt;

&lt;p&gt;✅ Now I separate my layers: raw/, clean/, final/. No more confusion.&lt;/p&gt;

&lt;p&gt;❌ 6. Making ad hoc manual changes&lt;br&gt;
Quick edits for testing are tempting. But when they creep into production? Ouch.&lt;/p&gt;

&lt;p&gt;✅ I script all transformations, version my pipelines, and automate whenever possible.&lt;/p&gt;

&lt;p&gt;📌 These days, I treat data like code: it deserves structure, versioning, and care.&lt;/p&gt;

</description>
      <category>data</category>
      <category>programming</category>
      <category>webdev</category>
      <category>backend</category>
    </item>
    <item>
      <title>📊 How I Work with Data in 2025: 5 Practical Habits That Help Me Stay Sane</title>
      <dc:creator>Samy</dc:creator>
      <pubDate>Sun, 27 Jul 2025 03:52:27 +0000</pubDate>
      <link>https://dev.to/samy_1592/how-i-work-with-data-in-2025-5-practical-habits-that-help-me-stay-sane-3bcb</link>
      <guid>https://dev.to/samy_1592/how-i-work-with-data-in-2025-5-practical-habits-that-help-me-stay-sane-3bcb</guid>
      <description>&lt;p&gt;As a developer, I find myself working with more and more data — whether it's through APIs, CSV files, or SQL databases. Here are a few practices I’ve found useful (and try to stick to) to avoid common pitfalls:&lt;/p&gt;

&lt;p&gt;🧼 1. Always clean the data&lt;br&gt;
I don’t blindly trust the data I receive anymore. I check for types, missing fields, duplicates, etc. Libraries like pydantic (in Python) or zod (in JS) are super helpful for this.&lt;/p&gt;

&lt;p&gt;📐 2. Understand the structure before coding&lt;br&gt;
Before writing a loop or a query, I take a look at what the data actually looks like. A quick inspection (console.log, print) often saves me a lot of trouble.&lt;/p&gt;

&lt;p&gt;⚡️ 3. Match tools to the data volume&lt;br&gt;
I use SQL or Pandas for exploration, but once things get bigger, I switch to DuckDB, Spark, or BigQuery. No need to over-engineer from the start.&lt;/p&gt;

&lt;p&gt;📊 4. Summarize and visualize&lt;br&gt;
A simple average, group by, or small chart is way more helpful than dumping raw data. It helps me better understand what’s going on.&lt;/p&gt;

&lt;p&gt;🔒 5. Protect sensitive data&lt;br&gt;
I’m careful about what I log — especially in staging or debug environments. Tokens and emails can easily leak. I also try to anonymize when working with production copies.&lt;/p&gt;

</description>
      <category>data</category>
      <category>programming</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
