Как начинающему Rails разработчику понять, в какую сторону копать, чтобы как можно быстрее стать опытным программистом? Понятно, что нужно работать, работать и еще раз работать. Но кроме этого важен горизонт, который даст понять, в какую же сторону нужно идти по дороге к званию профессионала.
Два месяца назад мы запустили оффлайн&онлайн курсы в Харькове по Ruby on Rails для начинающих RubyBursa. Из особенностей — половина занятий было в учебном классе, половина в формате вебинара. Мы поставили жесткие условия выполнения домашних заданий и за первое невыполнение участники получали желтую карточку, за второе — красное и выбывали с курсов. Такие «драконовские методы» позволили 35 из 40 участников дойти до конца со 100% выполнением всех домашних задач.
Некоторые ученики в процессе учебы интересовались: «а что же дальше?». Наш преподаватель Оксана специально в виде ответа на этот вопрос подготовила пробную версию матрицы компетенции Ruby разработчика. Не претендуем на академичность и понимаем возможную спорность предложенной схемы.
Определите сколько баллов у вас есть суммарно по всем направлениям и подведите итог в конце статьи:
Подводим итоги:
Надеемся, что наша матрица даст вам понимание, какие области вам нужно подтянуть. Лучшим способом будет просьба к вашим работодателям дать вам задачи, которые на практике вам позволят подтянуть нужное направление. Если это пока невозможно, тренируйтесь на домашнем проекте. Меньший результат даст теоретическое изучение блогов и книг. Успехов!
P.S. Сейчас мы проводим набор на двухмесячные онлайн курсы Ruby on Rails RubyBursa, которые начнутся с середины мая. Курсы рассчитаны на начинающих Ruby разработчиков, а также «IT полиглотов»
Два месяца назад мы запустили оффлайн&онлайн курсы в Харькове по Ruby on Rails для начинающих RubyBursa. Из особенностей — половина занятий было в учебном классе, половина в формате вебинара. Мы поставили жесткие условия выполнения домашних заданий и за первое невыполнение участники получали желтую карточку, за второе — красное и выбывали с курсов. Такие «драконовские методы» позволили 35 из 40 участников дойти до конца со 100% выполнением всех домашних задач.
Некоторые ученики в процессе учебы интересовались: «а что же дальше?». Наш преподаватель Оксана специально в виде ответа на этот вопрос подготовила пробную версию матрицы компетенции Ruby разработчика. Не претендуем на академичность и понимаем возможную спорность предложенной схемы.
Определите сколько баллов у вас есть суммарно по всем направлениям и подведите итог в конце статьи:
2 балла | 4 балла | 6 баллов |
Frontend | ||
Html,css | ||
знаю базовые вещи, могу подправить верстку | могу сверстать отдельные части страниц | могу сверстать весь проект (корректно будет отображаться во всех браузерах) |
Haml, slim, coffee, sass, less (что либо из)… |
||
знаю, что это и зачем используется. сам лично не использую | знаю, что это. использую в проекте. иногда приходится пользоваться конверторами (даже для небольшого кода) | использую в проекте, пользуясь различными плюшками (например, миксины) |
JS, jquery и различные фреймворки | ||
знаю базовые вещи, могу подправить что есть | могу написать код для отдельных частей функционала. | могу полностью написать весь js для проекта (если надо будет) |
Testing | ||
Понимание разницы между TDD и BDD, могу написать простенький тест. Но в проекте оно как-то не задалось | Пишу тесты (unit), стараюсь тестировать по-максимуму | знаю, что тестировать, как и зачем |
DB | ||
SQL | ||
Знаю чуток SQL (select * from users) | Умею составлять запросы различной сложности | Процедуры, функции, тригеры, индексы — знаю! |
NoSQL | ||
знаю разницу с SQL, основные типы | умею использовать в реальном проекте | могу проконсультировать по этой теме |
Deploy | ||
Могу настроить сервер с помощью опытных разработчиков и гугла, методом тыка и плясками с бубном | Могу настроить сервер, но не на уровне: ребят, да тут же все просто | Могу самостоятельно настроить сервер, знаю различие в настройках и конфигурациях |
Rvm, rubygems, bundler... | ||
С чужой помощью или тем же бубном ставлю необходимое для работы (rvm, ruby, rails.....) | Знаю, как все ставить, но периодически вылазят ошибки, с которыми не понятно, что делать | Да что там — пару команд… |
Patterns | ||
Нууу… эм… слышал. Хорошая штука | Знаю основные паттерны, умею применять на практике, но сложно понять по реальной задаче, где какой нужен | Активно применяю и использую, могу рассказать для чего какой паттерн предназначен |
What do you know about RoR? | ||
Я его использую | Я знаю очередность запуска файлов, могу использовать компоненты rails отдельно друг от друга | Я знаю, как он устроен, так сказать внутренности rails |
Caching | ||
знаю, что это и зачем. лично не использовал | знаю, что это и зачем и использую (использовал) в проекте | хорошо понимаю принцип работы, преимущества, знаю, что и как лучше использовать |
Queue | ||
знаю, что это и зачем. лично не использовал | знаю, что это и зачем и использую в проекте | хорошо понимаю принцип работы, преимущества, знаю, что и как лучше использовать |
Metaprogramming |
||
Знаю, что это. На практике не применяю | Знаю базовые вещи | Знаю на продвинутом уровне |
Git | ||
Знаю основы | Хорошо работаю с git, но иногда возникают проблемы, которые приходится гуглить | Знаю на продвинутом уровне (думаю, как git). Понимаю прекрасно принцип работы, слияние, изменение истории, как родные, в общем |
Writing the code |
||
пишу, как получится, логика в контроллере. Если код не нужен — я его закоментирую — вдруг пригодится. иногда подумываю о рефакторинге… | стараюсь держать логику в модели, драить свой код. методы не большие, код понятный при чтении другими программистами | код чистый. использую различные паттерны (знаю когда и что лучше), ну не код, а загляденье :) |
Planning, estimating | ||
провожу планирование своих задач и эстимейты. предварительные эстимейты часто не сходятся с реальным временем выполнения | могу запланировать и оценить систему средней сложности. в реальности все слодится по плану (с небольшой погрешностью) | могу запланировать и оценить сложный проект (для себя и команды), распределить задачи. все сходится по плану (с небольшой погрешностью) |
RoR news | ||
Читаю некоторые посты… на русском… если кто ссылку кинет… | Периодически пробивает на чтение/просмотр новостей в мире RoR |
Слушаю подкасты/читаю свежие новости, в общем что ни на есть в курсе |
Подводим итоги:
до 25 | слабенько… очень слабенько… зато сколько интересного впереди! |
25-52 | ты уже кое-что знаешь и можешь. Начальная база есть, но еще многое предстоит узнать |
52-78 | ты обладаешь хорошими знаниями. не все идеально, но уже есть что показать и чем похвалиться. не останавливайся, и будешь мега-крут! |
78-102 | ты крут. без сомнений. это успех. |
Надеемся, что наша матрица даст вам понимание, какие области вам нужно подтянуть. Лучшим способом будет просьба к вашим работодателям дать вам задачи, которые на практике вам позволят подтянуть нужное направление. Если это пока невозможно, тренируйтесь на домашнем проекте. Меньший результат даст теоретическое изучение блогов и книг. Успехов!
P.S. Сейчас мы проводим набор на двухмесячные онлайн курсы Ruby on Rails RubyBursa, которые начнутся с середины мая. Курсы рассчитаны на начинающих Ruby разработчиков, а также «IT полиглотов»