Home About The Codist RSS Feed

WTF Stories #5 : The Weasely Recruiter
May 23, 2007 07:54 perm link Readers: 4629

One of the worst things about being a programmer is dealing with recruiters. A few are great, most are useless, and some make black mold look appealing.

Generally recruiters only make money if they land you a job or contract. It also appears that in order to be allowed to continue on as a recruiter, they need to occasionally send a resume to an employer (sort of a ping) or they will be forgotten and begin to grow mold. So the race is on to grab as many resumes as possible.

Employers generally hate recruiters as much as the employees. They get slammed with as many worthless resumes as possible for every job on the thought that maybe one will stick. The theory is that recruiters only bring well-qualified prospects to the employer but the reality has more in common with a dump truck.

I have had recruiters:

  1. try to sell me on a great job which turns out to be the job I just left (and first on my resume)
  2. send me to interviews for jobs I had no interest in or qualifications for
  3. edit my resume to suit the job but not tell me ahead of time
  4. submit me to employers without my knowledge

These, however, are fairly common and not WTFs by themselves. The next two are my top winners. Or losers; take your pick.

Preliminary Bout

A long time ago before the web, I talked with a recruiter in New York City about a job at a big investment bank (J.P.Morgan). After the usual BS he pointed out that suits were required for this job, which I indicated I didn't own and never wore.

"You will have to buy a large set of suits for this job."

We then talked money and it wasn't much, so I mentioned I couldn't see how to afford to live in NYC on what he was offering.

"You can stay at the YMCA."

At this point I wondered if there was a businessman in the Village People. The song danced in my head and I openly wondered where I would hang all my suits, in the locker with the Indian Chief's headdress? What kind of an idiot would even suggest such a thing, work on Wall Street and live in a popular song.

I said no.

Main Event

Recently I talked with a local recruiter who promised me I could start the next day. He only said the requirements were strong Java and familiarity with OpenCMS. When I asked about what the job entailed, he said he didn't know but another recruiter from another recruiting firm "he worked with" would call me at 13:30 and give me the details.

So at 13:00 I get a call from this other recruiter. He immediately started to extol the company I would be working for, their customers love them, the two owners are his best friends, one of them is "the smarted DBA in all of Texas", etc.

So I asked him what the job involved.

He continued praising the opportunity for a bit more and then said I could start that afternoon after I talked with his two buddies. I then told him "I can't see signing a contract without knowing what the job involves". He asked me if I knew Java (well of course) and I told him I had downloaded OpenCMS once but never used it. That didn't seem to matter to him. Now we were down to one requirement, Java.

After more questioning he mentioned that the actual work would be "writing business applications" for a separate company but he didn't "know" what that meant. At this point I was long past caring but wanted to see where this surreal conversation would go so I pressed on.

Now he mentioned that this other company was in talks to be bought by the first company and that they were still in negotiation. When I asked about the team I would be working with he said "they had 20 people but now only have 2".

So, I asked again, what would I be doing with these 2 people? "I don't know" he said, (big surprise) "but when you talk with (his buddies) you can ask them".

Now we talked a bit about money, which was way below anything I would consider so I said "no thank you" to finally end this. He tried the great company spiel again but it was over soon.

Only after we hung up that I was able to analyze the conversation. I bet since the first company was buying the assets of the second (failing) company they needed someone to support the existing applications during the transition. So basically this job was tech support hand-holding of a bunch of angry customers of some business applications written in Java and running on OpenCMS.

Maybe I could have sung YMCA to placate them.

My Tags:

  • Topbit: May 23, 2007 15:29

    My own favourite recruiter story was maybe eight years ago now - I was taking a day or two to tweak my CV for a company, via a small recruitment firm. Then I got a call from the big recruitment company in town, who had a CV on file - they had already forwarded it to a company and she wanted to arrange a time for the employer to interview me. Being sent to the company I was carefully honing my CV for annoyed me, of course

    I told the little firm of the annoyance, and I suspect he had a few words with his wife when he got home. His wife that worked at the bigger recruiter - and who had sent my CV without asking me....

  • JobSeeker: May 24, 2007 06:49

    "I'm a macho, macho, macho ..."

    Oops, wrong song.

    For those who may not know some YMCAs run low cost hotels. These days those that remain tend to be "exciting" places to live, since their low cost attracts parolees, almost homeless people, etc etc.

    Anyway, one time I went on an interview for a contract position, arranged through a decent enough recruiter. I bring some copies of my resume, as recommended.

    One of the interviewers looks at my copy and says it doesn't match the one they sent out.

    What the agency had done is change every job I'd ever held to a contract job, to make me look like a long term contractor instead of a guy out of work and looking for more or less any work he could find.

    Not a bad idea in some ways, but very embarassing. I did get the position but it was still unnerving, and could have cost me the job.

  • tom biggs: May 24, 2007 07:15

    I was very careful not to let anyone know that I was moving on from the

    job I was working. The work was good but the constant layoffs were making

    me nervous; I'd just had my second child. So I did want to keep the job until

    I got another.

    The recruiter thought he had something hot, but couldn't reach me at my desk

    phone - so he had me paged. I was in an important meeting with my boss,

    *his* boss, and the whole team! And the moron recruiter just couldn't seem to

    understand why that made me angry. I went back to the meeting and lied

    that one of my kids was sick, etc., which worked, but I hated doing it.

    When a friend and I had our own company, we made the mistake of asking a

    recruiter to find us a junior C programmer. This jerkwad called us every day

    with the most inappropriate candidates. "Hey, this guy is sharp! Lots of COBOL

    experience!" "Yo, just because the language starts with 'C' doesn't mean... oh,

    forget it!" It almost took threats of violence to get him to stop calling us.

    We tried polite hints at first, then simple requests, firm requests next, finally we

    resorted to shouting into the phone "You're an IDIOT! DON'T CALL US ANY MORE!"

  • Warren Henning: May 24, 2007 12:24

    http://users.adelphia.net/~33h3q/ymca.jpg

  • Noo Yorker: May 25, 2007 04:24

    JPM and other big banks do pay well, actually. It sounds like recruiter no. 1 got a bit greedy and was trying to pocket too much of the excess for himself.

  • Noo Yorker: May 25, 2007 05:45

    Also, have you thought of circumventing the brokers completely, and doing your own marketing?

    Here's an old forum post talking about this very idea: http://p222.ezboard.com/fcomputerconsultantsdealingwithbrokers.showNextMessage?topicID=2332.topic

  • Rob Menke: May 25, 2007 12:24

    My personal favorites are the recruiters that try to be "helpful" but don't understand what they're doing. Two years ago, when I was returning to the tech world after a long sabbatical, I had a recruiter submit my resume with "typographical corrections." He thought I had typed "X" when I meant "MS," so all of my X windows experience became... the wrong kind of Windows experience. Fortunately, the recipient of the adulterated resume had a sense of humor and the technical background to understand the difference between Microsoft and X11.

    There was also an in-house recruiter who started insulting me for not wanting to do MS Windows development, with blanket statements like "only idiots would ignore Microsoft"; he then had the audacity to suggest I come in for an interview. Desperation and condescension do not mix well. (They keep calling, as they have a high turnover rate in their HR department.)

    Sometimes it takes two to tangle: During one interview, the recruiter spent over an hour extolling the virtues of the company, before injecting sotto voce, "We wear suits here; your cover letter says you don't wear suits. Will that be a problem?" My response was far from mature, and her rejoinder was equally rude. I could have handled that one much more gracefully.

  • David: Jun 08, 2007 12:22

    I'll keep this short: a recent but noteable recruiter interview (I think they wanted to see how old I am) remarked after looking over my resume wanted to know what were all the references to: JDK on my resume! Geezenslaw out!

  • Add Comment

Coprolitic Programming
Apr 23, 2007 15:29 perm link Readers: 6328

While I wile away my time writing a major post (The Future Of Programming), I'd like to approach a scary secret of our industry: Coprolitic Programming.

Coprolite: Fossilized dung

Coprolitic Programming: Working on systems of fossilized crap

Everyone has known or has worked on software systems or applications built on ancient code bases which are difficult to work on, require large teams to keep running, defy extension or interconnection, and generally scare the hell out of everyone involved. Over the years they become less and less understandable as more and more engineers add their changes (you could call this mineralization). Management types lose hope or refuse to consider replacing these systems due to perceived expense or difficulty: better the rocky turd you know than the fresh one you don't.

Now mind you some of these systems continue to work and produce value despite the difficulties; even a fossilized bit of animal remnant can make a fine brick or tool. The Sabre Reservation System (written in the 60's) ran until recently as the backbone of a large portion of the airline reservation universe and managed some 8,000 transactions per second with little down time. Yet making changes was a major issue as the system was written in a macro assembler, used what amounted to physical disk sectors as a database, and required major rings of protocol conversions to survive into the internet era. After something like 10 years of work the system now runs a nice modern architecture.

I remember being at a meeting at a local defense contractor in 1998, who pointed out that many of their database systems were written in the 70's and never updated, as this would require someone to take responsibility (both financial and managerial) and no one wanted to tackle this. Trying to add web support to these coprolite DBMS's was too difficult for them to do and they were looking for someone to do it for them. We declined. Software development is hard enough without the archeological aspect.

Programmers who toil on these types of petrified projects rarely enjoy the experience. Most either burn out or are reduced to a dull-witted existence where fixing a bug a week justifies success. The experience of working in what amounts to a large specimen of something pungent you would avoid if it were fresh, devoid of modern software practice, languages, algorithms and knowledge makes it virtually impossible to find new jobs or start new projects. The only option is a continued death march into retirement until their brains start to take on the hardness of their project. Generations of management come and go but the project endures.

Man that was a depressing paragraph. Yet I have seen projects of this type and seen what it does to people. I am sure we all have. It's the ugly backwater in our industry. There are running Cobol programs out there almost as old as I am. Yes, they still work. People still work on them. 5% to 10% of the population takes antidepressants; a coincidence? Hardly.

The arguments against rewriting or replacing coprolite systems usually fall on favorite management topics: it's too expensive, we'd rather have the system with the 4,032 known bugs in which the customers have found 17,345 workarounds than start the bug count over again, we would have to hire new programmers since all of ours are fossilized, and my favorite: "it's too hard". From a business point of view it's easier to justify the large staff you already have supporting the frozen dung monster than to justify a new project. The long term danger of a system that can't be modified to meet a changing world is hard to quantify and easy to push off on the next generation of decision makers.

So legions of coprolite programmers continue to toil on systems which future archeologists will struggle to understand how our civilization survived with them (if indeed it does). It's a sad truth that software being the most malleable of technologies can none the less become as fossilized as dinosaur skeletons and their poop.

The next time you think to sigh, "this code is such a pile of crap" imagine what your grandchildren will say some day when they work on it.

My Tags:

  • Stephen: Apr 23, 2007 16:35

    I'm working on one of those systems right now. It's 750,000 lines of code (more or less - it is really, really difficult to count the lines of code in this system. This guess comes after six weeks of analysis.) in six languages organically grown since 1992. It's web based.

    The new version is nearly complete, and is in Java. It's not as fast. Instead of a single server (shared with lots of other apps) it now uses, depending how you count, four, and all of them are faster with tons more memory. It's down more often - well of course, there are four single points of failure instead of one. The first releases were extremely buggy, despite a contractor which claimed to use CMM level 5 methods. I don't expect to get up to the level of the code knowing the real business rules that the old code set knew for at least five more years, despite having the source and a staff which has studied it for years. At which point, it will be seven years old. And, i expect that it will take a team of ten to get it there. Yet, the old system never ever had more than five programmers, and for the past four years has been maintained, migrated, ported, and enhanced by less than five - currently two. And, both of those have to support the new development team - a task which takes 90 percent (can't use the single character...) of our time or so.

    Fred Brooks said you should "throw one away". But with modular programming, that can be done in place. With web based delivery it can be upgraded without downtime. And even if you are on your fifth rewrite, it still needs to be updated to what the customer now knows (s)he needs. I'm not a fan of the rewrite just because it's old. You need a more compelling reason. You'd think that the more than a million dollars to do it on the cheap cost would make the bean counters think twice. You'd be wrong.

    I'm not complaining. If there weren't problems, i'd be out of a job.

  • John DeHope: Apr 24, 2007 07:14

    Yes.

  • Paul: Apr 24, 2007 08:50

    Working on such systems is soul-destroying and pretty well worthless on a resume nowadays, unless you aspire to more of the same, forever.

    I had the "pleasure" of working for about 4 years on a system that was not only ancient and labyrinthine, but written in a totally proprietary language, with patches applied in assembler (for an equally proprietary CPU). One steaming pile of source code was a couple of thousand lines, with just one single comment consisting of one (Swedish) word. The documentation of course was equally bad, despite all sorts of ISO/QA effort. Oh what joy. I entered as a fresh young graduate with a love of writing code, and exited as a jaded, tired ruin, for whom an 8 hour day was about 7 hours and 30 minutes too long, with absolutely no marketable skills to show for it, and no inclination to even consider programming in my spare time. I view those as 4 utterly wasted years that I can never get back.

    That was followed up by a year of working for a large insurance company, during which entire time I modified 3 lines of COBOL code, by adding a single letter to each. My changes weren't even needed in the end. That shop was known in town as "the place where programmers go to die". They were so bottom-line focused that they wouldn't even provide water coolers. Hateful place. Though I did get so bored there that I started writing code as a hobby again, just to say I really was a programmer. And thus began my rehabilitation.

    I'd sooner starve than work in either of those places, or anywhere remotely like them, ever again. I'm working now in web development for a small company, and remembering what it was like to enjoy my work. I get to be creative, to solve actual problems, and that's what got me excited about programming in the first place.

  • Matt Blodgett: Apr 24, 2007 16:04

    Great post.

    I've made a conscious decision in my career to avoid those types of projects at all costs.

  • Dan Sickles: Apr 25, 2007 07:49

    uh oh....OOP is just one 'P' short of POOP. I'm going functional....

  • Luis Bruno: Apr 25, 2007 09:17

    Can't understand why you classified this under 'humor'.

  • alexandroid: May 04, 2007 13:55

    Corporate programmers should gradually improve the existing system. It's too easy to say "this code is crap, I don't want to read it, I better write my own [crap]". We have a system which is big enough to understand and keep in head for one single man. Yes, it has dark corners with stinky code, but sometimes stinky code has some logic you won't find or realize during creating everything from the scratch. Many bugs are working, but too many bugs were fixed. Yes, this makes code patchy and too complex as time goes, but that's the way evolution of the system goes. And even new system will have the same path.

    So stop whining and do your job -- read the code and try to understand it. And then improve it. Gradually, testing every single change you make and writing UTs for the pieces not covered yet. That is the real work -- fix the crap and not write new.

    And before doing any update ask yourself why. Maybe that system written in 70's doesn't need our genius to rewrite it.

  • Luke: May 09, 2007 10:03

    That article was hilarious in the most depressing dark humor kind of way. Well written to boot. Thank you!

  • Add Comment

If Being A Programmer Were Like Being An Air Traffic Controller
Mar 14, 2007 09:03 perm link Readers: 2579

  • Every time your software crashed, 300 people would die
  • You get new tools every 30 years, whether you need them or not
  • Everyone has to use the same language
  • A good day is coming home and not seeing your work on the news
  • A bad day is coming home and seeing your work at the top of every news program being dissected in detail by experts
  • If you sneak a peek at Digg or Reddit while you work, everyone knows it
  • No matter how much work comes your way you have to deliver in the time alloted
  • After just a few minor bugs you would be fired
  • If your tools stopped working for any reason, you then have to work blind and from memory
  • The video game you play has only 1 life
  • The project manager is the government
  • When you use someone else's software, you need to know the programmer personally and how long they've been on duty
  • If you do your job well, no one will notice

Have a nice day being a programmer!

My Tags:

  • Paul: Mar 15, 2007 07:28

    forgot one.

    -nobody would do it

  • Add Comment

Why I Would Want Steve Job's Job
Feb 08, 2007 10:16 perm link Readers: 1150

Lately I have written a number of more serious essays, so it's time for something lighter.

If Steve Jobs has to step down from Apple Computer for whatever reason, I am ready to take on the job. Why am I the perfect candidate (in my own mind)?

  • I have been passionate about Apple since I bought my first Apple II+ in 1979 or so, and since 1984 I have used Macs exclusively at home. One time I had a PC for a few months but it died.
  • From 1984 until 1994 I ran two small Macintosh software companies (Data Tailor, and the SU5 Group). Of course the most people we ever had was 13.
  • In 1995-1996 I worked at Apple when it sucked. Shortly after I left Steve came back and it stopped sucking. So I know where the offices are and have plenty of examples of suckiness at Apple to avoid.
  • I competed with Bill Gates and Microsoft Excel in the late 80's and failed. Then again, we didn't have a $12B pile of cash either. If we had it wouldn't have sucked to compete.
  • New products and new technologies are built by people with vision. I can see OK and use my eyes to see what's going on in the world.
  • Although I can't work for a dollar a year, I don't need a free airplane and am willing to work for a living wage (which in Cupertino requires quite a bit). Options are definitely optional.
  • I would refuse to be CEO of any other company at the same time.
  • I look good in a black turtleneck and jeans. I hate ties, suits, and the whole business dress thing.
  • Unlike Steve I am generally a tactful person. Like Steve I hate crap, moronic managers, pencil pushers, yes-people and engineers who refuse to take chances with technology.
  • Unlike Steve I am an engineer with 25 years experience and can talk the talk and walk the walk and all that.
  • I would never fire someone during an elevator ride. It's safer to wait until later.
  • My sister is a VP at IBM so there is a precedent in the family. It means nothing here but always a good thing to mention your family members doing well.
  • I have no desire to tear down my house. This would play well with the local government. Of course I would have to move so I can't say if the new house would remain standing.
  • I would always show up for meetings on time. Being German I hate being early or late. This would probably scare people at Apple.
  • And finally, the job would be a blast. Being at the forefront of new technologies, new products, new possibilities, and surrounded by an army of passionate Apple employees would be my idea of a dream job.

OK, dream over. Back to (finding) work.

My Tags:

  • BlogReadr: Feb 08, 2007 14:55

    With Jobs in hot water over the back-dated options, you might have your chance!

  • Shawn: Feb 08, 2007 23:55

    Jobs done a great empire but no more longer~you can hold your chance which God given to you.

  • veridicus: Feb 19, 2007 12:48

    I doubt Jobs has anything to worry about over the back-dated options problem. So far it looks like it was just one bad apple (punn intended). Jobs isn't stupid.

  • Add Comment

Name:


Optional URL:


Comment:


Save Cancel

Copyright © 2007 By Andrew Wulf