Вибір напрямку для навчання: Frontend vs Backend

Дано: дівчина самонавчається з моєю допомогою програмуванню для подальшого працевлаштування (бекграунд — нетехнічний). Я сам працюю бекенд розробником на golang.

Спочатку (за моєю рекомендацією) вчила python (курс на mooc.fi). Потім знайшла курс з фронтенду від організації she codes, безкоштовний для українок зараз, і тепер вчить паралельно. Десь половину курсу з пітону пройшла, можливо третину з фронту. Курс з фронту вважаю хорошою ідеєю для розуміння вебу, плюс там проходять інструменти типу гіта.

Мета навчання зараз, знайти роботу найшвидше, але при цьому бажано сучасний стек щоб роботу можна було в подальшому змінити. План поки що шукати роботу та працювати в Україні.

З точки зору працевлаштування, не впевнений що порадити. Фронтенд вчити треба відчутно менше ніж бекенд, але є низка причин з яких я не рекомендую їй фронтенд:

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

2. Я не зможу допомагати, оскільки сучасний фронтенд не знаю

3. На бекенді цілий зоопарк мов, вивчивши python + бекенд, можна проситись в інтернатуру на ruby чи php. Задачі як правило всюди вирішуться схожі. Це ще більше розширює доступні вакансії.

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

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному4
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Мета навчання зараз, знайти роботу найшвидше

Тоді аналізуйте:

Список базових технологій в яких потрібно розбиратись щоб самостійно побудувати проєкт:

  1. Python (часто саме цією мовою приклади коду в навчальних курсах)
  2. HTML/CSS
  3. JavaScript (TypeScript, Node.js, npm)
  4. Git (варто мати зареєстрований профіль на сайті GitHub.com)
  5. Docker (docker-compose) (можна вивчити пізніше)
  6. SQL (вчити в контексті прикладів MySQL чи PostgreSQL)

Для загального розуміння «Просто про Web»:

  1. Клієнт-серверна архітектура, IP адреси та DNS, HTML/CSS/JS
  2. Server vs client side, статичний vs динамічний вміст, OSI модель та інше
  3. HTTP протокол; cookie та атрибути same site, secure, http-only; вразливість XSRF
  4. AJAX, JSON, CORS та Same Origin policy, bonus: вразливість XSS
  5. Сесії (sticky, shared), auth із кукі та токени, JWT, хеш-функції, XSRF в деталях
  6. OTP та двофакторна аутентифікація, асиметричне шифрування, PKI, протокол OAuth
  7. REST API (vs RPC), WebSockets, автоматизація тесутвання API та Selenium
  8. Біти та байти, чарсети та кодування, 2/8/16-кові системи числення, Base64

Далі варто ознайомитись з синтаксисом хоча б одної мови програмування, в даному випадку підійде перший безкоштовний курс, який гуглиться за 5 хвилин Python з нуля. Налаштування середовища. Hello world, варто переглянути перший який знайшли в ютубі бо у Вас все одно відсутнє розуміння як визначити якість курсу.

Після курсу з Python або в процесі варто пробувати вирішувати самостійно найлегші задачі з Python на www.codewars.com

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

  1. Learn HTML and CSS (scrimba.com) (English) (інтерактивний відеокурс)
  2. Вебпрограмування з Python та JavaScript CS50 (prometheus.org.ua)
  3. Learn JavaScript for free (crimba.com) (English) (інтерактивний відеокурс)

Розробники самі будуть карти навчання, що потрібно знати для Python roadmap.sh/python

Якщо ось це все пройдете то далі вже зможете самостійно вибирати куди далі

Ще один курс Python Стартовий українською мовою

Після вивчення основ варто зробити пару-трійку проєктів легкої складності на Python, повторно проаналізувати Тренди jobs.dou.ua та Аналітику Djinni.co, вибрати нову мову програмування, для прикладу Go, для цього у нагоді буде стаття Як перекваліфікуватись на Go, та вже на Go написати проєкт середньої складності.

Дякую за матеріали, по трендах фронтенд взагалі сумно. Як власне і вакансії для початківців на го.

python

Доволі дивно як для першої мови. Я гадав зараз Python популярний для задач AI або Data Science, але людині з нетехнічним бекграундом, без глибокого знання математики, нема шо робити у цій сфері.

Фронтенд вчити треба відчутно менше ніж бекенд

Як .Net розробник я вважаю навпаки! Щоб опанувати традиційний CRUD на .Net достатньо Web API + Entity Framework. Ще може знадобитися щось з Azure (Serice Bus, Storage). Перевага у тому, що у MS є усе що треба для навчання: документація, відео, лаби, зразки. Усе докладно і безкоштовно. Я б навіть сказав що з усього ІТ вхід до .Net — найзручніший.

Я не зможу допомагати, оскільки сучасний фронтенд не знаю

А я знаю достатньо, щоб зрозуміти що опанувати його дуже непросто навіть для синьор- бекендера. По-перше зоопарк усяких npm пакетів, бібліотек, інструментів. Навіть налаштувати білд фронтенд проекту — то не аби яка задача: потрібні конкретні версії ноди, вебпака чи ярна, чи раша, ще бабеля, ангуляра чи реакта, редакса і ще купи пакетів. Якщо .Net проекти загалом схожі і зроблені по шаблону — кожен фронтенд проект відрізняється!
Якщо на бекенді одна мова (C#) на усе — то на фронтенді потрібен і HTML, і CSS, і Java Script, а ще скоріше Less, Type Script, не кажучи вже про те, що Ангуляр — це фактично також своя мова.

Важче знайти роботу. Фронтенд був завжди гоу-ту напрямом для новачків, а з війною кількість молодих кандидатів зросла в рази.

Тут цікаво: дуже багато новачків, але майже неможливо знайти фронтенд — синьорів! У нас була задача перейти на вищу версію ноди — шукали фронтенд-гуру, а але серед тисяч робітників такого у компанії не знайшлося! Незважаючи на натовп новачків — знайти когось, хто насправді розібрався у Ангулярі чи Реакті не так вже і легко.
Для дівчини без технічної бази (хоча б математики) — найкращім напрямом вважаю QA-Automation. Тут не треба дуже складних алгоритмів, але оплата і перспективи кращі, ніж у ручного тостера.

Для дівчини без технічної бази (хоча б математики) — найкращім напрямом вважаю QA-Automation.

+100

Доволі дивно як для першої мови. Я гадав зараз Python популярний для задач AI або Data Science, але людині з нетехнічним бекграундом, без глибокого знання математики, нема шо робити у цій сфері.

Нічого дивного
На Python ще люди backend(наприклад для тих же нейронок, але не тiльки) також пишуть, а ще test automation і трошки devops
Але взагалі-то ця мова просто дуже зручна для навчання. Через те що не такий нагружений синтаксис, не треба дуже єб**ися з ООП(на початку), з меморі і тд. Як людина яка ніколи не мала досвіду з програмування, я б не дуже хотів щоб з самого початку мене почали грузити як влаштована пам’ять, усякими там cтеками, хіпами і принципами ООП.

Щоб опанувати традиційний CRUD на .Net достатньо Web API + Entity Framework

Не писав на .NET , але якщо Web API + Entity Framework це щось на кшталт джавовського спрингу, то це по сумі буде приблизно як і «зоопарк frontend технологій» :)
Але ніт. Хз що там в вашому .NET твориться , але наприклад в python там ще додатково треба вміти в клауди, docker + kubernetes, SQL + NoSQL БДшки, брокери і теж цілий зоопарк лібок, якщо це не django

Я думаю початківцю можна і без к8 та брокерів прожити, а вивчити чисто золоту класику яка покриває більшу частину задач

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

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

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

для подальшого працевлаштування (бекграунд — нетехнічний). Я сам працюю бекенд розробником на golang.

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

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

В будь-якому разі, вчитись програмуванню краще на чомусь іншому.

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

Підписатись на коментарі