I learned to program at age 5 by typing BASIC programs from a booklet into a computer with 4K of RAM that didn’t have its tape drive and so had to be reprogrammed each time it was turned on. After a short while I started typing in programs that weren’t in the booklet.
If you have Programming 3 as a character trait, code in a language like Python should just make sense the first time you see it, and from there to an entry-level programming job will be a very short trip. If you have Programming 1, you can learn to program by taking classes on it, but then it’s not a short trip to a programming job. The idea here is that there’s a large class of underpaid people who can become entry-level programmers almost instantly, and that “look at a page of Python code” is a cheap test which will uncover many of them very quickly.
It would be nice to have a standard page of code for this purpose. For that matter, it’d be nice to have a public-facing website with the “Are you a natural programmer?” test which directed people to one of those programming-in-six-weeks-for-natural-talents thingies.
Thoughtworks’ interview process involved a test which I thought did a great job of testing programmatic thinking while not requiring previous knowledge of anything beyond arthimetic. Unfortunately it’s not publically available, but I may write up a couple of similar questions.
.. then this PSA does not apply to you, as you would have been programming already, given the abundance of situations where you accidentally step into programming, from Lego Mindstorms to the javascript in “view page source” in your browser. Do you know any M3 programmer who did not know that until the age of, say, 18?
given the abundance of situations where you accidentally step into programming
These only exist in particular socioeconomic situations. Most parents do not buy Lego Mindstorms for their kids.
Consider that Apple II in 1977. It cost $1300; the median income in the U.S. was $11884. The median income in 2011 was $48152, so imagine a working-class family buying a $5200 computer for their kid to mess around on. Not likely! So not many working-class kids would have one.
Today, fortunately, you can get a more powerful computer today for $25 — a Raspberry Pi. The socioeconomic situation for learning computing has changed.
It’s very easy for people to mistake their skills acquired through long and heavy practice for “natural talent” … especially if the practice didn’t feel like practice at the time, but felt like play. An unfortunate consequence of this is that people who have those skills may tend to see people who don’t have them, or who don’t acquire them rapidly, as lacking natural talent.
Or, to put it in Eliezer’s tabletop role-playing vocabulary: you have to earn the experience points before you can spend them on character traits.
I edited because the code I looked at seemed to be atypical, comparing it to what others have posted. No, I don’t think I’m M3 at all—though my father probably is, as he picked up programming in his twenties and knows many languages. As I had expected the code to look like nonsense, I was merely surprised I could get some idea about what was going on. My prior for being able to get a programming job with <300 hours of dedicated practice is low, but it could be something to investigate as a hobby.
I learned to program at age 5 by typing BASIC programs from a booklet into a computer with 4K of RAM that didn’t have its tape drive and so had to be reprogrammed each time it was turned on. After a short while I started typing in programs that weren’t in the booklet.
If you have Programming 3 as a character trait, code in a language like Python should just make sense the first time you see it, and from there to an entry-level programming job will be a very short trip. If you have Programming 1, you can learn to program by taking classes on it, but then it’s not a short trip to a programming job. The idea here is that there’s a large class of underpaid people who can become entry-level programmers almost instantly, and that “look at a page of Python code” is a cheap test which will uncover many of them very quickly.
It would be nice to have a standard page of code for this purpose. For that matter, it’d be nice to have a public-facing website with the “Are you a natural programmer?” test which directed people to one of those programming-in-six-weeks-for-natural-talents thingies.
Thoughtworks’ interview process involved a test which I thought did a great job of testing programmatic thinking while not requiring previous knowledge of anything beyond arthimetic. Unfortunately it’s not publically available, but I may write up a couple of similar questions.
.. then this PSA does not apply to you, as you would have been programming already, given the abundance of situations where you accidentally step into programming, from Lego Mindstorms to the javascript in “view page source” in your browser. Do you know any M3 programmer who did not know that until the age of, say, 18?
EDIT: Huh, may have worked for at least one person here, though probably not an M3.
EDIT2: The parent was edited after I replied, so this reply may look out of context.
These only exist in particular socioeconomic situations. Most parents do not buy Lego Mindstorms for their kids.
Consider that Apple II in 1977. It cost $1300; the median income in the U.S. was $11884. The median income in 2011 was $48152, so imagine a working-class family buying a $5200 computer for their kid to mess around on. Not likely! So not many working-class kids would have one.
Today, fortunately, you can get a more powerful computer today for $25 — a Raspberry Pi. The socioeconomic situation for learning computing has changed.
It’s very easy for people to mistake their skills acquired through long and heavy practice for “natural talent” … especially if the practice didn’t feel like practice at the time, but felt like play. An unfortunate consequence of this is that people who have those skills may tend to see people who don’t have them, or who don’t acquire them rapidly, as lacking natural talent.
Or, to put it in Eliezer’s tabletop role-playing vocabulary: you have to earn the experience points before you can spend them on character traits.
I edited because the code I looked at seemed to be atypical, comparing it to what others have posted. No, I don’t think I’m M3 at all—though my father probably is, as he picked up programming in his twenties and knows many languages. As I had expected the code to look like nonsense, I was merely surprised I could get some idea about what was going on. My prior for being able to get a programming job with <300 hours of dedicated practice is low, but it could be something to investigate as a hobby.