Hackathon, job hunting and Meteor

Phew, what a week! I feel like I’ve done so much this week that it could have easily been two weeks.

On Tuesday I had a really interesting lunch with our careers advisor (as you know I won a competition). We had some nice steak and wine and she gave me really good tips for finding a job after graduation from the bootcamp.

The main take-away for me was that it’s important to put as much effort into the job search as possible. No surprise really but I think I’ll have to work harder than ever to find a job. None of that submitting an online application and waiting around for an interview. It’ll be more like an intense sales process with cold calling and cold emailing and setting up coffee meetings etc.

London tech scene, be prepared. I will be hassling you from the end of February.

But that’s ok, I don’t mind it. I’ve briefly worked in sales during my four months stint in Stockholm in 2006. No problem.

In fact, this week I’ve started to feel slightly less worried about finding a job. We had a Thursday lunch time talk with a couple of former GA students who talked about their job search process. And it didn’t sound too scary. I think I’m slowly starting to believe all these things about there being more developer jobs than developers and that we’ll have enough knowledge to get a junior dev job after the bootcamp. And I’m slowly feeling a bit more confident about my (still very limited) developer skills.

Other than worrying about job hunting, we were busy learning more Angular.js this week and on Thursday afternoon we started our 24 hour hackathon.

A hackathon is an event during which programmers create a website or software during a limited amount of time. It was quite intense but a lot of fun!

I used the time to implement an idea that I’ve had for a while: a German Lorem Ipsum generator along the lines of the popular Hipster Ipsum and Bacon Ipsum.

I tried to play on the German stereotypes and created a handpicked list of German words which I thought sounded particularly German to English ears.

Depending on the strength of Germanness that the user chooses, the original latin words are replaced by German words. The higher the strength, the higher the density of German words.

And here it is! http://german-ipsum.herokuapp.com/

It was really good fun and I’m glad that I managed to style it reasonably well, make it mobile responsive and deploy it to Heroku during the 24 hours.

If any of your favourite German words are missing, leave a comment and I’ll add them in next week.

On Friday night we had a General Assembly potluck dinner, except that the other courses who attended were told that they didn’t need to bring anything (we bought food) and the GA sponsored drinks ran out by about 8:30pm. A bit lame but I was so tired from the hackathon anyway that I didn’t stay too late.

The weekend homework was to prepare a lesson for week 11. We’ll all be presenting a topic in class. It had to be something that we haven’t learnt yet and that we needed to research on our own and then prepare to present. Apparently this is something that will happen from time to time in a developer job, so GA want to prepare us for this.

I chose Meteor.js because it sounds like an awesome new thing. I spent today playing around with it and creating a presentation, so I hope the others will enjoy (and understand) it.

Tomorrow (Monday) we have to pitch our ideas for the final project. We’re approaching the end of the course!


Angular.js and a careers lunch

It’s the beginning of week 9, which means we only have four weeks to go until our graduation. I can’t believe how fast the time went. I don’t know what I’m going to do with all this free time when the course is over. What do people do who don’t code all day?

Anyway, I don’t need to think about it just yet. This week I once again settled into the (dis)comfort of our usual days of 9 to 5 to 8/9/10.

We started learning Angular.js today, a JavaScript framework which provides a browser side Model-View-Controller structure. We had only seen something like this on the server side in Sinatra and Rails before.

And it wasn’t even that difficult! We’ll learn more about it tomorrow and Wednesday, so I assume the complexity will increase. But for now we displayed data from a JavaScript object (normally the data would come through an API in JSON format) and created an interactive view of this data with a search function, a display and hide functionality and a few other things. Writing these functionalities in JavaScript would have taken a lot longer, so in that respect Angular is pretty cool.

Of course it means that it’s another thing to learn and at the moment, while I’m still not comfortable with it, it’s a pain. But it reminds me of my experience with jQuery (crazy! I seriously thought I’d rather write JavaScript than jQuery because I knew how to do it… Mental! Luckily this delusion only lasted for about a day).

Homework over the next three days is to create an interactive WDI 10 yearbook page which introduces the students and what we’ve been up to. Apparently the best one will be published online. I think it’s nice to do a homework which might have the potential to be actually useful. The page will ultimately help to promote our skills and experience to potential employers.

On that note, I’m going for lunch with our careers adviser tomorrow! She made our Christmas homework into a little competition and I won. The prize is a lunch with her during which I can ask all my questions about finding jobs after the course. She hasn’t disclosed the venue yet but said that it would be a very nice restaurant, so I’m excited!

Project presentation Friday and the joys of team work

It’s Friday. Michael is wearing a shirt. The smell of nervous sweat is wafting across the classroom. It must be project presentation day!

We spent the whole week working on our team projects and now the day had come.

It was nice to see everybody’s presentations and I think each team created a well thought out project. Very impressive, considering most of us have only been doing this whole web dev thing for seven weeks and never before in a team.

I was really happy with our dog dating website. Basically the idea is that a user signs in (through Facebook!) and then sees a map (Googlemaps integration!) with other users in their area (geolocation!). Each user has a profile page and can create profile pages for their dogs. Users can message each other (Mailboxer!) and set up dates for their dogs.

I would have loved to post the link to it here (we were the only team that put their website on the internet so that people can actually start using it!) but I just noticed that there are still a few bugs which I will need to discuss with the others next week as it’s related to their bits of code.

I guess that’s what happens in a team project – sometimes you just have to let it go. There are a lot of compromises to be made and you can’t be too precious about your own opinions and ideas, unless you feel like arguing about it for hours and not getting anything done. I think I’m more of the harmony loving type so I’m happy to agree with whatever sounds vaguely sensible and just get on with it.

Comparing this week to project 1 (Tic Tac Toe XOXO) I feel like I didn’t learn as much, which is a bit disappointing. Of course, it was down to myself, I could have said that I’ll create some crazy functionality in PHP or something and then my learning curve would have been massive but I wanted to play it safe to make sure that we have a finished product by the end of the week.

So while the last weeks were a crazy whirlwind of constantly feeling stretched and learning new things, this week was a bit quieter on that front. I do feel like I got a really good understanding of using Git (the version control and collaboration system) and I learnt how to implement a new Ruby gem that I hadn’t used before (Mailboxer).

But the objective of this week was more about learning to work with others than learning about new technology. To be honest, the most challenging thing for me this week wasn’t the coding but verbalising things that I usually just have in my head when I work on a project alone. It’s not easy trying to explain something (that you might not fully understand in the first place) to others who have a different background from you and different proficiency in the English language.

It was fine in the beginning but got more stressful towards the end when the deadline was approaching and tempers got shorter.

Working in a team also meant changing my way of working which is normally a bit more fluid. I would normally start on a project and change it as I went along – so, for example, if the styling wasn’t quite right, I’d just try a couple of different colours or a different background image. Working in a team meant that we agreed on things up front and then stuck to it. For example, I couldn’t just have gone and changed all the colours because I felt like it. It would have meant explaining it to the others, discussing it, agreeing on it and then maybe implementing it, depending on the outcome of the discussion. A much longer process!

Anyway, I think the hard work paid off and we delivered a really good website. I hope to share the link soon, once we’ve fixed the bugs!

Daft Punk Sound Manager app

In week 6, when we started learning JavaScript and jQuery, we did a really fun project using the Sound Manager 2 JavaScript Sound API.

I finally got round to making it work properly, jazzing up the styling and putting it onto Heroku. Unfortunately the sound doesn’t really seem to work on mobile, so I might have to look into this at a later stage. But on desktop it works well.

If you know that famous song by Daft Punk, then crank up the sound on your computer and go to the link below! (Hint: click the buttons on the website)

Daft Punk – Work it, make it, do it…

Project week is back!

On Thursday we started working on our second larger project. Once again we will have a week to create a Rails application, except that this time it’s a team project.

Michael has predicted that by Wednesday latest a lot of us will be at each others throats but I have a good feeling about my team. I think we’re more likely to be eating a civilised dinner and drinking fine French wine than arguing over Git commits, but let’s see…

On Wednesday this week the instructional team assigned us into our groups of three or two and gave us the available project options. This time each team will have a different project. The projects were things like a website for fitness instructors to present themselves to clients, a website for the best coffee shops in the area, a website for a food sharing service, so quite fun stuff. But the most fun thing was (and my team and I agreed on it straight away): a dog dating website!

In order to have a fair process of picking the projects, we played code golf in our teams on Thursday and the team that won picked first, then the second team and so on.

Code golf is quite an interesting game whereby you have a number of challenges (holes) and you need to try to complete these with the least amount of characters of code (so basically as few strokes as possible).

Anyway, the outcome was that our team got to pick the dog dating app project. We got so excited, we set up a Facebook page for it straight away: Date my Dog on Facebook

We started planning the app on Friday and spent the whole Saturday together to work on the initial set up and figuring out a way for users to message each other (to set up the dates for their dogs) and to integrate Google maps with geolocation (to see the dogs in your area).

I think we’ve definitely got the right attitude and team spirit, now we just need to figure out that minor detail of technology…