Wednesday, November 13, 2013

Confessions of a jobbridge intern

So last year I finished college and off I went off into the world looking for work. I applied for job after job after job. In the rare cases where the company bothered to give me feedback, I was told that I was lacking experience (the viscious cycle of working to get experience and need experience to get work). After a few months on the dole, I decided to start looking at Jobbridge - the much critized National Internship programme.

Why you might ask? Well for one I needed the experience and I wasn't going to get it while I was on the dole. Secondly I was bored sitting at home doing the odd bit of freelance work and emailing off CVs. An internship would get me out of the house, build up my experience and give me a small bit more money in my back pocket. And if something better came along in  the meantime, I could easily take up that offer.

I've finished my internship with Avvio at the end of last month and I must say it was a very positive experience. I got to work on some interesting projects that helped me develop my skills (both development and design wise), I got back in a daily routine and I got to work with some amazing people who accepted me as part of the team. They didn't look down on me for "just being an intern". At the same time, they gave me the guidance I needed to improve myself, I got to sit with coworkers in other departments to get a broader view of how the company works. They respected the fact that I didn't get paid that much (e.g. I wasn't expected to pay for things like Sports & Social nights-out) and I was given a bit flexibility in regards my work hours.

At the end of my nine months, I was offered a contract which I accepted. Before the offer I was asked if I would be disappointed if I wasn't kept on. I replied that while I would miss my coworkers, I had gained a lot from the placement and that I was in a better position to find work than I was back in January so I could be happy about that.

I'll admit, the scheme isn't perfect. In fact there are a lot of problems that need to be fixed but from my point of view it worked. I got the experience and a lot of the knowledge that was holding me back from getting work. I can now apply for jobs and feel a lot more confident about my application. 

The Poker Project [coder dojo]

I recently set the older kids in CoderDojo limerick a project to work on. I picked the poker project I did in first year of college because it covers a lot of the concepts of programming. I'd noticed a lot of the kids were coding without really understanding what they were doing so I decided to stear clear of OO for the time being and concentrate on the basics such as loops, conditions and arrays.

The challenge is create a one player, text based poker game that does the follow:

  • Create a deck of 52 cards
  • Deal a hand of 5 cards
  • Sort and display the hand in a user friendly manner
  • Allow the player to make a bet and then compare the hand to traditional poker hands (royal flush, straight flush, two pair etc) to see if the user has a good hand
Originally we were working in C++ but I told the kids they could work in what ever language they wanted. I've now got kids working in C++, java, php, javascript and phython. Mentoring simultaneously in 5 languages is an... interesting challenge to say the least

I've broken the tasks down into blocks to be covered during the weekly dojo sessions but we're moving at the pace of the group. The aim is to get the kids thinking of how to solve the problems rather than just tell them what to type. Every Tuesday I'm going to put up a review of the concepts covered and then on Friday I'm going to post the code I've put together. To get access to the code, the kids must email in their work. 

When the above steps are complete, each kid will be challenge to modify the code in a way of their choosing. Suggestions so far include adding additional (computer) players, a GUI or using ardunio to add hardware element. 

After that's complete we're going to move on to tackle Object Oriented Programming and all that goes with it.