Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Tuesday, August 12, 2008

Firefighting

I had a Computer Science professor in college. Many of my fellow students thought him to be cantankerous and unfriendly, and I initially had that impression myself, but eventually I realized he was one of the best people on the department's faculty -- supremely knowledgeable, sharp, intellectually curious and, once you got past his mannerisms, a very good explainer of complex ideas. He was also much friendlier in one-on-one conversations than he was in a classroom. Anyway, the syllabus for one of his classes said something about the need to complete assignments early because computer systems had a propensity to crash just before deadlines. Thankfully, I have never been too much of a procrastinator, but I thought the statement was a little melodramatic, and was designed to get our lazy undergrad butts in gear. Computer systems do crash -- I wouldn't have a job if they didn't (or would have had a much more pleasant one, depending on how you look at it) -- but surely statistics show us that they crash all the time, not just before deadlines. But maybe there is a grain of truth to what the old prof said after all. I am leaving for a vacation this Friday, and I am trying to finish a zillion projects at work before I go, and starting last Friday, every single morning there is an unexpected problem that needs to be dealt with. It is now Tuesday, and we are three for three, and I have a feeling there will be more to come before I can finally hightail it to Michigan for a week and a half. Statistics, schmatistics...

Sunday, July 27, 2008

Opinions

How is it possible that someone who is an opinionated, contrarian crank outside of work can be a such a non-confrontational, complacent pushover at the office? The person I am talking about is your humble servant. At work, Person A and I maintain a certain system used by a department headed by Person B (not the same Persons A and B). Person B calls me to discuss certain changes that need to be made to the system. When I show up, Person B closes the door and complains to me about how Person A frequently does not do what Person B asks for. I mumble something non-committal in response. Eventually, the discussion gets around to its advertised purpose. When I get back to my office, I brief Person A, for whom I have a lot of respect, I should point out, on the discussion (not the personal stuff of course, only the technical). Person A rolls their eyes. Why such blustering? I’ll tell you why – strong opinions. Much has been made of the necessity to have a passion for your work as a prerequisite for career success. But I would surmise – not to inflate my ego or anything -- that the wheels of American business are frequently oiled by nameless, faceless functionaries like myself, who often just don’t care enough whether, or how, something gets done, to disagree.

Monday, June 30, 2008

Professionalism

Person A asks for a modification to be made to a piece of software. Person B expresses some reservations. Person A says to me that Person B is, and I quote, full of shit. Never mind that Person B's concerns were most likely unfounded. How do you begin to take seriously someone who is capable of such utter lack of respect for their colleagues?

Friday, April 11, 2008

Plastics

A colleague of mine is leaving the department. A group of us took him out for a farewell lunch yesterday. We're going to hire a replacement, so on the way back from the restaurant, my boss, another co-worker and I discussed the challenges of finding qualified applicants and, more importantly, what exactly makes someone qualified and how we, as interviewers, can best determine that. My boss studied economics in college but is a spectacularly knowledgeable, skillful and dedicated software developer. He holds an enormous amount of knowledge in his head both about the systems we build and work on every day and the state of our art in general, and is able to pull most of that knowledge up at a moment's notice. He is passionately interested in his work. His comments during our conversation were something along the lines that having a computer science degree is not what determines whether someone is a good developer. That is not news. What he said immediately afterwards, however, was that you don't want to hire someone who majored in computer science because that's what his adviser told him to do. You want to hire someone who learned to code because he liked it and has a project in Source Forge because he is interested. Well, I do not have a project in Source Forge. And while I didn't exactly decide to major in computer science because my advisor told me to, I didn't do it for the love of the work either. It was simply something that promised plentiful employment without boring me to tears the way something like finance would, and I fancied myself decent at mathematics. The scene from The Graduate comes to mind where one of Benjamin's father's friends tells him that plastics are the way of the future, and he should consider going into them. Well, computer science was my plastics. Is that good enough? Probably not.

Thursday, January 17, 2008

Rant: Complexity

For the first time in my life, I am feeling truly overwhelmed by complexity.

One of my main responsibilities at work is the maintenance and enhancements of a certain software system. The system has been built by others who no longer work at my company. It has been a nightmare; a nightmare of a sort that doesn't have to happen. The system is perversely complex and obfuscated relative to the work that it performs. It takes me days – days! -- to answer simple questions about the system. This, to me, signals a resounding failure on the part of the original designers. Albert Einstein knew whereof he spoke when he said that everything should be a simple as possible. Granted, he added “but no simpler,” but that is exactly the point – the monstrosity currently in front of me could have been way, way less complex without violating the “but no simpler” clause.

The reason for this nightmare is simple – arrogance. The system is written in a certain programming language, and it abstracts and models certain entities and aspects of the application domain. It is, pardon the cliché, bigger than a breadbox, but we're not launching ICBMs, either. Normal, workaday stuff. The original creators, however, used every single feature of the language in question, and every single modeling technique in vogue at the time. Just because they could. They clearly thought they were hot stuff, and since no one had enough guts (or enough understanding) to put their foot down, they went wild, and now I get to deal with the consequences. Would that I were here in those days.

Wednesday, December 5, 2007

Academia

L. was in town for a couple of days last week and over the weekend. She came for a conference, but since she didn't have funding to pay for a hotel, she stayed with us. She is finishing up her PhD dissertation and applying for professorship positions. In fact, the reason she came to this conference in the first place is to meet some people from some of the departments where she has applied. She has applied to 28 jobs so far. Naturally curious about how the academic world, and the academic job market specifically, works, I asked her how high the likelihood of not getting a single offer out of the 28 was. “Oh, very high,” she replied non-chalantly. She had given a job talk at McMaster some months ago. She didn't get the job. The guy who did get it, she later found out, has applied to something like 40 positions, and McMaster was the only school that even short-listed him. That sort of competition seems completely insane to me. It's amazing that we have any university faculty at all. Sacrifice anywhere from four to ten prime years of your life to get a PhD only to be confronted with this kind of odds of getting a job? I had contemplated entering academia some years ago and, recently, with the looming cloud of IT outsourcing and the deeply ambivalent feelings I have about my current management work never too far from my thoughts, I have been contemplating it again. But after what L. told me, I just don't think I have the determination to climb a mountain that steep. I don't feel passionately enough about anything I would be likely to study, and then research and teach, to see it through.

Wednesday, October 10, 2007

Single White Programmer

Eleven years ago, as a starry-eyed fresh-out entering the professional world for the first time, I expected that world to conform to certain assumptions simply because those assumptions made logical sense to me. One of these was that job seeking was an employers' market -- any job opening short of something really esoteric would have many candidates applying and vying for attention, and the employer would have the luxury of choosing the most qualified candidate. Well, when it comes to Information Technology, either I was spectacularly wrong or things have changed a lot since then. Probably a bit of both.

I am realizing now that hiring a qualified engineer is more than a bit like trying to get a date. First, you post an ad and wait for people to respond. They don't. Or if they do, it's inevitably the desperate, misguided souls who change jobs every six months and who don't have a single skill that you listed as required. So you have to go out and start making contacts yourself. Perhaps even engage the services of a recruiter. Eventually, a great candidate emerges. You work diligently through the obstacles posed by mutually incompatible schedules and other problems until you finally manage to interview the person. Things go great. You work through more adversity to put together an acceptable job offer. When you do, the candidate, politely but firmly, turns it down, citing the familiar "I really enjoyed meeting you, thank you for everything, but, well... it's just not the job I am looking for right now." Sigh. But wait! There is hope -- though he is not interested, he has a friend, also available, who might be, so he sets you up. Excitedly, you call and leave a message. A couple of days go buy. Every morning, you get to the office hoping to see that voicemail light flashing, or that "New Mail" link highlighted on your computer screen. Nothing. Worried about appearing desperate and coming across as a pest, you eventually call again. Score! As the interview approaches, you get increasingly nervous, hashing and rehashing in your head what you're going to say so as to give them the best impression while gaining as much information as possible yourself, all in an atmosphere of congeniality and cooperation. When you can no longer stand it, you think about what tie you're going to wear. Sound familiar?

I am so glad I only have to deal with this on the professional level, and not the personal.

Friday, September 14, 2007

Rant: Job Interview

I think I am beginning to understand. I finally interviewed a candidate for my (as in "to work for me," not "to replace me") position. I thought it stopped just short of being a train wreck. Trivialities first. I realize I am in IT, and being 2007, we're in the post-Internet-bubble world. It's a little like Postmodernism in art -- it is not the same as Modernism, yet we can never go back to the way artists thought before Picasso et. al. So I knew better than to expect a well-fitting suit, white shirt, polished shoes and a properly tied tie. But an untucked pink shirt, top button undone and tie loosened, wrinkled khakis, clunky casual shoes, and one of those slouchy, unconstructed cotton sportcoats that he took off as soon as he walked into my office? Evidently, it is now too much to ask someone to show a modicum of respect for the occasion by being neat and well turned out.

On to the substance. Why do people insist on trying to bluff their way through things? Why must they talk at a hundred miles an hour for ten minutes, boast about how they believe in automation, how they were never given an opportunity to achieve great things in their current job, use the word "endeavor" until I was ready to vomit, and sprinkle it with a few "highleveldesignlowleveldesign" for good measure, but when I ask them for details of what they, themselves, have done on a specific project, they can't tell me anything, at least not in a way that I understand? I will be the first one to admit that I am not the computer geek that many of my colleagues are, and that I don't know the inner workings of JXPath. But I've been in the industry for twelve years, and have actually built a thing or two that worked. I can't be completely clueless, can I? If someone can rattle off a dozen buzzwords from the apache.org front page, that does not make them an expert in all of them, does it? Ok, I am probably not being sufficiently generous. Perhaps this is a problem of communication, not of expertise. But is that not a serious problem in and of itself? I mean, I am going to have to talk to the guy on the daily basis, and he'll have to talk to me. We don't just sit around playing with XML databases all day while the guys in Stuttgart are doing the real work. We've got customers to worry about.

The kicker, however, was the test. It is not a difficult test -- a couple of basic programming problems (and I mean basic -- compute the product of all element in an array) to be written in Java. He writes pseudocode. Explain the difference between a redirect and a pipe in Unix. No clue. Write a representation of a book in Java. He comes back with no class keyword, no return types, no braces. And guess what his resume says? BS Computer Science; Sun Certified Java Programmer. What is wrong with this picture? We graded generously (I would gave given no credit for the programming problems, but M.M. gave him 2 out of 5), and he scored a 62.

To my amazement, M.M. thought the guy basically knew what he was talking about, which kind of made me worried for a minute -- maybe it was all me after all. But the test results were worrisome to both of us.

Never was I able to offer the following interview advice with more confidence: be honest, answer the questions, and whatever you're talking about, be absolutely sure that you are making sense. I used to think that those were the lowest common denominator in the professional world. How naive of me.

To shake off the traumatic experience, ran about five miles last night (the Four Mile Run trail is seriously creepy after sundown -- ladies, stay away. Gentlemen, too.), followed by a Magic Hat Hocus Pocus from my fridge. I felt better.