In a recent blog post, “An Infantryman Learns to Code“, Canadian coder Antoine Grondin describes learning to code using Excel VBA in Kandahar, Afghanistan. His story is typical of many people who have turned to Excel for solving immediate challenges. What isn’t typical is that his solution actually saved lives by reducing the time it took to respond to requests for MEDEVAC from 5 minutes to 15 seconds. (Also unusual, he was rewarded and praised for his accomplishment.)
Delays responding to IED attacks were frustrating and lethal. Antoine knew that automating the process with a computer program would speed this up but he had no idea where to start. “I googled a bit and came up with people saying that to program, you had to learn Java or C, and needed a compiler for them.” But those resources weren’t available to him. Excel was.
A familiar story for Microsoft Office developers. People on the “front line” know they need to solve a problem. Pros tell them they need skills that are unavailable and tools that are unauthorized. What do clever humans do when they refuse to give up? Use available materials. Excel & VBA are an easy entry point for non-coders with an aptitude for problem-solving. Unfortunately, VBA is too often dismissed as inadequate or unserious. Anything popular amongst the muggles must not be legit. But for version 1.0 prototypes its often the perfect option. No one else was going to develop that solution for Antoine. He did it himself. He understood the problem intimately and knew instinctively what a good result would look like. Once proven, this application could be completely rewritten by a “pro” if there was a compelling reason.
Can you imagine a complete noob being able to get the same result with Java or C#? First timers in Excel usually start with input/output right on the sheet. Then move to validation, drop-downs, buttons, UserForms, add-ins, etc. Start simple, build skills, harden the application. Here’s a complex data entry form he designed:
Antoine humbly shares some of his “first lines of code” on GitHub warning us “it may hurt your feelings” because its got new-coder smells. But that’s not a symptom of VBA, its because it was his first project and he was untrained.
Once he discovered the inherent power in Excel, Antoine built more solutions, got recognized by leadership and became a professional software developer in civilian world, graduating this year with a comp sci degree. He’s working for DigitalOcean now.
Kudos, Antoine. Next time someone says Excel VBA is for sissies…I’m going to send them to you.