5

I work in the IT sector and I believe in perfection and following industry best practices in my work. People in my team believe in delivering projects early and earning brownie points even if the project has bugs and the code is not streamlined. Somehow this practice doesn't go well with me, although I don't argue with anyone but instead follow my working style and try to ignore criticism.

My bosses knows that I am doing things the right way but they try and mount pressure on me to follow the working style but also match the speed of others which is not practically possible. Now I am labeled as a procrastinator in my team and they are all the more cynical because of late a few industry gurus visited our organization and praised my work(long story).

I feel I am being pressed from all directions right now. Even my family and girl friend think that I am being an idealist and a fool. They want me to compromise my work ethics. Right now I am facing criticism and maybe looking at losing my job. My boss told me although I was doing things perfectly and that he liked my work but said I was being a negative influence being a procrastinator.

I don't want to leave this job because I work for a reputed company and want to communicate my feelings to everyone so that they understand that I am not wrong in what I am doing. Somehow, somewhere maybe I am not able to communicate to everyone my point of view.

If it was my team I could maybe ignore them and their remarks but right now everyone is against my line of thinking. My boss, friends, girlfriend and family, all those who used to be my pillar of strength. I work for 12-13 hours a day but I am not able to satisfy no one. I feel like a loser right now.

How can I clarify that I want to keep up my quality of work, but that it takes more time for me to do so, so they don't think I am procrastinating unnecessarily?

18

I too am a software developer with perfectionist tendencies, so I understand what you're going through. My initial instinct was to suggest that in order to effectively work on a project with budget and time constraints, you'll need to work to find a balance between hitting project goals / delivering value, and achieving your personal beliefs about code quality / best practices; that you can either find a middle ground with your teammates, or you can find a new job - that those are the options available to you, but...

After I read your post through a few times, I came to an understanding that I don't believe you've come to see yet:

You're wrong.

Sorry buddy. I hate to break it to you, but it's looking like that's the case. Your bosses, your teammates, your friends, your family, and your girlfriend - they are all telling you the same thing, and yet you still think you're right and everyone else just doesn't understand. Even worse, you delude yourself into thinking by being stubborn and firmly standing your ground, you'll eventually persuade, not just one other person, but literally everyone you know, to see things from your perspective and to admit that you're right and that they're wrong.

Do you understand how unrealistic that is?


You say:

I don't want to leave this job because I work for a reputed company and want to communicate my feelings to everyone so that they understand that I am not wrong in what I am doing. Somehow somewhere maybe I am not able to communicate to everyone my point of view.

You're letting your job, your reputation, your social life, and your romantic life all suffer, and for what? So that your ego won't be bruised? So that you won't have to admit that you've made a mistake, that you've erred in judgement? Take a deep breath. Realize that life will go on, but that you are wrong, that you need to accept this, and then take responsibility for all the problems in your life that your obstinate stance has caused. Apologize to those who you've hurt. Make amends for your wrongs. You're going to be OK. Your ego won't be though. This is part of life. We're all human, no one is perfect.


In regard to how your bosses have responded to this problem, you write:

My bosses know that I am doing things the right way but they try and mount pressure on me to follow the working style but match the speed of others which is not practically possible.

And:

Right now I facing criticism and maybe looking at losing my job. My boss told me although I was doing things perfectly and that he liked my work but said I was being a negative influence being a procrastinator.

Have you considered why your bosses tell you first that they recognize that your approach produces high quality code, before following this with the problems that it's causing? Your bosses think that by addressing the problem with you in this way, that you won't feel as hurt by the fact that they're telling you that your approach to your work is problematic. They tell you this in a way that makes it easier to hear, thinking that you'll be less upset, and more receptive to their requests. Instead you take it as validation that you're still doing things in the right way, but that you've somehow failed in some other way: by not working fast enough or hard enough, or by not properly convincing people of the validity of your approach.

Whatever the alternative may be, you refuse to admit to yourself or others that you were wrong. Instead you're internalizing the issue, saying you "feel like a loser right now." You'll feel a lot more like a loser if you lose your job, your girlfriend, and your friends, and damage your relationship with your family simply because you can't admit that you're wrong.


If you want to write perfect code that you can be proud of - if you want to write code that you have full control over - start an open source project in your free time. This can help you practice these beliefs you have, your philosophy of how software should be created, while permitting you to loosen these constraints which are prohibiting you from meeting deadlines, and are causing conflict at your work place between you and the other members of your team. Realize that you are imposing these constraints on the code that you deliver at your job, and that your set of criteria for what you feel makes your code "good enough" to deliver are much more restrictive than the set of criteria set by your teammates, and those expected by your bosses.


In order for you and the rest of your team to work together amicably moving forward, first you'll need to apologize for any problems that you've caused, then you'll need to either (A) work to find a middle ground, or (B) accept that it may be time to find a new job more suited to your approach to software development.

Maybe this team just isn't the right fit for you, and maybe it never will be. It sounds like you may have ruined any chance of salvaging your reputation with the people you work with. Maybe finding another job is the best thing for you and your mental health. It will give you a fresh opportunity to approach your work in a way that is conducive to reaching compromises between your idealism and the world's realism.


Bringing the focus back to this post, you asked:

How can I clarify that I want to keep up my quality of work, but that it takes more time for me to do so, so they don't think I am procrastinating unnecessarily?

You don't. Don't let your pride ruin your life.

  • It's not just a matter of pride. If you've grown up learning it the wrong way, the right things appear wrong. If everyone around you is telling you that you're wrong, you're bound to rebel, at least until you realise the truth for real. – Abhigyan Chattopadhyay Feb 28 '18 at 16:52
2

A good requirements-gathering phase should have listed a concrete set of deliverables for each project as well as a committed delivery date.

From your question, it isn't clear whether you are meeting the delivery dates for your part of the project, or whether you are not delivering on time. I'll assume that you're meeting the deadlines because I doubt you'd be proud of breaking deadlines, and I'm almost certain that industry gurus wouldn't praise that (there may be deeper issues, such as over-committing).

So the position I gather you're articulating is that you're using the time available, working hard and delivering higher-quality software than those who finish before the deadline. You can try saying something like this:

I'm willing to work hard and to put in extra hours so that we can deliver the project on time and bug-free. Our team's experience has been that we either rush to finish early, or we use the full time allotted and deliver a quality product.

In each project, the deadline is set with enough time to allow proper processes to be followed. When we rush the project and finish early, it doesn't earn the company any more. In fact, if you include the time needed to debug the rushed work, you'll find that rushing the jobs doesn't save the company any time at all. As they say, there's never time to do it properly, but there seems to always be time to do it over.

I prefer to get it right first time. It may take a little longer, but I've shown that I can meet agreed deadlines. Doing things this way results in better software, which translates to better reputation for the company and hence a higher earning potential. This is a win for the company and a win for the client.

  • 1
    Off course I am completing projects within the set time frame or I would have been kicked out of the company a long time ago but people expect more. My boss is looking forward to showcase a team which could deliver projects before time, a productivity marvel. His world view is, that a software has got to have bugs and there are patches available to fix them in time the way other teams are functioning. Only I don't relate to his view. – Don'tDownvoteMe Feb 24 '18 at 16:47
  • Thanks for confirming - my suggestion assumes that you’re completing projects on time. What do you think of the approach I outlined? – Lawrence Feb 25 '18 at 0:08
  • @Lawreance, I guess, my boss is strong headed. Although I believe communicating the way you told is the best approach that could be. Maybe once he sees the merits of my arguments he might approve of my ways. But I am not sure if he would ever ask the entire team to work in the right way. If he wanted, he could have asked the team to deliver a quality product but seems like that was never his priority. – Don'tDownvoteMe Feb 25 '18 at 3:27
  • 1
    @Don'tDownvoteMe I would suggest ask him why he approves current approach. Maybe you will be surprised to get some new info. – Divisadero Feb 26 '18 at 14:40
1

If it was my team I could maybe ignore them and their remarks but right now everyone is against my line of thinking. My boss, friends, girlfriend and family, all those who used to be my pillar of strength.

You have to set out your priorities and think about what you really want. If it's perfection, you'll have to actually work a lot faster to get your work done the way you want. Being a perfectionist myself, I've been treated the same way during school projects, and I suffer even during some exams, as I'm trying to put my everything into them. This comes at a cost, namely, time.

If you're sure that you can not work any faster, it's best you make a few compromises in your quality if you want to keep your job and family life safe and secure. As an ambitious person myself, I don't personally like this option, but I'm often forced to do the same thing. I try to figure out a (realistic) action plan and then I work towards it.

Keep the following things in mind:

  1. You have limited time and resources. Working for longer isn't a great idea, seeing that you already put in 12-13 hours.

  2. The world is not an ideal place. There are things that are good to do, but aren't really feasible. Your ideology may be good, but your surrounding environment may not be respectful of that, as they see it as non-conformity and plainly rebellious.

  3. There are people who don't conform to these boundaries, and they are a very special lot. They look rejection in the face and laugh at it. They don't care what the world thinks of them. If you want to be like this, you should stop caring about what people think of you (This is highly idealistic and unlikely to solve your problem.)

Finally, you have to decide what you really want to do. That's your call. When you've decided that, then you can think about how to put the words together and get the message across.

  • Thanks @Abhigyan, I shall keep your advice into mind and decide my future course of action. – Don'tDownvoteMe Feb 24 '18 at 16:39
1

As part of a team, it's difficult to impose your way of thinking on others.

You need to assess what actual impact the early deadlines have on the product. It may be that it's no big deal. Your way of doing things may deliver above expectations, but with no real benefit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.