Yep, We Should (Almost) Always Build An API

Last week I published a post entitled Opinion Time: Should Developers ALWAYS Build an API?. I got quite a bit of useful feedback on that post, and so I decided that I needed to publish a followup post so that I could parse and interpret all the different opinions you lovely readers gave. I was expected something of a heated fight, or at least a good match, but it turned out to be a slaughter. One side clearly and convincingly... Read more >

The ASP.NET Web API 2 HTTP Message Lifecycle in 43 Easy Steps

Anyone who works with ASP.NET Web API should check out this poster that Microsoft created to explain the Request/Response Pipeline that Web API utilizes. It's amazing, and if you do any work in Web API you should check it out! Right now. Yes, seriously. Go ahead, I'll wait. I love this poster, but in my opinion it doesn't do a good job of explaining the decision logic and ideas behind each step in the pipeline. Further, it doesn't... Read more >

15 Fundamental Laws of the Internet

(AKA How To Sound Smart In Your Next Online Rant) Wiio's Law What is the internet? The internet is, at heart, a communication tool, a way for disparate people across the globe to spread ideas, opinions, and generally communicate with each other more easily than has ever been possible. Unfortunately, communication is hard. Finnish academic Osmo Antero Wiio formulated a serious of humorous laws that succinctly explain how communication works between humans; specifically, that it doesn't. The set of laws... Read more >

Mind of the Speaker - How Do You Feel About Your First Presentation?

The first time we do anything, we're terrified. Asking out that first date, submitting that first patch, reviewing someone else's code for the first time. Surprisingly, how we feel about it (e.g. "OH MY GOD I DON'T KNOW WHAT I'M DOING") has very little to do with how well we actually do at it; sometimes we're right and we end up doing terribly, and other times we're wrong and it ends up going well. It's different for... Read more >

Mind of the Speaker - The Most Important Thing To Remember On Stage

I've always been fascinated by the idea of getting up in front of hundreds of strangers and being expected to present your ideas to them. It's simultaneously enticing and terrifying, and that's probably what draws me to it. In October of this year (2016), I attended the DevIntersection/AngleBrackets conference in Las Vegas, as I did twice last year. Once again, as I am fascinated with the process involved in speaking for tech conferences, I tracked down as many speakers... Read more >

22 Useful Software Development Analogies (Meme Version)

Use these handy memes to explain to your friends and coworkers just what it is you do all day. Here's the text-only version of this post. Writing Code Image is modified from KUKA Industrial Robots IR.jpg, and used under license. Image is modified from Hair pile dust pan broom hair salon, used under license Image is modified from HI I'M GETTING A ROOT CANAL (which is clearly the best name ever) and is used under license. Debugging Image is... Read more >

22 Useful Software Development Analogies

Use these analogies to explain to your friends and coworkers just what it is you do all day. Also check out the meme version of this post. Writing Code Writing code is like putting windshield wipers on your car, only if you fail to install them in just the right order the engine falls out. Writing code is like working in a robot factory, only sometimes the entire line stops because one robot has to tell you about the size,... Read more >

15 Fundamental Laws of Software Development

(AKA How To Sound Smart At Your Next Team Meeting) Occam's Razor This widely-known adage dates to a philosopher and friar from the fourteenth century named William of Ockham. Occam's Razor is often stated as: "Among competing hypotheses, the one with the fewest assumptions should be selected." It's no surprise that the whole reason we can recall an adage from 600+ years ago is that it works so well. Occam's Razor is so basic, so fundamental, that it... Read more >