Learning to code has been a big topic of conversation in the US lately. Everyone from NBA superstars toPresident Obama is weighing in on the subject, and some Congressmen are even putting forward plansto allow programming to count as a foreign language credit.
Today, U.S. Rep. Tony Cárdenas (D-San Fernando Valley) introduced the 416d65726963612043616e20436f646520 Act of 2013, also known as the America Can Code Act. This legislation would designate computer programming languages as “critical foreign languages” and provide incentives for state and local schools to teach more computer science beginning as early as Kindergarten.
“The very name of this law demonstrates that programming is simply another language,” said Cárdenas. “Learning and communicating in a foreign language can have a tremendous impact on a student, both culturally and educationally. Computer programming creates a similar impact, while also providing a critical skill in today’s global economy.”
Barracuda has a strong interest in a talented pool of programmers, so this is an issue that has our attention. We asked Blair Hankins, our VP Engineering, to tell us what he thinks of the idea.
It’s great that people are talking about students developing programming skills at a younger age, but I don't believe being literate in programming is required of society in the same way that people need to be literate in mathematics and language. People need those basic skills to participate in nearly any activity and to be effective in a broad range of jobs. Most office jobs use software as a tool, but how many people need to know programming to use a spreadsheet or an app on a mobile device?
That said, I have found that engineers who start programming in high school or earlier have an advantage over someone who starts programming as part of a college computer science curriculum. I have interviewed quite a few recently graduated CS students over the years who really are not competent programmers. They have good grades, understand computer science principles, and yet are just not able to hammer out great code or develop solid designs.
Good programmers have a talent to keep a lot of complex relationships in their head all at once and can see the bigger picture of the design while doing the detail coding of some module. Some people seem to just have that talent; others develop it with a lot of programming experience.
In this article, Jeff Atwood argues “If you do want to code, and you're really serious about it, the resources are there for you to do it on your own”. I agree, but introducing programming earlier in the educational process would broaden the number of people who discover that they love programming and are really good at it.
You may remember Blair from our various programming contests that we've held over the years. Here he is (on the left) with a winner from our recent University of Michigan contest.
If you'd like to get in touch with Blair, you can hit him up on Twitter @blairhankins.
For more information on learning to code, you can visit resources like Codeacademy, Hour of Code,Lifehacker, and Udacity. These won't teach you to be a software engineer, but you can learn a framework and some basic concepts, such as conditionals and loops.
Questions or comments? Let us know what you think!