Red-Green-Code

Deliberate practice techniques for software developers

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

The Role of Questions and Answers in Learning

By Duncan Smith Leave a Comment Dec 16 0

Here are two approaches you could take to learn something new: Passive review: Consume an explanation of the topic you’re trying to learn. For example, read a textbook chapter, watch a video lecture, or read an online article on the topic. Active recall: Do an activity that requires you to remember something that you know […]

Continue

Why Measure Your Productivity?

By Duncan Smith Leave a Comment Dec 9 0

It’s impossible to measure developer productivity. At least, that’s what the experts say. Martin Fowler came to that conclusion over 10 years ago in a classic article, and the consensus hasn’t changed since then. My favorite recent article on the subject is by Jim Bird, a development manager and CTO. So let’s take that as […]

Continue

The Competitive Programming Debate

By Duncan Smith Leave a Comment Dec 2 0

Which of the following statements best describes your opinion of competitive programming? -2: It is harmful to the software industry, and should be abolished. -1: It’s no worse than any other form of entertainment, but it has no educational value. 0: It may help some people get better at programming, but it’s a niche hobby. […]

Continue

The Time Bank Productivity System

By Duncan Smith Leave a Comment Nov 25 3

Earlier this year, I wrote a survey of the Productivity Habits that I’m using to keep my project moving along. This week, I’m going to focus on one habit, which I’m calling Time Bank. I’ll also share a handy spreadsheet that makes it easy to try out this system.

Continue

Java Lessons from uHunt Chapter 2

By Duncan Smith Leave a Comment Nov 18 0

This post is part of a series on Java syntax and libraries for solving the problems in each chapter of uHunt, a tool for competitive programming practice. You can find the rest of the posts in the series by visiting my uHunt Java post category. In the previous post in this series, a review of […]

Continue

Lessons from Competitive Programming 3, Chapter Two

By Duncan Smith Leave a Comment Nov 11 3

This post is part of a series of commentaries covering each chapter of Competitive Programming 3 by Steven and Felix Halim. You can find the rest of the posts in the series by visiting my CP3 post category. Competitive Programming 3 (CP3) Chapter 2 covers a selection of data structures that are useful for solving […]

Continue

Lessons from uHunt Chapter Two

By Duncan Smith Leave a Comment Nov 4 0

This post is part of a series that considers what can be learned from the problems in each chapter of uHunt, a tool for competitive programming practice. You can find the rest of the posts in the series by visiting my uHunt post category. I recently finished the last of the 37 starred problems in […]

Continue

Solving UVa 11402 with Segment Trees

By Duncan Smith Leave a Comment Oct 28 5

UVa 11402: Ahoy, Pirates! is one of the most challenging of the uHunt starred problems I have come across so far, for a few reasons: The problem is designed to be solved using a segment tree. This is a data structure that comes up in competitive programming, but isn’t covered in the standard algorithms textbooks […]

Continue

Cal and Scott’s Top Performer Course

By Duncan Smith Leave a Comment Oct 21 0

In an earlier post, I mentioned a pilot course I took a couple of years ago on applying deliberate practice to various types of jobs. Well that original pilot, and a subsequent pilot in 2014, has resulted in a course called Top Performer (not an affiliate link). As part of the homework for the second […]

Continue

Software Methodologies for Very Small Teams

By Duncan Smith Leave a Comment Oct 14 0

When I was working on my undergraduate degree in Computing and Software Systems, I took a class in software engineering. The purpose of this class was to introduce us to the range of real-world processes that professionals use to develop software, processes that didn’t often come up in our academic work. That goal turned out […]

Continue
  • « Previous Page
  • 1
  • …
  • 43
  • 44
  • 45
  • 46
  • 47
  • …
  • 49
  • Next Page »

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