From Ledgers to Logic: My Leap into Low-Code Development
How I went from a CPA obsessing over spreadsheets to a full-time Power Platform developer by building apps on nights and weekends.
Personal note: Every career change is a leap of faith. The steps I share here are from my own transition and may not fit everyone exactly, but the principles have helped many others find their way.
Two years ago, I was stuck in a cycle of monthly reconciliations with no hope of changing lanes. Today, I build custom apps for a living and genuinely look forward to Mondays. The catalyst wasn’t a degree or a certification — it was a decision to bet on myself and learn low-code.
Power Platform is unique because it lets you ship real solutions without needing a traditional IT background. If you’re considering a similar move, this article walks through the mindset, the practical steps, and the common roadblocks you’ll face on the way to becoming a developer.
Why I Left a Comfortable Career for Low-Code
Accounting is a discipline that rewards perfection and repetition. After a few years, I realised I was automating pieces of my work with Excel formulas and macros, and that sparked more joy than the actual accounting. The more I automated, the more curious I became. When I found Power Apps, the barrier to entry was nearly zero — I didn’t need permission from IT to install anything, and I could share an app with a colleague by just sending a link.
The turning point came when I built a small time‑tracking app in a weekend. It saved my team hours every week. I knew then that I wanted to do this full‑time.
The Mindset Shift
A career change isn’t just about learning new tools, it’s about unlearning old beliefs. You don’t need a computer science degree to build enterprise‑grade apps. You do need:
- Curiosity – The willingness to break things and figure out why.
- Consistency – Regular practice, even if it’s only 30 minutes a day.
- Community – Engaging with forums, blogs, and local user groups.
I spent two years working on my craft before landing my first developer job. That sounds like a long time, but most of it happened during lockdowns when I couldn’t see friends anyway. The key was that I never stopped building.
A Real-World Project: The “Budget Buddy” App
Let’s walk through a representative scenario. This is not my exact journey, but it captures the kind of project you can create to build a portfolio.
Meet Sophia. She works in the finance department of a mid‑sized company. Every month, project leads submit hours in a messy spreadsheet. Sophia spends two days consolidating and checking for errors. She decides to build an app called Budget Buddy with Power Platform.
Data Model
Sophia creates two SharePoint lists.
Projects
| Column Name | Type | Notes |
|---|---|---|
| Title | Single line | Project name |
| BudgetHours | Number | Total budgeted hours |
| Status | Choice | Active / Complete / On Hold |
| Owner | Person | Project lead |
TimeEntries
| Column Name | Type | Notes |
|---|---|---|
| ProjectID | Lookup | References Projects ID |
| HoursWorked | Number | Hours logged |
| EntryDate | Date | Date of work |
| Description | Text | Optional |
This model is simple, but it’s enough to demonstrate delegation, aggregation, and relationships — all skills employers look for.
Building the Canvas App
Sophia creates a three‑screen app:
- A gallery of all projects.
- A detail screen showing project info and a list of time entries.
- A form to log new hours.
To show the remaining budget, she uses a label with this Power Fx:
LookUp(Projects, ID = ProjectGallery.Selected.ID).BudgetHours -
Sum(
Filter(
TimeEntries,
ProjectID = ProjectGallery.Selected.ID
),
HoursWorked
)Both LookUp and Sum with Filter on the ID column are delegable, so this works even when the lists grow past the default 500‑record limit.
To log a new entry, Sophia uses Patch instead of SubmitForm for more control:
Patch(
TimeEntries,
Defaults(TimeEntries),
{
ProjectID: varSelectedProject,
HoursWorked: Value(NewHoursInput.Text),
EntryDate: DatePicker1.SelectedDate,
Description: DescriptionText.Text
}
)Adding Power Automate Notifications
When a team member logs hours that push the total over 80% of the budget, Sophia wants the project lead to be notified automatically.
She builds a cloud flow triggered when an item is created in TimeEntries. The flow:
- Gets the related project from Projects.
- Calculates the total hours logged.
- If total is greater than 80% of the budget, sends an email.
Because all the logic lives in the flow, the app remains lean and the notification is sent even if the app is closed.
Delegation, Performance, and Security Deep Dive
Delegation is the single most common pitfall when moving from prototype to production. Power Apps sends a query to the data source, but some operations can’t be translated. The result is a hidden 500‑record limit that silently drops data.
Key rules to follow:
- Use
Filter,LookUp, andSumon indexed columns (like ID or a numeric field). - Avoid
SortByColumns(Filter(...), NonIndexedColumn)– instead, sort after collecting. - Use
ClearCollectto pull data into a local collection when you need to do complex client‑side logic, but be aware of size limits.
Security starts at the data source. With SharePoint, you rely on list permissions or item‑level permissions. For more granular control, move to Microsoft Dataverse and use its role‑based security model.
Common Rookie Mistakes and How to Avoid Them
- Learning everything at once. I jumped from canvas apps to Power Virtual Agents to model‑driven apps. Stick with one track until you can build a complete solution confidently.
- Ignoring model‑driven apps. Many job postings require them. They excel at complex business processes and are highly sought‑after.
- Neglecting documentation. A simple OneNote page explaining your data model and app logic saves hours when you revisit a project months later.
- Giving up on the first delegation warning. That warning is your friend. Learn what it means and how to redesign your query.
Beyond Canvas: Why You Should Learn Model‑Driven Apps and Power Automate Desktop
The industry doesn’t pay you to click buttons in one tool; it pays you to solve business problems. That often requires:
- Model‑driven apps – They are built on Dataverse, handle complex forms and business rules, and are fast to customise.
- Power Automate Desktop – When you need to automate legacy desktop applications or bulk file operations, RPA fills the gap.
Employers value T‑shaped developers: deep in one area, broad enough to pick up the right tool for the job.
Mapping Your Learning Roadmap
| Phase | Duration | Focus |
|---|---|---|
| Foundation | 0 – 3 months | Excel formulas, basic Power Fx, simple canvas app tutorials |
| First project | 3 – 6 months | Build one real app from start to finish, share it with real users |
| Expand | 6 – 12 months | Learn Power Automate flows, Dataverse basics, start a portfolio |
| Polish | 12 – 18 months | Certifications (PL‑100, PL‑200), contribute to community forums |
| Job search | 18 – 24 months | Tailor your CV around projects, prepare for technical interviews |
This is a guideline, not a rigid schedule. Some people move faster, some take longer. The important thing is to keep building.
Final Thoughts
Becoming a Power Platform developer is not a quick win. It requires months of deliberate practice and a willingness to fail in public (forums, user groups, etc.). But it is one of the most accessible paths into software development without a computer science degree.
If you’re standing on the edge of a career change, start tonight. Open Power Apps, change a screen’s colour, and connect it to a SharePoint list. The journey of a thousand apps begins with a single control.
References
- Original inspiration: Matthew Devaney’s “I Switched Careers To Become A Power Platform Developer. Ask Me Anything.” (link placeholder)
- Microsoft Power Up Program – free introductory course: https://powerup.microsoft.com
- Official Power Platform documentation: https://learn.microsoft.com/en-us/power-platform/
- Power Apps community forums: https://powerusers.microsoft.com