If you’re one of the 750+ million people in the world who use Microsoft Excel, you have an excellent launch pad into coding.
Excel formulas are like very simple computer programs.
So if you write Excel formulas regularly, you are already on the path to learning to program.
Excel is how I first got into coding.
But I wasn’t always proficient with Excel.
In fact, I started my career barely knowing how to use basic Excel functions.
But because I am a financial analyst, I have spent the majority of my work days using Excel since I started this career in 2015.
And now, I have a high level of proficiency with the program.
Excel got me on the path to programming when a co-worker of mine asked me if I could automate a monthly process he did with Excel.
I realized this project required more sophisticated automation than I could accomplish with basic Excel, so I started looking into VBA to help my colleague with his task.
VBA stands for Visual Basic for Applications.
It is the internal programming language used to automate Microsoft products like Excel, Word, Outlook, and more.
I broke down my co-worker’s task into simple steps, and I searched the web for each step + Excel VBA.
I found nearly everything I needed to do with VBA already perfectly coded and shared online.
However, I needed to tweak each bit of code I found to make it apply to my specific problem.
Eventually, I had a fully-automated VBA solution to my colleague’s problem.
He was thrilled with what I had made for him and estimated that my code would save him hours of work each month!
This experience helped me realize what coding actually is.
The Unintimidating Truth: What Coding Actually Is
At the time, I thought that what I had done wasn’t actually coding.
I just thought I had gotten lucky and found all the solutions online.
Then, I showed my code to a computer programmer friend of mine, and he said, “I didn’t know you could code!”
I remember telling him that I don’t actually know how to code.
I just searched all my questions online, found other people’s code, put it all together, and tweaked it until it did what I wanted to do.
He laughed and said, “Yeah, that’s what coding is.”
What I didn’t realize until this experience is that even high-level programmers use search engines to find simple solutions to problems they don’t need to remember like AJ, the creator of carrd.co.
Here’s how he puts it.
I’m not trying to diminish the power of programming or the amazing intellects that contribute to it with my story.
And I acknowledge that programming skills, like any skill, can improve over time. (And as you improve, you may search for fewer, or at least different, code-related solutions online.)
But searching the web for basic programming solutions, copying other people’s code, and tweaking it to fit your needs is a perfectly acceptable way to start programming.
In fact, many successful coders think this is the best way to learn to program.
Understand how you learn best.
I’ve had countless false starts with coding:
- I’ve purchased several Udemy coding courses only to partially finish them and never apply the skills I briefly learned.
- I’ve completed a handful of codecademy’s free coding courses.
- And I’ve even taken part of a Udacity data-analytics nanodegree that I stopped half-way through the course.
None of these stuck.
In each of these courses, I didn’t know how to apply the abstract concepts I was learning (or when, if ever, I could apply them).
Even when these courses had me “apply what I learned,” I was always solving a problem I didn’t have.
I’ve realized I learn best when I start learning inductively and add in deductive leaning resources later as I gain practical skills.
This is how I prefer to learn musical instruments; leaning songs first (inductive) and theory later.
It’s how I prefer to learn natural languages; learning phrases first and grammar later.
And apparently, it’s how I prefer to learn coding languages too; creating simple programs first and learning the scope of the language next.
I don’t think this is how everyone prefers to learn.
But I think flipping the traditional deductive -> inductive learning model is a good experiment to try if the traditional model isn’t working for you.
Coding is a means to an end, not an end in itself.
Programming is a tool just like a screwdriver.
Usually people aren’t excited about screwdrivers; they’re excited about what they can build with them.
Likewise, people typically don’t learn to use a screwdriver by taking a class on screwdrivers.
Instead, they learn to use a screwdriver as a byproduct of wanting and learning to build something.
In the same way, it can be hard for some people to get excited about programming.
But who doesn’t want to save time, automate a process, and generally make life easier?
This is what programming offers to anyone who uses it.
So remember that programming is usually easiest to learn in the context of a specific task you want to accomplish.
From Excel User to Programmer
For those who already use Excel in their day jobs, I recommend trying to automate an Excel task you do regularly.
Try to break the task into very simple steps and then search the web for “how to do X in Excel VBA.”
The amount of free code online will probably shock you.
Once you’ve worked through automating one task in VBA, the sky is the limit.
I found that automating one task gave me the confidence to try more and more complicated automation.
Now, I’m working on automating these same tasks with Python.
I let negative self-talk and impostor syndrome stop me from coding for a long time.
I hope this doesn’t happen to you.
If it helps, know that I majored in French at my university and have no business coding, but I still do.