Generation, what's left?
-
What I consider an ideal education path: Get a low level formal education - maybe a Bachelor, but not necessarily that high. Enough to teach you what to do. Get a job as a junior for 2-5 years, to see how those tools and techniques are applied, understand the needs. Learn the _why_s of what you have learned. Return to school for a higher degree to learn the inner workings, the principles and enough theory to thoroughly understand your tools. A guy who goes into a job without any formal education usually do not have enough background to grasp the needs of the job. He often will do the grips mechanically, with very little understanding. A low/intermediate level of training makes learning in the job far more efficient. On the other hand: Going directly from HighSchool to a Master study without a clue about what all these methodologies, theory, principles of operation, ... will be useful for, is just as limiting to your learning. When I was a college lecturer, I surely enjoyed those students who had been working in the field for a few years, returning for a higher degree: Their questions were consise and clear and really focused on the essential parts. They could add comments from how they had solved problems in a real-world situation. In group works, they knew how a group is organized and how to collaborate in an orderly way. Practically without exception, they completed their studies with excellent results: They knew the purpose of the knowledge they were obtaining. Noone should be awarded a Master degree without at least two years of full time working experience in the field. Unfortunately, many (maybe most) Masters do not fulfill that requirement.
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 -
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
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.
"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
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
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
-
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
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
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.
-
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.
"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. 🙂
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
-
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
"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
-
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
"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.
-
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.
-
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
"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
-
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.
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
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...
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
The older developers worked in a procedural and functional world. A text-based world. When I taught programming for networking and for electrical Engineering in the 2010s, I taught how to think like a programmer, and basic processes. We weren't teaching OOP. I was supposed to teach from a beginner Python book for networking students and beginning C for IC programming for the engineering students. I also added in JavaScript showing the same procedures on web pages. Most of the students liked the web-page exercises better. I did all my programming in person and real time, typos and all, so the students could see that making errors that sunk your program was not the end of the world.
-
Education. Back in the day, computing was a specialist job, and was taught by people who understood it, who knew what they were doing. And that rubbed off in how they taught, what they taught. And mostly, what they taught was "language basics" and "how to think like a developer". Now, governments are pushing "developing" as a school course. So it's taught by teachers who don't know the subject outside the curriculum, who don't genuinely care about development, who haven't written much more than "hello world" for themselves; and taught to kids who don't care either - they just have to pass the course. Worse, they course it taught like any other: "Read this and remember it" works fine for History, English Lit., and so forth - but development needs you to think, not remember: that's a very different mindset and that isn't taught. And if the teachers don;t even know the debugger exists - and most don't - how teh heck are the students supposed to know? Software is seen as a simple way to make a load of money - it's well paid, with no heavy lifting - so it's a route a lot of people want to take, even if they have no interest, skill, or abilities in that direction. And of course, everyone who can run an app on an iPhone assumes they are computer geniuses. This is just the impression I get - mostly from QA - and is probably well and truly wide of the mark in a lot of cases: but we don't get those case except rarely ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
I learned how to program via IBM self-study courses on Assembler and FORTRAN. I learned how to debug by reading fan fold printouts. One learned to avoid mistakes the hard way, correct mistakes thoughtfully, punch it all again into cards, and make code as least verbose as possible.
-
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? (The reason I'm asking - beside pure curiosity - is that I was asked about building a course for future developers...)
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
My own thoughts and experiences from 40+ years in this business... I agree with pretty much all that is said here. But one thing that I think is critical is just plain experience and having a mindset of good design. Anyone can learn the technical parts of a language or a framework fairly quickly. But knowing how to look at problem or project proposal, and knowing how to approach it in a clean, well-thought out approach is not something that can be taught or learned as quickly. A developer needs to have experienced the building of applications and systems, seeing what works, what doesn't, and which is maintainable. And this should happen with good mentorship in the early years of a developer's career, to get feedback and guidance on design patterns and concepts. In the middle ages they had the concept of an apprenticeship system. As an apprentice, you didn't do anything without oversight and guidance from a journeyman or master builder. After a period of years, you would be judged experienced enough become journeyman - simply meaning thr master builder still provided the plans, but you were judged competent enough to follow the plans without constant oversight. Only after many more years might become a master builder, capable of creating the designs and leading the efforts to build. And all of this was overseen by the appropriate guild. I think things are similar with software design and development. When you first learn the tools (language, framework, etc.) you are still just an apprentice. After years of supervised (pair programming, code reviews) work, you might move to the point of becoming a "journeyman" developer (or maybe you don't and find another career path). Now you are trusted with more complex work, simple designs , etc. Eventually with more experience you are designing more complex parts of the system, maybe mentoring newer developers, and you eventually reach a level where you become that "master builder", capable of designing complete systems and leading the development effort. I remember reading somewhere that a new developer might need 5-10 years of experience before they should be considered anything more than an apprentice. I think this makes sense - we are builders of sorts. And using the right design concepts and patterns takes time to learn, and to know when and how ro apply. Anyways, I'll stop rambling here.... 😁
-
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.
-
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
"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.
-
Education. Back in the day, computing was a specialist job, and was taught by people who understood it, who knew what they were doing. And that rubbed off in how they taught, what they taught. And mostly, what they taught was "language basics" and "how to think like a developer". Now, governments are pushing "developing" as a school course. So it's taught by teachers who don't know the subject outside the curriculum, who don't genuinely care about development, who haven't written much more than "hello world" for themselves; and taught to kids who don't care either - they just have to pass the course. Worse, they course it taught like any other: "Read this and remember it" works fine for History, English Lit., and so forth - but development needs you to think, not remember: that's a very different mindset and that isn't taught. And if the teachers don;t even know the debugger exists - and most don't - how teh heck are the students supposed to know? Software is seen as a simple way to make a load of money - it's well paid, with no heavy lifting - so it's a route a lot of people want to take, even if they have no interest, skill, or abilities in that direction. And of course, everyone who can run an app on an iPhone assumes they are computer geniuses. This is just the impression I get - mostly from QA - and is probably well and truly wide of the mark in a lot of cases: but we don't get those case except rarely ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
OriginalGriff wrote:
Now, governments are pushing "developing" as a school course. So it's taught by teachers who don't know the subject outside the curriculum, who don't genuinely care about development, who haven't written much more than "hello world" for themselves; and taught to kids who don't care either - they just have to pass the course. Worse, they course it taught like any other: "Read this and remember it" works fine for History, English Lit., and so forth - but development needs you to think, not remember: that's a very different mindset and that isn't taught.
As with so many things, this (rote learning versus learning to think) that gets lost between governmental good intentions and reality on the ground. Someone in government realised that we need more technically literate and intellectually capable people and, with the best of intentions, realised that programming teaches people to think and analyse (which are of course the ultimate in transferable skills). So they created a policy of teaching programming. But then, when it gets to the misery of the school coal face, it becomes just another commoditised check box subject, taught as a "do this, pass exam" subject rather than the original intention of all the best education: Teaching children how to think and analyse for themselves. The solution? I don't know.