The past weekend I had the pleasure of attending the Women Who Code hackathon in Austin, Texas. It was my first hackathon and it was a humbling experience. I recruited two friends, Alice a fantastic UX designer and Joe a great developer.
During those 36 hours of writing code, designing, and preparing for our presentation a lot of things happened. A lot of bad but humbling things. Here’s everything I learned.
I was unprepared
Competitive Programming does not translate well to a development crunch. Most of my experience in any competitive kind of coding has been in competitive programming where I have x hours to solve y problems. The pressure I felt from the hackathon was very different from that. Having to figure out what tech stack we wanted to use, how fast to mockup data, what the models were, everything was too complicated. Things we’ve done comfortably before became stressful and difficult.
I wasn’t realistic
I handled the backend for our app. The first day I spent 4-6 hours writing a GraphQL API hooked up to a Prisma server and hosted on Heroku. Needless to say, I failed. 4 hours, 31 warnings, 3 fatal compilation errors later I realized our backend was far from being complete and we were running out of time. So I scrapped everything and wrote up our models and threw it on Firebase.
I was ambitious
I don’t know what got into my head, but I thought we could write the app in Swift. I’ve never written Swift before. I am a full stack engineer with Java and C++ experience. I’ve never touched mobile development, yet I decided that I wanted to write in a language I’ve never touched before. My arrogance cost us hours of development time as we researched basic documentation.
I didn’t understand MVP
MVP stands for minimum viable product. Rather than trying to create a presentable demo, I was stressing over scalability, optimization, and edge case handling. By being unable to identify the MVP, I was unable to write fast deployable code. Instead, I was too busy writing tests, scalability checks, and containers to even help write the code for our app.
UX designers are freaking incredible
I remember silently watching as Alice made gorgeous mockup after mockup in a matter of minutes while I was pulling my hair out for an hour over a deployment issue. I firmly believe that had we used MERN or Django we would have been able to make some of her designs come to life.
Sorry, Alice.
It’s okay to fail
I felt devastated that I had failed to even present a working demo. But when I watched people present their projects and what they worked on I realized we weren’t the only ones to fail. Most people didn’t have a working demo and those who did only had basic functionality done. But people were still having fun and suffering from caffeine crashes.
Hackathons are more than just a one-dimensional competition. It’s a place for developers to take some time off, have some fun, meet new people, “hack” something together, and show it off. It’s a community bonding experience for coding enthusiasts, students, and working professionals.
In conclusion
It was a wonderful learning experience. I learned a lot about how I as a developer architect problems and design models. I learned way more than I wanted to about Swift and mobile design. Most of all, I learned that Alice has a back of steel for carrying me and Joe.