Comecei a trabalhar em uma empresa voltada principalmente para C #. Temos algumas pessoas que gostam de Java e JRuby, mas a maioria dos programadores aqui gosta de C #. Fui contratado porque tenho muita experiência na criação de aplicativos Web e porque me inclino para tecnologias mais recentes, como JRuby on Rails ou nodejs.
Recentemente, iniciei um projeto de construção de um aplicativo Web com foco em realizar várias coisas em um curto espaço de tempo. O líder do software determinou que eu use o mvc4 em vez dos trilhos. Isso pode ser bom, exceto que eu não conheço mvc4, não conheço C # e sou o único responsável por criar o servidor de aplicativos da web e a interface do usuário front-end.
Não faria sentido usar uma estrutura que eu já conheço extremamente bem (Rails) em vez de usar o mvc4? O raciocínio por trás da decisão foi que o líder técnico não conhece o Jruby / rails e não há como reutilizar o código.
Contra-argumentos:
Ele não estará contribuindo para o código e, francamente, não é necessário
neste projeto. Então, realmente não importa se ele conhece JRuby / rails ou não.Na verdade, podemos reutilizar o código, pois temos muitos aplicativos java dos quais o JRuby pode obter o código e vice-versa. De fato, ele dedicou alguns recursos para converter uma biblioteca Java em C #, em vez de apenas executar a biblioteca Java no aplicativo JRuby on Rails. Tudo porque ele não gosta de Java ou JRuby
Eu criei muitos aplicativos da Web, mas usar algo desconhecido está causando alguma repercussão e não consigo criar um aplicativo incrível em tão pouco tempo quanto estou acostumado. Isso seria bom; aprender novas tecnologias é importante neste campo. O problema é que, para este projeto, precisamos fazer muito rápido.
Em que momento um desenvolvedor deve poder escolher suas ferramentas? Isso depende da empresa? Minha empresa é péssima ou isso é considerado normal? Existem pastos mais verdes? Estou vendo isso da maneira errada?