How to choose a career

Strategy #1: Take whatever you can find This is far too common. By definition, whatever you can find typically means a job that you can be quickly trained to do. This generally ends up being at a nonskilled job at a restaurant or a retail store or something like that. Any job that you can be quickly trained to do […]

Read

A Criticism of Scrum

So Scrum. The most popular agile software development methodology, with seemingly around 70% of agile teams using it. What is it all about? Is it good or is it whack? Has Scrum made our lives better? Let’s dive in. Scrum assumes you can reliably estimate task duration Scrum has good intentions. Measuring your productivity. Accountability to not do more or […]

Read

Ways to Protect Flow

Things individuals can do to protect Flow: Keep your phone on silent all day long. Disable all notifications on your computer. Distractions from a phone / computer can disrupt Flow dozens of times every day. Respond to text messages, phone calls, and e-mails when you get stuck. Distractions actually help you when you get stuck. Find music that helps you […]

Read

Service Inheritance in AngularJS using ES6

One of the things that I’ve found is that my Angular services tend to have a lot of duplicate logic in them. The biggest culprit is HTTP calls for CRUD operations. Whether I’m using Restangular, ngResource, or plain ole’ $http, this has been a constant source of un-DRYing in my code. Let’s take a look at using ECMAScript 6’s class […]

Read

Technical Founders and Startup Ideas

Us developer sorts have an unusually hard time coming up with ideas. Often, non-technical folks have lots of ideas, but no ability to make them, and technical folks have the ability to build things, but no idea what to build. Both are rather humbling in their own way. Why is this? I think its partially due to the nature of our work, and […]

Read

How to Recruit Software Developers (If You Must)

Recruiters and business leaders looking to hire software developers have a problem. No, it isn’t that coders are arrogant babies with superpowers and totally unrealistic job expectations. The problem is how recruiters communicate to the developers they hope to hire. Instead of enticing them and trying to buy their love with flamboyant company cultures that have more to do with […]

Read

Line Limits

There are those who feel arbitrary line limits are a bothersome, vestigial construct of the bygone age of punch card programming. Why must we continue to constrain ourselves to archaic requirements imposed upon us by the technological limits of days gone by? I shall tell you why, for I am not one of those people. Here are the reasons why […]

Read

Questions to ask at a startup interview

Considering a role as an employee or co-founder at a young company? Here are some questions to help you size it up. Some may be more appropriate for the leadership, others may be better for employees. Comments or additions welcome. Business What problem does it solve, and what is the value that it seeks to add? What would that be […]

Read

Changing keyboard shortcuts for OS X apps

Have you ever been using an app with keyboard shortcuts that didn’t make sense? And the app didn’t allow you to change the keyboard shortcut to something more reasonable? Well, it turns out that Mac OS X allows you to override app keyboard shortcuts and create your own. Here’s an example. The hotkey for cycling conversations in Skype troubles me. […]

Read

Delaying the $digest() cycle in AngularJS

When scaling an AngularJS app, large data sets can cause the $digest() cycle to run slowly. There are a number of performance optimizations you can make, such as being careful with $watch() and $filter(), using one-time binding, or hunting down expensive operations with Batarang. But sometimes, even with these improvements, an app with a lot of data can feel sluggish due to […]

Read