Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Stress affecting code output

by Anonymous Monk
on Jun 14, 2005 at 03:51 UTC ( [id://466366]=perlmeditation: print w/replies, xml ) Need Help??

Monks,

Please excuse me for posting anonymously, but I need your help and I need to stay stealth for certain reasons. I'm in a startup developing a large web application using Perl as the primary asset. I'm implementing best practice modules such as Class::DBI, Test::More, Template and CGI::Application. My boss is the other server side developer and he hasn't used most of these modules, and hasn't been entirely kind in his feedback of them. To my knowledge, he hasn't coded on a daily basis for quite some time and IMHO is somewhat out of the loop.

We're on weekly release schedules, and I'm playing the role of release manager, dba, sysadmin, and developer. I figure I'm getting about 2-3 days max per week development time and I'm under a lot of pressure to cut corners and just get things done, without errors (I've spent a good amount of time pulling bugs out of his code). Some of my code has made it into production with bugs, and I've come clean and pointed that out, saying I need more time. In return I've gotten a lot of negative feedback which has made me feel like I'm walking on eggshells when I'm writing code.

I've been doing this on a daily basis for six years and I can say without too much ego that I know what I'm doing. I've led several successful projects but this one is sinking, and I don't feel like I have the power to get things done here. My code output has gone to shit, mostly because I don't want to deal regular verbal abuse resulting from not being able to get things done within the constraints I've been given.

Any advice appreciated.

- Anonymous Monk

Replies are listed 'Best First'.
Re: Stress affecting code output
by DaWolf (Curate) on Jun 14, 2005 at 05:10 UTC
    My honest opinion? Leave the job. You seem to be a nice professional, so why really care?

    The worst thing is to see so much good will and responsibility wasted on a bad experience. Believe me, I've been there and I know what I'm talking about.

    Your boss doesn't appreciate you. Leave. I'm not saying it will be easy - it probably won't - but you really have to contribute in an environment where people recognize you.

    Don't sink along with the project. Don't let people blame you being you the only person who really cares.

    There must be dozens of companys out there who need a guy like you.

    Good luck and believe in yourself!
Re: Stress affecting code output
by jZed (Prior) on Jun 14, 2005 at 04:20 UTC
    My first advice is what my father told me when I went off to college "Illegitums Non-Carborundum" (pseudo-Latin for "Don't let the bastards grind you down").

    Second, if this pattern has been going on for six years, you can't expect it to change on its own. So either a) keep repeating to yourself "my boss is a shmuck and his opinion doesn't really matter" while saying to your boss whatever he wants to hear or b) start immediately looking for another job and say to your boss "listen, this time I really mean it, we can't do this right in the time we have either increase the time or decrease the task and if you won't do either, don't blame me when it comes out as I am telling you it will. If he hears that and then blames you, quit. You might go through a rough patch finding a new job, but you'll thank yourself in the long run.

      This pattern has only been going on for a few months. I have been very fortunate to come under the tutelage of top level monks in my previous positions who taught me how to Get Things Done The Right Way.
        If this pattern has only been gone on a few months, then I'd still recommend the honesty approach. Be firm in saying what you know to be true - what your boss is asking for can't be done. It's possible that being really direct and firm will cause your boss to rethink. If not, then he still needs to hear how seriously you take it. I don't know what your situation is with respect to other people in the company but if there is a third party that you and your boss both respect, perhaps ask for some sort of mediation - a sit down with the three of you.
      > My first advice is what my father told me when I went off to college "Illegitums Non-Carborundum"

      My latin is crap, but a better translation might be something like:
      nothus frendo abnegare +
      feel free to slate my grammar

      <python mode>
      Centurion: What's this, then? 'Romanes Eunt Domus'?
      'People called Romanes they go the house'?++
      </python mode>

      + see dictionary entries for this phrase
      ++ Life of Brian, Scene 8
Re: Stress affecting code output
by zentara (Archbishop) on Jun 14, 2005 at 12:00 UTC
    Maybe get some cheap help .

    Seriously, it sounds like you are in one of those "abusive employer situations". My advice is to change "psychological tactics", and instead of letting yourself feel like you "are tied to the whipping post", just learn to relax and accept the fact that they may can you for not performing like a slave.

    It's amazing how situations can change by changing your internal view of it. The next time he whips you, just turn to him and say "I'm working as hard as I can without affecting quality, and smile and say "the more you pressure me, the harder it is for me to concentrate on work". Then watch the steam come out of his ears. If he threatens to fire you, mention that you are the only one who understands what is going on in the code, and he will be set back 6 months if he fires you and has to hire someone else.

    Of course start looking for another job; why should you get an ulcer because your bossman has dominance problems? By all rights, it's your boss who deserves the ulcer, so blow it back in his face.


    I'm not really a human, but I play one on earth. flash japh
      Maybe get some cheap help .
      This is not OP's rsponsibility, his boss should do it. And IMHO if he (the boss) didn't in 6 years it's a clear sign that it's useless to keep trying to deal with this job.

      The "blow it back" tactic can have a pretty useless result too: he (the OP) might even get a raise, but my experience tells me that the deadlines will continue to be tight and his stress won't fade away.

      This is a matter of respect and minimum job conditions.
Re: Stress affecting code output
by Anonymous Monk on Jun 14, 2005 at 04:09 UTC
    I am also posting anonymously deliberately.

    I have experienced a similar situation, at an investment bank, whereby the boss has an enormous ego and puts team members under stress to OUTPUT, OUTPUT.

    I was very surprised to see a complete lack of use of modules.. even CGI was avoided.

    The scary part was the boasting on the part of the boss. He would regularly boast how he created a system or series of webpages in a matter of hours! And yet, the code was near unmaintainable.. and even worse, had little or no error checking.

    I eventually chose to leave, both because of the imposed stress to OUTPUT OUTPUT, and because I was being accused by this boss of writing faulty code, when on each occasion that he did so, debugging proved faults in libraries he had written.

    Personally I would never invest in that bank, knowing how regularly this particular individual demands major SQL changes and bypasses authorisation and auditing processes.

Re: Stress affecting code output
by Joost (Canon) on Jun 14, 2005 at 08:40 UTC
    Two questions:

    1. How long do you think the project is going to last if you have to keep working like this?

    2. What happens to you if it sinks?

    If the answer to question 1 is "longer than I want", or the answer two question 2 is "all kinds of bad stuff", I suggest you leave the company and/or the project as soon as possible because it's not worth staying on: your health will suffer, your experience will suffer (because there really isn't much you can learn from a crap project) and your reputation will suffer.

Re: Stress affecting code output
by ank (Scribe) on Jun 14, 2005 at 05:09 UTC

    Is the value you are generating being recognized? Are you going to get some time off after the mad schedule you are in right now? It's a very serious circumstance if your manager doesn't understand how stress can affect you as a resource and as a person -- remember that you can't fool your body, stressing too much will lead to downtime in the long run -- and you will pay it back with interests.

    Have a honest talk with your boss. Try to negotiate the situation and come up with a solution that will work for both sides... in my experience, it's very unlikely that the code quality will do nothing but get worse, in these circumstances.

    Good luck!

    -- ank

Re: Stress affecting code output
by GrandFather (Saint) on Jun 14, 2005 at 04:05 UTC

    Use all the tools you can to get stuff done. We use a build system using Visual Build Pro to generate our release materials directly from CVS and are in the process of getting an automated test system going.

    If you can put any sort of automated regression test suite together that can save a lot of red face time!


    Perl is Huffman encoded by design.
Re: Stress affecting code output
by demerphq (Chancellor) on Jun 14, 2005 at 16:32 UTC

    Personally Class::DBI scares me. While it sounds like you have some fair points, and some reasonable comments from other monks, i think there is an angle not mentioned. Maybe your Boss has a point to some of his carping? Maybe overreliance on "magical" modules that you dont know that well is part of the problem? (Note i dont know who you are or what your skill levels are, for all i know you could have written C::DBI in the first place, so im not trying to be snotty here.)

    For instance i've seen a lot of comments about C::DBI that make me think its not suitable for nontrivial production DB enviornments. My own personal experience with it convinced me quite quickly I wouldn't gain any dev time, nor quality by using it. Maybe you need to reasses your tools in light of the comments by your boss and the apparently aggresive time schedule that your project is operating under.

    Also, i think perhaps its worth remembering that Perfect is the enemy of the Good. Its better to have something running properly quickly than to eventually have something running The Right Way.

    ---
    $world=~s/war/peace/g

      Thanks for playing devil's advocate. I agree with your comment on Perfect vs Good, and right now I'm trying to hang on to Good Enough. Also agree that there is likely a point to the Carping, but from what I can tell that point is get as much done as fast as possible. My approach to that is to write tests for everything I do because I used to not do test driven development and I don't want to go back there at any cost. I know that it takes 2x time to produce code that I can show which uses tests, but only takes 1x time (plus 2x interest) without writing tests.

      Can you comment on what you would use instead of Class::DBI? I know it's not perfect, but it works well for most situations.

Re: Stress affecting code output
by tilly (Archbishop) on Jun 14, 2005 at 22:01 UTC
    I'd suggest reading Deathmarch! by Ed Yourden.

    In the time that is available between your current job and looking for a new one, of course.

Re: Stress affecting code output
by bageler (Hermit) on Jun 14, 2005 at 18:17 UTC
    don't sacrifice your reputation as a developer or your mental health (stress) for unreasonable people's demands. quit the job.
Re: Stress affecting code output
by artist (Parson) on Jun 14, 2005 at 17:49 UTC
    Learn. How to say 'no' for the advantage, without creating troubles.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://466366]
Approved by Tanktalus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (9)
As of 2024-04-24 08:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found