#1: Four Lessons I Learned (About Leadership) While Teaching Myself to Code
When I was 25 years old, 3 years into my professional career in sales and project management, I decided to learn how to code. That decision has completely changed the trajectory of my life, and my growth as a leader.
In December of 2020, I landed my first front-end developer job at Sway Medical, a medical technology company whose app has over 500,000 users. Two and a half years later, I became the COO of Sway.
During my time learning to code, I've read over a hundred "10 Things I Learned While Teaching Myself to Code" articles. What I haven't read is an article that addressed how learning to code develops your effectiveness as a leader within an organization.
I firmly believe coding is an invaluable skill in this day and age, and the younger you are, the more this rings true. Since I've encouraged many young professionals both inside and outside of tech organizations to learn how to code, I wanted to write my leadership lessons down and share them here.
So, here are 4 lessons I learned about leadership while teaching myself to code...
1. Software is a powerful tool to drive effectiveness.
Before I began to learn how to code, I thought about "coding" and "software development" as a kind of skill analogous to learning how to use a tool like Microsoft Word or Excel. Maybe I could learn how to build a website or an app, but the application of the skill beyond that would be minimal.
I was incredibly wrong with this perspective. Learning to code has made me significantly more effective at leveraging computers and existing software tools to tackle the variety of challenges I face in business. I'd compare learning to code to learning how to build a home. A home builder leverages a wide variety of tools and materials to successfully build a home. Once you've taken the time to learn how to build a house, you'll never look at a house the same again. You have an intimate knowledge of how the different tools can help you accomplish various other tasks, such as building a shed or slab or fence.
Application to Leadership
The fundamental role of a leader is to be effective, and software provides incredible leverage in your ability to maximize you and your team's effectiveness. Understanding the fundamental building blocks of how software tools work allows you to evaluate different tools and how they can drive or hinder the effectiveness of your company. For any business that needs to operate at scale, this is absolutely critical.
2. Data, like the world, has many dimensions.
I used to think about data only in 2 dimensions. Working tools like Microsoft Excel and Windows folder structures encourage us to think about data in 2 dimensions.
In reality, the world is an extremely complex place. The more accurately your data structures can mirror that complexity, the better insights you stand to gain. Working with data in 3 or more dimensions unlocks capabilities and insights far greater than any 2 dimensional data could.
Application to Leadership
In Sahil Bloom's career advice to a young reader, he points out that exceptional leaders of organizations are exceptional at 2 things:
1. Aggregating data, and
2. Communicating it simply and effectively
Being comfortable with complex data structures and understanding how to work with that data to find answers to your questions is an invaluable skill. It has allowed me to let data drive my understanding far more effectively than it would have if I hadn’t learned to code. Tools like Tableau and PowerBI unlock incredible insights if you know how to leverage them, and my understanding of software development has helped me tremendously in this arena.
3. Break down problems.
When coding, you are forced to break complex problems down into steps. You create functions one at a time that build on top of one another until you finally reach your finished solution. If you skip a step, that bug is going to come back to bite you sooner or later. As you continue to build more and more software solutions, you become better at breaking down the problems to ensure you minimize the likelihood of bugs and skipped steps further down the road.
Application to Leadership
As leaders, it's our job to take the problem the company is trying to solve and break that down into actionable steps for our teams to execute on. We have to look forward and see where holes (those bugs) may appear in the future and take steps now to mitigate that. Learning to code gives you the repetitions needed to continually hone this skill over time.
4. Effective communication is paramount.
We have all visited a website or used an application that just made no sense. You have no idea what button you need to press or where to find the information you're looking for. As a front-end developer (where I ended up), you are responsible for that visual interface that the user experiences. Creating an effective user interface is much more challenging than it appears. It takes continual effort and optimization to get it right. On top of that, it's hard to undo the damage that a previous bad user interface has done to a user.
I can't begin to count the number of times I've thought I created good user interfaces that turned out to do more harm than good. But, each repetition gave me a better understanding of which tactics are effective and which ones are not.
Application to Leadership
As leaders, our effectiveness is directly correlated with our ability to communicate our ideas. The way you craft your story and deliver it to your teams makes the difference between an idea setting in or being lost on your audience. In this arena, the small things matter. A well designed graphic or chart can communicate clearly in 10 seconds what a complex data table takes 30 minutes to talk through. Multiply that by the number of people in the room, and the wasted time begins to build up rapidly.
Thinking about learning to code?
If you’re interested in learning to code, I’d encourage you to find a problem you want to solve and dive in. You’ll run into a lot of walls along the way, and you certainly won’t be able to connect the dots looking forward, but I’m confident you won’t regret it looking back.
If you have a friend who codes, reach out to them to help you get started. If you don’t have a friend who codes, find one now. My close friend Jordan Beacham gave me the courage and insight I needed countless times along my journey.
Good luck on your journey.