Challenge Your Assumptions

What happens when you assume something?

We all have assumptions and predilections about the best way to do our work. They are built with experience over time and eventually become so ingrained in what we do that it’s hard to imagine another way. We become attached to the first way we learned how to do something and never research alternatives. This is a problem.

Challenge Your Assumptions

A good time to do this is when you start a new project. It’s easy to take what you did on your last project and start from there. The way you do something might be fine, but it’s possible there’s a better way to do it. On each new project choose an assumption to challenge. Ask yourself questions like the following:

  • Is structuring my code this way still a good idea?
  • What are other people doing?
  • This is the build tool I know, but is it the right one for the job?
  • Could I make this code reusable?
  • Have I made this too abstract?
  • Do I really need to do this?
  • Surely there’s a better way…

If you’ve hacked something together because “this is the only way it will work”, step away and come back later to see if you can approach it from a different direction. Very rarely is there only one way to do something. If you’re doing something that feels novel and weird, it’s possible it’s just weird.

Especially when we’re learning something new. We try something and it works. Someone teaches us a technique and we run with it and never look back.

Look back. Try another method. You may find ways to improve.

Ask someone for help. Their fresh perspective or experience may help point you in the right direction. While it may feel like it, there’s no glory in doing things “your own way”. It’s prideful, wasteful and only occasionally a good idea. For many things you don’t need to re-invent the wheel as there is a standard/framework/library that already does what you need. Do furniture buyers care whether the craftsperson made their own tools? No, only that the finished product is high quality.

Even this can be abused with hero worship. It’s good to learn from others, plural. If you take only the opinions of one person, they’re not much better than your own. Learn how multiple people do something and distill your findings down to a singular approach.

There usually isn’t one best way, but a best way for each specific situation. Context is key and the real work happens in gray areas. Get comfortable with making decisions in the gray and you’ll be a better developer. The way to get there is to constantly challenge your assumptions.

How I’m Reading More This Year

Hall of books

I set a goal this year to read 12 books. Something achievable. So far I’ve read 5 books in the first 3 weeks of the year. This is the fifth blog post I’ve written so far this year, which is 2.5x more posts than I wrote all of 2016. I’ve always been reading, but it’s been blog posts, news articles and social media posts. What changed?

I didn’t magically get any more hours in my day. Honestly, I probably have fewer now. It comes down to reprioritizing the time that I have. Below I’ll explain a few of the tactics I’ve used to get myself reading more this year.

Reading Speed

I’ve been reading faster. I used to be so concerned that if I read quickly I’d miss something. I may miss something. That’s OK though. At the rate I was going, I’d never be able to read as much as I can now. There’s a lot of fluff out there, even in books that I enjoy. I try to read as quickly as I can, just on the edge of not understanding what I’m reading. A lot can be skimmed over.

I haven’t gone out and bought a book on speed reading although maybe that would help. I’ve kept it pretty simple. As I’m reading, I ask myself, “Does this matter?” If it doesn’t, I continue to skim. If it does, and it’s something I’ll really want to remember, I’ll slow down and read carefully. Maybe I’ll add a highlight or two.

Put Books Everywhere

I have a paper book on my nightstand, and one in my office. My kindle and iBooks apps on my phone are chock full of books I’ve purchased over the years. I’ve put these books readily accessible so that they are easy to reach for when I have the time. Even a few pages here and there start to add up.

By making a book the default choice for entertainment, I end up reading more. I’ve enjoyed it so much that it’s helped me maintain progress as I’m discovering all these unread books that I have and can’t wait to read through them.

Stop Reading Bad Books

My reading lists are pretty cluttered. There are many books I feel I “should” read. Whether they are classics or something that may help me in my business. I could force myself to read the whole thing, or I could get rid of it and move onto something that’s better. Part of the fun is exposing myself to new ideas and broad topics. However, it’s good to realize when I’m not getting anything out of the book and set it aside.

Set Goals and Track Your Progress

I’ve been using Goodreads to track my reading challenge for the year. I find that updating the currently reading shelf and tracking my percent complete in each book is very motivating for me to keep reading.

What It’s Done for Me

I have noticed a positive change since beginning to read more books. I have always been a reader, since I was very little. It has waned in recent years as other things became higher priority and the number of distractions increased. I’ve replaced Instapaper and my RSS Reeder on my home screen with iBooks and Kindle. Tweetbot is hidden in a folder. This makes my default “consumption mode” reading one of the books on my list rather than scrolling through feeds. While there still are times where I mindlessly look at Twitter or Facebook or catch up on my RSS feeds, I’ve been reaching for one of my current books instead.

Instead of getting angry at current events or being mindlessly entertained, I find that my brain keeps working on what I’ve read when I go back to work or go about my day. I’m much happier than I am if I spend my breaks reading the news or Twitter. I’m learning and achieving a goal at the same time, which really increases the enjoyment for me.

I’ve always enjoyed reading. If you haven’t, you may not get much out of this. If you feel like you’re on a never-ending treadmill of social media and news, switching to reading books may help your sanity.

Photo by Glen Noble.

Learning JavaScript & jQuery

It’s been on my list for a long time to get better at JavaScript and jQuery. I use both of these every day (mainly jQuery) but have never really felt comfortable with them. I’ve been collecting some learning resources (both free and paid) and thought I’d share them with you.

30 Days to Learn jQuery

A fantastic (free) video series from Jeffrey Way, of Laracasts, and previously with Envato. I thought I knew jQuery pretty well, but learned a ton of new things, and best practices even in the first few videos. I would highly recommend this series even if you think you already know jQuery.

30 Days to Learn jQuery – tuts+ – free with signup

Eloquent JavaScript

A great overview of JavaScript, also written as an introductory programming text. It seems odd to recommend an introductory book, but I really enjoy these, even after programming for several years. I always seem to pick up something new. If you’ve never been exposed to object-oriented programming or functional programming, you will definitely pick up a few things from this excellent book while learning JavaScript.

Eloquent JavaScript – free to read online

JavaScript: The Good Parts

Probably the most recommended JavaScript text available, but it’s not for beginners. However, Secrets of the JavaScript Ninja lists this book as a good intro text, so I’ll finish this one before diving into the next. It’s written by the developer of JSLint and JSMin, who also popularized JSON. by Douglas Crockford

JavaScript: The Good Parts – Kindle Edition ~$9 at Amazon

Secrets of the JavaScript Ninja

Written by the creator of jQuery, I’ll read this book last after finishing everything above. I’m normally not a fan of anything with “ninja” in the name, but this book appears to cover about as much advanced JavaScript as I could care to know and I’m looking forward to going through it. by John Resig and Bear Bibeault

Secrets of the JavaScript Ninja – Paperback (+ ebook) ~$25 at Amazon

Bonus Material:

Options to go through after completing everything above:

JavaScript The Right Way

A list of many free resources for learning all the JavaScript things.

JavaScript The Right Way

Mozilla Developer Network (MDN)

The best reference out there for JavaScript and CSS.

MDN: JavaScript

Developing Backbone.js Applications

After gaining a better understanding of JavaScript and jQuery, I’d also like to look into Backbone.js and other JS frameworks, particularly since WordPress core is using Backbone for many new things in the admin. by Addy Osmani

Developing Backbone.js Applications