My New Favorite Skill: “Dealing With Ambiguity”

I heard about a concept this week that I like, which is the phrase, “Dealing With Ambiguity”. Now, this is a pretty straightforward phrase, but the context in which I heard was very interesting. It was the idea of this being a very specific skill that can be practiced and trained. In the area of […]

Career Advice, or “I want to be a programmer!”

I am occasionally asked for career advice by people wanting to get into the industry, for example, high-schoolers deciding on career choices. One situation that frequently comes up in this situation is people who love programming and want to get a job being a programmer. They ask, “How can I get a job as a […]

Coding to the Requirements

Do you know what I love about software developers? They’ll just code to what the requirements or user stories are. I have a little joke to myself, that with the dramatic industry shift to everything-as-code (i.e. infrastructure-as-code, software-defined networking, etc), that pretty much all jobs will eventually one day be “software developer”. Take network design […]

Do Your Job Better – With Software!

An old mentor of mine told me something interesting one time.  He was the manager of a team that developed software to simulate the flight of airplanes.  He said to me, “I’d rather hire an aerospace engineer and teach them to write code, than hire a computer scientist and try to teach them aerospace engineering.” […]

Taking Your Programming to the Next Level

What are some things that I’ve learned that really made my brain stretch? I’ve seen plenty of articles or essays written talking about what the basics are that every programmer should know.  I’m not just talking about kernel authors, device drivers, or embedded microcontroller developers. I’m also talking about JavaScript or Python developers doing typical […]