Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

161–170 of 422 posts

Re: Learning to program is getting harder

#161

I remember when I was first learning Java, whacking my head repeatedly against all these sorts of problems - WTF is a JRE vs. a JDK, why is it asking to install a browser toolbar, WTF is Eclipse and why doesn't it just let me run the file that I'm working on without going through half an hour of researching "Run configurations" and classpath BS first, etc. It was doable, but as a new person to the whole ecosystem, it…

> Python environments are particularly bad, IMO because of screwy webs of dependencies that more often than not fail to install cleanly and the Python 2 vs 3 split.

Which is why Python virtual environments are a thing, and I feel like more people should be taught to use them routinely.

Re: Learning to program is getting harder

#162

Earlier quoted context omitted.

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.

I confess, I was very guilty of that at my old job, which was very fast paced. Whenever reflexively closing the pop up resulted in things not going as I expected, I would, indeed, do it over, slow down and carefully read the messages.

Re: Learning to program is getting harder

#163
post #68

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…

There's lots of money in computers, which has increased the proportion of graduates who know only how to add an IDE to the factory install of their computer. I saw this a lot back in my desktop support days.

This brings up another interesting point... "back in my desktop support days."

I had a few jobs once out of college (phone support, QA (before automation was much of a thing), sysadmin, back to phone support) before I got a programming job. That was a good two years out of learning the other parts of a computer. It was because I knew perl that I was able to do the sysadmin - web programmer transition.

That wasn't too unusual of a path back in the mid-late 90s.

A good chunk the developers over in the engineering department and nearly everyone in the programing wings of IT and customer support had done tech support or system administration. It was just part of the "working your way up" within the career path.

Many of my classmates in college went to a "the computer guy" job which did all of the computer stuff for a small company (hardware, software, helping with excel, writing programs to serve dynamic text to the web server). Being a computer person back then was a much more generalized skill set.

As an aside, recently I was tapped on my team (Java developers) to do work on an older website. LAMP. I had to brush up on Linux from the past decade (I was another decade out of date with some of the package management)... but being able to do that sysadmin, read perl (I know of one other perl coder in the department, but he doesn't have any sysadmin background) and get it running was a skillset that didn't exist much of anywhere else.

Re: Learning to program is getting harder

#164
post #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?

That certainly is what you need to get past the interview.

Re: Learning to program is getting harder

#165

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).

> why 8.3 filenames

Why is that, exactly? I grew up in that era, I remember when floppies were actually floppy, and I've been well into computers ever since, but I don't believe I could tell you why. If I had to guess, I'd guess that FAT used a fixed number of bytes for each filename.

Re: Learning to program is getting harder

#166

Earlier quoted context omitted.

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).

> why 8.3 filenames Why is that, exactly? I grew up in that era, I remember when floppies were actually floppy, and I've been well into computers ever since, but I don't believe I could tell you why. If I had to guess, I'd guess that FAT used a fixed number of bytes for each filename.

It did.

Re: Learning to program is getting harder

#167

Earlier quoted context omitted.

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).

> why 8.3 filenames Why is that, exactly? I grew up in that era, I remember when floppies were actually floppy, and I've been well into computers ever since, but I don't believe I could tell you why. If I had to guess, I'd guess that FAT used a fixed number of bytes for each filename.

Yep you got it. My first actual PCs (I don't count the Apricot PCs haha) were DOS 3.3, and I still remember the transition away from 33MB partitions although it's so long ago I can't remember if that came in with DOS 4.0 (abort abort!) or 5. I thought I was so cool having a PC with drives A B C D E F G H I.

Re: Learning to program is getting harder

#168
post #150

Earlier quoted context omitted.

I think that's a side-effect of degrees that focus only on coding or applied math, whereas before the computing industry was as developed as it is now and there was less specialization within it, a CS degree would have covered the basic data structures and algorithms that were common knowledge then and still had plenty of time to cover systems things. My degree wasn't in CS - it included basically a CS minor, but it…

Reminds me of a recent interview where they asked me, "How does the client to a server?" I replied "over the socket" To which they replied, "Using REST over HTTP" ¯\_(ツ)_/¯

I would have murdered them on the spot for that response

Re: Learning to program is getting harder

#169
post #60

Earlier quoted context omitted.

I'm and older programmer. I learned how to build a computer because my parents scraped enough money to buy a computer when I was young, but not wealthy enough to get it fixed when I inevitably broke it. This was back when PCs were friggin expensive as were parts. Fellow computer friends (we had few back then) would let each other borrow hardware (parts) and whatnot, so we had to learn how to install it and configure…

I tried hosting my own mailserver out of an ec2 instance in an excercise. Learned lots in those hours and hours

It took me a month to setup a mail server including redundancies. But now I can postfix like none other :)

Re: Learning to program is getting harder

#170
post #163
post #68

Earlier quoted context omitted.

There's lots of money in computers, which has increased the proportion of graduates who know only how to add an IDE to the factory install of their computer. I saw this a lot back in my desktop support days.

This brings up another interesting point... "back in my desktop support days." I had a few jobs once out of college (phone support, QA (before automation was much of a thing), sysadmin, back to phone support) before I got a programming job. That was a good two years out of learning the other parts of a computer. It was because I knew perl that I was able to do the sysadmin - web programmer transition. That wasn't too…

I was telephone support for people installing freeview boxes in the UK in the early 2000s. Same skills. Same skills as programming your VCR without the manual. Same skills as getting Doom to work over a direct pc to pc connection. None of that crap worked first time. We had to learn how to debug to get basic stuff working.

In some ways computers are too usable these days. In other ways the experienced programmers are too sloppy and put in too many barriers to get their tools to work flawlessly in the modern world. We don't live in the tinker world any more.

But ultimately to be a good dev you must learn to debug.

Hard problem to solve.

Post reply on HN