Ack Shu Ally

On the one hand, this article, by a Joe Morgan, explains why he is rejecting the “Learn to Code” meme, especially as applied to his kids under the chanting point “coding is the new litracy”:

I’m a Developer. I Won’t Teach My Kids to Code, and Neither Should You.

Now, in my opinion the presented reason is a little specious:

Coding is not the new literacy. While most parents are literate and know to read to their kids, most are not programmers and have no idea what kind of skills a programmer needs. Coding books for kids present coding as a set of problems with “correct” solutions. And if your children can just master the syntax, they’ll be able to make things quickly and easily. But that is not the way programming works. Programming is messy. Programming is a mix of creativity and determination. Being a developer is about more than syntax, and certain skills can only be taught to the very young.

Sure.

And by the exact same logic, one shouldn’t teach your kids to read, write or speak your family’s native language, or any others, since you can say exactly the same thing about verbal and written expression; it’s more than just stringing words together, as anyone who’s had to listen anyone trying to do a foreign language out of a phrase book can tell you.

Of course, Morgan is right about what’s really behind “coding”:

That feeling of quality is the hardest thing for many developers to master. Well-designed code feels good to work with, and ugly code will make developers involuntarily cringe. The best developers learn to fuse abstract logic with the sensitivity of an artist. Learning to trust that aesthetic feeling is as much a part of development as any algorithm or coding pattern.

That’s true – just as it is for written and spoken language. Or anything involving having to think critically, to reason and to work one’s way through a complex system, whether language or software engineering, politics, sales, or human relationships for that matter.

But the reason I, as a non-coder who works in a roomful of software engineers, cringe when I year people whose jobs don’t involve “coding” telling people who’ve just lost jobs to “learn to code?”

Because if you hitch your wagon to “code’, your job is as secure as the next country full of low-priced developers allows it to be. We spent the 2000s shipping software engineering jobs to Russia and India; in the 2010s, Romania and the Philippines and Slovenia and even Bolivia started taking development jobs.

It’s entirely possible coding will be to the 2020s what assembly line work was to the 1970s.

Learn to think.

9 thoughts on “Ack Shu Ally

  1. Something I didn’t see in the article was something I’ve observed more than once during my tenure at my current employer. We have a division in India, and I’ve worked with and mentored some of their software engineers coders. Most of them are good at solving the problem, but due to a variety of cultural influences, their brains are not trained to code solutions in the “problem domain”. Consequently, their code solves the current problem. Then an outlier condition prompts them to fix a slightly different problem. Soon, you have what I once heard described as “Else-if-heimer’s Disease”, or “spaghetti code” as it’s more commonly known.

    The problem is that most project managers I’ve met don’t care if the code is well-designed, or structured, or designed for low-cost maintainability. They want it fast. They don’t care if the product is indistinguishable from what comes from a sausage factory.

    When I first started out, I probably wrote code as bad if not worse than my colleagues in India. But experience taught me to take pride in the design: It made it easier to read, not just for others, but for me as well (especially after revisiting the code after a couple of years). But I was a schmuck for caring: Project managers that don’t have a background in software development see code as a disposable commodity, something to be replaced instead of maintained. Why not? That’s where the money’s at.

    The same could be said for spoken and written language: Some schools don’t teach cursive anymore, partly because of the lower demand for handwriting in our digital society, but also because the teachers don’t necessary know it either. Sentence structure and proper grammar? Not as many people care these days, putting way too faith in software-based spell- and grammar-checkers. This sloppiness is merely encouraged by social media’s notion of bite-sized ideas and concepts– why waste time and waste characters on punctuation? My dad’s late sister, a former English teacher, would send my dad an e-mail, and he’d send it back with spelling and grammatical corrections. The response from this retired schoolteacher? “It’s only e-mail.”

    Consumer goods, software, and now language. All disposable.

  2. Did I misunderstand something? Because if I didn’t I’d have to say that this is a real dopey post of words just strung together.

    No, kids *should not* be taught to code by their parents. The parents should teach or coach or just insist that their kids read well. And write well. And “figure” well. Kids who can do these three basics along with exhibiting an interest in computers and programming, could be talented if perhaps good programmers. And especially if they show that interest at an early age (like how many kids learned BASIC – is that even possible anymore?). In short, there is nothing wrong with that so-called specious paragraph.

    And the dopey ending that discussing programming as sweat-shop activity? Taking place in 3rd world countries? Those programming sweatshops in every country have proven to be utter failures to everyone who knows what they’re talking about. Which unfortunately doesn’t include executives of a whole lot of companies that employ programmers. There may well be good or even great programmers in Bolivia or the Philippines but they are few and far between, just like they are here. Good programmers and good programming is not a sweatshop activity.

  3. Most “learn to code” vectors involve teaching people to write efficient sort algorithms. That’s a kind of mid-level thing. When you have to do something with a lot of disorganized data, the first thing you have to do is sort it properly.
    The history of computers is part technology and part mathematics. The mathematical idea behind multi-dimensional databases emerged around 1970. And, really, you could have done that with file cabinets as well as with electronics (though at a considerable hit to efficiency :)).
    I am convinced that if efficiency in computing cycles & time was not important, you could anything you want a digital computer to do by using SQL.

  4. “Because if you hitch your wagon to “code’, your job is as secure as the next country full of low-priced developers allows it to be.”

    Reaming out plugged sewer lines may not be glamorous, but it’s not something that can be outsourced to Mumbai.

  5. Come on guys!

    You know that you can tell how good a programmer is by the size of the Mountain Dew bottle on his desk. 😉

  6. Come on guys!

    You know that you can tell how good a programmer is by the size of the Mountain Dew bottle on his desk. 😉

  7. don’t you love it when Bill Gates and Tim Cook are telling the government how to educate your kids?
    Cuz they know what’s best for America!

  8. Pingback: In The Mailbox: 10.14.21 (Morning Edition) : The Other McCain

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.