Zacząłem pracować w firmie, która jest głównie zorientowana na C #. Mamy kilka osób, które lubią Javę i JRuby, ale większość programistów tutaj lubi C #. Zostałem zatrudniony, ponieważ mam duże doświadczenie w tworzeniu aplikacji internetowych i ponieważ skłaniam się ku nowszym technologiom, takim jak JRuby on Rails lub nodejs.
Niedawno zacząłem od projektu budowy aplikacji internetowej z naciskiem na wykonanie wielu rzeczy w krótkim czasie. Lider oprogramowania podyktował, że używam mvc4 zamiast szyn. To może być OK, z wyjątkiem tego, że nie znam mvc4, nie znam C # i jestem jedynym odpowiedzialnym za tworzenie serwera aplikacji WWW i interfejsu użytkownika front-end.
Czy nie ma sensu używać frameworka, który już znam bardzo dobrze (Railsy) zamiast mvc4? Powodem tej decyzji było to, że lider technologii nie zna Jruby / rails i nie będzie możliwości ponownego użycia kodu.
Kontrargumenty:
Nie będzie uczestniczył w tworzeniu kodu i, szczerze mówiąc, nie jest potrzebny w
tym projekcie. Tak więc nie ma znaczenia, czy on zna JRuby / szyny, czy nie.W rzeczywistości możemy ponownie użyć kodu, ponieważ mamy wiele aplikacji Java, z których JRuby może pobierać kod i odwrotnie. W rzeczywistości poświęcił niektóre zasoby na konwersję biblioteki Java do C #, zamiast po prostu uruchamiać bibliotekę Java w aplikacji JRuby on Rails. Wszystko dlatego, że nie lubi Javy ani JRuby
Zbudowałem wiele aplikacji internetowych, ale używanie czegoś nieznanego powoduje pewne rozproszenie i nie jestem w stanie zbudować niesamowitej aplikacji w tak krótkim czasie, jak jestem przyzwyczajony. To by było w porządku; nauka nowych technologii jest ważna w tej dziedzinie. Problem polega na tym, że w tym projekcie musimy szybko wiele zrobić.
W którym momencie deweloper powinien mieć możliwość wyboru swoich narzędzi? Czy to zależy od firmy? Czy moja firma jest do kitu, czy jest to normalne? Czy istnieją bardziej zielone pastwiska? Czy patrzę na to w niewłaściwy sposób?