Як я став junior ruby developer, статті про програмування mkdev
Олександр Мєшков
Я пройшов шлях від «я майже нічого не тямлю в веб-розробці» до «я заробляю на цьому гроші» за 4 місяці.
Мій вибір припав на програмування → Web → Ruby on Rails. Не буду пояснювати чому, я досить багато гугл на цю тему і вибирав, що буде мені цікавіше і краще підійде для професійної діяльності.
Мої навички на той момент становили: HTML і Pascal в школі і кілька лабораторних на С на першому курсі в інституті (я навчався на енергетика). Інститут я закінчив, але енергетиком так і не став.
У цій статті я постараюся по кроках описати як я діяв, щоб максимально швидко отримати знання і навички, достатні для пристрою на посаду Junior Ruby dev. Забігаючи вперед скажу, що, через приблизно чотири місяці, я пройшов три співбесіди і отримав всі три пропозиції про роботу.
Сподіваюся це невелике керівництво допоможе вам пройти цей нелегкий шлях від новачка до junior'a.
Перший місяць - Знайомимося з HTML, CSS, RUBY
Перше і дуже цінне, що я прочитав про Ruby on Rails була зовсім невелика книжка «Самоосвіта веб-розробника». Її можна отримати абсолютно безкоштовно тут. Я кілька разів повертався до неї в міру свого навчання. Відмінна книга для старту.
На той момент я все ще працював на своїй колишній роботі. Перше з чого я вирішив почати - це освіжити свої шкільні спогади про HTML і познайомитися з CSS. За кілька годин в день я займався на майданчику HTML Academy. Базовий курс по HTML і CSS там безкоштовний. Не обов'язково проходити весь курс, я пройшов десь 85%.
Далі я познайомився з Ruby. Красивіше і виразно мову програмування складно уявити:
Другий місяць - Пробуємо RAILS
Я так захопився вивченням програмування, що вирішив звільнитися з роботи, і весь час присвятити навчанню. Я був майже на 100% впевнений, що через кілька місяців зможу знайти роботу. Ну або на крайній випадок можна завжди повернутися до колишньої роботи, чого я звичайно не хотів.
Тепер ми знаємо досить для знайомства з Ruby on Rails.
Гуглити невідому інформацію - має стати одним з ваших основних навичок.
Тепер можемо продовжити:
- Кращим способом спробувати Rails - пройти це короткий вступ. Відмінний спосіб помацати Rails і почати розбиратися зі структурою додатки;
- Далі я раджу уважно вивчити скрінкасти на hasBrains. Там ви знайдете відмінні уроки для новачків по Ruby, Rails і Linux;
- Тепер саме час пройти легендарне керівництво по Rails від М. Хартла. Якщо вільно Новомосковскете англійською використовуйте останню версію.
Я раджу вам пропускати все, що стосується тестування (TDD) в останньому керівництві. Зараз тести вас тільки заплутають. Зосередьтеся на написанні і головне розумінні самого коду програми. Писатимуть тести ми навчимося трохи пізніше. По завершенню у вас буде працююче додаток.
У міру навчання, і просто як перерви, вибирайте цікаві для себе теми і дивіться записи. Там досвідчені програмісти діляться досвідом і відповідають на питання. Обговорюють найрізноманітніші теми. Дуже корисно для новачків.
Третій місяць - Займаємося з ментором
Ми вже добре просунулися в навчанні, але нам не вистачає практики написання свого коду. Чи не того коду, який ми писали слідуючи туторіали, а саме свого. З нуля до ефектів у програмному забезпеченні на сервері. Тут мені дуже допомогли заняття з ментором на mkdev.me. Це виявилося найвагомішим внеском в моє самоосвіта. І саме цей код дивилися роботодавці, перш, ніж запросити мене на співбесіду. Хороший практичний досвід правильного коду + навчитеся тестувати. На ці заняття у мене пішов рівно місяць.
Четвертий місяць - Влаштовуємося на роботу
Тепер саме час скласти резюме і направляти його роботодавцям. Не забудьте додати посилання на GitHub зі своїм проектом. Я направляв відгуки + короткі супровідні повідомлення на вакансії hh.ru. Не тільки на junior вакансії, але і просто на Ruby on Rails вакансії. Повірте, багатьом потрібні розумні Junior Ruby розробники, навіть без комерційного досвіду. Можна також пошукати вакансії на пряму - на сайтах компаній.
Я направляв відгуки в своєму місті - Одессае, а також на вакансії в інших містах, з поміткою в супровідному повідомленні про те, що розглядаю варіанти віддаленої роботи.
Зараз саме час підготуватися до співбесіди і підтягнути теорію. Гуглити запити на кшталт: «співбесіду junior ruby». Переконайтеся, що ви розумієте на базовому рівні: парадигми ООП; як працюю мережі; протоколи HTTP, TCP, IP; що таке DNS; як працюють зв'язку в СУБД, як писати прості SQL запити, навіщо і як працюють індекси в БД; які основні структури даних - хеш-таблиці, списки (масиви), графи. Питання на ці теми були у всіх моїх інтерв'ю.
Вивчіть більш глибоко Ruby. «Мова програмування Ruby» - відмінна книга від творця Ruby - Matz'a.
Я ще не згадав про те, що програмісту необхідно володіти англійською. Це напевно і так все знають. Ось деякі книги, які я сам зараз вивчаю:
Через тиждень, після направлення відгуків, я почав отримувати запрошення на співбесіди. Одне я проходив по скайпу в московський стартап, і два - в офісах великих Одессаіх компаній. Одне запрошення на роботу я отримав через пару днів, одне через 10 днів і одне після виконання тестового завдання - через 2 тижні.
Я впевнений: після хорошого самоосвіти і занять з ментором ви скоро зможете знайти роботу junior ruby розробником. Чи не роздумуйте - дійте, та прибуде з вами удача!
Ще по темі
- Google Pixel проти iPhone 7 або про те, як вибирають мову програмування в реальному житті
- Три типу програмістів
- Як задавати питання менторові або старшому розробнику
Хочеш дізнатися більше?
Записуйся на квести по вивченню програмування разом з досвідченим наставником! Ми вчимо і новачків, і вже досвідчених розробників. З чого почнемо?
вибрати квест