Fog Creek Software
Discussion Board




Wanted to add to project library, manager refused

There's a function we call all the time (yes this is C programming), and sometimes we have to build up a parameter from two others.

So I suggested why not create a new version of this function that would take TWO parameters and handle that.

So we have the fuss in one place instead of dozens.

Manager looked at me like I was a talking goldfish and turned me down cold.

That's why I'm frustrated this week.

frustrated
Sunday, July 04, 2004

The local thinking is to do everything fast, without much thinking on how we do things and how to improve them. Every suggestion for improvement, however small, is required to go through a full design, design review meeting, adding to the gantt charts, it can take a week to get such a small thing done, assuming they will ever get to it.

It's the same process if it's an improvement to the build process, refactoring the code a bit or doing a GUI change. They are all treated the same.

The solution to this madness is to simply do things without asking, at worst, you could be asked to revert the changes. Most of the time, no-one will notice the change and your work will be more streamlined.

You do need to make sure that your changes are not affecting anything critical, it would be unwise to do such changes a day before a version release.

name withheld to protect the "innocent"
Sunday, July 04, 2004


Our shop has no "process". We do things and then when the programmer thinks it's done, we ship to the customer.

No, the manager just can't imagine spending even a minute on code that doesn't go out the door.

Even preparing files of test data and scripts to run them get me funny looks.

The boss wants everything done manually and non-repeatably.

frustrated
Sunday, July 04, 2004

Then it's similar to my workplace, except they wrap the no decision with a "process" to wear you down.

As I said, instead of reading another thread on JoS, I'll simply do some improvement I wanted to make my life easier.

name withheld to protect the "innocent"
Sunday, July 04, 2004

I wish I'd just added the damn thing.

"It is easier to get forgiveness than permission."

frustrated
Sunday, July 04, 2004

"No, the manager just can't imagine spending even a minute on code that doesn't go out the door."

oooh, i've been there. Take time to look for another job, because if the manager has a hard time seeing the money for the small saving with simple stuff, how is he ever going to see the big savings with the little more complicated things or even the savings that the products should have for the customers.

Not going to tell my name!
Sunday, July 04, 2004

Yes, I have in fact started looking for a new job. I don't think the company has much future because of sloppy methods, both in program construction but also in design.

frustrated
Monday, July 05, 2004

I think it's more like you want to spend dollars to save pennies and your "crazy" boss maybe has a point.

How long does it take you to copy/paste every time you need the code? How often do you have to do that, once every couple weeks/months with each new project? 

The existing code is working just fine, and might not be the prettiest solution but it is time-tested and that counts for something. Unless your requirements change then I see no reason to rewrite code just for the hell of it. 

The fact of the matter is that often times programmers want to do this because 1) They like programming and 2) They take personal pride in their codebase and they want it perfected and tweaked and perfectly indented.  I fully understand these 2 things, and they're completely valid, but they might not be best for business, and that's what the managers decision is all about.

Shane

Shane Harter
Monday, July 05, 2004

I want to add one thing to my previous post.  I believe in what I said and that it applies to most businesses but *not* necessarily software companies, where your whole product is your software.  In most businesses the important thing is that the software *just works* and works everytime consistently.  If your company meets its payroll by selling software then you need absolute perfection.  You want the programmers to work endless hours and tweak the software to perfection. 

The difference between these two is also evident in the way the programmers are paid.  I currently write software for a major (fortune 100 in sales)  company and get paid hourly, a friend of mine works for Great Plains (actually owned by MSFT) and is saleried.

Shane Harter
Monday, July 05, 2004

Shane, a more readable codebase is not just pennies saved, fixing copy-pasted code is expensive compared to fixing something that is in one place.

Not going to tell my name!
Monday, July 05, 2004

Shane's argument might be reasonable if the manager had any clue what the relative costs were of fixing the code base vs. leaving as it is. From the sound of the story though, that seems very unlikely. You have to suspect that that he thinks the cost of leaving it be is zero, which makes him a monkey, in my book.

Dave Hallett
Monday, July 05, 2004

Sorry Shane, this one would have taken all of ten minutes and have about 0.000001% chance of negative impact.

frustrated
Monday, July 05, 2004

And you made a good point about how programmers are paid.

You know if programmers were all hourly with time and a half past 40 hours, we would all have the fastest computers in the world, with every software tool known to humanity, instead of the usual "Well cc comes with HP-UX for free so we will use that."

PS: "Cut and Paste" is Larry Wall's prime example of "false laziness."

frustrated
Monday, July 05, 2004

Lord, what kind of nightmare do you work at, where a MANAGER gets any say in technical details like code?!?  Why do you even bother talking to managers about that stuff?

Run away, and never look back.

isosceles
Wednesday, July 07, 2004

One time I had a manager , who was an editoral manager also, look over my shoulder and try to help by -

Pointing out spelling errors in the comments.
Ask if all the semi-colons were really needed.

Shudder.

Jon Kenoyer
Thursday, July 08, 2004

frustrated , are there more programmers?
How is their mood and sense for coding?

I mean, if you are sure all the rest of programmers would be with you, ask all of them what they think about making that change.

Wait for results. If you get quorum then you'll be ok to implement it.

Oh, one more thing surely you already thought, just for not having to recompile every module calling the function, I'd maintain the original function name calling the new one (so all the code is still at one point, inside the new func, but you still have to ways of using it)


void function (...)  // original name
// this function is deprecated,
// PLEASE, USE function_b
{
just calls function_b(...) and does not use the new arguments added
}

void function_b(... + new arguments) // new one
{
all the original code ONLY here+
new code for the new parameters
}


The idea is that, in the long time, all old uses of "function" will be replaced by uses of function_b, and then "function" can be deleted. And then you can rename "function_b" to "function" (or even better, try to choose a function_b name so good you'll not have to change in future).

If that day not arrives, well, it is not so important. The key is the featured function was created in a no traumatic fashion: without duplicating code, and with new code and old code living in harmony.



 

Ross Sampere
Saturday, July 10, 2004

*  Recent Topics

*  Fog Creek Home