Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

151–160 of 422 posts

Re: Learning to program is getting harder

#151

I got my CS degree in 2012. It was kinda scary how many students were on the verge of graduation, and were unable to use a terminal, use SSH, or tell you what git is (not that I know exactly o_o). Those aren't particularly complex concepts. It is definitely partially the schools fault, but CS is also a field where you have to have some interest in what you do. You can't just go through the motions.

Hey, they can traverse trees though! Isn't that what you need for the job?

Re: Learning to program is getting harder

#152

Earlier quoted context omitted.

Why didn't you just buy the Commodore Programmers Reference Guide[0]? It had an entire guide to C64 machine language, and circuit schematics . The book even tells you to buy the 64MON cartridge if you're serious about programming in assembly. This book wasn't rare. A friend of mine had it, we lived in the middle of nowhere. These programs and cartridges were not rare. I had multiple catalogs for buying these things a…

Funny... I didn't even know that book existed until I was a few years into learning how to program my C64. I honestly thought you were supposed to figure things out by randomly PEEKing and POKEing addresses to see what they did. I had complete tech illiterate parents and no mentors existed to point me in the right direction. I remember visiting some other kid who had a C64, and his dad had given him the Programmer's…

I thought the guide that came with the C64 mentioned the Programmer's Reference Manual. I remember asking my dad to get a copy and he told me that I had to finish the first book before we could get it.

> I cracked that book open and my mind was blown!

I really wish I had had the opportunity to read through one when I was younger.

Re: Learning to program is getting harder

#153

Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…

That's something that shocked me as I began to help onboard new developers. Some of them can't set up an IDE, local server, or get a build to compile in the first couple of days. Onboarding documentation is key to smoothly integrate new team members if your process is convoluted. Even without documentation I feel like guys should be able to get projects up and running just by having general familiarity with how most set ups are configured. My first "project" as a newbie developer was performing pseudo dev ops setting up continuous integration and then creating a project set up guide for the existing project, with no help.

Re: Learning to program is getting harder

#154
post #84

Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…

I absolutely agree with your first few paragraphs. As a hobbyist before I was a professional (Linux desktop since '95), I'm surprised when I meet people who have a technical skill but not a hobbyist background. I first encountered it with Oracle DBAs who sometimes were amazing at Oracle but had rudimentary Unix skills, and that's becoming more commonplace as people do things like phone app development but without the…

> In many ways, it feels like worlds are diverging.

We are specializing.

Enterprise shops have always wanted stability, and so they develop ever more elaborate build processes to control exactly what versions go into production. Embedded systems have always wanted to run only what needed to run, and so we have developed ever-improving systems to pick out only exactly what needed to be run. Developers, in the meantime, have always wanted the newest and shiniest, and so have gotten 10,000 ways to install newer and shinier toys.

Edit: typo

Re: Learning to program is getting harder

#155
Recently, I've experienced working on a remote server. It was a real pain. You need a crazy fast connection to be productive. Otherwise, you're stuck waiting for changes to save, for pages to load, etc. Of course, you can only hope the network doesn't break down or the cloud IDE company makes a buggy deploy.

As a remote developer, I like working in different places. These places don't always have nice internet. Working with a local environment and 4g connection is fine, because 4g is more than enough to look up docs. But working with a distant environment and 4g connection is very slow and unreliable.

Nowadays, a lot of people praise the "cloud" or everything. Use APIs for everything, Use public CDNs to load up bootstrap and jquery. Use an online IDE. Make a hosted Git service an essential part of your workflow. The thing is, not only do these services occassionally break, but some might get compromised (https://techcrunch.com/2018/02/12/browsealoud-coinhive-moner...) and some even ask you to install closed source binaries to your system without any idea of what's in it (keylogger, ransomware, anything is possible).

Given all that, when I read that using a local environment is "anachronistic", I can't help but cringe.

Re: Learning to program is getting harder

#156

Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…

I agree completely --- being one of the "older programmers" --- and think it could be phrased thus: a new generation of "coders" is being forced to learn how to write instructions for the machine, when they are barely computer-literate.

Having taught some introductory CS courses a few years ago, the amount of struggling with basic things like file naming, directory hierarchies, and even simple hardware use was a constant distraction.

On one memorable occasion, I had to help a student by turning on the monitor: he would sit down at a workstation, move the mouse and tap the keyboard, and seeing nothing show up on the monitor after a moment, go to another unoccupied one. I watched, without intervention, him try this with all the unoccupied workstations in the lab until he finally came to me and said, in an exasperated tone, "all the computers left are broken!" I lead him over to one, and upon pressing the power button on the monitor, the expression he made was quite unforgettable...

Re: Learning to program is getting harder

#157

Earlier quoted context omitted.

Visual Studio, Jetbrains, if you happen not to have a fast internet connection and SSD can take a long time.

Having to wait an hour for a download/install to complete is completely different from requiring an hour of browsing stackoverflow to figure out why the CLI install instructions given aren't working on your device.

You're not exactly wrong, but are we not still comparing to "turn computer on, get BASIC prompt" (C64), or "turn computer on, type 'qbasic', hit enter"?

Re: Learning to program is getting harder

#158

Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…

I've never met a good programmer that wasn't (at least initially) self taught. Presumably they exist, but I've never met one.

I do agree though, I find when I'm teaching my juniors I sometimes have to give a little history lesson as part of it (things like why 8.3 filenames).

Re: Learning to program is getting harder

#159

Recently, I've experienced working on a remote server. It was a real pain. You need a crazy fast connection to be productive. Otherwise, you're stuck waiting for changes to save, for pages to load, etc. Of course, you can only hope the network doesn't break down or the cloud IDE company makes a buggy deploy. As a remote developer, I like working in different places. These places don't always have nice internet. Worki…

This really just sounds like issues with whatever web IDE you are using. Remote development does not need to be a huge pain like that.

Re: Learning to program is getting harder

#160

Earlier quoted context omitted.

I too am obsessed with computers, and will push through "helpdesk" type issues to get my work done. However, I don't consider that to be a remarkable skill. Such issues can almost always be resolved with a bit of googling. Perhaps I'm too close to see the foundational knowledge I'm depending on, though.

Here's the thing: You need to know what to look for. You can't just google "The internet won't work" or "blue screen help" or "I can't see files". Web search is a super powerful tool but it requires some fundamental knowledge before it can help.

Actually reading error messages is an apparently very rare skill. Almost always, if you just google what it tells you, you'll hit something... Yet I constantly see people automatically click through popups milliseconds after they appear, only to fume about things not working. It takes a surprising amount of effort to get them to do it over and slow down long enough to figure out what went wrong.
Post reply on HN