Практичний посібник для тих, хто хоче стати професійним веб-розробником

Хочете стати програмістом, але не знаєте, з чого почати? В інтернеті так багато різних курсів по різних мов і технологій, але які з них вам підходять і в якому порядку діяти - для новачка це завжди нерозв'язна загадка і головний стримуючий фактор на шляху до кар'єри в IT. Досвідчений веб-розробник і викладач Біл Соур вирішив прийти на допомогу і створив покроковий гайд, який допоможе визначитися, яким саме програмістом ви хочете стати і що для цього потрібно. У статті багато посилань на корисні, а головне, безкоштовні джерела знань. Але майте на увазі - без англійської буде туго.

20 років я пишу код для вебу. Я кожен день допомагаю розробникам. У цій статті я розповім вам, що варто вивчити, щоб стати веб-розробником, коли варто це вивчати і де можна безкоштовно знайти навчальний матеріал. А ще дам кілька порад, де отримати досвід і знайти першу добре оплачувану роботу.

«Починай з самого початку і йди, поки не дійдеш до кінця. Тоді зупинись ».

Спробуйте всього потроху і виберіть щось одне

Гроші не головне. Потрібно любити те, що ти робиш. Але ви не дізнаєтеся, що любите щось, поки не спробуєте.

Практичний посібник для тих, хто хоче стати професійним веб-розробником

Це керівництво познайомить вас з різними областями веб-девелопменту в найкоротші терміни і допоможе визначитися з тим, що підходить саме вам. Спочатку ви нічого не вивчите - ви лише дізнаєтеся базові речі. Але коли ви зрозумієте, до чого лежить ваша душа, я покажу, де потрібно копати.

Я вирішив навчитися програмувати. Мені подобається web. Але я не знаю, з чого почати

Для початку вам потрібно дуже швидко вивчити основи веб-девелопмента (часто називають full-stack). Це дуже широке поле знань, але не дуже глибоке. Цей крок необхідний, щоб знайти для себе найбільш підходящу сферу і придбати основні навички, які знадобляться незалежно від того, на чому конкретно ви зупинитеся.

Вивчіть основи HTML

Hypertext Markup Language (HTML) - це те, на чому тримається контент і елементи всього, що ви бачите в вашому веб-браузері. Почавши з нього, ви зрозумієте, як влаштований інтерфейс, навчитеся взаємодіяти з кодом, а також зможете побачити, як він працює. Коли ви почнете освоювати більш просунуті мови, ці знання стануть ще важливіше. Ви ж не хочете кодувати наосліп.

Я вже знаю основи HTML

Фантастика! Тепер заткнемо за пояс трохи CSS.

вивчіть CSS

CSS розшифровується як Cascading Style Sheets (каскадні таблиці стилів). Він використовується для того, щоб налаштовувати зовнішній вигляд елементів HTML на сторінці. З основами можна ознайомитися в цьому безкоштовному уроці від Mozilla. а потім періодично вдаватися до допомоги CSS-Tricks для вирішення найважчих проблем CSS (використовуйте функцію пошуку у верхньому правому куті).

Переходимо до Back End

Отже, ви знаєте більшість мов, з якими працюють веб-браузери. Тобто ви пройшли через те, що називають «фронт-ендом». Час переходити до «бекенда», а саме коду, який запускається на сервері. Не хвилюйтеся, щоб вивчити back end, вам не потрібно мати сервер - досить домашнього комп'ютера.

Практичний посібник для тих, хто хоче стати професійним веб-розробником

Крім NodeJS варто також вивчити Express і Mongo DB. Express - це бібліотека, яка полегшує NodeJS роботу в якості сервера (грубо кажучи, він чує запити з ваших веб-сторінок і відсилає їм відповіді). Mongo DB - це база даних. Вона дозволяє зберігати та видавати інформацію. Дізнатися більше про Node JS, Express і Mongo DB можна з цього чудового і безкоштовного уроку і його продовження.

Мені потрібно вибрати, ким стати: Front End, Back End або Full Stack розробником

Отже, ви вже вмієте писати два типи коду: один для взаємодії з користувачами, другий для взаємодії з даними. Який вам більше подобається? Якщо для взаємодії з користувачами - ви front-end розробник, якщо з даними - ви back-end розробник. Якщо обидва - full-stack розробник.

Не подобається жоден? Вітаємо, веб-розробка не для вас. Як добре, що ви зрозуміли це зараз, не встигнувши витратити більше часу і грошей. Чи не хочете здаватися? Можливо, ви просто не знайшли свою мову програмування. Спробуйте вивчити основи яких-небудь інших мов.

Я хочу бути full-stack розробником

Круто. Тоді прочитайте все, що написано нижче.

Вивчіть основний і просунутий HTML

Для цього підійде шикарна серія книг Кайла Сімпсона, яку можна цілком завантажити на GitHub. Безкоштовно.

Практичний посібник для тих, хто хоче стати професійним веб-розробником

вивчіть jQuery

Рекомендую почати вивчення jQuery з курсу jQuery path at FreeCodeCamp. Тому можна переходити до офіційного обучающему сайту. на якому ви знайдете ще більше інструкцій. Під рукою краще завжди мати jQuery API docs.

Вивчіть популярні фреймворки для JS

Зараз на гребені хвилі, схоже, React, AngularJS і Ember.

Практичний посібник для тих, хто хоче стати професійним веб-розробником

Angular 1 і 2

Angular JS створили в Google і він полетів, як тільки вийшов у світ. Багато компаній зробили ставку на цей фреймворк, і він до цих пір популярний. На жаль, Google спало на думку повністю переписати Angular - так з'явилася Angular 2.

Angular 1 і Angular 2 - два практично зовсім різні бібліотеки. Якщо ви хочете називатися експертом по Angular і зробити це своєю конкурентною перевагою, потрібно вивчити обидві. Можливо, десь досить тільки Angular 1, але скоро таких місць не залишиться. Велика частина роботи з Angular складатиметься в перекладі коду з Angular 1 на Angular 2.

На ринку все ще вистачає роботи для людей з досвідом використання Ember JS, але її популярність починає поступово сходити нанівець. Його не підтримують «владики всієї інтернету» Google і Facebook, але для цього у вас є React і Angular. І все-таки, якщо вам цікаво, можете вивчити oфіціальное керівництво по Ember JS.

Як тільки ви визначитеся з фреймворком, який вам найбільше подобається, має сенс вивчити супроводжують фреймворки для CSS. Тут є два лідери: Bootstrap і Material Design. Bootstrap зробили в Twitter, він досить зрілий і популярний. Існують версії Bootstrap для Angular 1, Angular 2 і React. Material - це керівництво з проектування, випущене Google, яке зараз набирає популярність. У нього також є версії для Angular і React. А оскільки Angular теж створений в Google, вони з Material Design органічно підходять один одному. Нижче кілька корисних посилань:

Прийміть мої поздоровлення, тепер у вас є всі необхідні навички, щоб стати хорошим Front End розробником.

Я хочу бути back-end розробником

Відмінно. Спершу потрібно визначитися з мовою. На бекенда можна працювати з різними мовами, у кожного свої недоліки і переваги. Нижче графік популярності мов і як вона змінювалася за останнє десятиліття. Мови, відмічені зеленим кольором, з роками ставали тільки популярнішим. На них можна буде зупинитися.

Практичний посібник для тих, хто хоче стати професійним веб-розробником

Якщо ви ще не знаєте жодного з цих мов, пройдіться по кожному з них від верху до низу і визначитеся, який вам подобається найбільше.

Java- надзвичайно популярна мова, який працює майже всюди. Його розробили в Sun Microsystems (зараз належить Oracle). На Java пишуть програми для Android, десктопні програми і, звичайно ж, веб-додатки (як окремий backend так і в парі з JSP). Це зрілий, стабільний мову, для вивчення якого є тонни інформації. Він також найбільш поширений об'єктно-орієнтована мова в університетських програмах по всьому світу. Ось один з курсів для початківців. дуже хороший.

Мова C # (сі Шарп) створили в Microsoft, щоб конкурувати з Java. До недавніх пір підтримували далеко не всі системи, крім, звичайно ж, систем Microsoft, але це швидко змінилося. Він об'єктно-орієнтована, як і Java, і може використовуватися для написання не тільки веб-додатків (в якості окремого внутрішнього інтерфейсу або в поєднанні з ASP.Net), але також для десктопних додатків. Якщо ви користувач Windows і хочете програмувати в більш звичній екосистемі, C #, вам сподобається. Хороший курс можна пройти на Microsoft Virtual Academy.

На відміну від Java і C #, Python створювався не в стінах крутий компанії, але не дивлячись на це він дозволяє добре і швидко писати програми. Вивчити його відносно просто, і завдяки цьому з роками він стає все популярнішим. Якщо інші язики не припали вам до смаку, Python може стати вашою дороговказом в IT. Краще джерело для вивчення основ ви знайдете тут.

(До слова, раніше на AIN.UA виходив матеріал про українця, який став одним з core-девелоперів Python.)

Ruby - дивний птах. Ті, кому він подобається, жити без нього не можуть. Мова входить в топ-10 за популярністю, але вона поступово знижується. Це суміш функціонального і імперативного програмування. Я рекомендую з ним ознайомитися, можливо, ви станете одним з його фанатів. Для Ruby-розробників в найближчі роки буде більш ніж достатньо роботи. Але краще ще раз перевірте список компаній у своїй ніші, щоб переконатися, що хоча б парочка Ruby-орієнтованих в ньому є.

Вивчати найкраще на RubyMonk.

А що з PHP?

Я багато чому навчився, але у мене все ще немає реального досвіду

Без досвіду знайти роботу надзвичайно складно. Почніть з одного або двох особистих проектів, які побудуйте самі від початку і до кінця. При цьому вам стане в нагоді можливість управляти і публікувати свій код. Для цього незамінний GitHub.

Ось кілька ідей для своїх проектів.

Ще багато ідей для проектів можна знайти на Free Code Camp. Ось мої улюблені:

реальний досвід

Тепер вам потрібен реальний досвід. Тобто робота, яку ви виконали для кого-то другого. Свої проекти корисні, але їх недостатньо, щоб конкурувати на ринку праці. Отримати реальний досвід можна декількома способами.

1. Взяти участь у відкритому проекті. Завдяки популярності GitHub, є мільйони проектів з відкритим кодом, багів в яких вистачить на всіх. Наявність у вашому резюме записи про те, що ви вирішили проблему в якомусь популярному open-source проект, додасть вам цінності в очах роботодавця. Дізнатися, в яких проектах найкраще взяти участь, можна на Code Triage. Тут ви зможете вибрати проект, який вам більше подобається, після чого кожен день отримувати в пошту повідомлення про різні баги.

2. Зробити роботу для друга або родича. У вас обов'язково повинен знайтися хоча б один друг або родич, у якого є власний бізнес. Розробіть для нього сайт або додаток або поліпшите вже існуючі. Але переконайтеся, що і проект, і «клієнт» відповідні, щоб уникнути незручних ситуацій в майбутньому. В ідеалі це має бути проект, який ви зможете завершити за 90 днів, і людина, з яким у вас склалися довірчі відносини. Ви не повинні боятися сказати або визнати, що все пішло не так, як планувалося, боятися сказати «ні» або не виправдати якісь запити або очікування. Ви також не повинні переживати за те, що якщо хто-небудь з якоїсь причини з вас піде назад, це не зруйнує ваші стосунки.

3. Попрацюйте в благодійному або неприбутковий проект. Дуже вдячний спосіб отримати реальний досвід - зробити роботу для благодійної або неприбуткової організації. Ви можете запропонувати свої послуги будь-якій команді, ідеї якої вам близькі. Знайти такі проекти також можна на сайті Catch a Fire.

4. каторжний труд. Трохи нахабний підзаголовок, визнаю. Але з мого досвіду, якщо ви виберете цей шлях, в майбутньому, маючи постійну роботу або будучи фрілансером, ви будете оглядатися назад і думати про нього, як про каторгу, запевняю вас. Такі сайти як Upwork. Fiverr і PeoplePerHour дають можливість зробити кар'єру, але попередньо доведеться набити собі рейтинг, працюючи за гроші, і братися за будь-які проекти тільки щоб отримати досвід.

У мене є реальний досвід, як мені знайти роботу?

Перше правило - не називайте себе веб-розробником.

Чим, чорт візьми, «веб-розробник» відрізняється від «фронт-енд розробника». Ну, наприклад зарплатою - на $ 7000 на рік. Серйозно, коли прийде час, тільки те, як ви самі себе називаєте, може дуже сильно вплинути на результат. Ось дивіться:

Практичний посібник для тих, хто хоче стати професійним веб-розробником

Я хочу стати фрілансером

Бути самому собі босом круто, але не легко. Краще джерело інформації для фрілансерів - сайт Бреннана Данна DoubleYourFreelancing.com. Він написав серію статей, які допоможуть вам зробити кар'єру фрілансера краще, ніж що-небудь, що я колись читав. Так що, зацените.

А якщо ви вважаєте, що ви вже дуже круті, приєднуйтесь до Toptal. Сюди приймають лише 3% кандидатів, процес проходження дуже складний, але якщо ви станете частиною ком'юніті, то отримаєте доступ до величезної кількості високооплачуваних можливостей.

Стати програмістом нелегко, і всі, хто говорив, що це легко, або самі ніколи не пробували, або хочуть виманити з вас гроші. Якщо ви відчуваєте, що застрягли, ось що можна зробити.

  • Переосмислити початкову мету. Запитайте себе і запишіть. чому ви почали йти цим шляхом. Ваш відповідь все ще в силі? Якщо так, не зупиняйтеся.
  • Будьте наполегливі. Тепер, коли ви знаєте, що вам потрібно і що це реально, ви краще розумієте який кращий сценарій, найгірший сценарій і найвірогідніший сценарій того, як все буде відбуватися. Запишіть їх, перечитайте і усвідомте, що «найвірогідніший сценарій» - скоріше за все і станеться, і він ближче до «кращого сценарію», ніж до «гіршого».

Не треба боятися. Рухайтеся вперед. У вас вийде.

Схожі статті