After coming to terms with my inability to follow the 100 Days of Swift timeline, and sacrificing a chicken to the time management Gods; I am ready to start where I left off. Well technically it wasn’t a chicken sacrifice as much as it was a bucket of chicken from KFC because I was hungry and didn’t really want to cook. But it was delicious especially with the mashed potatoes and biscuits with honey.
My dinner plans not withstanding, it was time to restart my journey into the mystical arts of programming in the Swift language. The first twelve days consisted of short one-minute videos on fundamentals of Swift followed by sometimes tricky quizzes that were part testing what I learned and part making sure I was properly reading the questions and noticing things like mis-spelled variable names or other trivial coding errors that each of us have made and cuss when we realize that is why the code was failing after what seemed like prolonged troubleshooting of the most complex portions of our apps.
A note to all programmers, start looking for the simple errors first. It is normally our desire to put code to paper that results in easy errors. A programmer’s ego many times gets in the way and we forget about the simple things and focus on the difficult parts. The mantra of simplifying chaos goes not just in how we design things but also in how we troubleshoot them.
Back to the point at hand. After going through all of the fundamentals and learning those, Paul Hudson has introduced us to the notion of “Consolidation Days”. These are review days where for the next three he will go back through the fundamentals and explain them again this time with a little more context. This is a brilliant idea and one we should all follow as we mentor others in becoming developers.
When a concept is introduced, the student in many cases is unaware of how or where it fits in the overall scheme of things therefore, they are taught simplistically. But as additional fundamentals are introduced the context begins to be clearer, so it is beneficial to go back and re-introduce nuances to the terms now that the student has a better understanding.
I’ll admit, at first I was slightly bored and a little frustrated when we started back at understanding the difference between a variable and a constant but it helped to remind myself that in order to build a house you must have the proper foundation using the right materials otherwise it will not stand the test of time.
Furthering the building analogy, rarely does just one person work on a house. It is therefore imperative that we have some level of consistency in how we use materials or document the work we are doing if we expect someone to be able to look over what we have done to make sure it is accurate.
Given this new understanding of why consolidation days are important I rolled up my sleeves and re-focused me efforts to make sure I have the proper frame of mind and necessary understanding to build a better application that both I as well as other developers who may follow can understand and work with.
So I wish everyone a Happy Consolidation Day! Don’t forget to set your stockings out so that Swift Claus can fill them with goodness and be sure to set out a few cookies and a Monster drink to keep the old elf going through the night. He has a lot of programmers to visit before morning.
0 Comments
Trackbacks/Pingbacks