MATT SLATER

wait... what?

Code for Good Hackathon

09 November 2017

When I got the email inviting me to JP Morgan's Code for Good in Jersey City, NJ, I didn't know what to expect. I had never attended a hackathon before. I knew I had to accept the invitation because it would be a great experience, not only to test my coding skills, but to see what it's like to work on a team in a high-pressure environment.

When I applied for the hackathon, I didn't have any teammates to sign up with me, so I was essentially a free agent. I would be placed on a team with perfect strangers. What was it going to be like to work with my team? What experiences would they have? What tech did they know?

I spent some time preparing by brushing up on Python and Django. Django is a Python web framework that is great for rapid-prototyping (it was suggested in the preparation guide sent over by my contact at JP Morgan). I even attended the Django workshop held by the staff before the start of the hackathon. It seemed like a great solution and dealt with a lot of tricky, time-consuming things like DB access and migrations.

The day of the event, I took the PATH train over to JP Morgan's offices in Jersey City. The first person I ended up meeting after check-in was one of my teammates! Not only that, but like me, he also went to Brooklyn College. In fact, everyone on my team attended Brooklyn College.

After some opening festivities, we got to pick our team's preferences for which non-profit we would like to work with. After a little deliberation, our team picked what seemed to be the most relevant to our combined experiences. A website facelift with improved functionality and speed for the Chopra Foundation.

When we started planning, the real work began. Immediately all of the inconsistencies and gaps in our collective knowledge started to show. Only two of us had experience developing web applications with frameworks. Everyone had experience in different languages. We spent far too long deciding which tech stack to use. That pushed back the planning of the actual project until late in the evening. Time was running out.

We finally decided to use a JavaScript backend with the Express web application framework. Only one of us had experience using this toolset. I agreed to use it because I wanted to learn new things. And really, how different could it be from other web frameworks I had used before? (Not much, it turns out.)

Our main hurdle was getting the database set up. We used PostgreSQL. The data was given to us in an Excel spreadsheet. Setting up the database schema and script that read in the data took far longer than it should have. This is something that Django would have taken care of for us. Time crept forward.

We also had trouble communicating with the front-end team. Our inexperience was showing, but we marched onward, barely getting our demo up in time for the buzzer.

Here we are, near the end of the coding:

team4

I learned several things during this event. I learned how to work with a team, solve conflicts and calm tensions. I learned a new web framework. I refined my git skills. I learned how to work with clients, find out what they want and ask questions. I learned how to ask for help (thanks Mentors!) I learned to step outside of my comfort zone.

I also made a friend or two. Go Team 4!

Thanks to JP Morgan for hosting and having me be a part of a great event.