
One Month as an Apprentice
Reflecting on my first month as a Clean Coders Apprentice
Written by: Alex Root-Roatch | Friday, June 14, 2024
The Clean Coders Environment
The concept of apprenticeship is far less common in today's society than it used to be, and that's a real shame. As company's tighten their purse strings, they become less willing to train junior talent and deal with the decrease in productivity of their senior employees as a result of spending time training new hires. As a result, it gets harder for new people to get a foot in the door.
The very fact that Clean Coders has an apprenticeship program says a lot about the company culture as a whole. It's not the proverbial cutthroat corporate environment where everyone is competing for the top and stepping on their coworkers to get there. Everyone there has been extremely welcoming and collaborative. Asking for help is encouraged, and a mentorship mindset pervades the culture.
As a self-taught developer, this was perhaps the most exciting thing about Clean Coders. Being able to come up with code that does what I want it to do is one thing, but knowing if my code is well-written is another. Having my code reviewed by highly-skilled developers that want to help me improve really takes my coding skills to another level.
The Work
The first month has consisted of learning a lot very quickly. Everything is done in Clojure and IntelliJ, so there's learning curve of a new coding language and IDE. Clojure is an especially unique language in that it is a purely functional LISP-type language, so while languages like C++, Python, JavaScript, and Java have syntactic similarities, Clojure sometimes feels like learning to code all over again.
Not only is everything done with Clojure, everything is also done with the Test Driven Development approach. As someone who didn't even know how to write tests for my code, having to write the test before being able to write any code was a big learning curve, and one that continues to trip me up.
On top of that, the first month also consisted of learning Clean Code practices and SOLID design principles through watching Uncle Bob videos on the Clean Coders site, which comprised over 14 hours of content.
The steep learning curve has been challenging, but in a rewarding way rather than a discouraging one. It's the kind of feeling you get when you move up to heavier weights in your workout - you know it's going to be hard and might even feel overwhelming, but you know it'll feel good to complete it, and you're going to be stronger for it.