Improving Your Programming Mechanics

A Microsoft Machine Learning Engineer outlines his tips for building your programming skills to succeed in your dream computer science career.

Aaron C.

By Aaron C.

Experienced Software Engineer and Technical Lead at Microsoft and Github

Posted March 6, 2025

Table of Contents

Hi! I’m Aaron C., a Programming and AI/ML Science Coach on Leland. Here is my advice on building your programming skills. I hope you find it useful, I’d be happy to work with you one-on-one on anything computer science-related! Book a free intro call on my profile to get started.

As a budding software engineer, how do you improve your confidence, willingness to dive in and try new things, and ability to think through intricate systems to make impactful changes? Most importantly, how do you learn to enjoy programming more? How can you make it more fun, empowering, and exciting? In my experience, the best place to start is to improve your programming mechanics.

So, what are your programming mechanics? They’re your technical skills, or how well you know how to code.

It ranges from the foundation…

  • How are programming languages implemented, for example, what is try-catch actually doing?
  • What exactly happens during compilation/interpretation?
  • What is going on electrically to make a computer work?
  • What is the history of this programming language, system, or product?

To systematic thinking…

  • What design patterns or algorithms are best suited to solving this problem?
  • How do I profile and optimize my code?
  • What can I do to debug complex issues?

To best practices, and more…

  • How can I architect this software to scale?
  • How can this particular system be improved, and how much effort and time would that take?
  • How can I write this code in a way that is performant, yet easy to understand for others?

Improving programming mechanics underpins your ability to make a specific, concrete impact. You’ll be able to speed up tests for new ideas, conduct high-level analyses on the potential aptitude of new features, and generally have a better understanding of the product you’re working with. When you have that kind of power, programming can be both satisfying and enjoyable.

I have spent years obsessing over my mechanics. Throughout my career, I’ve created all sorts of different software products–mobile apps, websites, games, ML models, infrastructure, tooling, embedded systems, etc–which have helped me understand the connection between different contexts of software. I also have a special love for the history of computer science: how was Python created and what was the story behind Software-as-a-Service? Today, I am working on the Github Copilot at Microsoft so it is literally my job to study the mechanics of programmers.

Now, you may be thinking that you already write so much code for class or work that your programming mechanics will improve naturally, right? And I agree, to an extent. However, I would add that dedicating focused sessions to improving mechanics will drastically decrease the time required to improve. You can write 10,000 lines of code and only learn 25% of what you’d learn if you intensely studied 50 lines of code. So, what are the 50 lines that you should study and how can you learn from them?

Perhaps they are the core of a complex CSS animation on Stripe's website, or maybe the infamous fast inverse square root implementation of Quake, or the React diff algorithm. There is a lot of amazing code written by incredible engineers from which you can draw lifelong lessons.

As a coach, I love seeing peoples’ eyes light up when they build something of their own volition that works and is valuable. I want to help you improve your mechanics and show you the effect that doing so can have on every part of your engineering career. I firmly believe that programming is a skill that can constantly be developed and honed; when you put in the effort to improve, it will pay dividends over the rest of your life.

Final Note

If you want to improve your mechanics and are looking for help or to bounce some ideas around, visit my profile and book a free intro call. I look forward to working with you!

Leland provides you with the content, community, and coaching that you need to build your dream computer science career and accomplish other ambitious goals. Sign up today to gain access to additional free resources, community events, small group classes, world-class coaching, and more.

Aaron C.

Written by Aaron

5.0

(2)

Hi there! My name is Aaron Chan, and I'm here to share my extensive knowledge of creating software, navigating the software industry as an engineer from the largest technology companies in the world all the way down to individual freelance consulting and starting your own business with an engineering background. I started programming when I was 8 years old making Flash games, then moved to website freelance development and programming competitions while in high school, focused on AI/ML research and entrepreneurship in college, and currently work for Microsoft Research on Applied AI models such as ChatGPT and GitHub Copilot. Since I graduated in 2021 and am relatively fresh in the industry, I have relevant points of advice and connections for anyone trying to break in. I led several AI related initiatives at Microsoft/Github, including major features within Github Copilot Chat, and currently I'm a founding member of the Harvey AI Research team. We have historic product market fit (10M revenue in first 10 months, believe me that's an old number now) and are backed by investors like the OpenAI Startup Fund and Sequoia. But most of all, I love writing and improving software. If you're looking to bounce engineering ideas or get a second set of eyes on your code, I would love to help. I have 10+ years of experience in Python (including frameworks such as Flask, PyTorch, Fairseq), Javascript, Typescript, HTML, CSS, Java and C#, 5+ years of experience in C++, SQL, R. I have a knack for breaking down ML concepts, explaining the math behind them, and leading us through an implementation.

Aaron has helped clients get into organizations like:

Browse Related Articles