Що потрібно знати, щоб стати Full-stack розробником?

  • 9 июля, 14:44
  • 3025
  • 3

Ми взяли інтерв’ю у  Senior Full-stack Developer в Israel IT Олександра Матвійчука, щоб ви дізналися про:

  1. етапи розвитку Full-Stack розробника;
  2. зв'язок програмування з іншими науками;
  3.  підхід до самонавчання (досвід через призму невдач);
  4.  мінімальну базу знань (що треба знати й вміти, з чого починати кар'єру)
  5.  матрицю компетенції (шлях від розробника до Full-Stack розробника Lead на особистому прикладі спікера).


Олександр Матвійчук, Full-stack developer at Israel IT

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

 Гаразд, тоді перейдемо одразу до запитань. Якою повинна бути мінімальна база знань, щоб стати Full-stack девелопером?

- Для початку, я б хотів розділити цю частину на фронт-енд та бек-енд. Адже все-таки, це окремі речі. Тому, якщо ви хочете стати Full-stack розробником, або почати з чогось одного, то як на мене дуже важливо це знати. Першу річ, яку я б відмітив це HTML, теги, як працює браузер. Адже Full-stack девелопер це людина, котра щодня працює з браузером. Бездоганне знання того, як працює браузер дуже допомагає в роботі, тому що коли ви будете стикатися з проблемами, ви точно зрозумієте для чого вам знання браузера.

Наступне знання - це СSS, тобто стилізація веб-сторінок, знання адаптивної верстки. Оскільки зараз багато додатків можна відкривати не лише на мобільному, а й на комп’ютері. І адаптивність, це власне те, що ваш додаток може  підлаштуватись під розмір екрану. Як на мене, це дуже важливо зараз. Насамперед це передбачає роботу з флексбоксами та кредами.

Далі я б виділив знання JavaScript, оскільки ця мова і досі залишається однією із найбільш популярних та затребуваних.

Якщо ви вже здобули вище наведені базові знання, то далі можна розпочати знайомство з фреймфорками або бібліотеками, такими як React, Angular. Ці знання дуже згодяться, адже чистий JavaScript не використовують. Фреймворки та бібліотеки – це те, що уже існує, тобто, написане. Відповідно, нам нічого не потрібно писати чи вигадувати, а просто брати та використовувати. Найкраще у цьому попрактикуватися шляхом самостійного створення невеликих додатків, або скопіювати проект, який вже є і створити свій Інстаграм, наприклад.

Також в роботі є важливим знання алгоритмів та патернів програмування. Я багато чув від людей, що алгоритми, це вже щось стале, цього не потрібно вчити, тільки бери і використовуй. Насправді, рано чи пізно, навіть фронт-енд розробник зіткнеться з тим, що потрібно буде зробити свій алгоритм, який буде ідеально вписуватися у проект. Тут вам і згодиться це саме алгоритмічне мислення. Простіше кажучи, це розв’язання проблеми та запобігання її у майбутньому.

Коли у вас вже з’явиться більше досвіду та вмінь, то не зайвим буде вивчення патернів. Їх можна використовувати при написанні певного коду. Це значно зменшує кількість помилок. На досвіді інших людей ви будете щось розробляти.

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

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

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

Олександр Матвійчук, Full-stack developer at Israel IT

Нещодавно ти пригадував, що програміст повинен володіти і прикладними скілами. Поділися цим, будь ласка.

- Здебільшого це пов’язано із навчанням в університеті. Наприклад, у нас є дисципліна «програмування» і ми хочемо стати крутими програмістами, вивчаємо суто програмування. Але важливо знати, що програмування пов’язано і з іншими галузями, суміжними науками. Звісно, це і математичні науки, які, можливо, ви скажете, що вони вам не знадобляться. Та досвід показує, що дуже навіть знадобляться. Сюди входить і математичний аналіз. Хочу навести один приклад, пов’язаний з математичним аналізом.

Отже, маємо перетворення Фур’є, одне зі звичних явищ під час навчання у ВУЗах на технічних спеціальностях. Це така формула, яка певною мірою нормалізує вхідні дані. Багато людей не задумуються про це, але якщо ми в телефоні встановимо додаток Shazam, то саме цей алгоритм там використовується. Тобто всі знання потрібно використовувати по максимуму. Не варто нехтувати базовими поняттями у математиці та під час навчання зокрема.

 Будь-який спеціаліст повинен мати свою матрицю компетенцій. Розкажи нам, якими компетенціями повинен володіти Full-stack девелопер?

 - Зверніть увагу на презентацію, тут я виділив основні компетенції та розділив їх на групи. Серед них, ground skills, які на перший погляд не стосуються безпосереднього програмування, але їх потрібно мати, ознайомтесь з ними детальніше. Далі basic skills, вже більш технічні речі. Наступна річ – це JavaScript, невід’ємна річ. Я вам дуже раджу дослідити цю презентацію детальніше, адже це відмінна мапа, яка допоможе орієнтуватися у процесах.

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


Banner
3 комментария
Сортировка:
Добавить комментарий
Helen Pokalchuk
Helen Pokalchuk 2021, 12 июля, 11:39
0

Хороша стаття! Багато цікавого та без води.

Максим Федосеев
Максим Федосеев 2021, 9 июля, 16:55
2

Все чітко, цікаво і лаконічно.

Kristina Liskova
Kristina Liskova 2021, 9 июля, 15:30
1

Дуже інформативно!