views:

216

answers:

10

You could very well leave out "as a technical lead", but I think it puts the situation into context. I'm a technical lead, we're building a new app, and I have an idea of the language I would like the team to use. If one or more want to use a different language (out of personal preference), is it appropriate for me to reject it (out of personal preference). It really does have to do with coding style, and nothing much else.

+2  A: 

"It's good to be the king"

Steven A. Lowe
A: 

You can't discount that you will be a more effective leader leading a team using tools and techniques you are familiar with and believe in. But, if you are forcing the team to use something that maybe isn't the best fit for the project, you will not gain their respect and ultimately be very ineffective.

davetron5000
+9  A: 

I don't think you need to "reject it out of preference". You need to determine the root cause for why it isn't a preference of yours and reject it for those reasons.

If you can rationalize your decision with those reasons, you'll sound more credible to your reports as well as having good documentable reasons for why you did or did not use a given technology. For projects I've worked on, these "reasons" are usually a requirement.

jonathan.cone
+3  A: 

By priorities

  1. Choose one best fit for the task
  2. Choose one you and your people are most fluent in
  3. Choose one that is already used in your codebase
Yoni Roit
+1  A: 

I dont't think it would be right to dismiss the other languages because you prefer another unless it really does not make any difference which language that you use.

First look at the other language objectivly and see what the merits for that language are. You should reject a language because it is not the right tool for the job but not because you do not like it.

Coentje
A: 

It should be the team decision,

MOZILLA
It would be a team decision if they all took the blame if the project fails. Since it is the lead that will ultimately take responsibility it is up-to the lead to make the decision. Though he should probably take input from the team. Note The lead probably has many years more experience.
Martin York
If everybody agrees with the team lead only than project will be a success else it will fail anyways. so the idea is to make everyone understand why he is taking that decision and keep everyone on the same platform. Also if project fails I think lead is accountable but team is responsible.
MOZILLA
+7  A: 

You are responsible for the technical success of the project. Your reports are not. So yes.

A: 

Which language are you talking about?

DotDot
A: 

/Flamebait On

If it's VisualBasic, then yes......

/Flamebait Off

HMcG

HMcG
+1  A: 

It's never a good idea to reject something just because you aren't familiar with it or have a bias against it. There are good reasons for not using a language/technology and these should be the basis for your decisions. Normally, these reasons include:

  1. Lack of support for the language in the team, support team. This is a biggy - if your team delivers an application that can't be supported because nobody else knows the technology then you shouldn't do it.

  2. The technology is unproven. You shouldn't use a live project to prove a technology just because a developer wants to improve their resume. There are too many pitfalls here, and I've seen so many projects fail spectacularly just because the developers were all looking at the wrong technology.

  3. Licensing. Just because there's a new language out, doesn't mean that you can afford to use it. The language may require certain libraries/IDEs that you don't have and would have to invest in.
Pete OHanlon