Fog Creek Software
g
Discussion Board




Manager asleep for 5 mths, wakes up at project end

I started a job last year. I inherited a project written by 2 software developers that left the company in quick succession of each other. The code was a mess. Almost everything they did was wrong. I'm not talking about style here. They had done about 20% of the project and every little bit of it was 50 - 80% incomplete. It had layers of bugs under bugs. Loads of code commented out. It had 0 usable functionality. They obviously never tested the code during development and lept from one feature to another, never finishing one single thing. The fools didn't even know you can feed one select query into another and went on a spree of writing 135 stored queries. After all that work, they couldn't even load a logical unit back from the database. As such the applicaiton could write database rows (even that barely), but not actually view or edit them via the user interface afterwards. It suggests to me they were making something easy difficult and spent alot of time messing about when 1 line of SQL was all they needed.

Over the last 5 months I've rewritten the application from scratch. I've throughly tested code throughout development and as far I can figure this result has produced good quality, robust code. I'm almost near the point of finishing it.

Nobody has told me what to do. I thought a lot about the work and solved all the problems.

However now a manager has woken up. He hasn't bothered to understand what the code I wrote is doing. I know this simply by the questions he is asking me. He is looked at random bits of it - all the bits on the outskirts of the actual code doing the real work - and is making comments about how it can be changed. His comments are on the lines of adding empty layers to the system doing nothing more than 1 to 1 mappings. He also wants me to start using functions with 50 parameters.

I feel this last statement of his suggests he isn't a quite on the ball.

I did point out to him today that what he wants done will simply be code with no functionality. Just a huge setter method with a silly 50 parameter interface. He didn't disagree with me. He agreed but still didn't change his mind.

I do wonder why over the last 5 months when I have been writing the system he hasn't decided to comment before. Why just a few weeks before the time the client wants it, has he woken up?

Why isn't code that works valued? Why did two developers produce absolutely dribble over a year and nobody in the company realise?

Savage
Friday, February 13, 2004

I've produced dribble for over a year and the main reason is because no one notices or cares, and I still get paid. I'm having a lot of fun reading books, learning how to use audio software, and whatnot. If I could cure my web surfing addiction, I could probably learn latin or quantum mechanics with all my free time.

When my manager wakes up, that will be my cue to either start doing some work, or look for another job. I really don't anticipate that happening though, unless my manager's manager's manager needs to start seeing some results somewhere lower down in the food chain.  My manager is also just coasting along doing very little of value. 

Seriously, what I've said is true. I'm not too proud of it, but hey the pay beats working at starbucks. 

Answering your questions is hard without additional context.  I work for an unbelievably huge multinational with unbelievably huge revenues. Even though I get paid a good salary, my salary is still a rounding error when it comes to the grand scheme of things. Every large company like this has unbelievable amounts of inefficiency in the form of people like me. If you are working in a similar organization, I would question why you are working so hard. In time, you will learn not to care.

However if you are working somewhere your program actually matters, your company might be hosed. But I really can't say without more information.

the richest slacker
Friday, February 13, 2004

"I don't tell you how to manage. Why are you telling me how to write code? Why did you hire me if you want to do it yourself?"

Brad Wilson (dotnetguy.techieswithcats.com)
Friday, February 13, 2004

or, perhaps more succinctly...

'...and the second word is "off"'

Simon Lucy
Saturday, February 14, 2004

...and you're suggesting that this is an unusual situation...????

anon
Saturday, February 14, 2004

Savage,

Nice post! Lots of information provided. Even so, I am unable to answer your why questions. There can be a multitude of reasons why your manager was asleep at the wheel for over five months.

It sounds like you are working on an in-house software application or a small software system. If this is the case, your situation certainly isn't uncommon. Many companies will hire a programmer and expect him to be able to have the breadth of knowledge required to properly manage, design, and complete whatever work he is told to perform. In situations such as this, the PM does his own thing and rarely interacts with you at work until whatever you are working on is close to completion.

I would like to tell you that you are working for a bad boss and you should seek employment elsewhere, unfortunately, you will find that most organizations operate pretty much the same way. That is, they dump most of the work and accountability onto the lowly programmer because nobody within the organization has a clue when it comes to running an IT department where most employees are happy and productive.

Do you know why the two previous programmers left your employer?

One Programmer's Opinion
Saturday, February 14, 2004

One easy way do deal with a meddler like that is to pay close attention to what they want changed. Write it down, or even better, enter it into a "To Do" repository. But make it clear that it can't be done right away; it's just too late for the release you're working on now without significantly impacting the schedule, but it'll definitely be on the list for the next release.

You can keep that story going for years.

Tom H
Saturday, February 14, 2004

Ahhh ... the joys of producing dribble. 

"The richest slacker" has it right. 

I used to work work for a particularly political company where certain simple projects were deemed "cutting edge" and other difficult stuff was deemed easy.  These judgements were made by technically incompetent management with no input from actual programmers.

After toiling away at difficult tasks, I was given a very simple, easy app to write.  But the perception by the idiotic management was that I had finally grown enough as a developer to handle this complex and precious project. 

So, I just futzed around with it, all the while studying and getting all the fashionable certifications at the time, MCP, MCSD, MCthis MCthat, etc., eventually lining up a very high-paying job.  This was the late 90's though ...   

"Savage" asks
"Why isn't code that works valued?"

Hehe, that question really strikes a nerve. Same problem in the situation I just described.  I was dealing with managers that would masturbate over buzzwords, pretty UML diagrams, etc., but didn't care enough about software that worked well and made customers happy.  Software ... well ... ought to work, shouldn't it?!?!?  ARE F*&^ING UML DIAGRAMS MORE IMPORTANT THAT WORKING CODE?!?!?  Well apparently in certain corporate cultures, the answer is yes.

This really doesn't should like a bad situation though.  I think Savage should try to hammer this project out and then take advantage of his dumb company the way his predecessors apparently did. Learn new technologies, take up new hobbies, and look for a more rewarding job in a better culture.  Or maybe not; I'm making a lot of assumptions here, and the situation I described was a long time ago ... 

Immature programmer
Saturday, February 14, 2004

I'm working for a consultancy doing work for external clients. The consultancy isn't a software one though. It does business type things. Software is only a very small part of their work. I'm fact the company only has two software developers - me with 7 years experience and someone fresh out of university.

I don't know why the previous two programmers left. One left a month or two before I arrived. The other one resigned a week before my job interview. I can guess why they left though. They left either because they knew the project could never be completed or simply because they couldn't stand the silly views of the manager.

A couple of weeks ago, this manager looked at a fairly trivial function I had written and started to remove all the IF THEN statements. He then declared the function was much easier to read!!!! He next moved on to a function with only 4 lines of code and complained its one level of indentation made it difficult to understand. He likewise removed the IF THEN statement. Absolutely lunacy. This would drive any sensible programmer to leave. I'm almost thinking of leaving now, but I hoping this time around the manager will just let matters slide and not continue his lunacy.

Savage
Saturday, February 14, 2004

Another thing. Four months ago I was speaking to this manager and I said I have written SQL where one select is used as part of another select. He said he didn't think this was possible and it couldn't work. I replied this sort of SQL was in books, mentioned on the database's help pages and has already been written by myself for the application I am writing and works fine.

Now late last week, the manager said I shouldn't be allowed to write database queries if more programmers were on the project and that SQL selects should not be allowed to be used inside other selects.

Currently I am the only programmer on this project and am writting all the parts of the system myself - SQL queries, user interface etc.

I think this is just childish. Just because this manager doesn't know anything other than simple SQL selects, then nobody else should be able to use anything else.

This explains why the two previous programmers couldn't write functionality to edit or view anything they dumped in the database. No wonder they left.

I feel like resigning. There is a risk the stupdity could snowball.

Savage
Sunday, February 15, 2004

Then resign. Get a new job first, though. :)

Brad Wilson (dotnetguy.techieswithcats.com)
Sunday, February 15, 2004

>>
I do wonder why over the last 5 months when I have been writing the system he hasn't decided to comment before. Why just a few weeks before the time the client wants it, has he woken up?
<<

The answer to this is simple -- he's demonstrating his authority.  This is a common behavioral pattern for management.  If you're able to complete the project with great results without any input from him, what good is he?  He has to come in at the last minute and come up with some arbitrary changes or his existence has no purpose. 

SomeBody
Sunday, February 15, 2004

<< Currently I am the only programmer on this project and am writting all the parts of the system myself - SQL queries, user interface etc.>>

Savage, you're in heaven, and don't know it. 

Let's say you had a competent boss, and were working on well-written, professional-quality code.  Would you have more freedom, or less?  Would you be learning more, or less?

You can learn a *lot* from badly-written code and poorly-managed projects.  I have grown immensely from working on projects that demonstrated (more clearly than a purely theoretical argument ever could) *why* various practices are Very Bad Ideas. And I always pick up new skills on bad projects, because there's no one else to do it...

Grumpy Old-Timer
Monday, February 16, 2004

*  Recent Topics

*  Fog Creek Home