<?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: chonito7919</title>
    <description>The latest articles on DEV Community by chonito7919 (@chonito7919).</description>
    <link>https://dev.to/chonito7919</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%2F3531903%2Fdcdfc85a-7e8e-4e43-9402-2c340878ff8f.png</url>
      <title>DEV Community: chonito7919</title>
      <link>https://dev.to/chonito7919</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chonito7919"/>
    <language>en</language>
    <item>
      <title>I Built a Tool to Parse SEC Dividend Data (And Actually Shipped It)</title>
      <dc:creator>chonito7919</dc:creator>
      <pubDate>Fri, 03 Oct 2025 20:54:29 +0000</pubDate>
      <link>https://dev.to/chonito7919/i-built-a-tool-to-parse-sec-dividend-data-and-actually-shipped-it-327g</link>
      <guid>https://dev.to/chonito7919/i-built-a-tool-to-parse-sec-dividend-data-and-actually-shipped-it-327g</guid>
      <description>&lt;p&gt;I've been working in the electrical trade for years, but I've been teaching myself software development on the side. A few months ago, I had an idea: build a free, open-source tool to extract dividend data from SEC filings. There are paid services that do this, but they're expensive, and I thought, "How hard could it be?"&lt;/p&gt;

&lt;p&gt;Turns out, pretty hard.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem I Tried to Solve
&lt;/h2&gt;

&lt;p&gt;If you want historical dividend data for US stocks, you have a few options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pay $50-500/month for services like SimFin or Intrinio&lt;/li&gt;
&lt;li&gt;Scrape Yahoo Finance (legally questionable for commercial use)&lt;/li&gt;
&lt;li&gt;Manually look up each company's investor relations page&lt;/li&gt;
&lt;li&gt;Parse SEC filings yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I chose option 4.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Journey (Or: How I Failed Before I Succeeded)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;First attempt:&lt;/strong&gt; HTML scraping. I wrote code to download 8-K, 10-K, and 10-Q filings and used an LLM to extract dividend amounts from the messy HTML.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; Complete garbage. The LLM extracted $3,910 as a dividend for Coca-Cola (it was reading the wrong table column). Processing took 50-60 seconds per company. This approach was dead on arrival.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second attempt:&lt;/strong&gt; Use XBRL data instead. The SEC provides structured JSON APIs with financial data in a standardized format called XBRL. No HTML scraping, no LLM guessing, just parsing structured data.&lt;/p&gt;

&lt;p&gt;This worked much better. Processing time dropped to ~3 seconds per company, and the data was mostly accurate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Challenge: Data Quality
&lt;/h2&gt;

&lt;p&gt;Here's what I learned about parsing SEC data that nobody tells you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Companies report annual totals alongside quarterly dividends.&lt;/strong&gt; Target, for example, reports both their $1.10 quarterly dividend AND a $4.38 annual total (sum of all 4 quarters) in the same filing, with the same XBRL tags. My parser had to figure out which was which.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every company files differently.&lt;/strong&gt; Some use one XBRL tag, others use a different tag. Some report fiscal quarters cleanly, others don't. There's no standard for "this is a sum" vs "this is a single payment."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Perfect accuracy is impossible.&lt;/strong&gt; After weeks of work, I got the parser to about 85-90% accuracy. The remaining 10-15% needs manual review. I had to accept this.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Confidence Scoring
&lt;/h2&gt;

&lt;p&gt;Instead of trying to achieve 100% accuracy, I built a confidence scoring system. Each dividend gets scored 0.0-1.0 based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the amount reasonable? (Too high = probably an annual total)&lt;/li&gt;
&lt;li&gt;What's the period duration? (365 days = annual, not quarterly)&lt;/li&gt;
&lt;li&gt;How does it compare to other dividends for this company? (4× the median = suspicious)&lt;/li&gt;
&lt;li&gt;Is there proper metadata? (Missing fiscal quarter = lower confidence)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anything scoring below 0.8 gets flagged for review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Johnson &amp;amp; Johnson: 52 dividends, 100% confidence, zero manual review needed&lt;/li&gt;
&lt;li&gt;Apple: 46 dividends, 96% average confidence, 2 flagged from 2012&lt;/li&gt;
&lt;li&gt;Target: 65 dividends, 79% average confidence, 15 annual totals correctly flagged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system works.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Perfect is the enemy of done.&lt;/strong&gt; I spent weeks trying to get 100% accuracy. I was debugging edge cases for companies I'd never heard of. Eventually I realized: 85-90% automatic + flagging the rest is good enough. Ship it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Data quality is never 100%.&lt;/strong&gt; Even Bloomberg and FactSet have errors. The difference is they have teams of people verifying data. For a solo project with zero budget, confidence scoring + review workflow is the realistic solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Actually shipping something feels different than planning to ship something.&lt;/strong&gt; I've started and abandoned dozens of projects. This is the first one I've actually pushed to GitHub with documentation, tests, and a proper license.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Language:&lt;/strong&gt; Python 3.8+&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; PostgreSQL (confidence scores, audit trails, review workflow)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Source:&lt;/strong&gt; SEC EDGAR XBRL JSON APIs (official, free, no scraping)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; Apache 2.0 (free to use, modify, even commercially)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The code is on GitHub: &lt;a href="https://github.com/chonito7919/DivScout" rel="noopener noreferrer"&gt;DivScout&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Honestly? I don't know. The project is shipped. It works for what it does. Maybe I'll add more features. Maybe I'll use it to build something else. Maybe it just sits there as proof I can finish something.&lt;/p&gt;

&lt;p&gt;For now, I'm just glad I shipped.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;For other people learning to code while working full-time:&lt;/strong&gt; You don't need a perfect project. You need a finished project. Even if it's 85% accurate. Even if only 5 people look at it. Even if it's not as good as the commercial alternatives.&lt;/p&gt;

&lt;p&gt;Shipping something imperfect beats planning something perfect forever.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>opensource</category>
      <category>career</category>
    </item>
    <item>
      <title>From Copper Wire to Code: A Master Electrician's Journey into Software Development ⚡💻</title>
      <dc:creator>chonito7919</dc:creator>
      <pubDate>Fri, 26 Sep 2025 16:12:35 +0000</pubDate>
      <link>https://dev.to/chonito7919/from-copper-wire-to-code-a-master-electricians-journey-into-software-development-40g5</link>
      <guid>https://dev.to/chonito7919/from-copper-wire-to-code-a-master-electricians-journey-into-software-development-40g5</guid>
      <description>&lt;p&gt;Hey everyone! I'm here to share a bit about my current journey—one that's taking me from the physical world of Master Electrician work and small business ownership into the digital realm of software development. It's a huge, exciting, and sometimes terrifying shift, and I know I'm not the only one making a big career change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Licensed to Wire: The Foundation of Logic
&lt;/h2&gt;

&lt;p&gt;For years, my world revolved around circuit diagrams, voltage testers, and the precise logic of electrical systems. As a Master Electrician with multiple licenses and a contracting business owner, my days were defined by planning installations, ensuring safety, and troubleshooting complex systems. The work required meticulous precision and a deep understanding of how components interact.&lt;/p&gt;

&lt;p&gt;Recently, I felt a pull toward something new—the systems that run the digital world. I realized the core skills I use every day were transferable, and I decided to make the leap into software development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a New Toolset: Learning in Public
&lt;/h2&gt;

&lt;p&gt;Making a career switch this big means going back to the fundamentals. I'm currently diving into two powerful languages: C++ and Python. C++ is my choice for building robust, high-performance tools, while Python is my versatile go-to for rapid scripting and utility.&lt;/p&gt;

&lt;p&gt;My entire workspace is built on an open platform: I run exclusively on Linux—specifically Debian. I appreciate the stability and control it offers, making it the perfect environment for a builder like me. My approach is simple: learn by building practical applications that solve real problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Deep Dive: Real-World Solutions
&lt;/h2&gt;

&lt;p&gt;I'm focused on creating tools that provide real utility, like my gambling tax calculator written in C++. I decided to build this tool to handle the complexities of tracking winnings and losses in different jurisdictions. The challenge lies in designing a system that can be easily updated to reflect changing tax laws—it's about creating flexible logic, much like designing an electrical system that can handle future expansions.&lt;/p&gt;

&lt;p&gt;You can check out the source code and how it's progressing here: &lt;a href="https://github.com/chonito7919/gambling-tax-calculator" rel="noopener noreferrer"&gt;Gambling Tax Calculator GitHub Repo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sharing Knowledge: Developer Cheat Sheets
&lt;/h2&gt;

&lt;p&gt;As I learn, I'm also creating resources that help me solidify my knowledge and, hopefully, help others in the community. I'm building a repository of developer cheat sheets for the terminal tools I use constantly, specifically tmux and vim.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vim&lt;/strong&gt; is my editor of choice (if you know, you know!) and mastering its efficiency is a key focus.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;tmux&lt;/strong&gt; helps me keep my terminal sessions and workflows organized.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creating documentation like this is an easy way to contribute to the community without writing complex code. Feel free to check out and contribute to the cheat sheets here: &lt;a href="https://github.com/chonito7919/tmux-cheat-sheet" rel="noopener noreferrer"&gt;tmux Cheat Sheet&lt;/a&gt; and &lt;a href="https://github.com/chonito7919/vim-cheat-sheet" rel="noopener noreferrer"&gt;vim Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Transferable Skill: Troubleshooting
&lt;/h2&gt;

&lt;p&gt;What does a Master Electrician bring to coding? The answer is systematic troubleshooting.&lt;/p&gt;

&lt;p&gt;The core of electrical work is systematic problem-solving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Isolate the issue&lt;/strong&gt;: Is the problem upstream (the breaker) or downstream (the load)?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Form a hypothesis&lt;/strong&gt;: A loss of power suggests a loose connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test the hypothesis&lt;/strong&gt;: Check for voltage at the first junction point.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This process translates almost perfectly to debugging code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Isolate the issue&lt;/strong&gt;: Is the bug in the data input, the logic, or the output?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Form a hypothesis&lt;/strong&gt;: An unexpected value suggests a variable scope error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test the hypothesis&lt;/strong&gt;: Use a debugger to set a breakpoint and inspect the variable state.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In both careers, you're dealing with a hidden system where one small error can cause a catastrophic failure. Both require a meticulous, logical approach—you can't just guess your way to a solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Self-Taught Path and My Big Challenge
&lt;/h2&gt;

&lt;p&gt;My learning approach is strictly self-taught. I don't have a Computer Science degree, which brings both massive freedom and significant challenges.&lt;/p&gt;

&lt;p&gt;The biggest challenge is tackling complex programming concepts independently. Ideas like memory management and design patterns can feel abstract when you're trying to figure them out alone. It's a constant battle between practical application and theoretical depth.&lt;/p&gt;

&lt;p&gt;But my philosophy remains: build real solutions to real problems. That tangible sense of accomplishment is what keeps the motivation high, and I believe my practical background offers a unique and valuable perspective in this new field.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead: My Next Wires to Connect
&lt;/h2&gt;

&lt;p&gt;My transition from Master Electrician to software developer is built on a decade of experience in systems architecture, problem-solving under pressure, and reliable project execution. As I continue to expand my skills in C++ and Python, I look forward to applying this rigorous, real-world discipline to future software development opportunities. I believe the ability to quickly diagnose and resolve complex system issues, a trait honed in the trades, will be an invaluable asset in any development team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join the Conversation
&lt;/h2&gt;

&lt;p&gt;This transition is an intense solo effort, and connecting with the wider developer community is essential for growth.&lt;/p&gt;

&lt;p&gt;If you're a developer, especially one who works in C++ or Python, I'd love to hear from you.&lt;/p&gt;

&lt;p&gt;If you're a career changer who's made a jump from a trade, service industry, or any other non-traditional background—how did you bridge the knowledge gap? What was your "a-ha!" moment?&lt;/p&gt;

&lt;p&gt;Drop a comment below! I'm eager to connect, exchange advice, and share war stories from the trenches, whether they involve 220 volts or a nasty core dump.&lt;/p&gt;

&lt;h2&gt;
  
  
  Call-to-Action:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Have you made a career change into development? Share your "before" and "after" story in the comments!&lt;/li&gt;
&lt;li&gt;Got any essential VIM or TMUX tips for a new developer? I use vim, so drop your best .vimrc or .tmux.conf snippets!&lt;/li&gt;
&lt;li&gt;What open source project do you think every newcomer should check out?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's learn together! 🤝&lt;/p&gt;

</description>
      <category>career</category>
      <category>cpp</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
