Josh Thompson     About     Archive

On Learning

As a student at Turing, I’ve recently been thinking about learning how to learn, specifically in the context of software development.

I am a bit hyperactive when it comes to trying to learn new things. Over the years, I’ve done plenty of ineffective learning, and at least a little bit of effective learning. The good news is that even as I’ve not learned most of the topics I’ve originally set out to learn, I have learned a bit about learning. (Does this make it “metalearning”?)

I’m defining “learning” or “learning a topic” as to be able to rearrange or reorganize or reuse the idea or pieces of the idea in new ways to resolve unstructured problems I face.

>> Read more

Workflow for developers (AKA My current tools)

I’m a huge fan of “a good workflow”. Makes you think better.

This is still under construction, but I’m fleshing out all the tools, tidbits, and other things that serve me well every day as I build my skills as a developer. It will always be a work in progress, but will hopefully serve others.

Last updated 06/02/17. If you’re curious, version history here

>> Read more

Asking experts, and gaining more than just answers

Recently, I co-led a session at Turing with Regis Boudinot, a Turing grad who works at GitLab.

We discussed two things:

  • asking good questions
  • having a good workflow

After the session, I promised an overview of what we discussed. Here’s that overview for “Asking good questions”. Get info on “having a good workflow” here

Why do questions matter?

Without getting too philosophical, the process of formulating questions and finding answers to them is a big part of what makes us human.

As developers, we’re asked to solve difficult problems. If we don’t happen to have all the knowledge we need for this problem readily accessible in our head, we turn to documentation and googling.

On many problems, this is sufficient. On the hard ones, this will not be sufficient.

We’ll need to ask for help.

Since the hardest problems are also the ones we’re most likely to need help with, if we can optimize how we get help, it’ll return outsized results at advancing our skills and helping us be useful contributors to a development team.

As a counterpoint, imagine you had terrible question-asking skills. In what aspects of your day-to-day would this have the largest impact?

  1. The things you already know how to do
  2. The things you don’t already know how to do
>> Read more

Switching to Jekyll

A few days ago, I was really feeling the urge to write a short little blog post. So, I put it in a gist on Github.

I’m an advocate of writing publicly, and making it a habit, so why was I putting it in a gist, instead of here, on my website, where I theoretically can write and publish anything I want?


It’s very easy for me to sketch out a quick document with embedded screenshots in a text editor. I spend most of my day in a text editor anyway, so it’s trivially easy to write a new document.

I can add code snippets, links, images, and have nicely formatted text, just the way that I like it, in a gist.

SquareSpace, the service I was using for my website, is not designed for people who write in Markdown. SquareSpace is very good at many things, but not the things I needed. Practically Efficient says it better than I can.

So, last week, I decided that if I didn’t make my writing and publishing easy, I would probably just stop writing.

>> Read more