The “Morning After” hackathon post I never published

Kyle Mattimore
3 min readAug 25, 2015

--

I left Battlehack Chicago with two prizes, new friends, and a side project I was determined I would take to light. It wouldn’t be abandoned on the side of side project road with all those other ideas. I was going to take it there.

That was almost two months ago. Grndma.io has made progress, but it has yet to make it to alpha. It isn’t ready for my own grandma, who has enthusiastically volunteered to test it.

It has become another member of the nebulous idea-cloud over my shoulder. I think about it every so often, but nothing ever comes of it, and the weeks bleed by. It was in this meta-state that grndma was struck out of this monotony by activity from itself! whoa. My project did something! One of my team members broke through the fog and pushed a commit. Way to go, that’s inspiring. Now I’m motivated to have his back. Solo, this was doomed to taillights on side project road. But with a team, maybe it can happen. Open-source! And I do catch myself thinking of it as “my project”, but it’s definitely not. The idea was born through pure and chaotic collaboration.

Back to Battlehack itself. I went in with a few conscious priorities: Learning >over Making >over winning. First, learning. I remember coming out of one of the first MHacks pretty bewildered but enlightened in the world of PaaS and bridging the gap between a reliable service and dyndns pointing to the crabby Apache instance on my laptop. I wanted more of that enlightenment first of all, prioritized over doing anything that would last- If I wrote every day like I was at a 24hr competition, I’d be a pretty bad developer. I tried to write good code, but the only way we got anything done was to cut corners and run. Even the brief half hour I spent agonizing over how to model the phone tree wasn’t technically worth it- that still hasn’t been implemented, months later….

Reflecting back on a summer of time-monitored programming on my job, and lazy pondering in the evenings, it’s pretty clear to me that writing great code has an asymptotic time curve to infinity. Some compromise is required. Hackathons are on one extreme. Normally on my own I trend towards spending a lot of time (probably too much). One North, which operates a lot using estimates and client-billable hours, has definitely sharpened my time-consciousness.

We almost gave up as a team several times, and I personally almost gave up every few hours. The learning curve of the MEAN stack was enormous coming from jQuery-PHP happy-land, and trying to develop it on Windows really sucked. I later learned that NPM3, which solved most of the Windows issues, was released in beta literally while we were working on the project, and about 12 hours after I had given up googling and switched to my less-tweaked Ubuntu install. We lost a team member early on due to NPM Windows issues. I even almost gave up about half an hour before demo-time, when we couldn’t get Uber’s API oauth to accept anything. Luckily someone there who actually understood oauth took the time to help us out. We got some great mentorship there, mostly from “developer evangelists” who seemed to care more about helping out than pushing their company on us.

At One North they have guiding principles, most of which seem like common sense to me. However, “Trusting in Collaboration” as a principle was brought to my mind several times. When the demo crunchtime came, I had a gut feeling that Stephen’s hardcoded twilio interface and aaron’s front-end would go hand in hand with my baby’s-first-MEAN-stack code just fine.

Lessons Learned:

  • Set your damn environment up beforehand.
  • Asking people for help works out pretty well most of the time.
  • Communicate before committing, watch out for redundant code- it’s a double headache.

Open Questions:

  • Git flow was hard to do right with 3 people going fast.
  • NoSQL is cool, but I’m not really feeling the Mongo Fever that some have.
  • There are a lot of ways to model a recursive tree. I still can’t commit my mind to one way.

--

--