permaculture playing cards*
The moose likes Teachers' Lounge and the fly likes So just how MUCH must they know? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Books » Teachers' Lounge
Bookmark "So just how MUCH must they know?" Watch "So just how MUCH must they know?" New topic
Author

So just how MUCH must they know?

Kathy Sierra
Cowgirl and Author
Ranch Hand

Joined: Oct 10, 2002
Posts: 1572
There's a lot of controversy right now over how much of a *formal* CS background one needs to know to work effectively in Java. Certainly, there are plenty of top programmers who don't have a single CS college course in their background, but still...
And today, now that competition for jobs has become so much fiercer than it was three years ago, it seems like this argument has become even more heated. Bert and I got a LOT of nasty comments on slashdot from what we would term "bitter" programmers, probably older, who thought we were truly evil for making it easy for those who really have NO business programming to get into Java. I talked to Dori Smith who wrote the Visual Quickstart Guide to Java, and she gets the same thing.
And of course it IS true that these "late adopters" as Mike Earnest so aptly put it, really *are* a different breed. I talked to Jason Hunter who said that he thinks one reason Head First Java is selling is because the people coming to Java NOW are less likely to be the "I know C++ so I'll just get Bruce Eckel's book..." crowd, and more likely to be the, "I know Javascript and a little PHP" web development crowd, OR maybe the VB folks. I wonder if there's a lot of hostility when they are in the workplace, coming in to an environment where they're perceived as "not worthy" of being a programmer. Is there a role for thse people? Can they compete? Can we do anything as instructors to help them? Certainly I've seen a change in audience, just during the time I was teaching at Sun, from the folks who came to a Java course in 1999 and the folks who came in 2002. (Well, besides the fact that there were far fewer of them )
Just thinking... I am really wondering if this hostility is going to affect these new late adopters (which Sun, remember, wants to see grow from the current 3 million to 10 million... and to get there, they're introducing these new tools like RAVE, etc. to make it easier for this 'new class' to get involved.)
Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361
Hi Kathy,
Being a self-proclaimed "mainframe retread" myself, and teaching those old farts on a fairly regular basis, I would like to share my personal experiences. First of all, the most important credential any "adult" student can bring to the classroom is a desire to learn. So I always start the week off with my favorite quote "Palma Non Sine Pulvere", meaning "No Reward Without Effort" (literally, no palms without dust).
IMHO the toughest students are not the COBOL guys, at least they understand that a object has a data division and a procedure division. The ones who drive me up the wall are the RPG guys. But if they come to the buffet hungry enough, I am happy to fill their plates.
Sure times are tough, and the geezers are worried. Who isn't? But I always butter them up with "you must have done something right, or they wouldn't be paying the money for you to sit in this room". I also crack jokes and feed 'em donuts in the morning. As it turns out, they are people just like me for the most part, but YMMV.
I always seem to get a whiner every so often. It used to really bother me. But now I just let it go. Life's too short, and there's too much fun to be had. I saw a shirt the other day that said "I see dumb people". I guess that pretty well sums it up.


Howard Kushner<br />IBM Certified Enterprise Developer - WebSphere Studio Application Developer V5.0<br />IBM Certified Advanced System Administrator - WebSphere Application Server V5.0<br />IBM Certified Solution Developer - Web Services with WebSphere Studio V5.1<br /><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1931182108/" target="_blank" rel="nofollow">Developing J2EE Applications with WebSphere Studio</a> my Certification Study Guide for IBM Test 287
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
To teach the "late adopters" the examples that are being used in the courses will have to be adopted to the "mainframe" world. All, most, Java courses use web based examples they mean zip to us. The "mainframe" boys are confronted with JSP's etc, whilst they simply want to learn Java. Sure eventually they need to know the web-based stuff, but wait with that till they have learnt the language.
For instance mainframe boys work with files a LOT !!! In EJB the big thing is DO NOT read from files. Now as much as everybody shouts "HEY THAT AINT DONE", I still have to find a clear solution for file I/O in an EJB system. Some create specific "ini" files other put their files directly in the .jar / .ear files, others put everything in databases, which as far as I can figure out is the way to go, but nobody has a clear solution. Heck the mainframe boy wants to simply read his file !!! Teach him a way to do it, legally in EJB's !!! Heck not every solution needs a database !!!
Michael Ernest
High Plains Drifter
Sheriff

Joined: Oct 25, 2000
Posts: 7292

Originally posted by Howard Kushner:
IMHO the toughest students are not the COBOL guys, at least they understand that a object has a data division and a procedure division. The ones who drive me up the wall are the RPG guys.

After 7 years, finally someone else says this. I thought it was just me those guys were trying to push over the edge.


Make visible what, without you, might perhaps never have been seen.
- Robert Bresson
Gustavo Torreti
Ranch Hand

Joined: May 20, 2003
Posts: 84
Originally posted by Michael Ernest:

After 7 years, finally someone else says this. I thought it was just me those guys were trying to push over the edge.

Well, as both player and DM, I can surely tell you RPG can be an excellent way of teaching...

I had been originally hooked by (Kathy's) serialized frog and a Character class (I think it's on Head First Java), and I taugth from Java to Phisics using tennis balls examples, dragons, shiny long swords, arrows, matrix-related texts...
The last Micro Edition game I saw was actually pretty rpg-oriented.
RPG players can be pretty wild. However, they'll be excellent students once properly handled.
(I never said it was easy, though )
Robocode can be a nice reference for the young minds too, but that would be quite far away from the original topic.


You were trained to handle mission impossible; 'difficult' should be a walk in the park for you.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
I think they are referring to RPG the programming language (Report Program Generator).
From techtarget:
RPG (Report Program Generator) is a programming language that originated as a report-building program used in DEC and IBM minicomputer operating systems and evolved into a fully procedural programming language. Its latest version, RPG IV, is supported by IBM's leading minicomputer system, the AS/400. Historically, RPG has probably been the second most used programming language, after COBOL, for commercial applications on mid-range computers.
[ November 05, 2003: Message edited by: Thomas Paul ]

Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8806
    
    5
Hey,
Back in the early 80's I was an RPG programmer (IBM S/32 and S/34). It's a VERY weird language. I would have thought that RPG programmers would be easy to teach because they would be so eager to get away from RPG


Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361
Yo Bert,
I could not agree more. I never said they were not eager, I just said that they could, on occasion, make me want to go screaming into the night!
I had a group in Atlanta about a year ago, and took them through a boot-camp starting with Java Fundamentals, and culminating in J2EE and XML.
There were only four left standing at the end, but we had tons of fun. Every time I eat Sushi I remember those days in Atlanta.
I seem to remember S/34, S/36, and S/38's before AS/400 became iSeries.
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
Originally posted by Bert Bates:
Hey,
Back in the early 80's I was an RPG programmer (IBM S/32 and S/34). It's a VERY weird language. I would have thought that RPG programmers would be easy to teach because they would be so eager to get away from RPG

I've worked with one RPG programmer who had 20+ years experience in RPG and PL/1.
I was coach for an internal training program to get more people up to steam on Java.
While he got the technical side of things down quickly, he was completely stumped on OO principles. He just could not disconnect his brain from flow processing and procedural thinking into an OO mindset and in the end gave up (after several months).
It was not for trying, he probably spent as much time on it as the rest of us combined, but he just could not SEE the underlying structure of OO applications in his frame of reference.


42
Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361
Originally posted by Jeroen Wenting:

It was not for trying, he probably spent as much time on it as the rest of us combined, but he just could not SEE the underlying structure of OO applications in his frame of reference.


It is truly sad that he gave up.
I must admit that in my erperience with several very clever AS/400 RPG folks, we spent WAY lots of time on fundamentals, but eventually the survivors seemed to be finally getting the gist of it. I kept harping on objects send messages to other objects, yada, yada, yada, and made 'em do numerous exercises stepping through code in the WSAD debugger to see abstraction, polymorphism, inheritance and encapsulation in action.
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
I'm going to try not to climb up too high on my soapbox here...
In my book I describe "bandwagoneers" (hmm, I wonder if that's the Ranch influence), basically people who did not have technical background, but saw that they could make $75/hr creating HTML pages back in '98. The moved from HTML to javascript, and maybe some "Java" where by Java they mean JSPs. Some of these guys if you showed them 10,000 lines of application code, they'd be lost. Nowadays you have lots of PHP/perl people, too.
They are tech people and they can produce. But it's a different set of skills than what I think of as application developers. A rough analogy with cars might be the difference bewteen people like my dad, who can rotate tires, changes oil, etc and true mechanics, who can rebuild a chassis.
I'm the first to bash most university programs for not probiding suffient practical training to their students, but I have found the key information gap between the two groups (or maybe an information gap which correlates well to the larger differences between the groups) is data structures and algorithms. The engineers who don't really understand hashtables and recursion tend to be very weak. Typically (although there are certainly a number of exceptions) people without an EE or CS background don't understand those concepts.
I think it also goes more generally into background. I used to TA the computer architecture course. Most software application engineers don't really care or need to know about paging, caching, pipelining, etc, and yet they seem to be better engineers. Again, this may be simply a proxy, but I think it's because born and breed engineers want to understand the computer and software, whereas the ones who moved into the field for the jobs and money often (again, certainly exceptions) lack the interest in the technical details and happily treat things as a black box if they can.
I'm hiring again and I'm seeing no shortage of people who are like this. They took some night classes but really lack the fundamentals. They don't think like engineers. The fact is, software tools and language design were written by engineers for engineers. if you don't think the same way, you'll have trouble with it.

OK, all that being said, I also argue that communication skills are far more important than technical knowledge. I still think that's true. A 15 year developer with 1 year of Java can be much better than a 3 year developer who is all Java. For me, there is some minimum threshold in terms of mindset (does this person think like and engineer) and basic fundamentals. Beyond that it doesn't matter if you took an advanced algorithms class at MIT or into to algorithms at Univ of Florida. Once you've passed the threshold, I look to general intelligence, engineering ability, and communication skills.
You know, the technical work of development really isn't that hard. I think what it comes down to is how you think. You either are an engineer, or you aren't.
For those who give you a hard time, what exactly are the complaining about? Yes, people misuse the book and think that in 3 months they, too, can be a developer. Well, if they want to create a website for their floral shop, great, that's what they need. If they want to learn Java and think they can pick up the fundamentals and think they have it in them, great, go for it. If this creates more I-build-a-website-therefore-I'm-a-developer people, so what? Good engineering teams will not hire them and poor engineering teams will. In the end, I believe the poor teams will go away.
(Wow, you all look like tiny little ants from up here, maybe I should climb down now. :-p )
--Mark
Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361
Howdy Mark,
Reminds me of these four guys who set out to prove once and for all that all odd numbers are prime... here's how it goes. The four guys are a mathematician, a physicist, an engineer, and a computer programmer.
  • The mathematician goes first: "1 is prime, 3 is prime, 5 is prime, 7 is prime, so by induction all odd number are prime."
  • The physicist goes next: "1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is a statistical anomoly, 11 is prime, 13 is prime, so within acceptable tolerances, all odd numbers are prime."
  • The engineer goes next: "1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is prime, 11 is prime, 13 is prime... yep they all look prime to me."
  • The programmer goes last: "I'm gonna write a program to prove once and for all that all odd number are prime." So he writes the code and starts the program executing. "1 is prime, 1 is prime, 1 is prime, 1 is prime, 1 is prime...


  • Sorry, I just coudn't resist.
    [ November 08, 2003: Message edited by: Howard Kushner ]
    Kenneth A. Kousen
    gunslinger & author
    Ranch Hand

    Joined: Sep 18, 2002
    Posts: 89
        
        5
    Actually, the way I heard it was:
    Mathematician: 3 is prime, 5 is prime, therefore by induction all odd numbers are prime
    Physicist: 3 is prime, 5 is prime, 7 is prime, 9 -- oops. Well, that could be experimental error. 11 is prime, 13 is prime, okay, that ought to be enough. All odd numbers are prime.
    Engineer: 3 is prime, 5 is prime, 7 is prime, 9 is prime, 11 is prime, ...
    Computer scientist: 3 is prime, 5 is prime, 5 is prime, 5 is prime, ...
    Manager: 2 is prime, 4 is prime, 6 is prime ...

    Closer to the topic, I'm seeing an increasing number of students in my Java classes who are there because they're trying to survive, rather than having any overt interest in Java. Many of them are older and are very worried that if they can't make this transition, they're going to be outsourced. As a consequence, there's often an underlying feeling of hostility in the atmosphere, because they don't really believe that the expertise they've built up over the years is no longer considered useful or good enough.


    Kenneth A. Kousen, Ph.D. (assorted certs), President, Kousen IT, Inc.
    Author of Making Java Groovy - http://www.kousenit.com
    Howard Kushner
    author
    Ranch Hand

    Joined: Sep 19, 2003
    Posts: 361
    Originally posted by Kenneth Kousen:
    Many of them are older and are very worried that if they can't make this transition, they're going to be outsourced. As a consequence, there's often an underlying feeling of hostility in the atmosphere, because they don't really believe that the expertise they've built up over the years is no longer considered useful or good enough.


    Howdy Ken,
    <rant>
    And that's the sad truth. We are ALL getting outsourced! And Java, in and of itself, just ain't enuf no more. So we ALL need to remember who we are and what we CAN do, which is think and solve business problems, which we have probably demonstrated in the past. So keep those resumes up to date, and work on those credentials. IMHO expertise demontrated in the past DOES show something. And I would hire them ole folk in a heartbeat, if they interviewed well, and I truly believed they could be valuable contributors on a team. I know fer a fact that you can "grow yer own" if the candidates already have talent.
    </rant>
    Matt Cao
    Ranch Hand

    Joined: Apr 03, 2003
    Posts: 715
    Hi,
    I think to get Java Developers out of this current state is teach them how to bridge Java Technologies into daily life experiences. They must be confident in themselves to explore into different arena than just software developer houses, financial/accounting houses, etc. Have they think of logistic, waist-management, etc.? These arenas are dirty, you may have to wear dark chinos/jeans to work everyday. But money are smell good.
    It doesn't matter how much Java students know, if they lack creativity, they are very much useless. Creativity challenges the notion of silverfox are much more qualify to command the market. Creativity comes in all ages; therefore, companies rarely rehires a silverfox unless that silverfox is top-notch. But if the silverfox is a top-notch, he/she already cross over to the management. I have seen a retire webbie working as golden executive in his spare time. Company talk him out of retirement and retain as in-house consultant report directly to company president. Very much like intern for the government, combating boredome from free time is like a major agenda. There are many more examples not necessary related to webbie, but the moral of a story is the same.
    Regards,
    MCao
     
     
    subject: So just how MUCH must they know?
     
    Similar Threads
    C#
    The Right Skill Set
    programming career advice question
    Advice on Certification
    Data structure text