Hackathons: A shot of experience

Hackathons: A shot of experience

Reading through job descriptions everyday, I see a desire for years and years of experience. This request is not industry specific. If as an employer, I can get someone who understands how things operate and can hit the ground running, to my mind, that's less work for me. Yes, please! 

It makes sense. 

Now, what does that mean for the job seeker, with less than a year of experience who has hardly faced real life hurdles and expectations? How do they break in? ....Fake it! 

...or in other words, find environments that simulate the real thing and do the most to build on all the transferrable skills. That's what astronauts do after all. Every single astronaut had NO experience in space before getting the job. And their job is seen as super hard and selective to get. If it works for them, it can work for you...and me. 

This past weekend, I had the opportunity to attend the AI Hackathon hosted by Clarifai at General Assembly's New York campus. It was a wonderful event. There were people from all different backgrounds, fields and ethnicities. It was my very first hackathon! 

Hackathons are time bound events, where you work with a team to produce a deliverable and present it to stakeholders to gain a desired result: sounds like a simulation of an app development process/business. Doesn’t it?

Build A Team

Communication is a very critical part of getting anything done.

Communication is a very critical part of getting anything done. Working with people whom you have a good rapport helps to make progress smoother and quicker and shortens the time to execution – you can get to the good stuff sooner. For the hackathon, we had only 11 hrs to get things done. So, I was happy to go with the amazing women from school. Even if we’d never worked together before, having the school connection and experience in the same stack would help us fly higher faster. 

Know the Task

Our hosts, Clarifai, is an AI company that focuses on image recognition. It's API takes images and videos and returns tag descriptors of the content therein. There are different levels of the API and a V2 API that lets you train the AI to output custom results. The aim of the hackathon was to work with any kind of AI but with incentives for using Clarifai, Ziggeo, and cloud functionality. 

Make a Plan

At the event, we took aim on particular prizes and created a list of project options to work on. Focusing on particular goals helped us prioritize and decide on minimum viable products that we could deliver in the time given with the talent that we had with us. 

Six of us showed up and with a max team size of 4 for the event, so we split resources to fit the criteria. We sifted our project options and the two that had the most votes were chosen. Teams were then formed based on preferences on those projects and turned out to be a good split on experience. We had 2 alums, 3 juniors and 1 senior in total. My team ended up being 1 alum and 2 juniors (3 weeks into their on campus experience). This was a perfect setup which provided opportunities to mentor and teach while also learning. 

To make it interesting, we all had NO experience creating Chrome extensions.

Both teams decided to create Chrome extensions. To make it interesting, we all had NO experience creating Chrome extensions. So having each other, we could really divide and conquer the problem, by finding and sharing resources in our slack channel, discussing strategies and having a really collaborative way of approaching competition even though we were technically on different teams.

The prizes that we had decided to  laser in on were: Not So Secretly Evil, Secretly Evil and Most Likely to Slow Human Progress (it was a robot apocalypse themed event). 

We each chose different approaches for our products. Team 1 (Wikisneaks) built an extension that utilized Clarifai's  API, Bing search and DOM manipulation to make subtle changes to the images and numbers on Wikipedia articles. So that if you didn't know what the Empire State Building or the Mona Lisa looked like, you'd get a respectable Wikipedia entry feeding you misinformation as fact and you’d be none the wiser. Very sneaky indeed.

Team 2, my team (MissDirection), built an extension that when activated redirected a user who was visiting a Google Maps page to a spoofed version of Maps. The user could still look up places and still give directions, but instead of getting to the destination they entered, they would be directed CLOSE but not quite there. Sinister, I know. 

Boom! Great ideas. Now, how to make it work? 

Define Scope

The Google Maps API comes up in the Grace Hopper curriculum around week 4 or 5. So I was somewhat familiar with it but my teammates who had only just finished week 3, were seeing it for the first time. On top of that, none of us had worked with Google Places (for search, autocomplete and the details sidebar), or Google Directions for that matter.  We had our work cut out for us. 

We stood on the shoulders of giants and leaned on the docs and stackoverflow searches to get started and used short checkpoints to ask why we made certain decisions. In the middle of development, we paused for an object lesson about async and defer script tag attributes when our scripts weren't consistently loading in the right order. (Note: async downloads the file during HTML parsing and will pause the HTML parser to execute it when it has finished downloading. While defer downloads the file during HTML parsing and will only execute it after the parser has completed. defer scripts are also guaranteed to execute in the order that they appear in the document. Just so you know.)

Handle Unexpected Events 

Pair programming was our best friend.

As we hit on snags, we had to prioritize fixes: when, how and who should shift focus and when to toss work to pivot, were important decisions to make. Energy was a limited commodity. We did our best to remember to take breaks and respect times of flow. Pair programming was our best friend. It was easy to get starstruck, distracted or disheartened. We took turns reminding each other that we were enough and that we would finish - giggling away the frustrations and uncertainties. We set milestones for what would qualify as success for each step. And we set deadlines on how long to struggle with an issue (something I learnt in senior phase). 

My teammates left after the yummy dinner tacos and it was all on me to bring it home

By dinner time, we were almost there but had a ways to go. My teammates left after the yummy dinner tacos and it was all on me to bring it home and tie up all the remaining loose ends. It almost felt surreal. I watched myself hack out the CSS, prioritize the elements for a functional presentation and backlog useful but not critical elements. It was probably my best flow state in a while – just digging in.

It was the greatest feeling to get it done, submit the project including a screenshot, write up and everything on my own. Low anxiety, just work. It feels like a lot of growth since bootcamp.  We had a v1 – an alpha in a day. We created a working prototype that communicated the concept enough to make hand waving merely flourishes. The sense of accomplishment was exhilarating.

Tell Your Story

It definitely helped that Cassidy Williams, the developer evangelist at Clarifai, came over a number of times. On one visit she even made sure to introduce a visiting reporter to me to talk about our project. What a huge ego boost to hear him walking away saying "That one, is my favorite so far"! 

Presenting, I felt in my element.

Presentations took forever and I was near the end. Presenting, I felt in my element. Then sitting waiting to hear the results, I squirmed as my stomach churned with anxiety. It would be nice to get a win!

When I heard that both Grace Hopper teams won, it was electric! I looked at Winnie, the last member of team 1 left with me for the day (it was now 10:30PM), it was pure joy and elation! 

We’d been there since 8:00AM! We were exhausted and almost delirious for all the brain gymnastics of the day. Hearing that we won was akin to hearing my startup had gained funding at a pitch event. It was unreal. Everyone on our teams were first time hackathon participants (except 1 junior). Our friendly competitors were people with extensive devpost histories and projects and were clearly more knowledgeable in the AI tech space. It felt like we beat the odds, by keeping the end in mind. We made the hood functional and every thing under it stable and told a good story that focused on the themes we were going for. 

In the end, we just tried to make it hard to say no. And it worked! 

Prepare for the next one

I definitely want to do a lot more.

I now have a new project to put on my resume, and it only took a day to pump out. No time to get into my head and over plan. Just execution. And, I have a concentrated leadership/development story to tell in interviews that I feel even more connected to and passionate about. On top of that, I have a win – which came right on time like the perfect energy boost.

I'm super proud of what we accomplished. I feel so much more confident, putting myself out there as a developer. I definitely want to do a lot more. I met a lot of awesome people, had a great time, got exposed to new technologies and learned a lot in a short period. I'm looking forward to what's next. I wonder what it'll be?.....

The Target Blank Vulnerability

Trick of the day: The Double Bitwise Not