Saturday, January 25, 2014

Teaching Ruby

This weekend I was a teacher's assistant at Railsbridge Boston.  Railsbridge is an organization focused on getting more women involved in the software and web development scene.  It was a pretty awesome experience to be able to teach beginner programmers about ruby.

The most interesting thing I learned is that teaching is both an art and a science ( quoted from my friend and mentor Johnny Boursiquot).  It's one thing to know a subject on a deep level, it's another thing entirely to teach someone what you know in a timely manner.  It was interesting to walk up to someone, hear them explain a particular problem in their own words, then translate what they said into terms I could understand to solve a problem.  What I just said sounds like a really basic concept, but when people are counting on you to get them through a hurdle quickly, it really does add a lot of pressure to think on your toes.

Several of the questions I was not able to answer immediately, but it was valuable for me as well as the person I was helping to see how a real developer tackles problems.  As programmers, we don't know all the answers, but we are extremely resourceful and can generally find an answer pretty quickly.  My biggest impact this weekend was not teaching about arrays and hashes, but teaching people how to effectively use google and ruby documentation to find the answers they were looking for.

I am back to coding for now, I have some interesting projects I want to pump out while the night is still young.  Thank you RailsBridge Boston for the opportunity to teach at your event tonight, it was an honor and a pleasure.

If anyone would like to read more about Railsbridge, Please check their website out @ Rails Bridge Boston




Saturday, January 4, 2014

Test Driven Development and Rails

Time is flying at Launch Academy.  Consuming all this information takes almost all of my free time.  I haven't even found a chance to blog in the last month.

We've been working on test driven development and learning rails in general using a wide range of tools like capybara and rspec.  I always felt like I was doing well to just kind of keep up with core concepts and be able to code applications in rails, minus any unit or acceptance testing.  What I learned yesterday is that I'm constantly talking myself down, and have more skills than I give myself credit for.  I'm honestly not sure if I knew I had all the skills until I flexed my brain muscles yesterday and just started pulling information out of thin air or the rails guides;  even looking at the rails guides I always knew exactly where to look when I needed a reference, which was awesome!

The project assignment we had yesterday was a huge one in terms of importance.  I am the worst about doing an assignment and forgetting to turn it in, but if I ignored this assignment I wouldn't get the chance to come to career day, which basically nullifies some of the reason I came to Launch academy, job placement.  This assignment, which I will now refer to as the property management system, is a strictly individual assignment that Launch Academy uses to get an idea of where your coding skills are.  They also grant you access to career day upon successful completion of the assignment.  Thirty interviews in a day with great tech companies in Boston .. Yes please I think I'll take that seriously.

  The property management system was to be coded using a method called outside-in-development, which means I write unit and acceptance tests first, before I ever write a single line of code.  The idea is to get the tests failing, then make the changes in your code to make them pass.  This was honestly the first time I have ever done strictly outside-in-development.  Launch Academy has been teaching it for a few weeks now but I've always just put a solution together, then worried about tests after.  I learned during this assignment that taking my time with writing tests actually makes development much simpler because the tests guide you into developing the next step.  The tests take a lot of the guesswork out of traditional development where I would need to constantly think about what portion of the application to code next.

In conclusion, testing rocks.  I am confident in my ability to write tests for any size application using an outside-in-approach now and I've been converted into a Test Driven Developer.  Yes, I said it, a Test Driven Developer; you win Launch Academy.