Re: whoever you hire, make sure it isn't a college graduate



Malcolm McLean wrote:

It is hard to know what should go into a computing studies course.
The first career job is vital for students, but very few of them will get
another chance to spend three years working entirely on their own
development.

Companies won't hire grads partly because they learned the wrong technology
(C when C++ was hot, Perl when Ruby was hot, Java at any time, etc.).

And partly because "they will write lots of bugs and slow us down".

The guidelines of development are...

- weekly releases of tiny incremental features
- relentless automated testing
- customer feedback

Colleges only do the first one. They don't invest in a user community to
force students to write useful features without bugs. Maybe that's the
missing gap that makes students high-risk.

The field is too immature to specify a set of core fundamentals that
everyone should know.

Here's a cool post by Ralph Johnson:

I've taught the software engineering sequence at the University of
Illinois three times. This is a two semester course with group projects.
I teach both XP and RUP, and projects are either XP projects or RUP
projects. Both kinds of projects can succeed, and both can fail. Success
or failure depends more on the ability of the students, whether the
project is reasonable, and whether the team works well together than it
does on whether the project was RUP or XP. Of course, few of the projects
are perfect examples of either process.

There is one type of team, however, for which XP works much, much better
than RUP. So much better, in fact, that I stopped allowing those teams to
use RUP, even though they often wanted to. These are the teams with
little programming experience.

Many of the students are taking the course over the internet. Some are in
the US. They are usually software professionals trying to get an MS.
They tend to be successful because they know how software projects should
run. XP is hard for them because they are spread out all over the US. A
fairly large group are in India. They are all at the same site, so pair
programming is not a problem. These students usually have little
programming experience, and they are ones for which XP really shines.
They are bright and hardworking, but they do not have the experience to
design anything reasonable. If they try to follow RUP, the time spend
designing is totally wasted. When they follow XP, they get test cases to
run, producing horrible code at first. They don't make rapid progress,
but they make progress. After a few months, they start to realize that
their code is lousy and then reading the refactoring book helps them a
lot. By the end of the year, they have working code and have become much
better programmers.

So, my experience is that XP is especially good for novice programmers. It
only asks them to do things of which they are capable. RUP can work if you
have an expert who is trying to lead a group of novices, but if you don't
have an expert then it will not work.

This is not to say that RUP works better than XP if you have an expert
leading a group of novices. If I were to be in that position, I would try
XP, but I don't have any firm evidence one way or the other. But when it
comes to a team of novices, I have enough evidence that XP is better than I
won't let that kind of team use anything else.

-Ralph Johnson

So, other than "don't use RUP", it seems you are correct; there's no core
fundamentals in our system yet!

(-;

--
Phlip


.



Relevant Pages

  • Re: XP, a Criticism
    ... Usually developers do not know how lousy their code is until they have to ... I teach both XP and RUP, ... > the teams with little programming experience. ... > novices, but if you don't have an expert then it will not work. ...
    (comp.object)
  • Re: XP, a Criticism
    ... I teach both XP and RUP, ... They tend to be successful because they know how software ... so pair programming is not a problem. ... novices, but if you don't have an expert then it will not work. ...
    (comp.object)
  • Re: Why I stop attacking HLA
    ... so I can implement it and see why HLL control structures make ... Language Programming" course is to teach them what things like "bits" ... all the students show up already knowing assembly language. ... > Facts are facts and are independent of any usability. ...
    (alt.lang.asm)
  • Re: PROGRAMMING HOMEWORK HELP!
    ... >> My problem is that students are left in the dark what these deadlines ... > deadline means by the time he or she arrives at the university. ... > What is different about a deadline for a programming exercise? ... courses ok get in trouble with this while seeing that some of their ...
    (comp.programming)
  • Re: Where to find good lisp critiques?
    ... > Programming language has a specific meaning, ... > discussion is that people tout the wonders of free software and how ... > recognizing as the whizzy thing that students want. ... is tied up with flashy UI -- which, so far, is precisely what code artists ...
    (comp.lang.lisp)