|
IMHO, A college degree is almost as useful as a Microsoft certification. In other words, not at all useful.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Interesting question.
I have been doing development/programming from 1979. In those days you really got to know how every bit of hardware worked. If you didn't you achieved exactly nothing, it was as simple as that.
I have seen quite a lot of promising young developers go by trying to make it in the embedded electronics world but failing miserably because they can't shed the luxury of having a few gigabytes of RAM to make things work. Additionally they lacked the fundamental knowledge of bits, bytes and how those things actually work, let alone set up and configure peripheral registers etc...
You can't really blame them because these days everything is abstracted and hidden under layers and layers of frameworks and libraries and teaching these days concentrates more and more on using all of those layers instead of getting to know what lies beneath it all.
Ah well, when nobody knows any more how things fundamentally work we will become popular again just like all the retired COBOL programmers these days.
|
|
|
|
|
fd9750 wrote: hidden under layers and layers of frameworks and libraries
That was my thought while watching Build 2020... The good developer this days, the one knows the latest-and-greatest library of all...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Relational database foundations doesn't seem to be a taught subject any more....
|
|
|
|
|
They have no mainframes with SQL to play with? What are they doing between classes then?
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Geek & Poke might say a word about SQLs low popularity: SQL[^]
|
|
|
|
|
The main diffence is related to access to resources
In 1970 I wrote a couple of assembler programs on and for the PDP-8 and PDP-9 and
there was virtually no one that you could ask a question
In the end of the 70-ties, we hacked Unix kernels and there were some local user groups to
share ideas. Note that the PDP-11 had an address space of 64K, and lots of effort went
in optimizing the use of limited resources. On an RP02 disk putting the free blocks
on tracks such that the amount of waiting time was limited increased performance tremendously
(of course adding an overlay structure to user programs to overcome the limited address
space caused a decrease in performance.
Neverthess, on a PDP-11/70 with a whole (i.e. 1) MByte of memory, two RL02 disks and an RP03
disk we ran a student lab for 30 to 40 students simultaneously, with a link to the
university's mainframe
In the 70-ies and 80-ies - when writing compilers - we exchanged ideas with others using - hard to believe now - regular mail. Sending a draft report from europe to australia with additions and corrections being sent back took several weeks (sometimes more than a month), until
email arrived (around 82 or 83).
The basic facts that nowadays you do not have to worry about memory resources (recall, the PDP-8 has 4K 12 bits words, and for assembling a program you had to load the assembler from papertape), not to worry about storage capacity, and communication is now (almost) instant.
Ask a question and in 10 minutes (seconds sometimes) you have an answer!!.
On the other hand, the domain grew. In the '60-ies and -70-ties you hardly had
programming languages, knowing one or two languages, having some familiarity with
a computer, and being able to use some vague terms you was considered a specialist
in the whole field.
Now you have to specialize in front end technologies, backend technologies, middleware specialists, cloud guru, etc etc, while specialists in different subdomains
do not understand each other!!
As an example, look at the reports of the codewitch, while in the 70-ties (most of the)
stuff she writes about was part of any decent undergraduate program, I bet that 90 % of the CP population does not understand the technolgies she is applying.
(I take that as example, since in the 70-ties and 80-ies I worked in the field of compilers
and happen to understand this part of computer science)
|
|
|
|
|
Member 12982558 wrote: I bet that 90 % of the CP population does not understand the technolgies she is applying. I would go for 95% (including me among them)
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
You are pointing to something that has drastically changed the way we work with information, not only as software developers, but everywhere.
I have mixed feelings. Do not read that as "negative", but as a true mix of positive and negative feelings.
Between 1990 and 1995 I was involved in a multinational project for developing "Just In Time Learning". It was a pronounced idea that society "cannot afford" wasting resources of train people to give them competence they "don't need". The goal was that you should only learn those skills needed for the task in hand, and not until you really need them. Minimize wasting resources on learning anything that there is no (immediate) use for!
The basic idea of making an ideal of not understanding, not knowing something that you don't have an immediate need for is the most clearly pronounced dumbing down principle I have ever encountered. The very opposite of an enlightened population. Like reducing all of us to nothing but a single gear in the total information society, minimizing educational costs to maximize profits. Avoiding any "outside" knowledge that could end up as sand in the machinery.
In my student days, it was well known that IBM (then still The major actor in the computer world) was not too eager to employ people with a university degree; they took in far more people with minimal education and gave them job training, learning the IBM way as The way. (People were joking that the IBM slogan, "Think!", really was "ThIBMk!")
We are there today. I have a few coworkers who constantly have their smartphone in the hand (if they need both hands for e.g. eating a hot meal, the phone is on the table right in front of them). I have gradually learnt to avoid airing questions, or in any way revealing that I do not have all information available, or even mentioning observations or "facts" that are not hard and absolute: In split second, they are onto their phones: I'll google that for you! Half a minute later they proudly read out loud from a Wikipedia article or other web site, often (again, proudly) being able to make small corrections to the "claim" that led to their googling.
They appear to know "everything", with the help of their smartphones. But it turns out that they really don't understand anything. Often, when I am back at my PC, I check up those googled facts, and see a quite different (and most of all: much more complex) reality than the quoted one.
On the other hand: If you have a decent understandig of a field, you can extend it tremendously, filling in details, have your previous knowledge corrected for both your old misconceptions, updated with more recent information, and set into a context.
I am into a habit of "just checking up" some knowledge or understanding that I think I have, googling, reading Wikipedia articles in mulitiple language versions, finding other information sites. That not only updates and confirms my old knowledge; it also makes me aware of a lot of misconceptions and dubious interpretations that are out there, preparing me for meeting other people on these subjects. Finally: I hardly remember anything from my schooldays' geography lessons, history lessons, lessons about public institutions, ecoonomy and such stuff. Through internet, I am able to recall forgotten knowledge, having it updated and extended.
Internet is a superb source of information ... when you have the background to evaluate it, and absorb the valuable parts. I would say that my grip on reality has become a lot better with Internet. There is no way I would have searched up as much truly useful and significant information if I were limited to traditional sources.
Internet, when used to expand your widsom, is a great thing. When used in an "I'll google that for you" way, I would rather be without. If you can't give me a decent introduction to the subject before you offer to google it, then please don't google for reading out text that really makes little sense to you. Not even if you actually have brought up correct hard facts.
|
|
|
|
|
The main problem is that they're expected to know a little about too many things, and they forego true understanding in favor of an immediate paycheck.
On my team (nine people counting me), I have more experience than all of my teammates put together. Of the nine of us, only three that I know of (the oldest guys on the team) have ever started a project from scratch.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
The main difference I see (very much generalizing) is that the old timers did it for the pure joy of it. It wasn't just a source of income - learning it may have been totally detached from that thought - it was feeding a need.
Now - it's a job. They read some posts and articles that there's a big need for programmers and it pays well and they're in. We're in an era of code-mills - outsourced to parrots.
Perhaps there are as many artists as there were - but they're drowning in a sea of mediocrity.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Yes, we're very much drowning in a sea of mediocrity. Thank you for your concern. 🙂
|
|
|
|
|
Actually, by definition, we are always in a sea of mediocrity. The problem is that the quality of mediocrity has gone down and is in persuit of new depths.
This is running along, in parallel, to the acceptanece of low quality goods (from China, mainly) where the recipient has little to no hope that any Quality Assurance was done before shipment. Just, by way of example, look at the feedback for HDD's - so many are DOA or linger for a few weeks at best.
I'm beginning to think that collective intellegence of the human race has not increased even though the population has gone from 3*109 to soon 8*109
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
W∴ Balboos, GHB wrote: to the acceptanece of low quality goods (from China, mainly) Don't forget India and a couple of countries more in the area.
Being honest, I have seen so bad quality (or even worst) in Europe too.
And I have seen superior / top quality in India / China too.
But speaking statistically the % of bad quality per XXX "professionals" is worst over there, at least that's my personal experience based on some years traveling and working with locals.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Well - China stands head and shoulders above the others in Quality Contempt (the new QC !)
Just of few of the things they've done to the US (and likely others):
shipped radio-active sheet-rock that was used to build many homes before it was detected
shipped pet food fortified with melamine monomer to kill off spoiled pets*
shipped wood flooring materials that emitted toxic vapors heavily.
"The" counterfeit goods capital of the world.
The EU (and rest of the world) may have shared the above, and had their own special versions, as well. They don't give a damn . . . they don't have to.
* in honesty, this may have bin the QC on their part, testing it before they put it in baby formula used in China, itself
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Ok... I see your point now. And yes, I agree with you.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: What do you see as the main difference(s) between the older (let say 30+ years in the filed) and younger (less then 10) 'generation' of developers?
What are the main reasons?
Job security.
I know COBOL.
I'm retired. There's a nap for that...
- Harvey
|
|
|
|
|
That's a metal isn't it? Used to give blue color to the glaze that potters use for their ceramics.
|
|
|
|
|
I'm the latter but I program like neither really.
The older generation seems to want to keep thier design patterns, often at the expense of the newer generation's capacity to maintain or even understand those patterns. The newer generation is kind of lost in many ways. There's not a lot of drive to understand the field as a whole, they just want to do their own thing and not get too much negative feedback.
Left to their own devices, I feel like the older generation would spontaneously develop something like Rust. Great idea, great execution, sounds boring as hell.
In contrast, the younger generation would spontaneously develop something like Node.js. Terrible idea, mediocre execution, but all the kids are using it because something on the internet told them to.
|
|
|
|
|
I personally met heaps of older dudes basically having learned all they'll ever need half a century ago and sticking to it, absolutely disregarding every single bit of progress made throughout said half century.
|
|
|
|
|
Kiriander wrote: every single bit of progress made throughout said half century. First, only because something is newer, it doesn't necessarily means that it is "progress".
Kiriander wrote: I personally met heaps of older dudes basically having learned all they'll ever need half a century ago and sticking to it, Although I believe you, if you were right then the biggest programmers here would be youngsters, but the average is still much older in the top than in the base.
And those older dudes are mostly the ones helping the "progressed" youngsters all around the site.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Those two particular dudes I'm talking about don't help all that much. In fact, I had to get free of them due to things like they forcing me to use manual memory allocation instead of ARC when passing data between two modules from the same C++ project to finally run on a multicore x86 system running on mains power time-limited by a 34kBd-UART (my point being there's litereally no point in doing it manually, even doubting implicitly written code in C++). ARC in modern C++ is pretty robust, despite being newer than malloc/free.
Look, I get that what I'm talking about isn't EXACTLY the spirit of the topic. But please believe me that I'm now what I'm talking about when I call someone anti-progressive.
I'd like to mention another dude. He's been doing roughtly the same for the last couple decades, but that's because his field of work is static for roughly that time (low-power-applications in assembly in that one specific MCU). And holy hell is he good in what he's doing. He never learned programming per se, he came to us as an electrical engineer, but he does stuff in assembly, holy moley. He's the only one to squeeze functionality into the last corner of the PROM. He's not big on methodologies such as SCRUM neither does he have a git branching strategy, but he's just so damn good at what he's doing. You know, that dude showcases what differentiates the generation. Getting things done, everybody can. Give a novice the code, the documentation, enough time (and maybe a test suite to pass), and they'll achieve anything. But being really good at what you're doing, that's something to look up to.
|
|
|
|
|
Kiriander wrote: Look, I get that what I'm talking about isn't EXACTLY the spirit of the topic. But please believe me that I'm now what I'm talking about when I call someone anti-progressive. Sorry, but you didn't speak about those concrete guys in the first message. At least I understood it as a generalization, and that's what I answered back.
There are morons and idiots in every country, in every culture, in every age, in every sex... everywhere. But it doesn't mean that all of the same type are like them.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I'm 30+ years programmer and I see age as the main difference
Sorry for my bad English
|
|
|
|
|
Understanding the internals.
I started out in an assembler-like language. To debug, you'd get a printout of the program, on the left of which was the actual machine code. You'd have to set breakpoints at addresses, etc, etc, but it gave a good insight into how the machine actually handled memory, how our human-readable (mostly) code got compiled, etc.
On to C, where you had to manage your own memory and dispose of it (hopefully) properly. To this day, I think of constructs in C# in those terms sometimes, and try to be careful about resource use.
This is a broad brush which doesn't match all cases. Many younger folks really are interested in learning the internals.
And, of course, many people with 'experience' are just plain dumb/ignorant, and some of those don't want to learn. I work with a consultant who's a self-proclaimed 'database guy' (as if that's a good enough explanation why his code sucks). Until this winter, he didn't know SQL Server Profiler existed...
|
|
|
|
|