What I learned after 6 boot camps the hard way so you don’t have to

I started coding roughly a year ago. One of the things that stuck with me from my programming origin was, “Always Be Learning!” I had a teacher that said that over and over again. Well, I took this little snippet to heart! I also learned that although my teacher said what he meant, the level that I took it to probably wasn’t the level that he intended. In January 2019 I will be close enough to finished with all these bootcamps (excluding private mentor sessions) that I will do another article and give you a run down of the stuff you aren’t going to get from course report.

The List

  1. FreeCodeCamp — https://www.freecodecamp.org/
  2. LaunchCode — https://www.launchcode.org/
  3. Bloc — https://www.bloc.io/
  4. LambdaSchool — https://learn.lambdaschool.com/syllabus/cs-fsw
  5. Woz U — https://woz-u.com/software-developer/
  6. DevCamp/Bottega — https://bottega.tech/
  7. WashU Data Analytics Bootcamp — https://bootcamp.tlcenter.wustl.edu/
  8. 1904Labs — Hours with Experts — https://1904labs.com/
  9. CodeSmith CSPrep — https://www.codesmith.io/codesmith-prep
  10. Private Mentor Sessions with a paid tutor

From the outside looking in, I think most people would say, “Dom, you are such a hard worker! Look at your level of dedication!” The assessment of work ethic is correct, but I also did a bunch of things that were dumb and exerted effort and money where I didn’t need to. Let me try to explain why.

I was an active duty Army Bandsman. We are here to talk about code so I won’t bore you with how I got there. Understand this though: when I joined the Army, my ability to sight read was beyond sub-par. To be honest, I couldn’t count to save my life. But my ear and ability to mimic a distinct sound is that of movie lore. You know the movie Drumline with Nick Cannon? Well, that’s me except I was far cockier because even with considerable gaps in my “game,” I was still whooping people with double the experience and hiding great sound and even better technique. The last brag on this: as a freshman, at Kansas State University I managed to play a very technical piece in an audition and ended up getting a scholarship even though I truly couldn’t read music.

Fast forward back to my days in the Army. Like I said, I was loud and proud and foolishly cocky. I had a section leader that figured out without much effort, that I was missing central portions of my playing. He heard me playing along with new pieces that we would soon be rehearsing and came in a gently called me to the carpet about my reading level musically. Instead of outing me, which surely would have embarrassing, he took every method book, solo literature piece and all my Wind ensemble music and gave me an “essential elements” book. Now if you have ever played an instrument, these books as you know are for beginners. My pride at that very moment was shattered. Humbled is not even a word I knew, yet here I am, staring how he broke me all the way down. Over the next weeks and couple of months, he worked with me tirelessly on fundamentals. Those fundamentals consist of things like counting simple rhythms aloud while clapping to keep time. Singing simple melodies while keeping a consistent flow to where my playing sounds oddly like my singing. The list goes on and on. The moral of this story is something he said that ended up hitting me in waves: “The bedrock of what we do as musicians is to use numbers and sound to tell a story. You can’t count son; therefore you are missing 50% of your ability to do this at the professional level.” I had holes in my game. I was compensating by cheating because I practiced super advanced things like double and triple tonguing at outlandish speeds and playing higher than the written playable range of the instrument all the while ignoring the thing that would have made me solid because those things were not “fun to practice.” When I started putting the time in on things that mattered, instead of practicing the things that didn’t, I closed those gaps way faster than I could have because some stopped me and said, hey you are doing this all wrong. Let’s talk about how this was supposed to carry over to everything in my life.

What Should have been…

Well… You guessed it. The lessons learned the hard way didn’t move with me from the military.. So what happened? When I started to code, of course, I jumped to advanced things while ignoring the bedrock of logic and problem-solving. Just like music, these are two of the fundamental tools we have at our disposal to express something, and mine sucked. Just like my playing, I had gaps. Just like in music, it is pretty clear when you are faking to a trained ear. I network like a beast, bust my ass on the daily with class after class and all the while again, ignoring what matters to go fundamentally sound. Logic. Problem Solving. One of the most crucial things that my section leader did for me helped me break down what I was thinking about. Software development and the way we practice Music are so similar. I have a process that I use while playing so that I systematically do things when reading something new and it’s second nature to methodically step thru things one at a time and digest things in chunks.

The Real Point

My work was not in vain. It was just that it wasn’t focused on the right things. I appreciate the attention that each one of these opportunities has given me. So if you are new and you are just getting started on your journey, if you listen to nothing else I said; Hear me when I tell you that it’s not about how many languages you know and syntax you memorized. It’s not about how smart you are or how many degrees/education you have. This job at its core is about being able to use logic and engaged problem-solving skills that allow you to express elegant solutions through the keyboard to the computer. Don’t pound a language, work on your logic and problem-solving. Everything else comes as a natural progression, trust me.

So in a way, I haven’t stopped making music; I do it with a different keyboard. So let’s wrap this deal up with a nice little bow and talk recap the stuff I actually want to suggest.

  1. Fundamentals will carry you further than you learning every new JavaScript framework that comes out every other week. Lack of focus is the most common problem I see in myself as well as others. There is no way to “keep up” and be an expert on every new thing. At the heart of that new thing though, I can promise you can find that if your problem solving and logic are sound it will be easier than stabbing in the dark or stumbling around stack overflow playing the copy and paste game to fix what you broke.
  2. If you are going to learn something always elect for the deepest understanding you can get. This is when you grow and challenge yourself to not just learn to “do” something, but to understand how that thing really works.
  3. Have Fun! Don’t forget that part because it’s so important. If you approach learning begrudgingly, you defeat yourself before you ever get started. The grind is where the growth happens. Learn to love learning as well as the grind!
HAVE FUN!!!!!!!!!!!

Hi! My name is Dom Hallan. I am a software engineer with a deep desire to learn and teach others what I know.