Red-Green-Code

Deliberate practice techniques for software developers

  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter

Summer Review

By Duncan Smith Leave a Comment Aug 5 2

Summer 2015

It’s summertime here in the Pacific Northwest, and seven months into the first year of this blog. After thirty weekly posts, I thought it would be a good time to consider the themes that have come up so far this year. If you’re a new reader, I hope you’ll find this to be a useful primer.

« Continue »

The Long Game

By Duncan Smith Leave a Comment May 6 0

AnathemDoom

The theory of deliberate practice is a popular starting point for online article writers. I subscribed to an alert for the term, and I generally get a few results every day (of varying quality). Its popularity isn’t surprising. Deliberate practice offers a process that anyone can use to get better, assuming they are willing to follow it carefully and put in the required hours. Articles and books on the topic often provide examples of well-known experts who followed a deliberate practice process. Geoff Colvin’s Talent is Overrated mentions Tiger Woods pushing golf balls into the sand to make them harder to hit. James Clear writes about Kobe Bryant’s 800 jump shots before practice. But there are also examples of people who didn’t have coaches to steer them towards the right practice steps, but nevertheless achieved incredible results. I recently finished reading Masters of Doom, the story of the founders of id software. One of the recurring themes in the book is the incredible work ethic of John Carmack, co-founder, graphics engine developer, and all-around game programming legend.

« Continue »

Productivity Habits

By Duncan Smith Leave a Comment Apr 15 0

Elephant

When you’re working on a serious learning project, especially if you’re applying deliberate practice techniques, it’s essential to have a set of core habits that you can rely on. Deliberate practice is intended to be a demanding process (see elements #4 and #5 from the linked post). This is good because it makes you push against your limits, but it can also make it difficult to maintain a schedule if you’re just using an ad-hoc process. Experimenting with habits and selecting a few that work for you makes it more likely that you’ll be able to continue working on your project for as long as it takes to complete it.

A productivity habit is something you do on a regular basis (often daily) to help you be more productive. Although the habit may have some value on its own, what’s more important is the effect it has on your work. For example, I find it useful to keep track of how long it takes to complete various tasks. Analyzing this data over time can uncover some interesting trends. But it’s even more powerful to use time tracking for setting time goals, like the number of hours per day that I commit to spending on a project.

Here are the habits that I have found to be the most useful as I work on Project 462.

« Continue »

  • « Previous Page
  • 1
  • 2

Stay in the Know

I'm trying out the latest learning techniques on software development concepts, and writing about what works best. Sound interesting? Subscribe to my free newsletter to keep up to date. Learn More
Unsubscribing is easy, and I'll keep your email address private.

Getting Started

Are you new here? Check out my review posts for a tour of the archives:

  • 2023 in Review: 50 LeetCode Tips
  • 2022 in Review: Content Bots
  • 2021 in Review: Thoughts on Solving Programming Puzzles
  • Lessons from the 2020 LeetCode Monthly Challenges
  • 2019 in Review
  • Competitive Programming Frequently Asked Questions: 2018 In Review
  • What I Learned Working On Time Tortoise in 2017
  • 2016 in Review
  • 2015 in Review
  • 2015 Summer Review

Archives

Recent Posts

  • Do Coding Bots Mean the End of Coding Interviews? December 31, 2024
  • Another Project for 2024 May 8, 2024
  • Dynamic Programming Wrap-Up May 1, 2024
  • LeetCode 91: Decode Ways April 24, 2024
  • LeetCode 70: Climbing Stairs April 17, 2024
  • LeetCode 221: Maximal Square April 10, 2024
  • Using Dynamic Programming for Maximum Product Subarray April 3, 2024
  • LeetCode 62: Unique Paths March 27, 2024
  • LeetCode 416: Partition Equal Subset Sum March 20, 2024
  • LeetCode 1143: Longest Common Subsequence March 13, 2024
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2025 Duncan Smith