The Test Drive

Social_Network_Analysis_Visualization-1170x600.png

This is a data visual generated by d3.js. At times code looks like this to me on the surface until I begin having a good understanding of what all of it means.

This past week I had begun my first live project. I call this my Contracting Test Drive. It was my first look into legacy code. Legacy Code is defined as: “code that relates to a no longer support or manufactured operating system or other computer technology”. Some even define it as: “code that was not written today”. The codebase so far has been extremely intimidating. The total of all the projects created by everyone at the Dojo during my 14 week boot camp does not compare to the size and complexity of this project. I have spent so much time trying to understand the overall workings of the codebase. I feel like the tortoise in the race against the hare. I feel like it is taking me a long time to understand the whole site. Despite my feeling of incompetence towards the code, I am sure that I will prevail.

During the week I was able to assist in the tackling of my first ticket (issue in the codebase that needs to be fixed). It involved one of the first few topics that interested me, MySQL database queries. Out of all the things that I have learned in the boot camp, database query and database construction has always intrigued me. It was the reason why I decided to join a boot camp in the first place. When I was teaching myself iOS development I ran into the issue of not knowing anything about databases, thus inspiring me to search for a boot camp.

The process for completing this ticket was done through pair programming, which is another of my favorite ideas that I had learned in the Dojo. I find that reading and talking about the same code with another person is extremely beneficial for all parties. It makes the learning and editing process so much smoother than I could have done by myself.

This week has reminded me what I have heard from many developers. Some days feel impossible while some days go really smooth. Coding definitely still feels like that roller coaster that I had experienced in the bootcamp. I am glad to say though that I am not bored with it. On my spare time try to get some reading done, learn a new library and work on my algorithm skills. My current materials are: Eloquent JavaScript, d3.js and Codewars as my algorithm platform. I enjoy the everyday challenges involved in the coding world.

Week 15: I Survived!

szyxll20r6ccewaahll28g_thumb_6e79

I like to compare coding today to the craft of medieval blacksmithing. It is a skill set that takes time to develop. You cannot be a master blacksmith overnight and neither can one become a master coder overnight. Many days the journey seemed tough, but at the end of each week you can measure how much better you have become. If you work on it everyday you can become better quicker.

This week was the final week in the program for my cohort. Time went by so fast. We knew it would, but could not have anticipated the returns we got by participating in this boot camp with maximum effort. I feel that I was very fortunate to meet such an awesome diverse group of people with various backgrounds all uniting under one roof to do something different with themselves that they were interested in. Throughout the time I have spent in the dojo, it was very clear to me everyday that we all wanted to be there to learn and build things. We did not let any of the difficulties we may have come across stop us in our tracks. I remember during our first stack how long a single error could get us stuck for, sometimes more than an hour. Now today I have seen my fellow peers including myself, ask for help on a problem only to discover the solution themselves.

For the past few months I have dedicated myself to the art of programming. Today I am proud to say that I am a Coding Dojo Triple Black Belt.

wydpttviq7mfixwsmdkipq_thumb_6e7a

The road was not easy. I could not have done it without the help of my fellow cohort members. I also understand that just because I got a few stickers it doesn’t make me an expert at anything. I find that these achievements symbolize the preparation towards becoming a journeyman programmer. There is still much to learn and this is now just the beginning of an even bigger journey. A few weeks of the residency program and we will soon be off into the developer world to see which path we shall follow.

The Road to Double Black Belt at the Coding Dojo

Quotefancy-14572-3840x2160.jpg

Everyday we have to make the decision as to which of the pains we want to go through for that day. Most days I try to pick the pain of discipline, but since I’m not a robot, sometimes I end up picking the pain of regret by default. As long as I keep improving these disciplines I will eventually get better at not picking the pain of regret.

What does the black belt mean to me?
It is a sign of accomplishment. It shows me that I have put in my maximum effort to download all the information put in front of us during the 4 weeks we have in each stack. Its almost like a tattoo that reflects the pain we endured in order to make it this far. To me it means I have achieved a level of discipline.

My journey so far
The road was definitely rough for me, but at the end of the day its only as rough as you choose to see it. I remember a story my mentor told me about his experiences teaching programming to children. He said that in some aspects it was easier than training adults. The reason behind it is because children don’t have these mental blocks that we develop as we grow up. Children are still testing the world around them to see how far they can go. The don’t have the idea that programming is difficult but rather something that they can learn.

It wasn’t easy mentally and physically. I spent a lot of time before and after hours downloading as much information as I could into my brain. I have been specifically trying to ensure that I have had adequate sleep and physical exercise.

Repetition
In both stacks I had to to take the exam twice. I wasn’t satisfied with my performance on the first try so I did my best to complete the belt prep and 1st exam before taking the exams for a 2nd time. Don’t forget you can take it again anytime after the first.

What it felt like
It felt like the roller coaster I talked about in my previous post. Some days things just clicked in my brain, other days it scrambled my brain to think about some of the algorithms, syntax and so on. I remember the first time I took my exam I was really nervous because I wanted to do really well on it the first time around. I quickly realized that wasn’t going to work for me. I also felt a little stressed about it. Some advice about stressing on the test, don’t do it! This isn’t school. These test are design to show us our progress in this taxing environment. So don’t let your emotions distract you.

What I did
Here are some habits that I have developed that I believed help me during these past two stacks.

Podcast – Developer Tea
I found this podcast because I really wanted to fully immerse myself in the world of computer programming and came across this little gem.(The host is a ruby developer, but most of the topics aren’t technical.)

Reading – Apprenticeships Patters / The Pragmatic Programmer
More supplementary material for my brain. I chose to read books about the craftsmanship or art of programming. These are generally less technical and more about the mindset and journey to becoming a master craftsman.

Organizing – Notes
With all this information given to us during each week, I spend time in the afternoon after each day or on the weekend to organize my notes. I find this very important because I usually end up going back to my notes for reference.

Solid projects – Complete, functioning and all the features implemented
Whenever I start on a new project I usually have another project easily accessible that I can use for reference. These solid projects are usually improved and sometimes built with the help of my peers.

Pair Programming – My favorite way to learn
I’m not a fan of reading a ton of information I find myself getting very sleepy when I read too long … about 30 minutes in then I’m falling asleep. I really enjoy pair programming and hope that people do it more often. I feel like it really accelerates my learning and understanding.

Time – Invest it
Every time the survey pops up asking me how much time I put into the programing I always select 60-70 hours a week. I usually come in early to save time from sitting in traffic and stay late to avoid the evening traffic. During my commute I listen to my podcast. I read my book in the morning and in the evening. It comes down to what you choose to spend your time doing everyday.

Understanding – Don’t just copy and paste
I make an effort be sure I understand most of what is happening in front of me. I’ll be honest though, some days I have no idea what is happening on my computer whether it worked or not. If something is really confusing to me I’ll ask someone next to me to explain it. I remember hearing on the podcast that the best people to learn from are the ones that are just a little a head of you.

Future – Triple / Quadruple Black Belt
Goals:
– Black Belt MEAN Stack
– Black Belt iOS Stack

Hope you enjoyed this little insight into my experiences at the Coding Dojo!

If you have any comments or suggestions feel free to message me.

Happy Coding!

LAMP Stack Black Belt!

IMG_1050.jpg

It’s official, I am a black belt in LAMP Stack! After a nervous few days waiting for my exam results, I am glad to say that I have officially become a beginner in LAMP. One would think that by having this prestigious sticker I have moved up higher in the ranks and that I would see myself more than just a beginner. But I don’t.

On the exam I scored a 9.5/10 which is the minimum score needed to gain the rank of black belt. When I saw my score I became relieved that I had passed, becauseĀ for some unknown reason beyond my control, I really wanted the sticker and the rank. It might be because of my past childhood experiences with Karate. After the excitement had settled I realized that I was not satisfied with my performance. I want to be better. I want to be able to create these projects as accurately and efficiently as possible. I am still and always will be a beginner/apprentice in my craft. I promise to myself to always be hungry and never stay satisfied for too long with my accomplishments. I will challenge myself to create great things.

I plan to retake the exam near the end of the bootcamp to reinforce my knowledge in the subject. Apparently I can also get more stickers by taking the exam and scoring well again. The next time around I aim to get a 10/10! It’s the little incentives that keep me going toward the bigger goals. It was an awesome feeling to be able to take the knowledge I have gained in the past few months and be able to create something that I can share with the world.

More challenges to come!