Wednesday, August 26, 2015

Day 28: Red Belt Exam

I must have been up to 1:30AM last night completing the Red Belt preparation. Being in the Dojo really inspires me to code, however I'm not always aware of what I am coding or how. I just code.

At the end of the night I took out my sleeping back and went to sleep to the sound of students playing ping-pong. Seriously, there is always someone using the ping-pong table and you have to put up with the perpetual sounds throughout the day. Fortunately I'm usually too wired to care or in this case too tired. As VT mentioned the following morning, people were playing ping-pong until 5AM!

We skipped morning algorithms to review for the Red Belt. We got lunch early and the test began at noon. We were each given a random assignment and had 4.5 hours to complete it. The instructor kept telling us that the main component of the test will be to set up a login/registration page, which I've already done like five times by now. 

The test began and my assignment was to set up a simple poke page. In Facebook users can "poke" their friends and Facebook would keep records of it. Only two pages needed to be set up and with no other parties besides the users. I looked at everyone else's assignments and they looked way more complicated so I took a breather and felt that I got off lucky. Boy was I wrong. 

After quickly setting up the login/registration page I moved to set up the database schema. I thought I got past the hard part but the database was much harder than expected since the only way to link the users who have been poked to the users who did the poking was through a self-join. A schema consists of tables, with each table containing basic information like a user's name and password. Tables are linked together based on mutually shared columns of data. In simple sites few tables are needed but the bad part is that there are few relations to set up and so the table has to link to itself, which is referred to as a self-join. I've had very little experience with self-joins and had no idea how to set it up. Do I put all the information on a single table or two? If I use two tables what pieces are data will get shared? I was so screwed. 

After experimenting for over an hour I set up a scheme expecting that it may not work out properly. That turned out to be the case. Time was running out and the only thing I could do was keep moving forward, skip a feature, and just complete the assignments. Students can still pass even if a feature doesn't work. 

I completed the test on time but I felt like I had failed. The instructor said that there won't be any subjects to cover for the remainder of the day and we could go home and rest. Many of us decided to go to Dave & Busters to celebrate but I was so defeated that I stayed behind. After two days of sleeping in the Dojo and possibly failing this test I just wanted to go home and get some real sleep in my comfortable bed. Traffic was have around that time and my plan was to stick around till 7PM when it lightens up but there wasn't anything else to do for the day and the internet weirdly slowed down. I couldn't even get a good LTE signal on my phone outside. So I decided to face the traffic congestions and leave earlier than expected. I sat in silence for over an hour in the traffic. I'm always talking about making choices that will lead me to a more fulfilling life but at that moment of being stuck in traffic after two days of hard work that potentially could have been for nothing I felt like I had reached a new low point. 

I got home and took a long, dreamless nap. When I woke up it took a moment to remember who I am and it hit me that I had forgotten to submit the required video description of my site in action. I emailed it to the instructor, hoping that I wasn't too late. I skipped dinner and spent some time watching videos and for the first time in my time in the Dojo not wanting to show up the following day. Today felt like a Friday and I wanted to sleep in and not think about coding, or my future, for a while.

The instructor said that we can retake the test on Sunday if we failed and that is looking like a possibility for me. I want things to slow down for a couple of days but that's not looking like it might happen. Today felt like a Friday and so does tomorrow. I've been doing this for over a month that my internal clock is getting disoriented. 

I wish I could stop moving for a little while. 

No comments:

Post a Comment