Two Weeks of Being a Maker

coding for everyone So it’s been a while. It happens. You promise yourself you’ll keep up a habit. Mine was to write a blog post every week. I also began #100DaysOfCode, two weeks before beginning the Makers boot camp. I was pretty dedicated to be everywhere. Blogging, part of the movement, and being on top of my Makers learning. Yet here I am, about to begin my third week, and I don’t have a blog with many entries. I stopped updating my coding log. But I’m feeling great, because I still have that last thing. I’ve started my journey to become a Maker.

So two weeks have passed. Since then I learned some key concepts. First of all, I am glad with how the learning is being presented. I had read reviews where Makers is definitely more self-oriented, rather than teachers always checking in with you. I love this. It’s exactly what I need in order to really learn something new.

I talked with my S.O. about this. When I studied English Literature in University, my greatest work came from the independent projects or from modules that emphasized creativity (such as poetry). This allowed me to set my own guidelines, my own reading lists, my own learning! Of course I still need a brief. Such as an essay on Contemporary Fiction, but I get to choose how to approach it. The amount of time and energy I put into my essay will reflect what my final grade was.

Makers takes it a step further. There is no ‘final grade’, and the burden of ‘doing well the first time’ is not present. When the imposter syndrome creeps in, I remind myself that the only one criticizing this piece of work is myself. The coaches and my fellow cohort are there to provide feedback, but will never mark me. I mark myself, and the beauty of that is that I can give myself any mark I’d like!

First Week TL;DR

The hardest part of this week wasn’t the code or the assignments. For me, it was the pair-programming. There was a great talk by Dana (Chief Joy Officer at Makers) on the first day, where she discussed the differences of people. How we all operate differently. How we are different.

Growing up, I guess I rode solo most of the time. Then when I started my career as a writer, it really solidified a thought that I should only depend on myself. Looking back, this really hurt my ability to be collaborative. When getting into Makers, I read many articles about pair-programming. Sense of dread and self-doubt really showed themselves the days leading up to Day One. Luckily, one of my goals that I want to accomplish in Makers is to become collaborative. To share, to help, and to be open. It’s okay to depend on others. It’s fine to be different.

Second Week TL;DR

This week was focused on working with the confusion we experienced in week one. Like I mentioned, we focus on programming concepts and fundamentals. Two important concepts are Object-Oriented Design and Test-Driven Development. There are many blog posts that deal with what OOD and TTD are, and how a Maker handles it. They’re all accurate, and very well written.

My two cents on it is that I am just happy to be learning them. In my three months of self-learning, I kind of just ignored tests and the design aspect of code. My main thought was, well I don’t really need this. The biggest change was when I looked back at my code that did not host these core principles. Simply put, the code is bad.

The great thing is that the more I master and learn OOD and TDD, I will look back at my current code and think, the code is bad. It really creates this evidential proof that I am getting better. This is something Makers believes in. Am I a better developer than yesterday?

The Coolest Thing About Being a Maker

Another wonderful thing that happened this week was finally “getting” TDD. Before I saw it more as a tool to help others. If I want someone to understand how my code works, they could check out the tests. So when the coaches discussed how test-driven development helps the programmer writing it, I didn’t get it. It wasn’t until Week One’s Weekend Challenge that I realized I had a big problem with programming, and TDD solved it.

I was faced with the challenge of creating a program that can land airplanes, fly them, and generate random weather behavior that could prevent my airplanes from landing or taking off at airports… What?

Impossible! To do something like that in the first week of a boot camp is definitely unfair. I don’t even know where to start! There was my issue. Where to begin. Before Makers, this was a huge problem for me. I come up with a world-shattering idea. I get excited. I open up Visual Studio Code. I blank. I don’t know where to begin.

Before, the tutorials on Youtube or Udemy guided me. “Follow me,” they said. “Write this code and magical things will happen.” So I did, thinking I was ‘getting it.’ However, all that knowledge vanished when facing a project I wanted to do on my own. I never knew how to fix that, so thoughts like am I even fit for this appear, which maybe you could relate to. So when that first week ended, and I started the weekend challenge, I had that thought.

Am I even fit for this? This is too tough. But, then I realized. Write a test first. Don’t make it complicated. Just write a test that checks if I have an Airport object. Wrote the test. Failed it. Wrote the simple code to create a class for Airport. Passed the test. I did it. I started a program on my own! I was so happy. I finished the challenge the next day, with a 100% test coverage and code that worked.

If you’re more curious about TDD and solving problems, this blog post from a fellow Maker really inspired me to really dive into TDD.

Where to now?

I just completed the second weekend challenge. A takeaway challenge. If you’re curious, that sense of overwhelm before starting the project was gone. I jumped instantly into writing simple tests, and the ball just kept rolling.

Week three will include web applications. We will be writing applications that are visual. I’m excited for this mostly because I want to show my S.O. something that isn’t done via the terminal.

Thanks for reading! Check out my other posts if you want to!