IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Not sure where you get that from the link
Let's say you're working on something for two days before the first time you try to compile/run it. Do you have the same reaction whether it works or not? I prefer to see it work. I call that a feeling of accomplishment.

If your definition of "accomplishment" includes the sense of being surprised at it, then we're using different words.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New Im satisfied by getting better errors each time I run it
Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 50 years. meep
New Well, what do YOU mean by accomplishment?
You were saying that reporting was uninteresting to you because you no longer get a sense of accomplishment from succeeding at it. From that I got the impression that you want to feel that completing your work is a challenge. So I pointed you to the first link that I found which explained that it is a bad thing for organizations if success constantly depends on individual programmers overcoming difficult challenges.

You now are clarifying that for you accomplishment doesn't mean being surprised at your success.

But the example that you give of something where you'd like a feeling of accomplishment again sets of red flags. If you are developing something for 2 days before you first try to compile/run it, that's probably a sign of something wrong in how you're developing. You shouldn't need to do that much development before trying to run code. There are far better ways to work.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Hmmphh. I resemble that remark.

So I pointed you to the first link that I found which explained that it is a bad thing for organizations if success constantly depends on individual programmers overcoming difficult challenges.


Yes, I read it.
And yes, it is probably right.
But in my world, there is always a new and exciting problem to overcome.

On the other hand, I did something today that is the exact opposite of what is expected of me. I pitched keeping the mainframe for at LEAST another 3 years. Well, not exactly the current MF. One running under a Linux environment, emulating the mainframe hardware, running the real Z/OS operating system. Seem like the most cost effective way of dealing with the problem.

Scary.
New You've misunderstood both me and the article you linked
My example was meant to demonstrate a point. I didn't suggest that I actually work that way. In fact, my job hasn't involved writing code for over a year, and it hasn't been my main focus for about two.

As for the article you linked ... before pointing out how you misread it, how much have you read of [link|http://c2.com/cgi/wiki?WelcomeVisitors|C2]? If you've spent any time there, you'll recognize the name of the article's author. His point was not at all that you don't want your programmers to overcome difficult challenges. It was that poor estimates lead to unrealistic deadlines, which leads to programmers making heroic efforts to make those deadlines.

If you were to accept a project [WARNING: MADE-UP EXAMPLE FOLLOWS. Author does not recommend actually doing this.] to transcribe Webster's dictionary by hand, and committed to a deadline of one week to do it, you'd probably have to make heroic efforts to come close. You'd fail, too. Or you could commit to one week to improve the average response time of a search page by 10%.

Both of these projects represent a difficult challenge. One would lead to burn-out, one would lead to a sense of accomplishment. Which do you think I'm interested in?

Now, assuming you understand what I mean by accomplishment ... To me, reporting has become little more than the dictionary transcription example. It may involve a lot of work. It might take days to do a single report well. But I'm bored doing it. The interesting part -- to me -- would be figuring out what you want to report on, what the numbers mean to the business, and how to improve the processes represented by the numbers.

If someone wanted to throw obscene amounts of money at me for a short-term reporting project, I'd probably do it. I'm a whore that way. But once I got some shiny new toys, I'd be looking for the door.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New I *really* don't believe I misread the article
Yes, I'm very aware of how it generally comes to pass that companies ask for heroic efforts from individual employees. However there is a feedback loop here. A company that pushes employees to heroic efforts has something broken about their estimation process. But conversely if employees really don't know whether they can do what they try to do, then I guarantee that they will regularly fail. Which will lead to a lot of uncertainty and make accurate estimation impossible. And to complete the scenario, most people burn out fairly quickly from heroics. (Programmers are particularly likely to be demotivated by pressure to be heroic.) Which means that if you're requiring heroics, then you'll quickly wind up with a burned out team and all ofthe attending problems that come with that as well.

In short heroics are both a cause and effect of organizational problems. Which makes heroics a red flag to watch out for.

Going to your made up example, obviously your "bad" problem is bad. But your "good" problem is also bad. If the whole spec was "speed it up by 10%", that's a bad project to commit someone to. Perhaps it can't be sped up by 10% at all. Or perhaps it can but that programmer won't be the one to do it. Or perhaps it can be sped up in 20 minutes after you realize that it isn't using an index. A far better project would be, "Spend up to a week studing how to speed up search." Another good project would be, "Spend a week to do change X that we think would speed up search by 10%".

Why are those versions better? Well first, with both it is fairly easy to figure out where to start. Second, both make demands on programmer effort that are estimatable up front so that programmers can give you feedback on whether your demands are reasonable. Thirdly other people can be given clear messages about when to expect improvements that they need.

About whether I understand you, I am quite certain that I don't. You are throwing around the word "accomplishment", but I don't know when you feel a sense of accomplishment in doing something, and when you don't. And I'm painfully aware that different people feel a sense of accomplishment about very different things. (BTW there is a certain irony that you'd respond to a post titled, Well, what do YOU mean by accomplishment? with a response where you say, assuming you understand what I mean by accomplishment... Um, in fact I probably don't...)

About reporting. You might find reporting (at least as it is for my job) more interesting than you think. People often ask for reports that are not going to happen in a reasonable time frame, I have to explain that to them. People often ask for reports that won't actually solve the question that they want to solve, and I often have to work with them to define a report that does. People often ask for a report without realizing that someone they don't work closely with already has the answers they want, and I get to hook them up. And given that I'm in so many discussions, I often wind up pointing out, "You know, it wouldn't be hard for me to give you numbers for _____, which would probably help you a lot." Plus a large fraction of the questions that people want to answer are of the form, "Why do the numbers look like ____?" Which puts me close to business problems in discussion with people whose responsibility is to address those problems. If I have any ideas about why that happened or what to do about them, they are all ears.

There is a lot more to the job than just producing reports that someone else has specified.

Cheers,
Ben

PS FYI, I recognized the author's name when I saw the article. That was part of why I stopped on that article, even though I'm not a big fan of CMM.
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New I don't think he's a fan of CMM either
He was discussing how agile maps to CMM. I took it more as a way to use CMM, which has some executive-level acceptance, to justify or explain agile.

Yes, I'm very aware of how it generally comes to pass that companies ask for heroic efforts from individual employees.
You're focusing on the time aspect of "heroic efforts". I completely agree that heroic time commitments are a huge red flag. In fact the article supports something I said earlier in (I believe) this thread: Most programming work does not require genius. Yes, the cutting-edge stuff Todd described probably does.

But your "good" problem is also bad. If the whole spec was "speed it up by 10%", that's a bad project to commit someone to. Perhaps it can't be sped up by 10% at all.
You mean it can't be done with new code on the existing hardware, right? Some problems can be solved by throwing hardware at it. What if you're at a small company with a single DB server that's got 2GB of ram in it. How much does another 2GB cost? What does one week of programmer salary cost?

That's actually a good example of what I mean when I say I'm interested in giving users what they need. Programmers want to write code. IT directors want to develop systems. Operatoins people want solutions. Sometimes the best solution doesn't involve IT.

BTW there is a certain irony that you'd respond to a post titled, Well, what do YOU mean by accomplishment? with a response where you say, assuming you understand what I mean by accomplishment...
That followed four paragraphs of explaining what I meant. Perhaps I should have written, "Assuming you now understand ..."

===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New He's not. :-)
He was discussing how agile maps to CMM. I took it more as a way to use CMM, which has some executive-level acceptance, to justify or explain agile.

Yup.
Yes, I'm very aware of how it generally comes to pass that companies ask for heroic efforts from individual employees.
You're focusing on the time aspect of "heroic efforts". I completely agree that heroic time commitments are a huge red flag. In fact the article supports something I said earlier in (I believe) this thread: Most programming work does not require genius. Yes, the cutting-edge stuff Todd described probably does.

I believe you've said it before, but I don't think you said it in this thread.

About heroism, it isn't just heroic time efforts that are bad. It is also bad (albeit for different reasons) to depend on someone having a brilliant flash of insight to be able to get a project done. It is great to have someone have a brilliant flash of insight and then start a project. It is great for a project to be simplified by a brilliant flash of insight. But it is bad to depend on that.
But your "good" problem is also bad. If the whole spec was "speed it up by 10%", that's a bad project to commit someone to. Perhaps it can't be sped up by 10% at all.
You mean it can't be done with new code on the existing hardware, right? Some problems can be solved by throwing hardware at it. What if you're at a small company with a single DB server that's got 2GB of ram in it. How much does another 2GB cost? What does one week of programmer salary cost?

I didn't mean "with new code on the existing hardware". I did mean "at acceptable cost".

For instance at my job, search is a major technical problem. But the easy bullets have mostly been fired. For instance I believe that you aren't going to improve our hardware without spending 5 or 6 figures on it.

There are a few bullets left. There is a caching improvement scheduled that will let us scale another 50% or so. (The primary concern is not time users spend doing a search, it is how many concurrent users we can support without melting down.) And we're about to upgrade our database to 10G, and there is a real possibility that we'll be able to find an easy improvement or two after doing so. Plus we're scheduling hardware improvements, I think for the fall.

While you were posing a hypothetical question, I'm giving answers based on a very real example which I know a fair amount about.
That's actually a good example of what I mean when I say I'm interested in giving users what they need. Programmers want to write code. IT directors want to develop systems. Operatoins people want solutions. Sometimes the best solution doesn't involve IT.

Sometimes the best solution requires all groups to cooperate. That's certainly been the case with search for us.
BTW there is a certain irony that you'd respond to a post titled, Well, what do YOU mean by accomplishment? with a response where you say, assuming you understand what I mean by accomplishment...
That followed four paragraphs of explaining what I meant. Perhaps I should have written, "Assuming you now understand ..."

That was a bad assumption. I feel no closer than I did before to knowing when you will or will not feel a sense of accomplishment.

But let's leave that point. It isn't important.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New OT: 2 days before running something
I've done that before. Sometimes I like to get the whole design down before the details, and the easiest way for me to do that is to code, sometimes for a few days, before worrying about "does it run". Usually the compile/test part only takes a few iterations at that point, anyways.

And yes, I also do iterative development. I'm just pointing out that your blanket statement is wrong (at least for me).
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I went back and forth on that before saying it
And even then I weaseled with "probably a sign".

Yes, I know there are times when it makes sense to code for a long time before running anything. I've done so myself. But I don't do so as a rule, and consider it a red flag if someone does do so as a rule.

I should also note that the programs where I've felt a need to develop that way have generally worked very well, but with a density of "interesting" that makes it very good that they do so.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
Expand Edited by ben_tilly March 14, 2006, 10:59:47 PM EST
     Hey Todd, know this guy? - (Yendor) - (33)
         ICLRPD (new thread) - (broomberg)
         Most people from there would be clueful - (tuberculosis) - (31)
             I resemble that remark - (drewk) - (30)
                 I'd get 4, possibly 3, on his test - (ben_tilly) - (29)
                     We're pretty flexible - (tuberculosis) - (5)
                         I stand by my assertion - (ben_tilly) - (4)
                             I thought you were into Ruby for a while...? -NT - (Another Scott) - (3)
                                 I was. I like it. Didn't do it for work though. -NT - (ben_tilly)
                                 Speaking of which... - (admin) - (1)
                                     Whew! :-) -NT - (Another Scott)
                     No need to apologize - (drewk) - (22)
                         Sounds to me like you're a Bob - (ben_tilly) - (21)
                             Bob annoys me. - (broomberg)
                             Not even close - (drewk) - (19)
                                 That's fair - (ben_tilly) - (18)
                                     also reporting, like sysadmins will always be with us - (boxley) - (1)
                                         Perhaps I'll stick with that for a while then :-) -NT - (ben_tilly)
                                     Spot on - (drewk) - (15)
                                         Doing your job shouldn't be an accomplishment - (ben_tilly) - (14)
                                             Not sure where you get that from the link - (drewk) - (9)
                                                 Im satisfied by getting better errors each time I run it -NT - (boxley)
                                                 Well, what do YOU mean by accomplishment? - (ben_tilly) - (7)
                                                     Hmmphh. I resemble that remark. - (broomberg)
                                                     You've misunderstood both me and the article you linked - (drewk) - (3)
                                                         I *really* don't believe I misread the article - (ben_tilly) - (2)
                                                             I don't think he's a fan of CMM either - (drewk) - (1)
                                                                 He's not. :-) - (ben_tilly)
                                                     OT: 2 days before running something - (admin) - (1)
                                                         I went back and forth on that before saying it - (ben_tilly)
                                             I don't buy it - (tuberculosis) - (2)
                                                 What I was trying to say... - (ben_tilly)
                                                 quite often in large corps org A doesnt realize that org b - (boxley)
                                             Getting out of bed in the morning is my major accomplishment -NT - (ChrisR)

I wanted to request installing a suggestion box at work, but I had no way of doing it.
148 ms