After five years as a DevOps engineer, I finally decided to take my personal finances seriously. As a developer who lives in plain text (Git, Markdown, YAML configs), discovering Beancount felt like finding the perfect tool: accounting that speaks my language! Version control for financial data! Python importers! Scriptable everything!
Six months in, I’ve hit a wall—but not the one I expected.
The Reverse Skills Gap
Everyone’s talking about the AI skills gap in accounting: only 24-27% of organizations have adequate AI-skilled talent, and Python demand in accounting jobs is up 33%. The narrative is clear: accountants need to learn to code.
But I have the opposite problem. I know Python. I don’t know accounting.
And it turns out that’s just as dangerous—maybe more so.
What Went Wrong
Exhibit A: The Over-Engineered Importer
My first project was building a “comprehensive” bank importer with automatic categorization using machine learning. I spent three weeks perfecting the CSV parser, handling edge cases, building a training pipeline for the categorization model. The code was beautiful. The architecture was solid.
Then my accountant friend looked at my books and asked: “Why are your credit card payments showing as expenses?”
I’d automated the wrong thing. I didn’t understand the difference between transfers and expenses. I’d built a technically perfect solution that violated basic accounting principles.
Exhibit B: The Impressive-Looking Reports
I created gorgeous custom Fava reports with charts, year-over-year comparisons, and breakdowns by every possible dimension. My developer friends were impressed.
Then tax season came. Turns out none of my beautiful reports matched IRS Form 1040 requirements. I didn’t know what Schedule C was, or why my expense categories didn’t align with tax categories, or that personal vs. business classification actually mattered.
I’d optimized for developer aesthetics, not accounting compliance.
The Real Question
The industry talks about the “AI skills gap” as if it’s one-dimensional: accountants need technical skills. But I’m living proof of the reverse gap: technical people can automate anything, but we don’t understand what to automate or why.
This isn’t just a personal problem. As more “accounting automation” tools are built by software engineers who’ve never prepared a tax return or reconciled accounts for a client, we’re going to see technically sophisticated solutions that create accounting disasters.
Research shows that the real skills gap isn’t just technical proficiency—it’s strategic judgment, knowing what questions to ask, and connecting pieces of information into actionable insights. That’s exactly what I’m missing.
Three Paths Forward?
I see three possible solutions, and I’m not sure which makes sense:
1. Accountants Learn to Code
The industry consensus seems to be pushing this direction. UC Davis now offers a STEM-designated MPA program focused on data analytics and programming. The AICPA offers data analytics certificates.
But is this realistic? Not every CPA wants to be a developer. Should they have to be?
2. Developers Learn Accounting
This is my current path. I’m taking a community college accounting course and working through CPA review materials. But accounting is harder than I expected—it’s not just debits and credits, it’s understanding business context, tax law, compliance frameworks, and professional judgment.
3. Hybrid Roles / Partnerships
Maybe the answer is neither path alone, but combinations: “accounting technologists” who bridge both worlds, or partnerships between technical people and accounting professionals.
My Current Approach: Learning Accounting Through Code
Ironically, Beancount is teaching me accounting by forcing me to be explicit about everything. Every transaction requires me to specify both sides of the entry. When I get it wrong, bean-check fails and I have to understand why.
It’s like learning through compiler errors, except the compiler is double-entry bookkeeping principles.
I’ve learned more about accounting in 6 months of fighting with Beancount than I would have from reading textbooks. The feedback loop is immediate: does it balance? Does the cash flow make sense? Can I reconcile this month?
Questions for the Community
For those of you who bridge both worlds:
-
Accountants who learned Python: How long did it take before you felt productive? What resources helped most? Do you use it daily, or only for specific projects?
-
Technical people who learned accounting: Did you take formal courses, or learn by doing? What were the biggest “gotcha” moments where technical thinking led you astray?
-
People doing client work: Do you think the “accounting technologist” hybrid role is realistic? Or will we always need specialists partnering with specialists?
I’m at the point where I can write any Python code you need, but I don’t trust myself to know whether it’s solving the right accounting problem. That feels more dangerous than being an accountant who can’t code.
Is the AI skills gap actually a “technical + accounting literacy” gap? And if so, how do we bridge it?