Now if you don’t know what a hackathon is, don’t worry, I’m only about a week ahead of you, for I didn’t know what it was either until it was announced. Basically, the Atlanta based tech company, SolTech, had some of their movers and shakers come in and pitch 3 different application ideas to our cohort. We split up the Iron Yard students into 6 different groups, 2 per project idea. My group had the privilege of creating a sports management app for managing recreational sports leagues – we called it Genius Sports.
Genius Sports, the smartest way to manage your recreational sports team, was a blast to produce. Our group, consisting of 2 front end developers, 3 back end developers, and 2 iOS developers were able to create a nice looking, basic functioning prototype in 36 hours. We had great communication throughout the project and our back end server guys were particularly solid. They had our endpoints and documentation produced in no time and were forging on, creating functionalities that we knew we weren’t going to be able to get to in the short time given, a nice problem to have. It was a great project to be a part of and I made some great strides working with Angular.js.
In real world fashion, each of the projects were presented as if we were asking for funding from investors. It felt like our very own Shark Tank. This is where I really shine, giving presentations is in my DNA. My mother is a 5th grade teacher, my father is a musician and long-time church choir member, and I’ve taught 2 years of CrossFit classes and attended 4 years of business school at Georgia Tech – giving a great presentation is my ace of spades and comes very naturally, plus I enjoy it. So I volunteered to give our product presentation and am very glad I did. We ended up winning the best presentation accolade and got noticed by some employers in the industry, pretty cool. Even though we were a fictional company, I wanted to give the impression that we were the real thing and make it feel like we wanted the audience’s business. That meant not getting too technical, not showing any code, and focusing on the consumer benefits and the why’s. It was a fun exercise and a memorable experience overall. All of the groups did an excellent job creating functional products in under 36 hours and major props to the Iron Yard faculty who organized it for us.
In case I didn’t have enough planned this weekend with my 1st ever Spartan Race, it also happens to be the weekend where The Iron Yard Atlanta is hosting its first Hackathon of 2015.
What is a Hackathon?
Ok, I’m beating around the bush… a hackathon is where a company, or multiple companies, give some participants a software project and the goal is to get it finished in a certain period of time. For me and the rest of my classmates, we’ll have from Friday night @ 6pm to Sunday @ 3pm to give our best shot at completing a project they assign us. At this time, I have no idea what the project topic is, who my group is, or the who the companies are – but I can assure you it’s going to be a crazy, fun, most likely sleepless weekend.
Monday morning everyone shows up by 9:00am, but there is a weird defeated feeling in the air. Everyone is sharing how far they got on their recent Checkers group project and no one is excited to share about their accomplishments – we all failed to meet the minimum requirements and therefore we all felt like failures.
Then, instead of going directly into a new lecture, we all meet in the back to present our projects and what we were able to accomplish. Great… this is going to be more painful than turning away kids on Halloween because you forgot to purchase candy… (maybe that’s a pain point, maybe it’s not…)
The Project Makeup
There were 4 groups total. Each group was comprised of 3-4 Rails developers, 2 Front-end developers, and 3-4 iOS developers. The goal was to create a game of checkers that was available to play on iOS, the web, and all the moves and game logic work and communicate back to the server. But this post is not meant to be technical. This post is about my 3 takeaways from working in this first, cross-platform, group type.
My 3 Takeaways:
Pair Programming: Pair programming is a great way to tackle and troubleshoot issues – my partner Mark and I would fill in each other’s gaps a lot of times and it made breaking through barriers a lot smoother. Outside these walls, I will want to be part of an organization that supports pair programming between senior and junior developers – even if it’s a once a week practice.
Lay the Foundation Early: Laying the foundation for our project and setting up the ground rules for communication is imperative early in the project process. We did this by setting up our project Trello and a Slack channel, yet over the course of 5 days we became more virtual with our communication. We would have done better with a daily, face-to face stand-up between the 3 groups (front end, back end, and iOS) to keep everyone in the loop of what pieces we were currently working on and where we were being blocked.
Butting Heads can be a Good Thing: Butting heads can be a very productive way to build great products, so long as the people butting heads maintain a high level of respect for each other and it doesn’t get too personal and venom isn’t being spat. Our group did not butt heads, however we did witness one group that had 2 people butt heads consistently and they ended up turning in one of the best looking and functioning projects and it was all smiles by presentation day. As someone who is normally anti-conflict, this can be hard for me to grasp, however I do see where being able to communicate exactly what your team needs to another team’s manager is crucial for a great final project.
There you have it, 3 takeaways from my first coding group project… it was surprisingly like many of the other projects I’ve been a part of in the past, except a lot more time in a text editor. In the end, our instructors paid us many compliments, and even though we didn’t get as far along as we originally expected to, we had a lot of great takeaways in the process and felt much better after our early morning group therapy.
Checkers. Classic game. One of the first board games you might learn as a child because, hey! it’s easy to teach and easy to learn… right?
Well, ask a group of junior level developers, 7 weeks into The Iron Yard‘s Atlanta cohort and they might tell you Checkers has never been so difficult. And during this hectic time of api calls, hitting endpoints, battling through the early stages of learning Backbone.js, and wondering where the iOS group ran off to again it’s important to STOP and ask yourself… does this game even have a soul?
Why would a game need a soul? The same reason anything needs a soul, it needs a reason, it needs a purpose. Five weeks from now, we’re all going to venture outside of these walls and go our own way… yet we will re-tell this story over and over again. And when I re-tell this story, do I want to say, yea… I programmed this checkers games, it was pretty cool. Or do I want to say…
OUR GROUP CREATED THE FIRST EVER…
That’s right. You never thought checkers could be this awesome – and I guarantee you’ll never forget about this day nor the truth that is: Checkers can be Ninja-fied!