Last week I finished reading about the last of the SOLID principles in the PPP book, the Interface-Segregation Principle. But since I’m not that confident in discussing it yet I’m going to use this post as a retro on my first week of studying to be an apprentice at 8th Light.

I won’t beat around the bush- it’s been tough. I feel like during Code Academy I learned how to read a blueprint, build a house, furnish it and decorate it. It was built out of wood, had some sweet furnishings and came in whatever color I wanted- and I was pretty happy with some of the things I built. But the past week at 8th Light has definitely been a trip all the way back to being a beginner. I feel like I’m learning how to eventually design and build anything from a Richard Meier to a skyscraper, but I’m starting by building a brick fort in the back yard and I don’t know the first thing about masonry, the various types of bricks or what the heck to do with mortar.

As I knew, the code I wrote last week while “spiking” through my command-line tic-tac-toe app violated quite a few principles and had plenty of “smells” emanating from it. This week’s big challenge is to blow it apart into clear, clean, SOLID, tested code. While I feel like I understand the bigger concepts of what I need to do, it’s the laying of the bricks, the spreading of the mortar and figuring out how the heck to keep the walls aligned that I’m struggling with. With Rails I at least knew what to do with a hammer and nail, but those tools won’t help me much now.

Fortunately there are a couple of encouraging things to keep me plugging away. The first is the camaraderie amongst the apprentices at 8th Light. A lot of the time it’s like a study hall around the office as everyone focuses on their learning, but everyone also tries to help each other out and make themselves available to each other for questions. There’s been some excellent diversions too: last week Mark practiced his bowling kata for a few of us, today Cymen worked on explaining LSP for us (a lot of us have the same questions about it), and Ben and I also took a much-needed jigsaw puzzle break this afternoon. The other encouraging thing is that when I think back to the first week of Code Academy and just how “in the weeds” I felt then. Eventually I got it and I learned how to build some stuff. I know that as long as I keep working away I will this time too.