Phase Two: Hitting My Stride
Phase 2 Recap
Building my first real web app
January 10, 2014
Dev Bootcamp Phase Two is all over and done with and I'm feeling good. I worked really hard these last five weeks, and it feels great to have some marker of accomplishment to say I made it through Dev Bootcamp's perhaps hardest phase. More importantly, I have some real skills under my belt. Enough in fact to build a full-fledged app, which I did! It's a great feeling to be completely exhausted and accomplished. I know I have enough knowledge to build useful web apps now, and the possibilities seem endless. As soon as I get some sleep this weekend, of course.
The crux of Phase Two was a set of ten challenges that demonstrated and reinforced our knowledge in a number of core concepts. The challenges themselves had to be completed completely solo, with no help from our cohort mates. As much emphasis DBC puts on social coding and working in teams, these challenges were designed to prove we knew our stuff. With so much of every day spent working with others, it was a welcome test to figure out our status on our own. The topics of the challenges - Ajax, Jquery, object oriented Javascript, authentication & validation, ActiveRecord database relations, and so on - are hugely important, so it was reassuring to complete the challenges and know I feel comfortable in these topics.
What I will remember most about this phase was the tenth and final challenge - building our own app from scratch, completely solo. I worked late for many bleary-eyed nights trying to get me app exactly the way I wanted it. So much frustration, sheer force, learning, and eventually refactoring into clean code made this app something I am really proud of. There is still a lot of features I want to add, but the result is pretty cool. RideHub is designed to make it easier for cyclists to meet up and go on rides together. Essentially it's a Google Maps enabled scheduling app - riders can browse the map and see rides in their area. Take a look and please let me know if you have any feelback
While it is a basic Heroku-hosted Sinatra app with a Javascript front-end, this app helped me get past a few of my hang-ups about the asynchronous nature of Javascript and Ajax calls as well as ActiveRecord structures and queries. But most of all, it reinforced how important teams are in programming. After pairing for so long in person at DBC, it was a shock to suddenly code alone. In the end everything worked out fine solo, but I know now how programming really works best in a team. Pair programming and having people to bounce ideas off is so much more efficient and effective, and I hope to work somewhere that emphasizes this after I graduate.
Now that I have a real app under my belt, I feel so many new projects coming on. I know I have A LOT more to learn, but I feel like a real web developer now. I have the baseline skills, but more importantly I know how to quickly learn what I need to for a given project. In fact, learning on the spot is a big part of what programming is all about. I already have a ton of ideas percolating on what I can build next, and I have constantly browsing through APIs for inspiration.
Moving on to Phase 3, our main topic is Rails. Rails is pretty powerful from what I've heard, and it's great to think how relatively easy it will be to get an app up and running with Rails. I want to make time to spike on a new technology or two with a few cohort mates, perhaps Node or Angular. There's always more to learn, and I want to pack as much as I can into my time here. I want to keep taking advantage of this feverish pace of learning for the next three weeks here. Hard to believe that's all there is left.
So my advice for anyone entering Phase Two is to possibly work even harder than you have and really take the ten core challenges seriously. But outside these ten challenges rely on your cohort makes to help you get unstuck. There's no way we would be where we are now without the help of our peers. There are incredible resources everywhere you look. There's also a real light at the end of the tunnel of this phase, and buckling down will give you the skills start to build really exciting things on the web.