В даний час наша компанія розробляє додатки, що складаються, в основному, на веб-серверах Ruby on Rails та купу різних клієнтів REST, від кіоск-систем у Java до вбудованих пристроїв на C / C ++ (крім інтерфейсів для стандартних веб-браузерів). Нам потрібно розширити свою команду, і, не зумівши знайти хороших старших програмістів, ми вирішили докласти певних зусиль для підготовки молодших програмістів, які зростатимуть разом з компанією.
Ми вже подарували їм кілька книг про Ruby and Rails і попросили їх побудувати кілька іграшкових програм, але я зараз розумію, наскільки крута крива навчання для поточного стану веб-програмування.
Коли я розпочав програмування 15 років тому, я використовував лише Delphi та Source Safe і з самого початку мав змогу виробляти корисне програмне забезпечення. Вони були як простими інструментами, і було легко заглибитися у внутрішню роботу довкілля. Повільно я почав використовувати сторонні рамки, перейшов на CVS, SVN і, нарешті, Git, вивчив фрагменти, які створюють сьогоднішню мережу, як HTTP, JavaScript, CSS, REST тощо. Сьогодні, навіть після багаторічного досвіду, я не знаю стільки ж про те, як Ruby on Rails працює всередині, як я робив раніше про Delphi, і для мене це було важливо, щоб я міг підключити основні блоки навчання до інструментів, якими я користувався.
Мені здається, що програмістам, яких я наймаю, знадобиться багато часу, щоб інтегруватися в команду і створити щось корисне, тому що існує стільки речей, щоб навчитися використовувати єдиний фреймворк (Rails): Ruby, HTML, CSS, JavaScript, REST, тестові кейси, доступ до бази даних (магічно вбудований SQL в рамках!), MVC, три різні менеджери пакетів (apt для Ubuntu, gem і bundler для Ruby), ssh, git, Apache та Phusion Passenger для розгортання тощо.
Я відчуваю себе втраченою, оскільки мені вперше потрібно мати справу безпосередньо з молодшими програмістами. Який найкращий спосіб навчити молодших програмістів до найкращих сучасних практик розвитку веб-сторінок, коли існує стільки варіантів вибору?