The Power Of Being Wrong

When was the last time you said “You’re right, I’m wrong?” If you’re like most people, it’s probably been a while. For most of us, those words are hard to say, especially about things that really matter to us. As hard as it is, saying “I’m wrong” can be incredibly powerful.

What You Say and What You Do

As we build and grow HubTran, we’ve spent a lot of time thinking about the culture we’re trying to build. I’ve written about the HubTran values before. Obviously these values are part of our culture, but they aren’t the whole story. It’s one thing to talk about what kind of culture you want, it’s another thing to make it real.

Scaling Economically

I’m excited to be a panelist at Digital Ocean’s TIDE SF: The Power Of Simplicity next week.1 Preparing for the panel gave me an opportunity to organize my thoughts on how we scaled HubTran. In particular, I’m going to focus on server scaling today. I’ll write more about scaling other parts of the organization in the future. Are you in San Francisco? You should come by! It’s free! ↩

Confidence and Competence

In the past, I’ve written about playing soccer and how that has impacted my day to work. Outside of work, I also coach a soccer team of 6 to 8 year olds. This season was my seventh season coaching kids this age, and I feel like I’m starting to see the same pattern over and over.

Sometimes You Throw It Away

Over the weekend, I had a great idea for a blog post based on It Doesn’t Have To Be Crazy At Work. I got to the office on Monday morning and wrote it. On Tuesday, I re-wrote it. On Wednesday, I re-wrote it again. On Thursday, I re-wrote it for the third time. Today, I realized it just wasn’t good. I’m a bit bummed about it, but sometimes that happens. In writing and in code, not every idea is a good one. Instead of publishing something I’m not happy with, I threw it away. In it’s place, I’m giving you a picture of my office dogs.

What We're Listening To

Last week, all of HubTran got together in Chicago for our second annual company summit. We spent three days together talking about what we’ve been up to and where we’re going. It was a great opportunity to get to know each other better. During the summit, a number of podcasts came up in discussion. I loved hearing about what people listen to, and wanted to share our podcast list! I was excited to see the variety of what we listen to. Sure, How I Built This is popular, but I was happy to see a variety of non-technical podcasts as well.

Let's Talk Naming Y'all

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton

Hiring and Technical Interviews

Hiring is one of the hardest problems in software development. When we hire, we’re trying to determine if a person has not only the technical skills necessary to work at HubTran, but also the interpersonal and communication skills. We need to know if they share our values and are capable of working remotely. At the same time, we need to help them decide if HubTran is the kind of company they want to work for.

Practice and Intentional Improvement

I’ve written before about being intentional about improving. About a year ago, HubTran started moving our main application over to Elm. We’ve recently hit the point where we have more Elm code than JavaScript in production. This is exciting, but as a person who hasn’t really learned Elm, it’s also a bit scary. Over the last few months, I’ve really started digging in to Elm. At the same time I’ve started playing organized soccer after taking 30 years off. These things may not seem related, but bear with me for a bit.

Testing Cmd's in Elm

This problem frequently appears in #testing on Elm Slack, and I’ve been curious about what a “dependency injection” API might look like. Dependency injection, in general, is quite simple. If you have something that you want to test (or just isolate), then instead of working with that thing directly, pass it as an argument wherever you need it! This repo is an example of what it might look like to use Dependency injection to make Cmds easy to test!

What We Can Learn from Niecy Nash

As a person who runs every day, I spend a lot of time listening to podcasts. A few weeks ago I heard Sam Sanders interview Niecy Nash and was struck by a comment that Niecy made:

HubTran Starts a Book Club

One of my favorite parts of being the CTO of HubTran is building an amazing team. We try to do that a number of ways. Obviously, we want to hire outstanding developers (I’m if you are interested in learning more!) but we also want to help the team improve. One method we’re using is a book club.

Developers as Support

Getting support from a software company can be a painful experience. It's not unusual to spend 20 minutes on hold only to talk to somebody who is clearly reading from a script. They have no idea how to use the software they are supporting, let alone how to fix your issue. At HubTran, we want our support staff to be able to solve your problem quickly. That's why we've decided to have our development team provide our customer support.

Welcome to the new HubTran blog!

To get started, we want to share a bit about the software development team at HubTran. In particular, we want to talk about our core values and some practices that support our values.