Fog Creek Software
Discussion Board




Keeping Your Job

The pragmattic programmers have posted a new talk on the subject of keeping your job.

http://www.pragmaticprogrammer.com/talks/HowToKeepYourJob/HTKYJ.html

Nice to have something objective and constructive on the whole H1B thing.

Ged Byrne
Monday, March 24, 2003

Good point. Just complaining about it was driving me up a wall and in the end provided me with nothing but a bad attitude. These types of plans will help us not only become better developers, but provide guidance for a career in what could at best be called and instable market.

I especially like the part about diversifying your knowledge. This summer/fall I hope to return to college and pursue a Business degree in hopes that if necessary I can transition to another field. I will continue to code and love it just as much but only a fool would gamble their entire life on a market that seems to be in the midst of a nervous breakdown. It pays to diversify.

Ian Stallings
Monday, March 24, 2003

Ged,

Thanks for the link. It is a really good presentation of ideas.

But don't you guys think there is a bias towards MDA - for whatever reason!

Prakash S
Monday, March 24, 2003

Awesome link Ged, thank you.

Was there a talk that went along with these slides?  I would love to listen to it if there is.

Just a few of the many,many excellent observations made.

-  Time not equal value (Everquest Syndrome)
- The imporance of self investing
- Foreigners CAN make quality code (who knew over 50% of foreign companies were at CMM level 4 or higher?  Perhaps something else was meant that was elucidated in the actual talk )
-  Relying on the government and/or companies won't work

Crimson
Monday, March 24, 2003

I think that just what the authors are into right now.  Same goes for AOP and Haskell, I suppose.

Ged Byrne
Monday, March 24, 2003

Crimson,

All I've found is the slides.  They're part of an ongoing series, more of which here:

http://www.pragmaticprogrammer.com/talks/HowToKeepYourJob/HowToKeepYourJob.htm

Ged Byrne
Monday, March 24, 2003

Crimson, I think you misinterpreted the CMM 4 slide -- what was meant (I think) is that 50% of ALL CMM 4 companies are foreign.

Of course, difficult to tell from one pie graph.

Steven C.
Monday, March 24, 2003

Less than 5% of companies are at Level 4 or higher.  The article meant that of the companies worldwide which are at Level 4, 59% of them are outside the US.

T. Norman
Monday, March 24, 2003

First, CMM != quality. I've seen many examples to the contrary.

Then, let's talk about keeping our jobs. I think every successful professional group in the US keeps its membership under very tight control by erecting high (and often artificial) barriers to entry into the profession. These barriers are self-policed (you won't be admitted to the group if you didn't get formally recognized by passing exams, getting a degree, etc). In addition, the barriers are protected by the government (try to practice law or medicine without being a lawer or a doctor, formally recognized as one in this country and even a particular state!).

Unfortunately, engineering profession is not organized this way (with the exception of civil engineering). And I don't see a way to make it this way in the near future. Therefore, the future for a US software developer looks glim indeed. I'd welcome an intelligent discussion on this subject, but no H1B-religious wars please! :)

Azazello
Monday, March 24, 2003

Azazello, you say that "every successful professional group in the US keeps its membership under very tight control by erecting high (and often artificial) barriers to entry".  Well, I think we're about to fall into a circular argument by debating what is a professional group, but I can think of a number that don't:  artists, journalists, musicians, and scientists come to mind.

Also, I have some experience with "regulated professions" (my wife was in one).  The fact that you passed a test thirty years ago doesn't make you competent.

Honestly, I look around my job and I don't see much that's testable in a written form that would guarantee a level of competence.  And putting in some kind of test just to eliminate those outside the political boundaries just seems wrong to me.

Personally, I hate to say it, but I think it's a simple case of having priced ourselves out of the market.

Tim Lesher
Monday, March 24, 2003

Of course, those exams don't serve much purpose other than being an artificially high barrier to entry. Look at actuary profession. They have 8-9 exams to pass, quite tough and time consuming. The result is clear -- the barrier to entry is high, and actuaries enjoy a very stable and financially rewarding career. Of course, actuaries may be more difficult to outsource, but that's not the point.

Taking your argument, professionals like doctors and lawyers would have priced themselves out of the market long time ago if it were not for high barriers to entry and legal repercussions for those who would like to circumvent those barriers.

Did we price ourselves out of the market? Perhaps. But the salaries of average developers did not get even near salaries of doctors and lawyers.  Let's just admit that the engineering profession has failed to establish itself the way medical, law, and even actuarial professions did. And the profession has had about 100 years to do so.  That's sad, indeed.

Azazello
Monday, March 24, 2003

Tim,

I think you made a real good point about the scientists. Software engineering is a lot more similar to science (which requires no certification at all) than it is to doctoring, nursing, piloting an airplane, locksmithing, lawyering or any of the numerous established service trades that do require certifications. Software design is fundamentally research, like science. It's not the application of well known and established principles. When it does become that well understood, we'll just write a program to do it automatically, certify the program  and be done with it.

Dennis Atkins
Tuesday, March 25, 2003

---
I think you made a real good point about the scientists. Software engineering is a lot more similar to science (which requires no certification at all)
----

No certification, aside from the 5+ year Science PhD required to be hired to do anything in a lab other than wash test tubes or polish mirrors...

----
.... than it is to doctoring, nursing, piloting an airplane, locksmithing, lawyering or any of the numerous established service trades that do require certifications. Software design is fundamentally research, like science. It's not the application of well known and established principles. When it does become that well understood, we'll just write a program to do it automatically, certify the program  and be done with it.                       
------

As a programmer who works in a science lab, I will say that programming is a lot more like being a locksmith than it is like being a scientist. If clauses, SQL queries,  and for loops are well established principles.  In fact, since even in the lab, the only thing people are paying for is boring infrastructure software, I HAVE written a set of programs (perl + emacs lisp) that write the (java) programs I'm being paid to write, automatically.

"When woodworkers are faced with the task of producing the same thing over and over, they cheat.  They build themselves a jig or template.  If they get the jig right once, they can reproduce a piece of work time after time.  The jig takes away complexity and reduces the chances of making mistakes, leaving the craftsman free to concentrate on quality. "

--Andrew Hunt and David Thomas, The Pragmatic Programmer, p. 102.

choppy
Tuesday, March 25, 2003

I like the representation very much, but as a not native english speaker - what does :
"
PIP: Possible Schedule
•One week/month:
–spend the time in a user group meeting
–plan to give talk every two years
•set aside 6-8 weeks of PIP time to prepare

" mean??
What is PIP??

Panna
Tuesday, March 25, 2003

Panna,

PIP is an Acronym for Pragmatic Investment Plan, which was introduced on the previous slide.

They are saying we should plan the investment in our own skills the same way we plan our financial assessments.

Ged Byrne
Tuesday, March 25, 2003

Thanks - I've overread...

Panna
Tuesday, March 25, 2003

So I suppose you would be willing to have your surgery done by somebody who just called themselves a surgeon without going to medical school or taking any exams?

Exams and certifications are never perfect, but they are almost always significantly better than nothing.  They don't guarantee competence, just as the lock on your front door won't guarantee your house won't be burglarized. But your chances of a good outcome would be much worse without it.

T. Norman
Tuesday, March 25, 2003

Medical doctors eventually become specialists.

If this industry stood still for 5 minutes then it might bevome worthwhile being a specialist in something.

There is no training or certification on the face of the earth suitable for software developers.

Either you can so it or you can't and there are plenty of tests for indicating natural aptitude, forget the rest, that's just for people trying to sell certification courses.

Realist
Tuesday, March 25, 2003

Norman,

of course, everybody would love to have a qualified surgeon to perform such a complicated task. But you wouldn't deny the fact that the supply of doctors is artificially limited in this country. Therefore, their fees are abnormally high. Imagine you could've imported lots of doctors on H1B without having them pass through additional hurdles here. The fees would naturally go down, wouldn't they? Basic supply and demand. But it will never happen because medical profession is smart enough to limit the supply of doctors.

Software development is not like it. Let me point it out again -- I'm not saying that there could be a series of exams that would show whether a programmer is good enough to do his job. This is not the point. The point is to limit the supply of developers to keep the wages high. But it'll never happen for obvious reasons. Too bad.

Azazello
Tuesday, March 25, 2003

Limiting the supply of developers in this country wouldn't work anyways.  The jobs would just be moved offshore anyways.

Doctors can't be moved offshore because no one would be up for a 9 hour plane ride to get to their doctor in an emergency.

Chris
Tuesday, March 25, 2003

First, news flash: there are doctors here already on H1B.

Next, those barriers to entry aren't as artificial as you think.  Take away those officially implemented barriers, and they would be replaced by other de facto barriers to entry which often would be worse.  If doctors didn't have to go through their formal education and examination process, hospitals and patients would have much less confidence in new doctors.  Hospitals would pay them less, and new doctors setting up their own practice would have hell in trying to attract enough patients and charge them enough to make ends meet.  Established doctors would make very good money, but new ones would have so much trouble and risk when they start up (and little pay), which would effectively act as a barrier to entry.  Not to mention the increased malpractice costs due to the higher number of botched operations by self-taught doctors.

The official barriers of education and exams just serve to put a base level of consistency and clarity as to what those barriers are, and attract a higher percentage of smart and hard working people rather than the risk-seeking types who would be more likely to flourish under the de-facto barriers.  Maybe you aren't a doctor today because of the need to go to medical school and do exams, but without those requirements you would probably have decided against being a doctor anyway for the reasons mentioned in the above paragraph.

Right now, new entrants into software are facing such a de facto barrier to entry.  It is an extremely difficult task for a new CS grad to get a programming job.  Because we as a body of software professionals couldn't come up with good standards for evaluating our members, employers have implemented their own misguided de-facto barriers to entry -- requiring you to have 5 years experience in each of 10 programming languages while being under 35 to get hired.

If the primary purpose of standards for software professionals is to limit the supply, it won't work due to the global supply of programmers.  But if those standards helped to improve the quality of the professionals, or at least give corporations an increased confidence in such quality, they would be less likely to have those ridiculous requirements for hiring and less likely to send work to be worked on by foreign developers who didn't meet those standards.  Corporations love paying for standards and certification of people and products.  That is why you'll see them paying thousands for Red Hat Advanced Server when they could get Debian for free.

T. Norman
Tuesday, March 25, 2003

The corollary to licensed is legally liable.  A licensed practitioner of just about anything can usually be sued for malpractice.  Employers of licensed engineers are required to have malpractice insurance for them.

The real reason we don’t have licensed software engineers.

Contrary Mary
Tuesday, March 25, 2003

Norman,

I'm not agian questioning the need for barriers in the medical field. They work great for what they are worth. Of course, it's impossible to limit the supply of developers in the US. As you said correctly, the jobs will move overseas.

The only way to go is to establish a legal responsibility for the poor quality software. Then some form of license or professional designation will be required at least for the technical leads to certify the software. But it won't happen. People are happy with crappy software. Nothing will change.

I think that many jobs will remain here. It's just that wages will be suppressed enough to make it an average office job. We can suggest ways to cope with it as individuals. But it reminds me a cry, "Every man is for himself!" I can think of ways to improve my odds to survive in this situation. But can we think of ways to help our profession get established?

Azazello
Tuesday, March 25, 2003

*  Recent Topics

*  Fog Creek Home