DrumSensei

betwixt code and music

An Important Question

A former student asks an important question

During this career-transition for me, I have aimed at sharing some of my insights and findings in this space. A little blurb and a link on Twitter and Facebook here and there lets me share this journey with people back home, and maybe some new friends and adventures will come out of it in the future.



About two weeks ago I posted a blurb on Facebook about a blog post, and consequently entertained a
great question from a former percussion student Cody Simmons that I taught about nine years ago:

Sensei! I have a question for you. How do you manage to keep your motivation up to learn coding and to pursue this new career path?


And this was my response:

Well, I really, really enjoy creating things. Music had gotten less about creating and more about repetition. It is somewhat necessary to stay focused and driven since I quit a job and have zero dollars of salary right now. That being said, there have definitely been a few days where I would rather watch Netflix and fart around doing nothing. The beauty of a course like the one I am taking is that there is little room for free time. Only coding. That is why they call it a coding bootcamp!


I stand by those words, but would like to dig a little deeper. As a teacher I used to shut down "what ifs" nearly immediately. I had a plan to execute for my rehearsals and traveling down those imaginary paths was generally not applicable to that plan. Outside of rehearsals, bring on the imaginative thinking. What if it was only me... no spouse or children? Would I still be motivated to pursue this path and stick with it? For me, it would be similar since I love learning new things. Discovering new things to learn or creating new things from scratch makes me a happy camper.

The added richness that my family brings to my life is immeasurable. I cannot imagine life without my wife, my son, my two daughters, and my brother. Thankfully, my wife is still working as an elementary teacher, but the sooner I get a job as a developer, the better. A lot of my motivation has to come from the necessity that I be able to help get the kids fed and clothed. As a result, the days where I want to feel lazy are hard to come by. More than that, something deep down is driving me to learn everything I can to put me in the best possible position to do work that results in greatness. That is not different from my teaching career, overall. I am always trying to "sharpen the saw," to paraphrase Stephen Covey.

Every day I should be the best possible version of myself. My years and years as a teacher gave me a sphere of influence that is not available in the same way. My students knew that I was not going to settle for anything less than their best effort. I really do miss that aspect of my leadership, for sure. In the future, those skills will be used in that way again in development projects or maybe to bring new developers into the fold.

Overall, I am excited about the future. I cannot yet imagine where this road will lead, but the potential exists for me to be involved in some fun projects working with great people. As long as I can continue to surround myself with smart, successful people, and I find myself in a place where continual learning is the normal way, then I will be living the dream!

Hackathon Retrospective

Real-world kinda stuff right here

Our introduction to working in teams was rooted in Agile. On Wednesday, our guest speaker to introduce our students to the concept of Waterfall versus Agile/Scrum was Sabina Winters from here in Austin, TX. We learned all about user stories and sprints and always talking to your scrum master and how Waterfall doesn't make sense for software development. Scrum is a funny word, but it makes a lot of sense.

Then on Thursday we were divided into groups, told to head to lunch and come back to campus to pitch the staff on a project of our choice. Most groups were like mine: two front-end developers, a back-end developer, and a designer. My group had Ryan Y in the back, Mory F. and me in the front, and Liz S. in the design seat. Our front-end requirements mandated that we use the Backbone.js library, but only the models, collections, and a router, though we also needed to use Views for our particular functionality.

After a delicious lunch at Freebirds World Burrito on South Congress in ATX (
WHAT! You have NEVER been to FREEBIRDS?!!?!), we had settled on two different ideas that we all thought had enough features to cover our bases and still push us to make something cool and (hopefully) useful. The main idea was to design a web application that could help Austinites reserve a parking spot for their favorite local restaurants. Austin has some terrific food, and parking can be fairly difficult. This is a useful idea that would be used by many.



Turns out, git and GitHub can be a challenge. We had different repositories for back-end (Ryan all by his lonely) and front-end + design. This meant that Liz, Mory, and I had to stay on top of "who is doing what" for much of our time together. Thankfully, our campus director
Travis Swicegood literally wrote two books about using GitHub, so we leaned mightily on his knowledge and experience on Friday when getting started on repository work. (He also helped me set up some bash-it themes on my machine which always show me the current git repository and its status!)

A portion of the challenge of working with two front-end developers was how to divvy up the work between us. I started to work on our main.js file while Mory started getting the models and collections put together. As we began to focus on one file at a time, we found it much easier to do
pair programming, with one of us helping talk the other one through coding. This has many benefits, but we found that the major ones were fewer errors (since someone was helping catch misspelled words and punctuation) and we could push our files to GitHub on one computer at a time. An added, non-obvious benefit was watching and learning from someone else's workflow, especially the myriad keyboard shortcuts.

We could not quite cross the finish line with the features that we expected to "ship," but we learned a lot and incorporated a good deal of functionality in populating our webpage with data from the custom-built API (thanks, Ryan!). The design that Liz created and built worked like a charm. Mory and I had Liz imbed templates in the HTML, which means that she alone could work on the HTML and Sass files to her liking. That left us front-end fellas to determine how to look into the server and put that data on the webpage. We used our JavaScript, jQuery, AJAX, and Backbone skills to dig around and eventually we learned enough about Views in Backbone to make things happen.



I am exhausted, and it was a tough push to get to the finish line. However, it was worth it. Today we started using React.js (built by Facebook), and it is making a TON of sense to me. This is certainly a combination of Aaron Larner's brilliant teaching (I have worked with a lot of those...I know one when I see one!) and a natural outgrowth of working so intimately with Backbone for the last seven days.

Things are looking good for the future as these concepts being hammered into me are starting to turn into a sensical set of instructions to make these computers do what is expected. Being in Austin is GREAT...except my family is back in Dallas, where I will be looking for a job not long from now. Off to finish more React.js learning....
(do we ever finish learning, though???)