4 ms·
One thing that I think hasn't been recognized by popular engineering culture is that the guys who started programming in the 1970s had a lot less to work with,
by nika 16y ago
One thing that I think hasn't been recognized by popular engineering culture is that the guys who started programming in the 1970s had a lot less to work with, and had a harder time. They often worked in assembly, and a soldering iron was a legitimate debugging tool.
Those who started programming in the 1980s had compilers but languages were something you went out and bought, and they were sold like enterprise software, expensive, slow to be updated and not sophisticated.
Those who started programming in the 1990s came of age when a major revolution was being effected by Java. But you still had to build a lot of infrastructure, and engineering involved a large amount of tedium.
The last decade has seen a huge advancement in the quality of the tools, and thus the barrier for entry for programmers is a lot lower.
I even remember meeting one young gun who was proud of the fact that he didn't have a computer at home because this was a job, why would he do it at home?
this is the opposite of the hacker mentality. In the 1970s you had to be a rare breed of hacker, and by the 1990s mainstream hackers could get into the business.
Now people who never wrote a program before entering college are graduating with CS degrees. So it is not only that they don't have a lot of real world work experience, they often haven't been programming at all for more than 4 years.
This is a huge shift in demographics and attitudes. I'm sure many of them are very intelligent and genuine hackers... but they are a very different culture.
- arethuza 16y ago"a soldering iron was a legitimate debugging tool" I knew a guy who, in the early '90s, had done some programming with a hand drill.
- pasbesoin 16y agoOne of my father's favorite stories involves debugging an intermittent error, wading through all of the spec's until finally isolating it to a single subsystem. He pointed to and pressed on the IC package, and apparently reseated it. The problem never recurred. Also, the often noted "magic switch": http://www.catb.org/jargon/html/magic-story.html http://www.catb.org/jargon/html/magic-story.html
- pasbesoin 16y agoI can't say I have more than a subjective view, but people such as you describe, from my father's generation (him included, and coloring my impression), are/were often "wicked" smart and also curious. I'm reminded of stories about how many were recruited from linguistics programs and other areas. These are often people with a diversity of interests. And yet, they tend to excel in all or most of those interests. (Linguistics, physical sciences, mathematics, music, photography, social sciences, etc., etc.) My impression is that it was more difficult, and challenging, and that the people you found there had self selected down to a very, very capable -- and often interesting -- subset. I guess you also had the more "corporate" roles. But even many of those had to "get their hands dirty" when it came to picking the proverbial or literal moth out of the innards so that e.g. payroll wouldn't be delayed. (There was no "plug and play".)
- bootload 16y ago"... Those who started programming in the 1990s came of age when a major revolution was being effected by Java. ..." Java revolutionary? C was revolutionary. It allowed hardware independence compared to assembler. BASIC was revolutionary because it made programming a computer easy enough for kids. Perl was revolutionary to hack the web, as is PHP. TMTOWTDI. But the true revolutionary language is still probably Lisp. Python, Ruby, Javascript are still evolving in a Lispy sort of direction.
- chromatic 16y agoJava revolutionary? It dragged C++ programmers halfway to Lisp, in the sense that hardware abstraction through a VM and automatic GC gradually became acceptable.
- bootload 16y ago"... It dragged C++ programmers halfway to Lisp, in the sense that hardware abstraction through a VM and automatic GC gradually became acceptable. ..." that's funny in a bad sort of way, funny but true.
- usedtolurk 16y agoI half agree with you. We are working at a much higher level of abstraction these days and the skills required have changed, but I don't think its any easier. Part of my electronics degree (in the early 90's) involved programming a controller in hex through a 18 key keypad. Not quite card punching, but the screen display was just 2 characters. There was no editing - you had to start from scratch if you made a typo. It might sound a bit geek-macho but actually it wasn't difficult - just awkward. And you didn't need to worry about which text editor you used, whether the source control plugin was compatible - you just worked with what you had. In the 80's it was still possible to thoroughly understand the electronics, the assembly language AND write your own programs in C. Now, a web developer has to understand networks, databases, multi-tier architecture, ui design (not to mention the complex dev tools). It's still a big spread, but each of the fields is much deeper so we have to make do with a working knowledge in all these areas rather than "complete" knowledge. Today's graduates probably dabbled at high school with web page design, photoshop, powerpoint and spreadsheets at high school rather than circuit boards and assembly.