Declare Your Variables to Communicate Clearly

by Tom Harrison Jr on February 3, 2016

Ah, Bob. One of the first incredibly brilliant engineers I worked with. Funny, great, and a friend for life. But Bob didn’t declare his variables. Conversations from him would start “So I tried that thing. I think it worked. This issue is that it was wrong, but the doc didn’t mention it so I checked […]

Developer vs. Engineer, An Alphabet Angle

Post image for Developer vs. Engineer, An Alphabet Angle

by Tom Harrison Jr on January 24, 2016

Back in 2013 I wrote of a distinction between developer and engineer that my excellent boss Babis Marmanis often talked about. Many people, he said, could develop a method of crossing a river. Engineers would design and oversee construction of a proper bridge that would last for centuries. I was at Pubget at the time. […]

Change is hard in people, companies

January 16, 2016

Companies and people may be more alike than we think. They seem to resist change in similar ways. I am working to try new things in my current company. No company could be more open, willing, accepting and encouraging of change than ours. Compared to other companies, both large and small, our leadership is wide […]

Read more →

Don’t Sell Past the Close: Don’t Solve Past the Solution

December 11, 2015

We’re QA’ing a release. Everything’s great except for one of the tasks. Actually, it’s a one-time thing — we need to fix a bunch of records up. The problem is not the code — we tested it on a small set of 10M or so records and that was OK. The problem is that it’s […]

Read more →

The Magic of Agile: No Magic

September 11, 2015

I have worked at many companies developing software over the years. When Agile came around it was clearly a far, far superior way of doing software than other approaches. But it’s not magic. Many companies fail to successfully adopt Agile. I have seen the same failure in several different places. Remarkably few companies get the […]

Read more →

Stepping Back from Ruby

August 12, 2015

I am not a programming language bigot. All have their purposes and their raison d’ĂȘtre. The strengths or shortcomings of a given language are largely based on age, and intent. I have spent many years listening to programmers plug their favorite language, and frankly, it’s annoying. We work with tools as programmers, and most languages […]

Read more →

“How to Live Wisely”, from NY Times

August 1, 2015

How to Live Wisely is a short article in today’s New York Times. The author is one of several professors at Harvard who offer seminars to first year students on how to balance goals in life with how to actually conduct it. I am not a first year college student, but it’s very relevant to […]

Read more →

Social Connections by Numbers

June 6, 2015
Thumbnail image for Social Connections by Numbers

We spend lots of time wondering how new technologies will affect (read: harm) our children. I am not sure these technologies are so bad, and maybe fill a gap that a lot of other social changes have created. Also, it strikes me as funny that a phone number is still an important identifier … more […]

Read more →

API as Product Definition

May 14, 2015

Selling into large institutions is hard unless you hold all the cards. Sales are a visual thing — customers see demos, slide decks, mockups and all the rest and start thinking along the lines, “Wow, that’s kind of like what I want … hey, can your product do this?” Of course the answer is usually […]

Read more →

Just Do It (Sometimes)

May 13, 2015

We have an incredibly clever system designed to solve several problems. These were not problems we had yet but were built in anticipation of the need. It would accept jobs to be executed, allocate resources from those available or create more machine instances, pull jobs from a queue, balance priority, scale down when needed, allow […]

Read more →