7

I work in a software company as a tech lead under a manager who is an architect but has very good technical knowledge, as well.

I know it's good to have a manager who has knowledge about technical things, but as a tech lead, I would like to make some decisions on technical stuff.

He always asks me to do development the more difficult way because he thinks that the whole team will increase their learning curve.

I am not saying that I am not happy with my job, nor that I am not happy to learn new things. All I want to say is that I can't implement this new technology for the current project because of a tight schedule. Moreover, even without that technology we can do our development.

Can anyone suggest me how to deal with this kind of managers?

  • 2
    Comments removed: Comments are not for long conversations and quasi-answers; they are to improve the post. – Monica Cellio Apr 11 '14 at 21:58
  • 7
    Hi @VietnhiPhuvan, I think you misunderstand the purpose of comments on Stack Exchange. They're intended to improve a post or seek clarity with the goal that the post might be edited and improved. Comments are not for partial answers or asides. What's more, Stack Exchange's entire premise is built on the ability for the community to vet content, voting the best to the top and pushing down content that isn't useful; people can't do that in comments. You might find the blog post Vote Early, Vote Often useful. Hope this helps! – jmort253 Apr 12 '14 at 16:21
  • 2
    This question appears to be off-topic because the stance that a manager will always choose "the more difficult solution" is inherently arbitrary and subjective. – Jim G. Apr 13 '14 at 2:11
  • 4
    This question appears to be on topic because it is asking how to deal with a manager that has repeatedly stated that the more difficult way is the best way to implement it because it helps the team learn. – IDrinkandIKnowThings Apr 15 '14 at 21:02
  • 3
    Can you please clarify whether the manager's actual stated reason is to help train the team? There are other possibilities. – gburton Nov 26 '16 at 4:11
2

I think the biggest issue here is this is "always" the way it is done. For whatever reason, the analyst feels a need to stretch everyone's skills. There's nothing wrong with that.

Avoid getting into what is the better solution. You've already made the simple solution argument, but you're losing. Instead, ask that you be allowed to come up with some of you own solutions as part of the learning process. I'm sure he can remember how frustrating it is to not be allowed to experiment and come up with your own designs. If you don't get it into some level of production, you're never going to learn if this truly works and is easy to maintain.

Another part of your training argument is to learn when and where to apply a more complex solution. Of course you need to learn how to code the more complex solution in order to compare and contrast with a more simple one.

He may not truly be concerned about everyone's learning, but is just promoting his capabilities with sophisticated designs. If that is the case, it is going to be difficult to debate someone with an ulterior motive especially when they have more authority.

1

You need to be clear to him why you wish to do things the way you want to. As a manager, he will have different goals to you regarding what is delivered to the client (be they interbal or external) with factors such as maintainability, technical architecture constraints being just two of many. You need to understand what his priorities are and if you are determined to sell your approach to him, you need to make sure it fits in with these priorities

If you are attempting to sell your approach simply as "makes development a bit easier" then any manager worth their salt is going to push back on that.

Coding standards are there for a reason and sometimes, the development phase is slightly more painful than it feels it needs to be simply because getting it right upfront makes everything from that point on so much easier

  • as we all know there will be different approaches for same problem and he wants me to take the difficult approach so that he thinks that it will increase the learning curve for all the team members. – suhas Apr 11 '14 at 9:05
  • You didn't make that clear in your original question - could you edit it please to expand so that other people replying will be able to address this. Is he assuming the delivery times will be the same or is he allowing you extra time to incorporate this learning curve? – Mike Apr 11 '14 at 9:07
  • "please refer it"? Sorry, I do not understand what you mean – Mike Apr 11 '14 at 9:14
  • I edited the question as suggested by you – suhas Apr 11 '14 at 9:15
0

Remind him of the upsides of the KISS principle.

Simpler approaches often involve shorter learning periods, faster implementations, and more successful maintenance cycles.

If the simpler solution is not producing these benefits, then go for the more difficult solution.

  • There's also the YAGNI principle. – Simon B Dec 1 '15 at 14:57
  • 1
    Yes, but you're not going to need that. :-) – Euan M Dec 1 '15 at 17:31
0

I'd really want to know what he is really saying.

There is often a solution to a problem that is simple and works most of the time, but not always. And a solution that is more difficult and works all the time. In my experience the more difficult solution ends up easier, because the holes in the easier solution will be found, requiring fixes that make it more diffult but still not correct, requiring more and more fixes and you can see where this is going. (The saying is: Every problem has a solution that is simple, obvious, and wrong).

On the other hand you might have a boss who is just a bit silly - very often the simplest solution is actually the best one.

And there is the situation that a problem can be solved with a simple hack - which will bite you in the back very soon.

Think hard about which one it is.

  • 1
    In my experience, the "silly" bosses are more common, and in particular, the ones who follow buzzword-driven management. "A simple if statement solves the issue? Hell no, we must use at least 4 design patterns here, because that's what real programmers do." – Masked Man Nov 26 '16 at 17:12
  • Strange enough, that hasn't even happened once to me in a long career. Maybe I'm lucky. – gnasher729 Nov 27 '16 at 20:08
0

Ask your manager if he is going to help you with the Ops work and on-call later on? If not, then tell him that you are not comfortable supporting the system he proposed and that he should be aware of that and take responsibility of increased ops work.

Is his role manager/architect or just a manager? If it is just a manager (which means that he would not help you with ops work) then he should be there to manage employees and devide tasks, not to design the system. That is what you are in for.

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.