I was reading an article on Slashdot, by far my favorite website. The Slashdot posting linked to this original article, The programming talent myth. The article discusses this perception that programmers are either rock-star-ninjas or barely able to string to strings together (that was a programming joke by the way).
However, the author, who is very accomplished as a programmer and technology professional says something very compelling, and something very applicable to the whole of education,
If the only options are to be amazing or terrible, it leads people to believe they must be passionate about their career, that they must think about programming every waking moment of their life. If they take their eye off the ball even for a minute, they will slide right from amazing to terrible again leading people to be working crazy hours at work, to be constantly studying programming topics on their own time, and so on.
The truth is that programming isn’t a passion or a talent, says Edge, it is just a bunch of skills that can be learned. Programming isn’t even one thing, though people talk about it as if it were; it requires all sorts of skills and coding is just a small part of that.
I felt like I was a bad math student until I was almost 24 years old. I was so convinced I was bad at math, that I assumed I would be awful at programming. I would always work with technology that was based in or around some environment that aided me in development.
Then one day, as these stories go, I saw an interesting book, and randomly bought it. I literally judged the book by the cover. The book was titled Fermat’s Enigma: The Epic Quest to Solve the World’s Greatest Mathematical Problem.
I began reading it, prepared to skip the math and get to the story. However, this was impossible, as the math was the story. I learned many interesting things. First off, all these “good at math guys” were normal people with mostly boring jobs who did math as a hobby. Second, I was able to actually understand and do the math. How was that possible? How could I, someone who had always struggled with math textbooks, read and understand this book about mathematics?
The reason I could understand it, was because I could read, and this book was written for normal people, unlike a textbook which is written to help teachers plan and meet standards. All I needed was to read the information in a different way, and then have the resources required to look-up things I was confused about.
Once this small break through happened, I started programming for real, and from scratch. Whenever I would go to online forums, I would feel like a fool because everyone seemed to be a rock-star-ninja. I did not let this bother me though, I persisted. I realized I would often only have time to program a few hours a week or sometimes only a few hours a month. I was not a programmer, I was a teacher with a full-time job. These forum ninjas were probably living the life of a programmer, and working on their skills full-time.
As time went on I wrote programs for operating systems, websites, DVDs, etc. I eventually started teaching programming, and often would question if I was doing the right thing being a teacher, while not being a rock-star-ninja. I found that when I have very talented students, they could easily learn programming faster than I could, so I would help them learn things like project management, documentation processes, and how to speak to people normally. I reminded them that in the real-world they would have clients, and those people would not want to deal with someone wearing all black and missing three days worth of showers.
For the majority of students, who were simply average at programming, I told them my story. I showed them things I had done in the past, and made it clear that they were in fact able to do more than I had done because they were starting younger. I expressed to them that having a good idea would drive their work and help them find people to assit them when needed.
This journey continues. Programming turned into competitive robotics, and now in 2015, drones and 3D printing are the new challenges.
The key theme with the article that inspired me to write this, and my personal experience, is alienation. I was alienated, or isolated, from mathematics. I was separated at an early age by perception, from groups of people who were considered competent. This happened to me before high school. I believed firmly by year 7 that I was a bad math student. By all local measurements, I was a bad math student.
As I witness schools pushing to increase programming competency and standardized test scores in math, I begin to worry. I do not think any broad curricula, such as AP and IB, are as holistic as my programming curriculum. I think their learning objectives are driven by quantifiable outcomes, just like standardised math testing.
How can we measure all the pieces required to actually make something useful with measurement tools designed to evaluate a single answer? When do we start teaching students all the other skills they need to create, regardless of whether or not that creation is in code or in some other medium? Those skills being and not limited to, project management, planning, design,team work, testing, budgeting, etc.
If you did not know, the guy at the top is MacGyver. MacGyver’s character was always presented as a logical jack-of-all-trades who could find solutions to unpredictable scenarios. I would rather have more MacGyvers than rock-star-ninja’s, because MacGyver can adapt and learn and find new solutions to a larger variety of problems. MacGyver can be a programmer when needed, logistician, a statistician, a salesperson, an entrepreneur,etc. I have a feeling MacGyver was a B-C student, who cared more about the why than the how. MacGyvers are going to understand the core and not just follow the common core.