Building Better Views (Part I)

As iOS developers, a lot of our work involves taking models from a server, and transforming them to be displayed on an iPhone or iPad. This sounds like a job for some declarative architecture. 🤔 Continue Reading →

How To Keep Friends And Influence People Or Something

Maybe the real friends were the friends we made along the way.

I quit using Facebook years ago, and only follow ~70 people on Twitter, which leads some to assume that I don’t find keeping in touch with people to be a top priority, but that couldn’t be further from the truth. My todo list is where I hold my priorities, and my friends and family are the biggest priorities in my life, so that’s where I turn to for making sure I’m staying close to them.

At first blush you may think that a todo list sounds incredibly impersonal, it’s actually a deep expression of caring. When people ask for more details, I receive pretty much universally positive feedback, so now I’ll share it with you. Continue Reading →

Pushing The Boundaries of Technology

Throughout history technology has aided humanity. Not the other way around. From the invention of fire, to the creation of the wheel, the printing press, and the personal computer, technology has acted as a multiplier for what humans can do. Technology doesn’t exist in a vacuum, and it won’t stand as an industry by itself. We — as software developers — should always keep this in mind when creating technology. Continue Reading →

What I Read in 2018

When 2018 started I set out to read 10 books this year. Much to my surprise I ended up reading 25 books in 2018. The most important reason I was able to get through 15 more books than I'd expected was that when the year started I set a goal for myself to read at least 15 minutes every day. I ended up accomplishing that 328 times over 2018, meaning 9 out of every 10 days I made significant progress on a book. I was able to find time by replacing a couple of podcasts I'd listened to with time for reading, a strategy that netted me about 1-2 hours every week.

Without further ado, the books I read this year are below in reverse chronological order, newest at the top.  Continue Reading →

Questioning Vulnerability

As a mentor, I give a lot of advice. I give a lot of advice that comes from a breadth of experience. But my experience is rooted in the present, to remember how I felt earlier is an exercise in empathizing with a past version of myself. And memories are a fickle thing. In fact, there are many biases that affect how you remember an event, so it’s possible that my memories aren’t even an accurate reflection of the reality that I lived.

One piece of advice I give often to newer (and more experienced) developers is to ask questions. Ask a lot of questions. Ask questions until you’re sick of asking questions, and you suspect the other person is sick of hearing them. It’s going to take a while until you feel smart, or you feel good about your knowledge, but keep pushing through and putting yourself out there until you start to feel it. Continue Reading →

Reclaiming My Time

The people will not revolt. They will not look up from their screens long enough to notice what’s happening.

George Orwell, 1984 Continue Reading →

15 Minute Meetings

How many times have you been called into a meeting only to realize five minutes into it that you’re likely going to speak for sixty seconds… if you’re lucky? You potentially hold one piece of valuable information, and the rest of the discussion doesn’t concern you much. There are probably four other people like that in the room as well. Continue Reading →

Startup Code Quality

I was asked

Is the code quality at an early stage startup higher or lower than the code quality at a bigger company?

This is a really good question to ask if you're a developer looking to join an early stage company. To answer this question though, I'd like to take a step back. Continue Reading →