I don't think it all comes down to "companies
not willing to spend the extra buck on the more
experienced programmer". I hire programmers
with little/no experience, but make sure that they are
paired with a more experienced programmer who can guide
them. As a manager myseld I also review code from time
to time myself as even I can see if something is a mess
:)
I started out in the industry the same way myself so I
know it works. Just needs to be managed correctly (i.e.
if it goes wrong then managment got it wrong).
It does if you all the programmers you'll ever hire are
ones with no experience. you'll end up with beginners
mentoring beginners, teaching them excatly what they
have not learned themselves...
If you have a good coder base, that's a different story.
But if you keep up with an "Coders are 10 for a
buck today" attitude long enough, you'll
eventually be left with nothing but first timers, trying
to do the right thing, but completely clueless as to
what they are actually doing.
Yes I agree with your follow up comment. The company
will not get away with it long term. Even if they do,
they will be half the company they could have been.
Quality, not quantity. You get good code, tight team,
less management overhead and more importantly more
effective management (as they can focus on new
directions and business).
I think the article misses my favorite naming convention
which I call "life reflection"
(adapted from Fortran code from 16 years ago):
if(girl.age >= eighteen) {
yourPlace.clean();
Restaurant r = new Restaurant();
r.book();
r.visit(this, girl);
this.saySomethingNice(r, girl);
Taxi.Call();
takeToYourHome(girl);
}
else {
callitoff(girl);
doUsualStuff(backupGirlfriend);
}
You may need to adjust variable names for a consensus
age in your area :-)