There are two types of problems we solve as developers:

What type of programmer do you want to be?

We can map these to the two types of problems outlined by Csikszentmihalyi in Creativity:

To solve algorithmic, or presented, problems, it’s simply a matter of recognizing a pattern and implementing a tried-and-true solution. A lot of technical interview questions are these ‘classics’ disguised as story problems, used to test both the breadth and depth of your knowledge. The list is long, but a few examples are:


Creativity is the most important problem solving skill you can develop. But what is creativity? Why is it important? How does it work? In this article, we will define creativity, identify the traits of a creative person, and outline the stages of the creative process.

When learning something new or trying to understand a concept, I like to frame it in terms of the problem for which it is a solution. So…

What is the problem that creativity solves?

The answer is: all of them!

Creativity is problem solving!

Creativity is not only useful for solving problems, it is perhaps…


What’s your Big O?

One of the fundamental concepts of computer science is Big O notation. Big O helps us answer the question, “Can we do better?” We use Big O to measure the performance, or rate of growth, of an algorithm.

As lifelong learners, we want to optimize our rate of growth. How do we do that?

Your knowledge and experience are your most important day-to-day professional assets. Unfortunately, they’re expiring assets. Your ability to learn new things is your most important strategic asset.

In The Pragmatic Programmer, authors Dave Thomas and Andy Hunt define the term knowledge portfolio


When learning something new, we want to create chunks. With chunking, we learn a concept then combine that concept with other concepts to solve problems. If we encounter a concept that is too big to understand, we need to break it into smaller chunks, then recombine the chunks.

This article originally published in my newsletter, The Solution

Learning by Chunking

How do you eat an elephant?

You don’t.

You first become a vegan.

Then you donate to the WWF.

Lastly, you get online and start a flamewar with anyone who uses this archaic idiom.

You can find me on Twitter @jarednielsen.

See what…


Learn fast and make things

What are you learning this year?

Perhaps we need to reframe the question: how are you learning this year?

Did you make resolutions to learn X or build Y with new hotness Z?

How’s it going so far?

Most people don’t stick with their resolutions. Something like 80% of people drop their Gregorian calendar goals by Chinese New Year.

Why?

We can boil it down to two factors:

These are two sides of the same coin.

If we clearly define our goal and…


The path to success in any field is to develop expertise. The first, and most important, step on that path is deciding that it’s possible. The second step is to make it a practice.

This article originally published in my newsletter, The Solution

How Do You Gain Expertise?

To gain expertise, we need to first assume a growth mindset. In Mindset, Carol Dweck outlines two different learner mindsets:

Individuals with a fixed mindset view intelligence as static, an innate, unchanging quality, whereas individuals with a growth mindset view intelligence as a quality that can be developed and changed over time.

In Make It…


Emotions in a row

Emotion is important for success in both problem solving and learning. Empathy sparks creativity, but to excel we need to be aware of our emotional blocks.

This article originally published in my newsletter, The Solution.

Emotion & Metacognition

What is the role of emotion in metacognition?

Emotion is an important, and often overlooked, contributing factor to success in both problem solving and learning.

In How Humans Learn, Joshua R. Eyler writes:

Emotions are inextricably a part of our actions, our behavior, our psychology, and our mechanisms for learning because they are connected to the development or function of so many other networks in…


How do we interrupt the process of forgetting? Repetition and testing.

This article originally published in my newsletter, The Solution.

How do we learn anything?

How do we remember the things that we learn?

The authors of Make It Stick point out that:

In very short order we lose something like 70 percent of what we’ve just heard or read. After that, forgetting begins to slow, but the lesson is clear: a central challenge to improving the way we learn is finding a way to interrupt the process of forgetting.

How do we interrupt the process of forgetting?

Repetition.

“When…


How do you build something out of nothing? Start with pattern forming. Then make it a habit.

This article originally published in my newsletter, The Solution.

How do you build something out of nothing?

In The Mythical Man-Month, Fred Brooks writes:

The programmer, like the poet, works only slightly removed from pure thought stuff. He builds his castles in the air, from air, creating by exertion of the imagination.

How does this ‘pure thought stuff’ become code?

Patterns.

Pattern Forming is Problem Solving

In Sparks of Genius, Robert and Michele Root-Bernstein write:

All language can be transcribed using as few as two symbols — the…


If we must fail in order to learn, then we must learn to fail better.

This article originally published in my newsletter, The Solution.

How are you failing?

In How Humans Learn, Joshua R. Eyler states that “failure and learning are one and the same”. He continues:

It is the quality of our failures that matters most. For our purposes, failing better suggests a kind of cycle where we continually fail and then learn from that failure in order to refine our understanding. There is no stopping point to the cycle because failure is not negative.

We must fail in…

Jared Nielsen

A little about myself.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store