The Artima Developer Community
Sponsored Link

Weblogs Forum
I Hope I Work with Mediocre People

10 replies on 1 page. Most recent reply: May 2, 2005 6:52 PM by Terje Slettebø

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 10 replies on 1 page
Rick Kitts

Posts: 48
Nickname: rkitts
Registered: Jan, 2003

I Hope I Work with Mediocre People (View in Weblogs)
Posted: Jun 12, 2004 12:40 PM
Reply to this message Reply
Summary
mediocrity, principle of: The notion that our evolution (biological, cultural, and technological) and our surroundings, including the Earth and the Sun, are typical rather than exceptional.
Advertisement
The CTO of the company that I work at periodically sends out an overview of what's happening on the geek side of the business. I'm more or less plugged into this already so I usually don't pay a lot attention to these, more of a scan and trash mail if you take my meaning. The other day one of these missives pops up in my box and while running tests or waiting for a compile, I forget which, I scan the thing and run into a bit which rather caught my attention. With permission and some slight edits here it is:

At the same time, I'm also aware that we're far from achieving our potential.  The iterative improvements that have come out of our sprint lessons-learned sessions, the willingness of people to try new things, and a lot of native creativity have taken us a long way, but it looks like there's a long road ahead.  One of our challenges is to continue to leverage the processes and values we have in place (systematized organizational learning, experimentation, and iterative improvement) to keep the innovation train rolling.  Our competitors have vast numbers of people to deploy - the only way for us to win is to be far more innovative, far more effective, and far more productive.  We were up against [snip] (a huge software consulting shop; they also make trucks) at [snip].  They can probably deploy a thousand engineers to build a system if they want to.  Ditto for [snip], [snip], and whoever else pops up over the next few years.  The good news is that most companies suck at building software.  We suck less - and one day, we might even get to the point where we're pretty good at it. 

They say that the first thing you have to do to stop being an alcoholic is to admit you're an alcoholic. You know, "Hi, I'm Joe and I'm an alcoholic" and like that. I maintain, despite the perceptions of others, that in a macro sense we write utterly embarrassing software (we as in the industry). It's too buggy and hard to work with, forcing users to adapt to it and not the other way around. It's not...hang on...damn, forget the word, but it's not friendly. Despite the suggestions of some I do tend to think programming, at least in the large, is quite difficult and doing new things has not become substantially easier than it was say 20 years ago. There is no certainty that any project will be successfully completed and I think that sucks. It is, as I say, embarrasing.

I've mentioned before I work with some frighteningly intelligent people. The last sentence of the mail makes me hope they're not at all extraordinary. I hope this sentence is rooted in mediocrity. I hope, in fact, that this CTO guy is pretty much like all of the CTOs in the world. I hope that we'll start getting out of the slump the industry appears to be in, reinventing the wheel time and time again, and start pushing the envelope a bit.


Matt Gerrans

Posts: 1152
Nickname: matt
Registered: Feb, 2002

Re: I Hope I Work with Mediocre People Posted: Jun 14, 2004 3:24 PM
Reply to this message Reply
> ...
> I maintain, despite the perceptions of others, that in a
> macro sense we write utterly embarrassing software (we as
> in the industry).

It's funny. Most programmers (or "Software Engineers," "Software Architects," etc.) willingly admit this, but how many of those will admit their own work is crap?

Anyway, I think there are many categories of software; there is a broad spectrum to look at. In some areas, it is okay and makes perfectly good sense to ship junk on time. In others it doesn't. Much of the most visible software, such as most consumer software, is junky, but its quality is not life-or-death critical. It just has to be good enough to compete.

> Despite the suggestions of some I do tend to
> think programming, at least in the large, is quite
> difficult and doing new things has not become
> substantially easier than it was say 20 years ago.

I disagree. I think that projects these days are just a lot more ambitious than they were 20 years ago. I find that I can do things with software today that I wouldn't have dreamt of doing 20 years ago. (To clarify, I wouldn't have dreamt of doing them 20 years ago, which is not the same as saying that 20 years ago I wouldn't have dreamt I'd be able to do them in 20 years).

> I work with some frighteningly intelligent people.

What is frightening about intelligence? I remember reading an article a while about about some up-and-coming Microsoft executives where it said they were "scary-smart." Both of these phrases seem irksome to me. I'm not sure why. Perhaps they are a little too cutesy?

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: I Hope I Work with Mediocre People Posted: Jun 15, 2004 3:27 AM
Reply to this message Reply
One of these days, I'd like to see someone write:

We write mediocre software. That's ok.

We don't feel the need to constantly degrade ourselves in order to feel like we're moving forward.

We don't need to constantly be talking about how we're "up against the wall" so we sound like we're important, and to try to convince the people under us that they should work harder.

We actually date other people. We don't spend all our spare time writing open source software and writing blog entries where we somehow simultaneously talk about how great we are, while also saying awful the software is that we're involved in writing.

We go to our job because it pays our bills. We spend time with our family. We hang out with our friends. And during the summer, we often actually spend hours in the sun.

We write mediocre software, and that's ok, because it works, and there's more to the world than our work.

John

Posts: 4
Nickname: firefalcon
Registered: Apr, 2004

Re: I Hope I Work with Mediocre People Posted: Jun 15, 2004 5:30 AM
Reply to this message Reply
> We write mediocre software, and that's ok, because it
> works, and there's more to the world than our work.

Vast majority of developers don't want to write bad code, create bad GUI and so on. People like do excellent job and achieve excellent results. That's really exciting for each team member (sure, if this is a good jelled team).
Each developer tries hard, but (often) the final result is crappy.

Software development depends on many factors (time, money, technology, experience, communication, tools, processes, management), and it is complicated, immature area. That's it

Clark D Richey, Jr.

Posts: 4
Nickname: cdrichey
Registered: Jun, 2003

Re: I Hope I Work with Mediocre People Posted: Jun 15, 2004 5:38 PM
Reply to this message Reply
Wow. I'm glad you're not a doctor.

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: I Hope I Work with Mediocre People Posted: Jun 15, 2004 10:25 PM
Reply to this message Reply
No, I'm not a doctor. And neither are you.

Matt Gerrans

Posts: 1152
Nickname: matt
Registered: Feb, 2002

Re: I Hope I Work with Mediocre People Posted: Jun 15, 2004 11:17 PM
Reply to this message Reply
Yeah, doctors are not nearly as conscientious as programmers.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: I Hope I Work with Mediocre People Posted: Jun 17, 2004 9:30 AM
Reply to this message Reply
> Wow. I'm glad you're not a doctor.

I take it from that comment that you believe that the highly trained, regulated and monitored medical profession is better than our own unregulated and generally untrained (or self trained) profession?

A quick tour of the internet soon reveals that doctors are, on average, average, too. See below for some pretty scary statistics. In the US, deaths from medical errors outnumber automobile accident fatalities.

------

How Common Are Medical Mistakes?
They are too common. Although exact estimates are difficult to find, it is not surprising that an industry as stretched, complex, and burdened as the medical industry is fraught with errors. Many errors go unreported and tracking their exact prevalence is difficult. Nevertheless, bearing in mind that about 2.5 million deaths occur annually in the USA, here are some of the statistics and death rate estimates from various reports:

42% of people believed they had personally experienced a medical mistake (NPSF survey)
44,000 to 98,000 deaths annually from medical errors (Institute of Medicine)
225,000 deaths annually from medical errors including 106,000 deaths due to "nonerror adverse events of medications" (Starfield)
180,000 deaths annually from medication errors and adverse reactions (Holland)
20,000 annually to 88,000 deaths annually from nosocomial infections
2.9 to 3.7 percent of hospitalizations leading to adverse medication reactions
7,391 deaths resulted from medication errors (Institute of Medicine)
2.4 to 3.6 percent of hospital admissions were due to (prescription) medication events (Australian study)

Terje Slettebø

Posts: 205
Nickname: tslettebo
Registered: Jun, 2004

Re: I Hope I Work with Mediocre People Posted: Jun 25, 2004 7:38 AM
Reply to this message Reply
I think you'll find that most people committed to excellent software, are also committed to excellence in other parts of their lives, such as family life. Passion to excel is a personality trait, not a trait of any particular field.

Note the strong emphasis on human values in the agile community. This is no accident.

Moreover, it's at least as easy to do a good job, as a bad job, and it's less work in the long run. Thus, you get both high quality, and the ability to have a life.

I say this from personal experience, as since I joined my current company about a year ago, I've worked vast amounts of (as yet) unpaid overtime, to clean up the codebase, as some of the code is the worst code I've ever seen. Did I work on this cleanup because I didn't have anything better to do? No! I did it, because I saw how the bad code was slowing down all progress at normal work hours. I worked on it, in order to have a pleasant workday, in the daytime, and so that I'll eventually be able to go home at normal times, and have a life besides work.

It was people with their "good enough" attitude that has cost me countless hours of overtime, overtime I'd rather spent with my family, but which I felt was paramount to do, for getting a better job-situation (not running around putting out fires, knowing you're only curing the symptoms, not the problem), and in the bigger perspective, the long-term survival and prosper of the company.

Their "good enough", just resulted in dumping more work on us coming after them, to clean up the mess, as well as problems with customers. It was far from "good enough".

Regards,

Terje

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: I Hope I Work with Mediocre People Posted: Jun 25, 2004 8:40 PM
Reply to this message Reply
Terje Slettebø - What can I even say. Your attitude towards your work seems be exactly what I am trying to avoid.

In the first paragraph YOU chose to spend overtime working on the code base for which you did not get paid for.

Then in the second paragraph you stated that it's "so that I'll eventually be able to go home at normal times, and have a life besides work." I really wish you the best of luck here. But nothing has ever led me to believe this is what happens when you finish, unless you own your own company. If you're working for someone else, your manager has probably gotten use to the amount of work you're doing, and will start getting upset if you finish and start to "slack off". One of my friends did something like that. When he finished, they layed him off and hired a new graduate who they could pay half as much money for. Perhaps it will pay off for you, but what management should really be doing is paying you or someone else for the time it takes to do it.

If you would have rather spent time with your family, then you should have. But obviously, since you didn't, you would have rather worked on the code. You chose not to. I realize you may have felt that pull of "I want this done right" - but it was still a choice that you personally made. Not one of those crappy not-really-a-choice choices either (like Do I take a crappy job, or do I apply for welfare and hope I have enough money to feed my family). A real choice on your part.

It's the third and fourth paragraph that tick me off.
It's awfully convenient in 4 paragraphs you went from "I chose to do it" to an attitude of "those 'good enough' bastards made me do more work instead of spending time with your family". Bull****. Perhaps the people who wrote what you're working on actually had things that would needed to do more than code. Maybe they were lazy bastards. But either way, it was YOUR personal choice to spend your extra time cleaning up the code.



A lot of people may question my "attitude". But it's simple - I don't like the idea that I make great sacrifices to do something, which results in someone else making a lot of money because they got me to do it.

I used to have a similar attitude to Terje's, but after doing it again and again I realized that I was exhausted, but no happier. Did I really benefit from all the hours of work I put into the code I wrote 2 years ago? No. I don't even see it now. But I do still remember the fun I had before I got a full time job, and I'm determined to get that back.

fyi: I seriously hope it works great for Terje, it's just my personal opinion that it probably won't. It would be nice if we all got rewarded for the extra work we put in, it's just my experience that you don't.

Terje Slettebø

Posts: 205
Nickname: tslettebo
Registered: Jun, 2004

Re: I Hope I Work with Mediocre People Posted: May 2, 2005 6:52 PM
Reply to this message Reply
(This is a very late reply, but anyway)

Paul Rivers:

> Terje Slettebø - What can I even say. Your attitude
> towards your work seems be exactly what I am trying to
> avoid.
>
> In the first paragraph YOU chose to spend overtime working
> on the code base for which you did not get paid for.

Yes, as I said, in order to get a better workday. Also, in the mean time, since (but not because of) that posting, not only did I get compensation in the form of about the same time in extra vacation, management has also recently realised that something has to be done, now (as the bugs start to affect the customers), so we'll soon start a project to "stabilise the code" - in other words, cleaning it up, etc.

> Then in the second paragraph you stated that it's "so that
> I'll eventually be able to go home at normal times, and
> have a life besides work." I really wish you the best of
> luck here. But nothing has ever led me to believe this is
> what happens when you finish, unless you own your own
> company.

I guess I'm lucky, then. Yes, I've heard lots of stories where this _didn't_ result in improvements.

> If you're working for someone else, your manager
> has probably gotten use to the amount of work you're
> doing, and will start getting upset if you finish and
> start to "slack off".

That's a danger one needs to avoid, and fortunately, we have enlightened management, who basically _don't_ want us to work overtime (especially unpaid).

> One of my friends did something like
> that. When he finished, they layed him off and hired a new
> graduate who they could pay half as much money for.

Sounds like a stupid short-sighted decision on the part of the management.

> Perhaps it will pay off for you, but what management
> should really be doing is paying you or someone else for
> the time it takes to do it.

Fortunately, they did.

> If you would have rather spent time with your family, then
> you should have. But obviously, since you didn't, you
> would have rather worked on the code. You chose not to. I
> realize you may have felt that pull of "I want this done
> right" - but it was still a choice that you personally
> made. Not one of those crappy not-really-a-choice choices
> either (like Do I take a crappy job, or do I apply for
> welfare and hope I have enough money to feed my family). A
> real choice on your part.

Naturally, it was a real choice. I gave up on other things, to get an improvement in the short and especially long run, at work (and since you spend much of your time there, and I'm not married - "family" meant parents and siblings, it mostly "just" affected myself).

> It's the third and fourth paragraph that tick me off.
> It's awfully convenient in 4 paragraphs you went from "I
> I chose to do it" to an attitude of "those 'good enough'
> bastards made me do more work instead of spending time
> with your family". Bull****. Perhaps the people who wrote
> what you're working on actually had things that would
> needed to do more than code.

They may have "saved a little time" to make version 1.0, in exchange of giving a lot extra work and problems to the people who were to continue to develop the code. Do you find this attitude a good one? Do you think it's ok to dump "crap" on the one following you?

"Always code as if the person who will maintain your code is a violent psychopath who knows where you live"

(Attributed to different people)

:)

However, I don't think this was something intended - it was probably lack of competence/experience in structuring systems, possibly combined with schedule pressure.

My point was just that - especially in the long run - you don't save any time on doing a bad job, so if you really want to have a good, secure (as in profitable) workplace, _and_ a life, then the best you can do is to do a good job.

> Maybe they were lazy
> bastards. But either way, it was YOUR personal choice to
> spend your extra time cleaning up the code.

True, but as with any choice, you have to consider the alternatives, and I found that - despite this situation - I preferred to stay around, rather than quit (or not do extra work), because I saw, and see, a good potential for development there, both personal, and for the company.

> fyi: I seriously hope it works great for Terje

Thanks. It seems it has, and being a small company (about 12 people in total, 5 at the office where I work, including 3 developers), we have a lot of possibility for contributing to the direction of the company, and what we need to focus on. The really tricky part is that it has to make sense, economically, to do it, and we need income, as well. However, as mentioned earlier, the situation (bug count and instability) has now become so bad - each time we add a feature, something else breaks - that management can no longer ignore it, and the new software development manager, unlike our previous one, is able to see the difference between good and bad code, and to see what our real problems are.

However, your posting highlight a real issue in our industry: :/ It seems my experience is rather rare, and I've heard from programmers who have left the field, due to the conditions they have experienced.

I think much of the problems come from lack of competence in our field. As Jim Coplien is fond of saying, it typically takes 8 years to become a plumber, but how long before someone can work on your-life-critical-software? About 6 months...

Regards,

Terje

Flat View: This topic has 10 replies on 1 page
Topic: The Elephant in the Living Room Previous Topic   Next Topic Topic: Definite proDuctivity aDvantages


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us