Thursday, June 12, 2008

Let me Reiterate the Point

I had an interview with a company where the development manager used the word "Iterative" to describe the development model.



For those not in the know, software development typically falls into a workflow cycle, and this cycle can be described in many ways. "Iterative" implies that development begins, moves forward, and doesn't stop. Anything that modifies the development cycle along the way is held off and incorporated in the next iteration: "That's a nice add-on, but we're a bit too far down the road for that right now. Let's incorporate that into Phase 2." Everything is broken up into neat cycles.



What made this interview stand out was the constant re-use of the word "Iterative". It came up several times in the conversation until, when I was finally asked what development methodology I prefer, I'd have been incredibly stupid to say, "Waterfall." I pointed out why I liked the iterative model of development: it encapsulates the scope of each development cycle, it acknowledges the need for modifications along the way, and it provides them a place in the next iteration so that the project isn't constantly stopped and changed. Imagine the difference between changing your oil every 3,000 miles, versus driving with the hood open and the drain plug out and constantly pouring quarts as you head down the road. Obviously, when you wait to mess with things, you get somewhere.



The last time I heard "Iterative" in the conversation was thus:



"It's good that you can work in an iterative environment: a lot of developers get here and find that they can't work with it. They get frustrated because we are so iterative."



I get the feeling they don't quite understand what "Iterative" means...but it's the closest word someone has come up with to describe their crazy work environment, and because it's a buzzword, it sounds more reasonable. More businesslike. It calms everyone down: "It's okay; we're just being Iterative." I got the impression that their journey is more like the driver insisting the oil can't be changed yet...while a half-dozen user-demons are prying at the hood. And the backseat passengers (stakeholders) are telling the driver to just go ahead and pull the hood release so they can do what they want. Management would be passengering, trying to reach around and pop the hood for you because you're the only one with your eyes on the road.

Between the Lines

I had an interview today that told me a lot. It wasn't any one of these things, but the combination of them that gave away what working for this company was like.

When they said,
"The typical work-week is 40-50 hours"

They meant,

"The typical work-week is 50+ hours"


You can tell this because they also said,

"We're not clock-watchers here."

meaning

"If we were clock-watchers, we'd all be miserably depressed at how much time we spend here."


"People can come in as early as they like: some enjoy being here at 6 A.M. and others stay 'til sometime in the evening."

In other words,

"Most people do both"

or

"The typical workday is distracting and frustrating, but you need to be here. It's the times before and after the users and stakeholders get here that you'll be getting anything done."


You can't always infer these things this way--but in this case, the combination of the above phrases, and the way the Development Manager looked when they said them, told me the truth.


There's nothing wrong with hearing, "We need someone who can hit the ground running", but I'm coming across a lot of shops who seem to have cranked up the treadmill and everyone's trying to be George Jetson: "Help! Jane! Stop this crazy thing!"


A lot of times this is because the company has been running on a binge/purge model of staffing: developers are a dime a dozen, so let's get a dozen or two, run them on projects, and if/when things start to get tricky--deadlines slip or developers push back on the requests--we'll let them go and look for some new ones. This is reasonable, given the circumstances: it's hard for a non-technical person to interview for a technical position and know that a person's skill-set is what is needed. And there are a lot of programmers out there who talk a good game.


What happens when you have so many hands on the code is that you have so many different ways things were accomplished that the applications become more of a mess the more they are worked on. In this case a lot of the in-house work was going to be to bring everything to one platform. Matters were made worse by the fact that the company had acquired two other companies very quickly, and to keep things running smoothly and make the mergers happen as quickly as possible, they had simply maintained all three separate systems...of everything. Billing, HR, Auditing and more were performed three times over because nothing had been merged yet. Three cheers to them for wanting it done, but a chorus of boos for waiting for everyone's jobs to reach critical mass before acknowledging it was needed.

Monday, June 9, 2008

Nuclear Escalation

Lawsuit Lawsuit Lawsuit.


I'm not sure why some companies feel the need to throw the "L" word around, but there it is. Like eBay going after Craigslist.org, I fail to understand the need to legally assault anyone and everyone--just because you can pay lawyer's fees, doesn't mean you should.


I think it's because some people enjoy the power: I'm thinking of three specific businesses in my area that claimed (to their employees, at least) to be pursuing legal action against former co-workers. Some were people who quit, some were let go, but I think the reason the jilted take to the courts is because they see an easy win: the little guy's not a big company, and besides, he's not even employed now! He'll never make court costs. He'll beg to settle, and we'll draw up the terms. As I'd mentioned in an earlier post, telling your employees that the guy who left is getting hauled to court is good for morale: either your remaining staff think he must have been pretty bad to warrant that treatment...or they fearfully shut up and hope they're not next.


Oddly, for all the gab from management, I've yet to see any of these particular instances make the papers. I suspect it's because they never happen. Companies get stung, they react, and the bad guy may get a nasty letter from a lawyer. Hard to corroborate my sources when the alleged accused is long gone and not eager to talk about it.


Regardless of your circumstances, never burn any bridges. Even if you're moving to another state, keep your head high, do your best to remain amicable, and don't stoop to mudslinging if your employer tries to draw you in. Document everything and insist on getting things in writing (and refuse to leave the premises until they do, or you'll never get it). Most importantly, smile and wish them well. Because when you blow up, shout at people, use obscenities, or even just think you're clever because you deleted everything off the server, you open yourself up to being sued into the afterlife.

Wednesday, June 4, 2008

Environmental Extremes

I don't like having to work so many different places in IT: retention rates these days seem to be awful.



But the interesting thing has been the experiences I've had with so many different places.

At this point, I've been in massive corporate halls of beautiful marble, where everyone is beautiful and they wear the latest fashions...and I've been in 8-room offices with ripped furniture, beer in the break room, and X-Box on Fridays.

What I learned from this is that for me, it really doesn't matter where I work. It's what I'm doing, and who I'm with. Do I like what I'm doing? If not, can I at least keep doing it without coming home miserable and/or annoyed? Are the people nice? That plays an important part--if you like being around the people you work with, you can overlook a lot of sins.

I had one job that was very personally rewarding: I felt like I was part of something great, and I was doing a lot of good for a lot of people--except the ones I was working for. For them I could do no right. They made me miserable, did horrible things with no regard for the danger they placed the general public in, and they ruined my health physically with the most horrible work environment an office could ever manage.

What matters to you?

Methinks Thou Doth Protest Too Much, Part 3: The Raised Bar and the Sinking Quicksand

Despite the multiple hoops I have to jump through, I'm finding that the prize on the other side is sometimes snatched away. I feel sorry for Contracting companies right now because they're getting hit from both sides: the Scylla of desperate employees trying to squeeze top dollar from their contract, contract-to-hire, or direct-hire options; and the Charybdis of employers wanting fast movement through their own glacial slush.

To be specific, I have had three job opportunities that have taken the following steps:



  1. Beg the contractor to find them someone--anyone. The water-cooler story was one place where the hiring manager said, "I'm so desperate I'm willing to stand out on the road with a cardboard sign, in a chicken suit, to draw people in the door!"

  2. Hurry up and make this great guy wait. The company representing me says, "They loved your resume, and want to interview you right away--how soon are you available?" Then proceeds to be unable to get a straight answer as to when they'll interview you: is it this week? Next week? Either nobody at the company actually planned ahead, or multiple agencies are stoking my ego before the company's actually heard of me (possible)

  3. Stop the Train! It's getting too close to the station! There's always something that stalls the last step. If the whole operation died at the beginning, that would be one thing--I'd immediately assume the problem was with me. But what's happening is that the company finds some fault with me, something about my skills or personality that's "not a good match" despite being happy with everything up to that point.

This is all well and good--as I told one apologetic interviewer, "I understand that these things take time and you want to think it over. I'd rather you know that I'm the right fit than have you place me somewhere I won't bring value to you." (Been there, done that, it's part of why I'm now looking, thankyouverymuch)


The problem is that these particular companies I mention are making things worse for themselves. What happens is that with each candidate they reject, they raise the bar: reasons for rejection go from "Not talented" to "Not friendly" to "Wrong Hat Size." While this is happening, the work piles up and the project deadlines slide farther towards infinity. The work environment becomes a morass of quicksand that guarantees failure because even if they do find Mister or Ms. Right, that person's going to drown in a muddy mess. They're going to be miserable and bail on an impossible workload, muttering under their breath the whole while about what a crazy place that was.


One frustrated contracting rep told me he vented on the company. "Look," he said, "If I send you seven people a week, you tell me there's something wrong with all of them, and a week later they've all got high-paying jobs in your area, then the problem isn't the people." I don't blame him: this particular position has been open since July 2007. It's now June 2008 and the position is still unfilled. The last I heard was that they were insistent that they needed someone yesterday and it's getting more urgent by the minute. The other two companies have been 6 months and 70+ candidates, respectively (see previous post).


As desperation grows, "We need someone to hit the ground running" is the catch-phrase. But in which direction will they run?

Methinks Thou Doth Protest Too Much, Part 2: The Buyer's Market

I was let go in March. The only employment statistic worse than March's unemployment rate...was April's unemployment rate. So that means I'm up against a lot of competition. I also have to be less mercenary than my competitors: I can't take a 6-month contract and pick up and go, moving anywhere in the country. I have a family to take care of, but neither would you see me sacrificing my time with them to fly somewhere every Monday and come back every Friday.

What this means is that the companies who are looking now have the luxury of picking and choosing. They can also take their time. For my part, I have to commit far more time and effort, and hit the largest number of opportunities to improve my odds. Where a typical job hunt involves a phone pre-screen, a phone interview, and a quick in-person interview, now the decisions I've tried to sway have required the following of me:


  • Psychological profiles

  • IQ Tests

  • Agreement to be investigated for criminal, credit, and personal history

  • Online skill assessments

  • Preliminary phone screens

  • Technical phone screens

  • In-person preliminary interviews (usually technical)

  • In-person "get to know you and see if you fit with the team" interviews

More than one place has done all of the above. Most at least do a choice of IQ or Personality, then skill assessments, then the rest. It takes a lot of my time, and if you think about it, it takes a lot of their time, too. They have to read resumes, call clients or companies, assemble interview teams and schedule the appointments.

I was told that one place has been through 70 interviewees and still not filled the position. Imagine that for a moment. With three employees managing the process, a conservative estimate will come up with the following numbers:


  • Psych/IQ - 1/2 hour (1 employee schedules, evaluates scores, and handles e-mails)

  • Resume - 1 hour (2 employees spend a half an hour reading and discussing, and we'll assume they just read the one, and even be generous and lump skill tests in)

  • Phone screen - 3 hours (2 employees X 1.5 hours)

  • In-person Interview - 4.5 hours (3 employees X 1.5 hours)

Even skipping some steps, we have 9 hours per candidate, times 70 candidates = 630 hours to fill one position. I can't imagine spending 630 work-hours on anything that isn't directly related to a project.

What I haven't figured out is how anyone gets anything done in this model--after all, how many hours in a day do we have?

Methinks Thou Doth Protest Too Much, Part 1: The Opportunity Cost

Looking for a new job has been interesting, to say the least. When economic jitters hit a company, it's often surprising to see what bizarre steps they'll take to save money. No one has time for close analysis of financials in a business: that's the kind of thing you hear in Mutual Fund reports. Without taking a look at the waste, a company often makes guesses. They cut things that seem expensive. And in the effort to stop waste, that lack of forethought instead wastes more.

For the first time in a job search, I'm running across more than one position that is "cancelled". At some point along the way, the company just calls the whole thing off. "They cut the budget," I am told. "We had to cancel the position. Maybe we'll regroup in the fall."

The problem with this is seldom that the company spent too freely on a hiring binge. Usually the position was shopped out because there was a need for it. Something was getting held up, and now that something is not getting the attention it needs to get better (expect said something to possibly be amputated or outsourced by Q4 if things don't improve).

In tandem with my previous post about wanting the moon for the price of a cup of coffee, I just came across a position that was resubmitted into the system after being canceled. Same company, same job title, but at lower pay. And with some expensive buzzwords tacked on, the kind that normally push this job's salary in the other direction. Thankfully, we didn't get far with me before it was cancelled. But I suspect that the protests that the hire "can't afford to be done" are simply incorrect:

It can afford to be done. When you take into account what it'll cost not to.