I started my new job as a JS developer in November and starting implementing Backbone pretty soon after. This was a big enough learning curve for the team (me included), however I’m thinking about looking at CoffeeScript, which I’m guessing would require everyone on the team to know it? Is that too big of an ask, just to make me slightly more productive?
6
Introducing new skills and technologies should be a team decision. Your team needs to maintain your code if you are off sick, leave, or get hit by a bus. What does your team say? I have lost count of the number of projects that have been expensively damage to the point of needing a rewrite by some maverick introducing his favourite technology that no-one else understands, so make sure you are backed by consensus.
13
It’s all about how it is done, and what your team is like.
A really smart technical team embraces change and doesn’t care who introduces a piece of new technology so long as it helps of course.
The flip side is that is very often not the case.
Being the new guy can work against you (“who does this guy think he is?”).
Not being a “lead” can work against you (“he can’t tell us what to do!”).
1
When working with good teams it is totally fair to introduce technologies to the team as a whole with a bit of a “Lunch and Learn” or some other format where you can go over the good and bad. Then one must let the team decide if this is a proper thing to use or not. It never works well to force a team to adopt a technology, doubly so when they are not ready for it.
If you are the team lead, or senior developer, or in any kind of leadership role, this is much more important. It can change how your team views your leadership abilities. If you introduce CoffeeScript as something that might be very useful, and demonstrate why and you can answer any questions they have and most importantly be ready to mentor and work with them then go for it.
Worst thing you can do is say, “Here is CoffeeScript. We are going to use it. It is very powerful and it will make your life easier here.” and then not explain to them why, or how or even let them take the time to come to that conclusion themselves.
How will introducing Coffeescript save/earn your employer money? If you can come up with a realistic answer to that then suggest it to your team. Your CV skills do not appear on the company balance sheet.
For introducing a new technology, you will want to get some buy-in. It should help the entire team in its implementation. Shoving it down people’s throats will cause them to keep it from being successful.
Is that too big of an ask, just to make me slightly more productive?
So you become slightly more productive, what are the benefits for the other members? Will they become more productive? Will the quality of the product that they are producing be better?
Do you have buy-in for implementing this from your customers/management? Will they accept a slow down in productivity while the team learns a new technology? What are the benefits for them? If you just implemented Backbone, they might not be as patient for another change.