AMPed a Web Dev Adventure blog by amarkpark

Leveling Up

Oh the Whirlwind…

Since my last post I think it’s fair to say that I have Leveled Up, both in Ruby and in Rails.

Leveling Up Rails with TDD

Since my last post I have been working on a new App, the catch is that this one is being built from the ground up with Test Driven Development practice of writing the tests first and then coding the feature. This makes incremental changes less likely to break any necessary features, it also seems to increase the time it takes to build anything by orders of magnitude.

Granted, the first set of features took the longest to build the tests for first, by the second and third I was starting to get the hang of it. Still, the essential process is 1) Build tests that fail because the feature isn’t built yet. 2) Build out the feature until the tests pass. Generally speaking this includes multiple Assertions per test to account for facets of the feature in question, such that as the feature is built in stages, the test for that feature goes from Failing, to Erring on successive Assertions, to passing all Assertions, at which point the feature SHOULD be built as designed.

By the third set of Tests/Build-outs I was really starting to feel comfortable with the process. I know I have a lot to learn, but going from building apps haphazardly to building with TDD seems like a solid case of Leveling Up. That was my Rails breakthrough.

Leveling Up Ruby with Coding Challenges

I also successfully completed about 3 dozen CodeWars Kata. I think technically that has me Leveled up twice… I went from 8kyu to 6kyu… I have that much-coveted score of “69” … SO not kidding. Yeah moving on. What a brilliant learning tool! Form of a game, form of a challenge, form of a competition… however you take it, CodeWars can help anyone Level Up their programming skills… I was working in Ruby but they also have Clojure, CoffeeScript, C#, Haskell, Java, JavaScript and Python. I am considering myself well-informed at this moment because I have at least HEARD of the majority of those languages. Yikes. This is what I get for dropping out of programming for two and a half decades. I have a WEE bit of catching up to do. Thankfully CodeWars can help!

In the meantime I also completed a coding challenge in FHP that certainly WAS a challenge. I beat my head against the wall for hours at a time for two days and then in the wee hours of the morning when I should have been sleeping a new approach occurred to me and sure enough on day three I was able to tackle the challenge from a different direction. The change in perspective allowed me to solve the problem that had me pulling my hair out for two days. This harkens back to my days working at the Center for Creative Learning and some of the techniques I encountered there. Essentially, if you can’t get in the front door, try climbing in a window around the side. But I feel pretty strongly that I Leveled Up my Ruby capabilities along the way.

I am finding that breakthroughs in skill level tend to follow shortly on the heels of feeling frustrated to the breaking point, and/or beating my head against a brick wall. I take my skills as far as they can go and then I have to Level Up in order to progress further, unlocking both capacity and potential in the process. There is a distinctive feeling of that “click”… the intangible sensation that pieces of the puzzle have just moved into place and the picture has become more clear. It is a good feeling. Gives me just the right surge of energy to start tackling the next level.

~AMP