in reply to Maxims for Programmers

Good programmers don't require much project management. No amount of project management will make bad programmers good.

So who are these mythical "Good" and "Bad" programmers? I don't think I've ever met either type. I've seen certain programmers write very low-quality, buggy, insecure, and all around ugly pieces of code before. I've also seen the same programmers turn around and produce extremely solid code the next day.

Were these programmers magically transformed from "Bad programmers" to "Good programmers" overnight? No, they finished working on a poorly defined Big Ball of Mud yesterday and started a well defined project with a knowledgeable manager the next day.

Good project management may not transform a programmer overnight, but it definately can help produce better end results and teach good programming practices at the same time.

Replies are listed 'Best First'.
Re: Re: Maxims for Programmers
by artist (Parson) on May 18, 2002 at 22:07 UTC
    Good project management may not transform a programmer overnight, but it definately can help produce better end results and teach good programming habits at the same time.

    I agree with you. Learning how to manage one's programs effectively is an art. What "years of programming practices" cannot teach, a simple lesson in project management can do. It's may be apperant that no project management is required for very small projects. If you look at it again, the idea of the project management running in the background in your mind can definitely help.

    Making list of your resources, taking inventory of your skills etc, has power to help you when you have lapse of memory, time etc.. Extending further, if you further identify these things for each and every programming task, it can become a very good practice and ultimately help you to finish your task faster and more effectively. Inititally you will feel a time waste, than it will run in the background and these skills will be woven in your mind, just like basic perl functions.

    Artist's point of view

Re: Re: Maxims for Programmers
by sfink (Deacon) on May 19, 2002 at 18:47 UTC
    Were these programmers magically transformed from "Bad programmers" to "Good programmers" overnight?

    Er... no, they're still the bad programmers. Bad programmers can write good code. They just require much, much more handholding. And a project manager can't do that handholding; it has to be a good programmer. (Note that a great project manager can fill in that role -- if he happens to be a good programmer.)

    I'm not saying project management is useless. In fact, it's critical. But I fully agree with the original quote -- it's not enough by itself, and much, much less of it is needed if you have good programmers in the first place. Which isn't saying much, because part of what makes a programmer good is being able to do a part of the project management.

    It is certainly possible to create a decent product with a team of bad programmers and a good project manager. I've seen it done. And I've seen two good programmers get fed up with the pointless lack of flexibility and maintainability, and rewrite the whole thing in less time and produce a far better product. Admittedly, they gained from the experience of the first implementation, but they didn't stop there -- by the time they finished, the product had at least twice the functionality of the original (it was being sold in parallel, so new requirements were pouring in.) And it was still easier to maintain and extend, and there still wasn't a product manager involved. Sure, it's anecdotal, and there were some near-disasters that could have been avoided with better project management, but it still supports the original claim.

Re^2: Maxims for Programmers
by Aristotle (Chancellor) on May 18, 2002 at 22:02 UTC
    Good programmers will steer clear of mudball maintenance jobs given any choice at all..

    Makeshifts last the longest.

      Great programmers can turn the big ball of mud into something maintainable. (Though it does take good management to run interference...)

      Ah, I see now...

      "Good programmers" eq "Unemployed programmers" ;-)

      Update: Big Ball of Mud related node linkage - Failure To Refactor.

        As I said, "if at all possible". See my sig also..

        Makeshifts last the longest.