1st Hackathon — Great Success

This was an absolutely crazy weekend.  Not only did I participate in my first Spartan Race, but I also participated in my first hackathon – sponsored by The Iron Yard Academy and SolTech.

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.

gs-logo

 

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.

Presentation Day:

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.

 

 

1st Hackathon this Weekend

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?

Truth be told, I’m not entirely sure.  If I had to guess, it’s somewhere between a Halo LAN party and a ton of JavaScript and server talk.  And yes, Halo is yet another Spartan reference, 2 for 2, I’m on a freaking roll.

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.

Let’s freaking do this – AROO!!!

Group Therapy – Takeaways from our 1st (multi-tier) Iron Yard Project

What is this sad Aura?

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.

 

If only SCRUM was this black and white…

 

  • 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.

Giving a Simple Checkers Game a “Soul”

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…

 

current-logo

 

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!  

Launch Date: Monday Feb. 23, 2015

Just keep swinging, Just keep swinging…

Yes, tonight I had to take a chill pill.  I got really frustrated and hard on myself when I left the Iron Yard today because this week overall feels like it’s just not clicking.  It’s even more frustrating because the beginning of this week started on such a hight point with the creation of my first JavaScript game Five Die.  Through building that game over the weekend, everything was clicking and I broke down a lot of barriers and mental blocks to get it done.  This week, it’s just cloudy, difficult, and tough to focus – my girlfriend, who 99.9% of the time is right 😉 ,  told me I’m just overthinking things and once again she’s right.

So what did I do when I left Iron Yard?  I went to the gym to sweat it out.  Going to the gym is such a great mental and physical escape for me, and I love the people and community we have there.  Tonight, I was able to catch up with my preacher, #FittestPreacherOnEarth, and have a conversation about what I was experiencing.  And as I’m explaining myself to him, a giant wave of humble epiphany consumes me.  What I’m experiencing with coding, is the same exact experience most newbies feel when they start CrossFit classes at our gym.  They’re inexperienced, sometimes really out of shape, and in the beginning they struggle with the most basic movements… then the cycle goes something like this… they get discouraged, start comparing themselves and their progress to other people, get down on themselves, miss a couple days, fall out of the routine, and sometimes just stop showing up all together.  This will happen within the first 4-8 weeks of their journey – so they weren’t patient enough to stick through the mucky times.

I find myself experiencing the same exact hardships 4 weeks into coding with JavaScript.  Last week I had a big win.  This week I’m in a classic hitter’s slump.  So, who better to ask about slumps than one of the greatest batters of all time and the true Home Run King – Henry “Hank” Aaron.

Knock! “There’s a drive!”

 

My motto was always to keep swinging. Whether I was in a slump or feeling badly or having trouble off the field, the only thing to do was keep swinging.

Hank Aaron

Boom Steak with a side of Wowwy Sauce!  That’s why he’s the King and an ATL living legend.

If you find yourself experiencing hardship in a new activity – whether it be learning a new language, starting a gym routine, starting a business, or whatever…! Just know that it’s completely natural to have the days where stuff juuuuust aaaaain’t clickin’.  The thing you must do in these times is to relax, keep your eye on the ball, and keep swinging… it will get better.

My First JS Game: Five Die

Started with some HW now we Here:

Our assignment this past weekend was to build a game using the libraries, frameworks, and languages we’ve learned up to this point… 5 weeks into the Iron Yard program.  There wasn’t much scope given for the project – just build something using object constructors and methods and have fun with it.  So I made the choice to create a simple, yet surprisingly addictive, dice game that I’ve played at parties over the years.

Introducing: Five Die

Five Die is simple, fun, and kind of addictive.  It can be played with, honestly, over a billion players (but it would probably be more effective in groups of < 10).

The Rules:

  1. The Goal is to get the lowest possible score.
  2. You MUST keep at least 1 die per roll.  (yes, you can keep >1 die if you like)
  3. The die values match the roll, 1=1, 2=2, 4=4, etc…. however, 3’s = 0.

So the best possible score is 0, it’s just unlikely.  Because there are 5 die, the maximum amount of rolls you can take is 5 (because you MUST select at least 1 die to keep per roll).

Just so you know it's possible...
Just so you know it’s possible…

Screen Shot 2015-02-09 at 1.42.39 PM

WANT TO PLAY FIVE DIE? CLICK HERE

 

Post a photo of your best score and let me know if you like the game?  Some goals I have for it are to make it responsive for mobile and change some of the design aspects.

Some Final Project Ideas

It’s 5:40 AM – I can’t sleep – and I’ve got IY Final Project Ideas flowing – here’s a list a potential candidates:

  • Hold Me (the app) – My girlfriend loves to be held and I admittedly do to.  There is something primal and nurturing about a good, strong, loving hold and it is a focus and priority in our relationship to reserve time each day to do so.  Every couple is different, but I imagine if more people knew about the secrets of a good hold, relationships around the world could be improved dramatically – and what’s not to love about that!  Not sure where this app could go but it came to mind.
every couple should enjoy a good hold
  • Morning Routine App – yes I’m on a total kick recently about a morning routine and I think an app that made a morning routine customizable and was built into your phone’s API would be pretty cool, I certainly would use it.  It could be community based where people could share their morning routines with eachother and get a sneak peek of how highly successful people operate.  Again, definitely brainstorm phase but I think it’s got some momentum and could provide some real value.

side note: I see there are some apps that do this already, however building my own could be the exercise – plus competition always improves a marketplace and empowers the consumer.

  • Countdown to 30 App – This is a play off my friend Evan’s 1K Day Change concept where he asked himself one day – “I wonder how many days until I’m 30?”  He realized, ON THAT DAY, it was exactly 1000 days away (KRAZY like GLUE riiiiight!?!)  and he has shifted his entire life towards seeking personal achievements and entrepreneurship by the time he’s 30 – an inspiring journey he is now over 100 days into.  The countdown to 30 app would be a goal management, priorities aligner, and accountability manager to those who are looking to cause huge, constructive change to their lives.  It can be applied to all facets of life career, fitness, nutrition, health, family, significant others, travel… whatever is important to you.  It could also evolve to be a Countdown to 40, 50…. 100 to account for more mature populations.
http://1kdaychange.com/
  • Intermediate Level JavaScript Practice Exercises – Seeing as I’m now just a month into learning a new language, I find myself like any other language learner – needing to stay focused on practicing the fundamentals.  I’ve heard this termed as VIRTUOSITY –   I’m no longer in the “fully green” stage of learning to code – I understand basic syntax, ground rules, concepts of OOP, and have done some pretty cool stuff already with API’s – but I feel like I need more reps in simple, intermediate JS exercises to really sharpen this new toolset… like math word problems from 5th grade – find the value of x type stuff, not just what is 2 + 2.  This is completely ambiguous at this point, however I feel most of the resources I find online are for strict beginners learning to code and teaching what is a variable, what is a string… I need that next step in the learning curve and I bet I’m not alone.  It would also be highly convenient to be able to do this practice on a mobile interface.

  •  My Event App – Are you in charge of planning a project or event?  Something simple like a child’s birthday party or simple house party?  This app could walk you through step by step if organization is not your thing and prompt you along the way.  Instead of you doing all the thinking, it has that logic built in and you just logically build your checklist step by step.  This is my least favorite idea thus far but makes a clean 5.

HOLY SMOKES YOU ACTUALLY MADE IT TO THE BOTTOM? I’M FLATTERED!  PLEASE DROP A LINE IF YOU’RE ENJOYING THIS CONTENT!   🙂