Thursday, June 25, 2015

Let’s Not Go Crazy With Coding For Kids

Let’s Not Go Crazy With 
Coding For Kids

Let’s Not Go Crazy with Coding for Kids
By Howard Tullman
I started writing computer code when I was in high school in a special program at the Illinois Institute of Technology. This was in the early ’60s and long before there was such a thing as a personal computer.  I continued coding through my college years where I distinctly remember carrying rubber band wrapped decks of punch cards to the Vogelback Computing Center at NU every night and praying that there’d be some decent output the next morning when I returned to pick up my job. In the early ’90s, I designed and developed computer games for multiple platforms. So I’m a geek to the gills and no one believes any more than I do that computer literacy is an absolutely essential skill for students in this country if they want to have even a fighting chance of succeeding in the digital economy.
Scaled Image
But having said that, I think that there’s a material difference between computer literacy (which I think of as awareness and curiosity) and simple computer coding (which I think of as learning some specific skills and processes). Parents today, along with older job seekers and career changers who are also prospective students, have to be careful to make sure that they don’t go crazy with coding. Learning to code is a desirable skill to be sure, but it’s just that. It won’t make your kid a better person. It’s not a solution to all that ills civilization and it’s certainly not the right path or course for everyone, at least not until their expectations and aspirations are properly aligned with a realistic view of what they can expect at the other end of the process. And for adult “students”, they too need to appreciate that it’s not a cure-all; it’s not a business in and of itself; it’s not a shortcut to building an earthshaking application; and it’s not even a certain path to a dream job. It’s a great beginning and a solid foundation to build on.
Of course, if you don’t care where you end up, then any path will get you there. Taking a coding class is as good a way as any to spend some money and kill a few weeks or months and for high school kids, it’s a great addition to their future college applications. But if you’re going to make the investment of the necessary time and money, you should also give some thought to where you’re headed and why. And if you’re trying to move your own work life forward, upskill your capabilities, or give an edge and some valuable education to your kid, then it’s really important that you understand what anyone can and should realistically expect when they set out to learn to code. There are terrific reasons for almost anyone to take the plunge, they’re just not the ones you might typically expect.
Coding is a tool, it’s like a ladder which will get you to a higher place, but what’s the point if there’s nothing for you on the top shelf when you get there? You can’t exercise your skills in the abstract or in a vacuum. You need to apply these new skills to important problems which people will pay real money for you to solve. Otherwise, the truth is that basically after all that time and money, you’ll be all dressed up with nowhere to go.
Given the rapid rate of change in the tools and platforms that we are using every day, it’s also important to understand that the specific technical skills that you learn in even the best programs at the best schools will go rapidly out of date or out of fashion. But that’s completely OK and to be expected, because the real value of learning to code isn’t in the mastery of the tools; it’s in the development and the internalization of the rigor, the analysis, and the critical thought processes that are the crucial foundational skills of all great programmers. The true value of these programs is in the learned processes and not in the typically trivial outputs. I’m almost certain that the world doesn’t need another scheduling service or sharing site. But we need all the critical thinkers and change agents that we can create.
And frankly, these should be the skills that smart parents want to equip their kids with as early as possible, because they are life changing. Not mainly because of the implications for heightened college admission or employment prospects, but because (just like debate class or chess club) they provide your offspring with a methodology to approach and attempt to resolve whatever challenges and problems they will be facing in the future. They won’t be put off or paralyzed by these prospects, they’ll have learned to take them on and vigorously attack them, to find the critical path through or around the problem. I call this “approach behavior,” it’s leaning into the wind and moving forward rather than standing still or turning away from difficult situations. And it’s a powerful life skill for anyone.
There are a few other invaluable skills and ideas as well (the ABCs) which coding teaches and these are the real outputs that matter in the long run. There are others for sure, but here are my most important ABCs:
(A) Approximation
Successive approximation is better than postponed perfection. Done (for the moment) is always better than perfect sometime down the line because the world isn’t waiting for you. You learn early on in creating code that it’s a constant series of small steps with a ton of failed attempts included, which slowly get you to the end result. Each accomplishment is itself only the next level in the process. There are no shortcuts, and doing things right takes time and patience. All of the great ideas are cumulative. They incorporate disparate components and elements, which eventually combine to deliver a solution. This is broader and more effective than anything that came before. But nothing ever happens if you don’t get started.
(B) Better and Better
Code can almost always be faster, cleaner and more efficient. You want to copy everything that came before (except your mistakes) and make it even better. Raising the bar, constantly iterating, and building upon your successes is the reason that there’s never a finish line in these businesses. It’s also because every business today is engaged in an arms race with tons of other people (copycats, fast followers, etc.) who are running right behind you and going to school on your code and your solutions so they can build quicker and cheaper ones. If you don’t constantly improve on (and even cannibalize) your own products and services, you can be sure that someone else immediately will.
(C) Curiosity and Confidence
The best competitors today are those who are constantly learning and re-learning everything about their businesses. This requires an openness to change and an immense curiosity which continues to ask how things can be improved and why things are still being done in certain ways. Entrepreneurs see the same things that everyone else has seen, but think about them in new ways, and they are willing to explore new alternatives. Coders share this same type of unrestricted perspective. They rarely ask why; they always ask why not. One of the most satisfying parts of the entire development process is when you get the rush of excitement as you come to understand something you’ve known all along, but in a new and different way. Daily epiphanies; adrenaline bursts; and the alchemy of creating something from scratch are some of the greatest joys of the job.
Howard A. Tullman is the CEO of 1871–Where Digital Startups Get Their Start, and is also the General Managing Partner of G2T3V, LLC and of Chicago High Tech Investment Partners. He is a member of the Chicago NEXT & Cultural Affairs Councils and the Illinois Innovation & Arts Councils; an adjunct professor at Kellogg; and an advisor to many start-ups. He is the former Chairman and CEO of Tribeca Flashpoint Media Arts Academy. Over the last 45 years he has successfully founded more than a dozen high-tech companies.

Total Pageviews


Blog Archive