Хочу стати програмістом, з чого почати?
Пункт 1. Купуйте окуляри, жарт :)
Якщо ви вирішили стати програмістом і при цьому раніше нічого подібного не робили, то не зрозуміло з чого почати. З одного боку програмування буває різне: розробка сайтів, розробка мобільних додатків, аналіз даних, розробка ігор, розробка 1С в кінці кінців.
Зараз досить високий попит на веб-розробників. Веб-розробники потрібні для розробки сайтів, веб-додатків і навіть мобільні додатки часто розробляються з використанням веб-технологій. Але веб-розробники теж бувають різні. Є фроненд розробка (HTML, CSS, JavaScript) - це зовнішній вигляд і інтерфейс сайту. Є бекенда розробка (серверна розробка) - це логіка сайту, робота з даними, взаємодія з базою даних і зі сторонніми сервісами (емайл розсилка, платіжні шлюзи, інтеграція з іншими системами). Для серверної розробки можуть використовуватися різні мови програмування: Php, Python, Ruby, C #, Java.
Звичайно найбільше затребувані Full Stack розробники, які можуть розробляти і фронтенд і бекенда. Але навіть якщо ви плануєте спецілізірованних на чомусь одному, то потрібно мати уявлення і про фронтендів і бекенда, щоб ефективно взаємодіяти в команді.
Так само для розробника важливі soft skills, тобто особистісні якості відповідають за взаємодію з іншими членами команди, так як в більшій випадку, робота програміста командна.
Питання, скільки ж потрібно часу щоб стати програмістом і чи мають здібності? Моя думка, що практично кожен здатний, але головне щоб програмування приносило задоволення. З мого досвіду за рік старанних занять з ментором можна освоїти нову професію програміста і влаштуватися за фахом. У США є буткемпи, в яких готують розробника за 3 місяці (фултайм з відривом від роботи). Так що все дуже індивідуально. Якщо ж програмування вивчати самостійно, як це робив я, то це займе більше часу. У моєму випадку це було близько 2-х років.
Окей, ви вирішили стати веб-розробником, з чого почати?
- Очевидно HTML, CSS, JavaScript (але це напевно ви і без мене знали ☺).
- Систему контролю версій Git і GitHub, вона потрібна для того щоб у вас була історія змін програмного коду, щоб код не загубився і щоб взаємодіяли з іншими розробниками.
- Linux так як большенство веб-серверів працюють на ньому. Найбільш распростанени наступні програми Ubuntu, Debian, CentOS (з безкоштовних), Red Hat, SUSE (з платних).
- Освоїти який-небудь текстовий редактор або IDE (Integrated development environment) для зручної і швидкої роботи з кодом.
- Освоїти і зрозуміти базові алгоритми в програмуванні: роботи з циклами, умовними операторами, поняття функції.
- Вивчити будь-якої фреймворк для фронтендів, наприклад Twitter Bootstrap, щоб з готових блоків швидко робити верстку.
- Навчитися працюватиметься з інструментами розробки в браузері (Google Chrome Dev Tools), вони допоможуть при роботі з версткою і налагодженням JavaScript.
- Зрозуміти що таке веб-сервер (NGINX або Apache) і як робити його базові настройки.
- Вивчити основи роботи з базами даних (MySQL або Postgres) і SQL.
- Ну і нарешті вивчити будь-якої серверний фреймворк для веб-розробки (Ruby on Rails, Python Django, PHP Laravel, .Net MVC або щось ще).
- Ну і нарешті налаштувати свій власний сервер на який розмістити своє перше веб-додаток.
Шлях не короткий, але і нічого складного в ньому немає, так як в інтернеті дуже багато ресурсів, в тому числі безкоштовних. Головне щоб вистачило старанності!
Ну і добре коли в цій справі вас супроводжує досвідчений наставник, удвох шлях завжди коротше, простіше і веселіше.
Якщо ви хочете почати вивчення веб-розробки з наставником у нас як раз 7 листопада починається новий курс Введення в веб-розробку .
Підписуйтесь на наш канал в телеграм, щоб бути в курсі інших статей з вивчення програмування t.me/codingbootcamp .
PS: багато хто думає що всі програмісти виглядають як бомжі, це не правда :)