I just read the unix principles and objectives and I found them precious for a software developer.

I work in a big company where horrible design decisions have been made causing us to fail almost every one of those points: our software has been designed by a manager (almost alone), there are no interfaces, no comments (he doesn't want them), we tend to write complex stuff with NO maintainability or spare of programmers' time.. furthermore we're reimplementing stuff already implemented by other departments... this is highly depressing.

I'd say that this guy is rather smart but that doesn't mean he's a good programmer and unfortunately is just worsening things.

I tried to give him a few hints but the answer has always been "this is how it needs to be done" without any chance of replying.

Is leaving the position the only acceptable way to deal with such a situation? I repute myself a somewhat competent programmer but I find myself spending more and more time finding bugs in what it's slowly becoming a debugging nightmare (debuggers won't help much here since we're doing some off-device stuff).

  • 1
    our software as been designed by a manager (almost alone) Question. Were YOU hired to design the software or just implement the design that exists. One thing is you could point out "I can do this, but it will probably take longer because due to X and Y in the design spec we have to spend extra time to reimplement Q and Z". If your manager wants additional comments let him come to you. BTW this manager doesn't sound like a software engineer maybe he is not the right person for this, but again that's probably not your call. – Brandin Aug 1 '14 at 11:21
  • I don't know why I was hired because everything I say clashes against a stone wall to be honest. I could not foresee the exact design problems but I would have designed something easier, simpler and way less complex. That often rhymes with "more maintainable" – user3834459 Aug 1 '14 at 11:23
  • Who is the lead developer on the project – Brandin Aug 1 '14 at 11:29
  • That manager guy :( – user3834459 Aug 1 '14 at 11:44
  • Does he actually write any part of the software? By lead developer I mean the one can write things that is the most senior developer on the team. I would think normally that person can voice some concerns to the person who is asking for something silly (like reimplementing things or whatever) – Brandin Aug 1 '14 at 11:52

Analyse what you have: You have a job. You get paid money, and you do work for the money. If you are lucky, you have a job that is fun and enjoyable, and you have a job that is safe. It seems your job lacks in the last two departments.

Obviously you should look around and check if you can find a different job that is better, by paying more money, by having a job that is more fun, and by being safer. If you find something better, you can leave. If you have plenty of money, you can leave without a job.

On the negative side, if you look around and can't find anything better, and you need a salary every month, you'll have to stay. So depending on whether you need the job or not, you can try more or less carefully to influence your boss. Have a look around here at answers for people trying to influence a boss who doesn't want to be influenced.

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