Archive for the ‘Job Experiences’ Category

Figures, doesn’t it?

Wednesday, June 13th, 2007

The cube that backs on mine has sat empty for probably two years now. It’s recently been re-occupied. Not a problem, except the new occupant is A SPEAKER PHONE USER. So far, mostly of the second worst variety, that of the “using it on one-on-one conversation”, and not of the worst variety, the “using it to check voice mail”.

Somebody kill me.

Dear Boss

Thursday, May 3rd, 2007

Three years ago, when I was asked to implement a DocumentCache class in the cinlib, I made a mistake so that first build that had it was actually horribly slower than before it was implemented. Yes, I admit it. But I fixed that problem in the very next build, and it actually did end up being a net gain.

So is it really fucking necessary that every time since then when there the slightest question about cinlib performance, the first words out of your mouth are “can we try disabliing the DocumentCache to see if that fixes it”? I mean, it’s been three years. Give it up, already.

Oh, this bodes well for meeting our end of month deadline

Tuesday, April 17th, 2007

The ClearCase server machine is still dead. Evidently both hard drives went tits up yesterday, and nobody can bring it up. And I’ve got a bunch of files not checked in - from what I remember back when we had a ClearCase administrator, files that aren’t checked in aren’t backed up.

And just to make my day complete, I can’t log into Lotus Notes.

Good thing I’ve got some movies on my iPod.

How to ruin team communications in three easy steps

Wednesday, April 11th, 2007

Step 1: Create a mailing list for developers, but allow non-developers including higher management to join it.

Step 2: Tell developers off for using that mailing list to discuss things that development needs to discuss but that management shouldn’t know about until it’s resolved.

Step 3: Use ad-hoc collections of mail addresses for real development communications, and then yell at developers for missing meetings that they never got invited to because you left them off your ad-hoc collection of mail addresses.

Is anybody surprised that I’m both the developer who got told off for using the dev-list to talk about development issues and the developer who accidentally got left off the invite list for the Thursday weekly meetings and got told off for missing them? Is anybody surprised that the issue I got told off for using the dev-list for was a complaint that when I mentioned a particular issue in meetings people ignored me and went onto the next item, and the person telling me off said that he’d never heard me mention this issue, thus proving my point?

Fascinating Facts

Tuesday, March 27th, 2007

Fascinating Facts My Coworkers Don’t Appear to Know:

  1. Cubicle walls are not infinitely rigid membranes, but are in fact quite flexible.
  2. As well as transmitting motion, cubicle walls also don’t do much to stop sound.
  3. The other side of the cubicle wall that bounds a hallway frequently bounds a cubicle that contains a human being. Sometimes that human being is actually trying to work, or at least feign it convincingly. Flexing his or her cubicle wall by leaning against it, punching it or grabbing the top and shaking it or having loud hallway meetings just on the other side of that cubicle wall may be distracting to him or her and make it hard for him or her to accomplish their goal of working or feigning work.
  4. If you are unable to stand on your own two feet for the duration of your loud and distracting hallway meeting, our employer helpfully provides chairs that you can sit down on. You will find those chairs back at your cubicle, or at the cubicle of the person you are talking to, or in our many meeting rooms, or in the break room. They are not provided in hallways, for reasons that might become apparent if you carefully read the previous points.

Just thought you’d like to know.

User interface design for programmers with no sense of style

Wednesday, January 31st, 2007

Years ago I was working on Kodak’s Cineon system, an innovative system for digital post-production of movies. It was a great gig, but unfortunately Kodak pulled the plug because there were too few post-production houses doing digital work to support a competitive marketplace, and because some really questionable business decisions were increasing the development costs. I still think they should have held on a bit longer until the market caught up to us, but that’s life.

One of the projects I worked on was a “clip editor”, where the users got a view of multiple film clips (ie. different shots from the same scene) and they could cut them, shrink or expand them, slide them up and down relative to each other, and then define the transitions between them. Our competitors called theirs a “virtual light table” or something like that. Ed Hanway was doing the guts of the program, and I was doing the user interface. I liked working with Ed - he’s one of a handful of people I’ve worked with over the years I’d consider as good if not better than me, and easy going and easy to get on with in spite of it.

I had the basic outline for what I wanted the clip editor to look and work like, but I felt that my own aesthetic sense was lacking (which you’d agree with if you’ve seen the way I dress), so I wanted some feedback on the aesthetic aspects of the design. Kodak didn’t have a Corporate Design and Usability department like they do now, or if they did nobody was telling me about it, but since the Cineon tech support department was staffed by people who edited movies, I figured they’d have some artistic instincts.

Oh quick aside here - our tech support people often pitched in at customer sites when they were using our software on big projects, which meant that you could always tell the Cineon people at a Rochester movie theatre, because we’d always wait for the very last credit and cheer when it had one of our people’s names.

But I couldn’t get anybody to answer any of my questions. So I figured I’d force the issue by choosing two of the most hideous colours I could find. I think I chose two that had pre-defined colour names in OpenGL, but I toned them down a bit because the people using our software always seemed to do it in dark rooms and the rest of our interface was in shades of grey because of that. I think I ended up with a sort of mauvey-pink and a light limey-green. I knew *somebody* would have to complain about these colours, and then I could ask them what colours they thought it should be.

Oh, another aside - the program had been started at Kodak’s Australian office, and then moved to Rochester, and then we had some code contributed by the office in London England, and then half the development moved to San Francisco for no good reason. One of the things that led to was continual problems with the spelling of the words “colour” and “grey”. You’d find both Commonwealth and US spellings of both those words in method names, and sometimes both variations in the same method. The method name confusion was the worst - you’d write your code to call “adjustColourSpace3D” only to have the compiler bitch because you meant to call “adjustColorSpace3D”.

But I never got any complaints about the colours, so that’s how they went out in the release. And a year or two later, somebody brought some literature back from our big trade show, ShowWest, and lo and behold one of our competitors had copied my hideous colour scheme in their virtual light table.

A few weeks ago I was telling this story at lunch, and one of the other former Cineoners who got to go to customer sites mentioned that the customers had loved my hideous colour scheme because of how well it stood out. Huh. Who knew?

I guess the secret to good user interface design is to purposely make something that offends my senses, and I’ll come up with something that normal people like.

And the productivity hits just keep on coming

Tuesday, January 16th, 2007

Evidently it’s company policy that working at home must be requested 24 hours in advance, in writing. So if I find myself unable to come into work for some reason, they want me to stay home and do something else rather than doing useful work on our project. Well, I’ll miss the money, but I think they’re going to miss the work more.

Ice day

Tuesday, January 16th, 2007

When this morning’s alarm clock went off, the radio was saying that Vicki’s place of work was closed because of an overnight ice storm. I looked outside and there was a good half-inch of clear ice on the trees, roads, and my car. And the local news web sites said that the state police were telling people not to drive if they could avoid it.

So I thought about what I’d be doing if I went to work, and it was just working on design documents. I have most of the documents I needed at home, so I thought “screw it” and decided to stay home.

I wanted to email people to tell them that I was going to do that, and I only had a few of their addresses. So I emailed the ones I had, and one of them emailed my new official direct supervisor (even though I really get my job assignments and direct supervision from somebody else, but she signs my time sheets).

She wrote me back. She’s evidently mad that I didn’t follow her new procedure, and phoned her for permission *before* I decided to stay home. In the past, I’ve always been trusted to work at home if I had work that could be done at home, so this seems like a real lack of trust on her part. But then again she’s new to the project and doesn’t know any of us that well - plus she has little to no day-to-day contact with us developers, so maybe she doesn’t know us well enough to know who to trust.

So instead of having a nice day at home where I could work productively but in a relaxed environment, I had to struggle to produce work while worrying if I’d just jeopardized my job.

Just for the record, I got more work done than I would have if I’d been at work.

Woo hoo!

Friday, December 22nd, 2006

My contract has been extended for the year. I can start breathing again.

1992/2006

Friday, December 22nd, 2006

In 1992, I worked for a company called GeoVision. I’d worked there for 6 years, but they were having financial problems. The previous two quarters, the end of the quarter had been the time when they announced layoffs. And just like the previous two end of quarters, the bean counters from both the Ottawa and Denver offices were huddled together the day before, and this time they came around with a list and told everybody whether they had to go to the 2pm meeting or the 3pm meeting. I was invited to the 2pm meeting. It turned out that everybody invited to the 2pm meeting was laid off, and the 3pm meeting was to announce that they’d had to do this to ensure the continued health of the company (it didn’t work - 6 months later they were out of business).

Now flash forward to 2006. I’m on a contract at Kodak. I’ve been there for 4.5 years on this contract, and I was in a previous contract in the same office for 3 years. Kodak, as everybody knows, has been shrinking for decades. And they announced that our group (Entertainment Imaging) has to shrink by 10% (they’ve offerred the voluntary retirement package (called “getting tapped”) to certain eligible job categories, then next year if they haven’t met their targets they’ll fire some people) and also it’s becoming part of the Film Products Group (which really inspires confidence that our digital project is going to be a high priority). And then today, just to make my heart rate soar, they announced that there are problems extending our contracts, and the boss set up a series of meeting to “talk with each of you on Friday regarding our decision to extend your contract or not for 2007″. And I got one of the early ones.

Can you tell I’m not going to sleep well tonight?

My life in a nutshell

Monday, December 4th, 2006

I wonder how long this image will continue to be there:

Ever been so tired and overstressed you can’t sleep?

Monday, November 6th, 2006

I’ve been exhausted for days now - I feel like I can’t keep my eyes open. It’s accumulated lack of sleep and stress from this project I’m on - I’ve put in over 55 hours a week for about 2 months now.

Last night I went to bed early to try and get some rest. But I found myself lying in bed awake in the middle of the night, worrying that if I didn’t get back to sleep soon I’d been even more tired and wouldn’t be able to finish the work I promised to get finished by Monday.

Believe me, that’s not conducive to getting back to sleep. It’s a great cycle of stress leading to lack of sleep leading to stress.

I want my weekends back. Although the first weekend I get off after this project is done will probably be spent comatose.

More of the same.

Friday, October 27th, 2006

Still muddling along on the project mentioned in Rants and Revelations ยป Stress, stress, and more stress. My boss wants my bit to be test-able and demo-able by the first of the month, and I’m not sure I can do it. I don’t think the other bits are going any better. The Chinese team have delivered something, but we can’t test it yet until my bit and Tony’s bit are finished. Kris is working on a bit that we were going to farm out to the Chinese team, but we decided it would be faster for him to do it than to try to explain it to them. It seems that in order specify the requirement in sufficent detail that you could just hand it over to a foreign team, you need a formal language. And the formal language we know best and can produce fastest is Java.

In added aggravation, just as I was turning into the parking lot at work this morning, my muffler started dragging on the ground. A quick examination seemed to indicate it was just the strap hangar broke, which is exactly what it turned out to be. Cheap, but time-consuming and annoying.

Meanwhile, the peridontist is going to be fixing my front teeth this Saturday. He says they have to make an incision in the front of my jaw, scrape out crud, and put in something to make the bone grow back. He says I won’t be able to “incise” for a couple of weeks.

Saturday is also the day when we have our MoveOn.org Call For Change party. I have a bit of a mental block against making phone calls to strangers thanks to an incident from my childhood, but maybe I can just play host.

On Monday, my 1U server goes off to the colo. I just got the network settings, so sometime on Sunday I have to take down the server and set up the networking.

Stress, stress, and more stress.

Thursday, October 5th, 2006

I’m a contract programmer, a damn good one. I’m on a project that is based in Rochester NY, but which also has a programming team in China. Also, because I got this job through personal contact and reputation rather than through a headhunter, I’m very well paid. I’m sure it isn’t an exaggeration to say that the whole China team probably costs about the same as I do.

So my continued employment is probably dependant on being more productive and better than a whole team of Chinese PhDs. And so far, I’ve been doing that. Often the code they produce shows a lack of understanding of the tasks they’ve been set, or of the approach that we’ve been taking with the rest of the code that they have to work with. Although, to be perfectly honest, the biggest factor keeping me ahead of them is the fact that our higher ups are not capable of producing a clear set of requirements - but I can sit down and talk to them and build a clear picture of what is needed, or talk to the other developers and kick stuff around. I can even go to customer sites and talk to the end users. But even so, I feel a continual breathing down my neck.

Right now, we’re on a big push to produce some major new code for a new customer. I’ve been working my ass off. My code “lives” in between the user interface one of my fellow local programmers, and a module that is being produced in China. Fortunately, by working 50-55 hours a week for the last month or so, I’ve managed to keep ahead of both of them.

I’m going to see my daughters this weekend. Life events have conspired to keep me from seeing them for a while, and I need to see them this weekend. Unfortunately, I also have to do a bunch more work this weekend. Assuming I only work my “normal” 10 hours on Friday, I need to do at least 5-10 hours this weekend. That’s going to cut into the time with my daughters a bit.

I’ve got a very sore front tooth. I have a referral to a peridontist about that, since the gum is receeding so far it’s exposed much of the root. But I haven’t had time to go. And this evening walking out the car, my knee locked up in an extremely painful manner - it does that every now and then, and there’s nothing I can do about it except try to hop on the other leg. And now, right now, just to top it off, I can feel a bit of soreness swallowing. Which means that by Monday I’ll having a full grown cold, which means my productivity will be halved.

And why are you making this my problem?

Sunday, September 17th, 2006

I had to go into work today (Sunday) to investigate a couple of bugs. Couldn’t reproduce either of them, unfortunately, But that’s not the point of this rant.

The building I work in is ancient and poorly maintained. It’s also an industrial/manufacturing building at heart, with offices sort of grafted on as an afterthought. Really, it’s horrible. Between the annoying desk-shaking thumps I’ve mentioned before, the chemical smells, and the notices posted all over the place warning about asbestos, I feel like Great Big Sea’s “Chemical Workers Song” - “every day you work here you’re two days nearer death”.

It was also very rainy this week, so Thurday and Friday marked the appearance of several new buckets catching water from drips in the ceiling. One of those buckets was in the main hallway, where water was coming through acoustic ceiling tiles. The tiles were bulging and discouloured. Today, the inevitable happened - they didn’t fix it, and so one of the tiles had disintegrated and collapsed into the hallway. Plus the drips are in different places than where the buckets were, so while they were lucky that the tile collapsed didn’t knock over the bucket there was dirty water all over the floor. Since I had the only car in the parking lot, I thought I’d do the right thing and report it so that somebody can come out and clean it up before somebody trips over it.

I called security, because I doubted maintenance would be around on a Sunday. Over the next couple of hours, I got called back by two different people, both of whom called and left messages when I was out of reach, and then called me again when I was - Evidently security had called people, but given them my phone number as a contact. First guy to call me was an on-call pipe fitter - I told him I didn’t think it was a pipe, I thought it was a roof leak. Then another guy from maintenance called and wanted to know all about the details, and whether I thought they could wait till tomorrow or not. How the fuck should I know? Why don’t they send out a maintenance guy to look at it and have him decide?

All I know is that if it was happening in my house I’d want somebody to come out and deal with it right now. And if it had been reported to me by somebody working in my home, I would have come home to have a look at it rather than grilling them about the details.