I hit my parking space around a quarter after seven Monday morning, strap my ears on and head into the building to make the first pots of coffee. It’s a new cohort, and I’m excited to get the day started. I’m finding there’s nothing like breaking in a new batch of students. There are expectations to set, procedures to cement in place, and of course, tons of material to cover.
This time around, I have their names down in the first three days. That’s right, I know who they are, I know when they are here, and when they aren’t. I know when they’re asking questions, when they’re getting it, and when they’re struggling. My task over the next eleven weeks is to turn these new apprentices over to their server-side instructor with as much knowledge and as many tools in the right places as I can. My goal is to equip them with better overall knowledge than the previous cohort, so they can really focus on advancing their understanding of back end concepts and technologies. This is why I get up in the morning!
With the first full week coming to a close, I’m just beginning to look into their github repos for a much deeper understanding of what skill levels these fledgling developers are bringing with them and gaining insight into who I will need to work closely with over the next few months. Some will reach comprehension of basic concepts fairly quickly, and some will struggle for weeks.
Even so, if there's a common thread running through all NSS students, it's the idea that software is hard.
As I clone their projects down to run them, I discover patterns that help us adjust the way we teach and strengthen the core of our curriculum. This week it’s whitespace. At the very least, in one of each student’s repos I find an opportunity to teach them about whitespace and why it’s important to not leave it hanging around in their committed code. Since we are currently talking about git and github, I can frame the reasoning in a contextual manner that helps them understand the concept.
For each of them I make a comment in their commits on the line where I see those bad practices manifesting. I give them information about modifying their text editor’s settings so the whitespace is trimmed on save, and I leave it at that for the weekend. Inevitably, one or maybe even a few students send me a DM telling me they’ve added the line to their settings file, but they aren’t sure if it’s working or not. This is exactly what I’m expecting because now on Monday, I can show them how to install the package that will enable them to see their whitespace live in the text editor building one concept upon the previous, et cetra, et cetra, ad nauseum.
Teaching best practices to novices is a surefire way to create proficient future ambassadors in the community, and if NSS is effective in the community, the NSS community is effective. Creating stories with conceptual context is where I can let my creativity flow in these series of curricular progressions. It stimulates students to think practically and gives them a frame of reference for recollection. My hope is that it cultivates an environment of innovation and ingenuity, and as we build increasingly more material on top of these foundational principles, grants our newest software developers learning techniques that will aid them as they discover and hone their new craft.
Greg Korte is a graduate of Cohort 7 and is currently a teaching assistant for Cohort 19.