Obecnie nasza firma opracowuje aplikacje składające się głównie z serwerów Ruby on Rails i kilku różnych klientów REST, od systemów kiosków w Javie po urządzenia wbudowane w C / C ++ (oprócz interfejsów dla standardowych przeglądarek internetowych). Musimy rozszerzyć nasz zespół, a ponieważ nie udało nam się znaleźć dobrych starszych programistów, postanowiliśmy włożyć trochę wysiłku w szkolenie młodszych programistów, którzy będą się rozwijać razem z firmą.
Już daliśmy im kilka książek Ruby i Rails i poprosiliśmy ich o zbudowanie programów dla zabawek, ale teraz zdaję sobie sprawę, jak stroma jest krzywa uczenia się dla obecnego stanu programowania internetowego.
Kiedy zacząłem programować 15 lat temu, korzystałem tylko z Delphi i Source Safe i od samego początku mogłem produkować użyteczne oprogramowanie. Oba były prostymi narzędziami i łatwo było zagłębić się w wewnętrzne funkcjonowanie środowiska. Powoli zacząłem używać frameworków innych firm, przeszedłem na CVS, SVN i wreszcie Git, nauczyłem się elementów tworzących dzisiejszą sieć, takich jak HTTP, JavaScript, CSS, REST itp. Dziś nawet po latach doświadczeń nie wiem tyle samo o tym, jak Ruby on Rails działa wewnątrz, jak w przeszłości o Delphi, i dla mnie było to ważne, aby móc połączyć podstawowe bloki edukacyjne z narzędziami, których używałem.
Wydaje mi się, że zatrudniani przeze mnie programiści zajmą dużo czasu integracja z zespołem i stworzenie czegoś użytecznego, ponieważ jest tak wiele rzeczy do nauczenia się korzystania z jednego frameworka (Rails): Ruby, HTML, CSS, JavaScript, REST, przypadki testowe, dostęp do bazy danych (z SQL wbudowanym magicznie w ramach!), MVC, trzy różne menedżery pakietów (odpowiednie dla Ubuntu, gem i bundler dla Ruby), ssh, git, Apache i Phusion Passenger do wdrażania itp.
Czuję się zagubiony, odkąd po raz pierwszy muszę kontaktować się bezpośrednio z młodszymi programistami. Jaki jest najlepszy sposób szkolenia młodszych programistów w zakresie dzisiejszych najlepszych praktyk w zakresie tworzenia stron internetowych, gdy jest tak wiele możliwości?