In the early days of learning about selling software—to get WrestlingIQ off the ground—I was nervous. I was afraid I needed to put on some sort of tough sales persona that convinced wrestling teams they needed to switch. That was completely misguided. Turns out, people want help understanding what is best for their wrestling team. They need an expert guide to know when and why they should use…
TDD Tip: Invert your assertion One top tip I picked up years ago from a co-worker was to invert your assertions when you are in the midst of your TDD cycles. In other words, if you have an RSpec assertion like this: expect(foo.nil?).to be_truthy flip the truthy to falsey and run the test expect(foo.nil?).to be_falsey What you want to see there is that your test fails. In a ‘true’ TDD…
One thing I wish I understood earlier in my career is that value creation is not the same as value capture. You might create a lot of value (say, by growing a lot of berries on your farm) but you might not receive much of the profits (i.e. you can’t capture the value you’ve created). This is largely due to industry structure (see Michael Porter’s body of work) dictating where…
In an ideal world, all software projects would be written well. Full test suite, a good ci/cd pipeline, and a general focus on maintainability. If that’s the world you live in, or your org spends a lot of time from the onset of a project optimizing for a clean codebase, this is nirvana. One well kept monolith keeps complexity down across the board. No complicated SOA, deployment tooling, or…
My woodshop classes continued this summer with a short course at Palo Alto Adult School. This time I managed to cobble together a wooden toolbox. There were a fair number of new skills to pick up, including the use of a router for box joints, and various bits and pieces. I completely screwed up the dado creation, which resulted in the walnut inlay you’ll see in the photos. There were other…
Before January of 2018 I hadn’t set foot inside of a wood shop since 2001, in my 6th grade intro class. We made the beauty you see pictured above in that short course, along with a small whistle and cutting board. At the time I enjoyed the class, and I find myself looking back on the experience in an increasingly positive light. My schooling and career have taken me deeper into the…
The glacier storage class within Amazon S3 is a great way to reduce costs for files you don’t think you will ever need again, but want to have stick around just in case. Unfortunately the AWS SDK doesn’t provide a way to transition an object to the Glacier storage class; you can only transition to Infrequent Access and no further. Here is my quick hack to enable that ability: Create a…
Equity makes me complicit. Money is what really matters they say. Sprint for five to ten years and you’ll make it. That bank account will be big enough so that you can finally stop being unhappy, and transition to the nirvana state of happiness. Negotiating on an equity package is subtle self propaganda. You are signaling that you buy into the idea of working like crazy right now for a pay…
I had a miniature crisis in January with my new SaaS product for wrestling teams. I was working on weekends and generally making myself miserable, due to an arbitrary deadline I had set for myself. The thing about that arbitrary deadline? No one cared. I told the team I’m working with that I would be pushing back the launch until after the season, and the coach just said “Sounds good…
I did a year in review for 2015, and want to continue the trend by looking back on 2016. Despite the political changes that I’m not thrilled with, 2016 was a great year for me personally. Without further ado, here is my year in review, with far too many bullet points. Things I Enjoyed in 2016 Career I changed jobs in April. It was hard to do, but ultimately the right call.
There was a brief period of time during my senior year of college when I got the idea into my head that I should take a year off and pursue a startup. I had a prototype of mobile support software running (think Wufoo for apps), so I scheduled a meeting with a local angel investor. I’m paraphrasing, but his words went something like this: First of all, don’t quit school.
Today I finished up The Mythical Man Month by Frederick Brooks, which is a surprisingly relevant collection of essays about software engineering, despite being written 42 years ago. Some of the essays I found quite boring, but those were usually essays that also detailed systems specific to the 70s. Most of the book tends to deal with the people of software engineering, and management tactics…
It’s been over two years since I have implemented Paperclip, the awesome image attachment gem, into a Rails app. The basic setup is still very easy and clean to do, as is the initial setup to get S3 storage working. But what’s not well documented is how to use Cloudfront to serve up your image attachments rather than pulling them from S3. Thanks to this helpful answer on stack…
Yesterday was my last day at Curious, where I’ve been employed as an iOS and Ruby engineer since September of 2014. Before that, I contracted with them to create the very first native iOS app they put to market, in October of 2013. To say that I’ve met great people there, learned a ton, and been impacted in a positive way is an understatement. The perceptive reader might question why I…
We have been taught to dread death, as if it were the end of the show. It won’t happen anymore. And therefore to be afraid of all the things that might bring about death; pain, sickness, suffering. And if you don’t know you see, if you are not vividly aware of the fact that you are, basically the works, you have no real joy in life… Being a stranger in the earth.
Minimalism is the pursuit of removing possessions, activities, and relationships that make life harder to enjoy. The pursuit of happiness through intentional removal, rather than the continued ‘more, more, more’ of consumer culture. I recently participated in the minimalist game, a 30 day challenge to remove material possessions from your life. On the first day, you get rid of one…
I’ve read a lot of year in review posts this January and I’m always intrigued, despite the cliche nature of them. In particular, I enjoy the comparisons bloggers make across multiple years, and the introspection that comes along with that. I often find that keeping a list of things I’ve accomplished is a little bit inspiring, because it’s often a lot more than I remember.…
One of the things I’d like improve in 2016 is my knowledge of software engineering design patterns, with a particular emphasis on iOS. I’ll be posting a quick summary of each one I stumble across on the blog so that my future self can find things again easily. Today’s pattern is called ‘The Builder’. The intent of the pattern is to make it easy to create objects with…
46 book in 52 weeks, just 4 shy of my goal of 50! Despite coming up just short, I think 2015 was one of the most thoughtful and well rounded years of reading I’ve ever had. I still read an outsized proportion of sci-fi and fantasy books; however I also read more non-fiction (thanks largely in part to Mandy and Stephan). Here is the rundown of my favorite books I read in 2015:
During our pre bedtime snack (an essential meal of the day) my girlfriend posed the question, “I wonder what I’ll be zealous about when I get old?”. The context came from a conversation about the incredible fan powers of one of her family members, and how it seems like elderly people are more zealous about a specific thing than others. Perhaps the zealous nature of their focus…
Power Law Distribution - A Glimpse into a VC Fund Perhaps the most enlightening lecture about startups I ever attended was class 7 in Peter Thiel’s CS183. In it, Thiel outlined the basics of what a VC firm does, with a particular emphasis on what the graphs must look like in order for a VC firm to come out ahead in any given fund. These words in particular have stuck in my mind for years…
I recently picked up the book Insanely Simple by Ken Segall after my roommate insisted it was a ‘game changer’. I’d originally pegged it as a book on minimalistic lifestyles, but it’s actually a book about how simplicity has driven Apple’s design decisions for most of it’s history. Segall touches on Steve Jobs illness and quotes a few lines from the commencement…
“They just fired me” The words caught in her throat and reverberated oddly into my brain. I could feel the moment starting to warp into some sort of shakespearian ‘lesson’ I was supposed to latch onto and spit out at my junior employees years into the future; and yet I simply stared staunchly back into that statements twisted face in denial. Standing before me was one of my best friends who I had…
To me a highly effective leader is someone who leads from the back. Like a good user interface an effective leader frames the problem, points their employees in the right direction, and then gets out of the way. If a leader has surrounded themselves with the right people (aka people smarter than themselves), getting out of the way allows your organization to fully unleash their collective…
Way back in 2009 I took my first Human Computer Interaction course at Stanford from my future advisor, Scott Klemmer, that sparked my curiosity with early stage products. Recently I decided to relive some memories and logged on to his 2012 coursera course where I was reminded of an incredible story that really embodies the value of low fidelity prototypes and not being afraid of putting your work…
One of the big issues with in person user testing is that people lie to you. Not in the sense that they want to hide something from you but rather that they don’t want to hurt your feelings. There are a lot of techniques to combat this; but I’d like to share with you one of my favorite questions that really allow your users to open up to you: “Let’s pretend this is…
I stumbled across this post from my old (and now defunct) tumblr account today. It is dated June 23, 2012, right after I graduated from Stanford to begin working on the startup I will be leaving on August 30, 2013. As I take some steps away from the shore and safety of the bay area I think it’s appropriate to repost.…
I helped co-found a startup a little under two years ago while I was finishing my senior year of college. There were highs, lows and everything in between. I have journeyed deep into the bowels of iOS, gained some hard won operations wisdom, and improved as a programmer. I have found myself in many a pitch presentation, demos, and customers front offices. All in all it’s been a good ride.…
Let’s do this!!!! I’ve been itching to make a game for the iPhone for a few years now and I’m finally ready to take the plunge. I’m going to be updating this blog regularly, hopefully weekly, to keep everyone updated and to keep me honest. I haven’t found too many detailed accounts of the creation of an iphone game online so I hope it will give some insight to future…
I landed my first programming internship the summer of my sophomore year of college through a combination of dumb luck, an interesting portfolio, being able to speak business rather than just “nerd”, and a spectacularly bad technical interview. I still remember how nervous I felt walking into the in-person interviews, the hot shame I felt when I failed to answer a pretty simple…
TLDR - Programmers are bad at giving time estimates so we shouldn’t ask them to. To be more efficient an organization should experiment with a process that simply places 3 items in each developers ‘PQueue’ and let them finish it. PQueue My tech teammate was up from Austin this week and suggested that our dev team try out a process similar to what his old team used at Demand…
In a pitch meeting with Dave Whorton of Tugboat Ventures a few weeks ago he said something that struck a chord with me as an entrepreneur. Give people the opportunity to evangelize your product. He went on to give a few examples of products that do it well: Nest The Nest Thermostat is a thermostat that uses machine learning to save energy (and money) on your energy bills, but Nest also has an…
Junior developer (for purposes of this post)is a developer with < 2 years experience programming in industry who have an interest in sharpening their technical skills. I recently graduated from Stanford with a degree in Computer Science. I’ve been programming for 4 years and feel comfortable claiming ~1.5 years industry experience through summer internships, failing as a solo founder, being…