Re: National Sign-On Letter to House on H-1Bs, U.S. Immigration

Date view Thread view Subject view Author view

From: Adam L. Beberg (beberg@mithral.com)
Date: Thu Jun 08 2000 - 09:58:48 PDT


Time for a blender-post, since i stired up the FoRKer bees.

On Thu, 8 Jun 2000, John Klassa wrote:
> I'm not sure if my experience is typical, but my first job after grad
> school was all about getting things done, right now. Theory took a back
> seat to making the product work. Unfortunately, every job I've had
> since then has been that way. Not much theory; lots of coding.

And I'd bet that looking back on it, you'd consider what was done to
have ended up as a large pile of bad code and things you're
embarassed to even be associated with.

On Thu, 8 Jun 2000, John Klassa wrote:
> Anyway, my gut-level feeling is that we don't nurture people who are
> fresh out of school... There's really not much mentoring that goes
> on. You get a degree, and get thrown onto a project and told to
> bang out code. There's nobody around, generally, to remind you,
> e.g., why some coding practices are better than others... Why
> certain solutions suck, relative to others, because some piece of
> theory shoots down some fundamental assumption or another.

Sure, it's just very slow and takes about 8 years.
But you're exactly right, mentoring is RARE at best. I make it a point
that when I fix something someone else did, I tell them _why_ what they
did was wrong, and how to fix it. Depending on my mood I just tell them
the why and make them fix it until they get it right. This "tag-team"
coding with people reviewing code as it goes into the CVS seems to catch
99% of bad things, and the remaining 1% come out during audits.

On Thu, 8 Jun 2000, Rafe Colburn wrote:
> > 1. Degree + 8 years in the field (may overlap).
>
> Do you know where to find these people? Whenever I post a job, they
> never seem to call.

Actually quite a few. These people are rare enough that they can pick
their job, or have a company and have more work then they can handle.
Others are in the places like the high-reliability jobs i mentioned.
They don't job hop every 6 months like the RCG, so they aren't on the
market that often. This has alot to do with the family, kids in local
schools, etc. You wont find them working for dot-com startup either.

What are you asking them to do? Are you asking them to come in and "fix"
things, or come in to work in an environment with people they wont laugh
at openly? I wouldn't go into an environment again where things weren't
already up to at least a CMM-3[1] level, which is where I run anything I
do. It's to the point where this process is completely internalized from
experience, I dont even thing about it, it just happens.

> Again, do you know a lot of these people who are looking for jobs?

Maybe me if I cant get some funding soon ;) but I already have several
standing offers. But most all I know are happy where they are at.
Another reason you dont see them is that they don't go through
recruiters of help wanted sites, they go through friends, and pick the
company they want to work at.

On Thu, 8 Jun 2000, Rafe Colburn wrote:
> > 4. Experience with quality control methods, code review, etc.
>
> I think your better bet here is to invest time and effort into training

That's a good point, this is the simplest thing to train. But the other
3 are non-negotiable.

On Thu, 8 Jun 2000, Lucas Gonze wrote:
> I started my career in a programmer culture dominated by MIT EE
> types, the kind of people who learned on PDP 11s or Vaxen. They
> were generally skinny guys with crusty attitudes. They worked
> short hours, coded in assembler, and solved every problem with a
> lookup table.

Nothing like spending a year on a job where many of the chips we used
had only a few KB of RAM. And many years on the old Apple II, come to
think about it the Apple II had more RAM then the whole system put
together at that job. It's sad that people these days never had to learn
to program in a limited environment where using every trick is the
starting point, and then you still have to come up with more tricks to
make it work.

On Thu, 8 Jun 2000, Lucas Gonze wrote:
> It took me a few years to learn their tricks
> 1) always check function arguments
> 2) always check return values
> 3) use fancy algorithms and simple code
> 4) tell the truth
> 5) if something is taking a long time then you're approaching it
> wrong

Sadly, those are the things that should be taught right away, but they
arent. #4 is from kindergarden I think.

On Thu, 8 Jun 2000, Lucas Gonze wrote:
> Programming was, to me, most like a medieval craft guild.

It is a craft. Anyone can paint, anyone can sing, or play a piano,
but few masters have existed. It's the same with code. The fact that
coding is considered a skill and not an art is a very bad thing.

It really just does take years and years to master the art, and you have
to be _trying_ for deep understanding, not just hacking away. Constant
refinement, new theory, new methods.

On Thu, 8 Jun 2000, Lucas Gonze wrote:
> In the current labor shortage it takes so little to impress
> businesspeople that smart but foolish kids are working on their own,
> without the benefit of masters to learn from. So they have to learn
> the above lessons by messing up some big commercial projects.

*chuckles* This reminds me of when I was doing commercial web site work
back in 95-97. My running joke (and fact) was that all my clients were
3rd generation. First they went to the college kid, then to the
wet-behind-the-ears web company, then after getting screwed by those 2
they ended up coming to me and I built them a site that worked.

On Thu, 8 Jun 2000, Joachim Feise wrote:
> Age discrimination sure exists in some instances, but Norm Matloff
> makes it sound as if this is the rule, without giving sound (and
> provable) evidence.

Oh please, just look around. I've already run into this myself and I'm
"only" 26.5. I can't prove it either, but it's there, and everyone knows
it. The bias against people that cost 100% more but produce 2000% as
much is both insane and very very prevelent. Crappy results are just
fine when you have no liability and will switch jobs again in 6 months
when the company goes under or the IPO lottery doesn't pay off. There is
no programmer shortage, there is a shortage of programmers with a clue
and managers that care (they are leaving in 6 months too). Importing
more people without a clue will not help the underlying problem that
it's all just monkeys typing at keyboards trying to come up with
Shakespear();

[1] http://www.sei.cmu.edu/cmm/cmm.html

- Adam L. Beberg
  Mithral Communications & Design, Inc.
  The Cosm Project - http://cosm.mithral.com/
  beberg@mithral.com - http://www.iit.edu/~beberg/


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Thu Jun 08 2000 - 10:04:16 PDT