Початок шляху в IT

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

Привіт, мене звати Роман!

Хочу перейти в сферу IT вже досить давно, починав самостійно вивчати деякі мови програмування, зокрема Python та активно цікавився усією базою знань які необхідні для початку. В якийсь момент були причини, які на певний час відволікли і цьому питання приділяв досить мало часу і об’єктивно розумію, що ці знання це лише крапля в морі того, що потрібно дійсно знати та вміти.

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

Підсумовуючи:

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

Буду вдячний кожному за пораду і чекаю відповідей)

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
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

Почитай вступление 3-х томника Столяров А.В. «Азы программирования» .
«некоторые языки» это уже был фальстарт. ИИ тебе должен был подсказать, он твой главный препод и советчик, остальное ты сам должен нагуглить. Как минимум ты уже должен был попасть на roadmap.sh

Як вірно написали більшість коментаторів — зараз в ІТ дійсно складний період, навіть для людей з 5-10+ роками досвіду, не кажучи вже про людей з 0-2 роками досвіду. Враховуючи, що з кожним роком і навіть кожним кварталом АІ на себе перебирає все більшу частину рутини, тобто написання коду, то щоб в очах роботодавця чи клієнта мати цінність, треба прокачувати не стільки вміння писати код, скільки вміння розуміти проблеми/задачі бізнесу та як саме їх можна вирішити за допомогою програмування, бо врешті решт, код — це лише інструмент і головна навичка зараз це не вміти створювати цей інструмент, а вміти правильно зрозуміти, для чого і як саме його використовувати. Другий вектор розвитку — це архітектура, тобто розуміння того, як на високому рівні працює (чи має працювати) система і що потрібно зробити, щоб збудувати систему повністю для вирішення конкретних задач.

По суті професія трансформується у ту діяльність, якою раніше займалися лише фрілансери — ти отримуєш опис того, який проект хоче отримати замовник і яку задачу він хоче вирішити цим проектом, а вже всі технічні деталі імплементації залишаються суто на твій розсуд. Замовнику зазвичай не дуже цікаво, що там відбувається під капотом. Він хоче, щоб натискання на кнопку А і заповнення полів Б, В, Г призводило до очікуваного результату Д. Хоч це онлайн-казино, хоч безпілотний АІ дрон, хоч МРТ-апарат, хоч автономний комбайн для посадки картоплі чи збору кукурудзи.

Кілька інсайдів
— Зараз з роботою дуже туго. Досвідчені розробники довго шукають, а попит на джуніорів впав катастрофічно. Тому зараз тобі ніхто не скаже, чи ти ще встигнеш затрибнути в останній вагон чи ні. Тому що з поїзда зараз активно викидають навіть тих, хто вже в ньому їде роками.
— Якщо туманне майбутнє тебе не лякає — тоді заглянь в гості до Mate Academy. Але тільки за % з майбутньої зарплати — тоді вони будуть зацікавлені тебе працевлаштувати. Є ще варіант через інтернатуру чи курси від великих компаній — але там треба бути вундеркіндом, адже найм новачків і там майже заморожений.
— Активно освоюй ШІ — він тобі і роадмап знайде, і допоможе матеріали знайти, і т.д. і т.д.
— Коли вже прийде час готуватись до інтервю — тоді просто береш і завантажуєш собі мозок
tavor118.github.io/...​ew_questions_and_answers

В принципі — все що треба для успіху я тобі дав. Далі справа за тобою.

в современных реалиях это должно быть как хобби.
если это не хобби, то даже не начинай.
не представляю, чтобы на форум, посвященный рыбалке, пришел чувак и написал «посоветуйте алгоритм действий».

а зачем оно те надо ? Бобер и тот до 54 лет продержался. и девелоперов после 50 зиро зиро зиро ван.

habr.com/ru/news/703520

Старикам здесь не место: всего 22% британских ИТ-специалистов старше 50 лет

всего 22% британских ИТ-специалистов старше 50 лет

«Всєґо»? Якщо взяти за старт кар’єри 25 років, а вихід на пенсію 65 (тобто в сумі 40 років кар’єри) то це здається абсолютно нормальним числом в цьому контексті. Тобто за ~третину часу до кінця кар’єри в ній працює ~четверть всіх розробників, що в принципі нормальне розподілення bell curve.

65 лет ? это фантастика в снг )

Мова про ЮК наче була в статті?

я думаю, что жители туманного альбиона после 60 лет уходят на инвалидность в виду кучи болезней а не ждут 67 лет

Ну нехай вони виходять в 60 років на пенсію. Тобто виходить що ~четверть британських ІТшників знаходяться на фінішній прямій своєї кар’єри. Кожний четвертий-п’ятий — старше 50 років, мені здається це багато, враховуючи що до цього віку ще й не всі доживають.

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

За деньгами или из-за интереса?

нащо оце айті, конкурувати з дідами які на клоді палять токени.
Інженер-конструктор (SolidWorks, роботизовані системи)
100 000 — 120 000 грн

опановуєте cad/cam, зараз вже і аджентік є, реальний світ нікуди не подівся

В реддіті хвиля паніки, як добре останні моделі відмальовують прототипи

Є таке, але от далі вже лажають і буде це ще деякий час, як раз зайняти нішу ai-native конструктора

Хочу перейти в сферу IT

Подумайте дважды, почитайте форум, половина тем посвящена проблеме огромных темпов автоматизации в IT из-за AI, которая делает разработчиков ненужными. Сейчас более актуален вопрос «как выйти из сферы IT с минимальной потерей по финансам»

Якщо я б зараз наймав трейні чи джуна на бекенд-Python (а їх ще трохи наймають після курсів похитнуті АІ-шкою аутсорс гіганти в Україні), то б:

1. Звернув увагу на використання АІ, оскільки для початківця це найкращий вчитель зі всіх можливих. Для Міддл+ найкращим є мікс АІ + хорошого персонального ментора, котрий одразу покаже і розкаже про конкретні історії зі свого досвіду так як їх вирішували та якими технологіями. Якщо включити смєкалку — то просто береться структура будь якого платного курсу і кидається АІ-шці з проханням пройтись по темам та навчити. Якщо щось не заходить, попросити показати на прикладі, який цікавий — наприклад принципи ООП на основі автомобілів чи звчиайного власного будинку з кімнатами та гаражом

2. Як закріплювався матеріал — переважно це нормальний вилизаний проект чи проекти на GitHub, які покривають різноманітні теми для новачка. Якщо там непрозора назва «project_02» з андерскором в імені — в мене погана для тебе новина.

3. Людина повинна володіти таким рівнем інтелекту, щоб кинути АІ-шці свій код і написати «поясни чим відрізняється мій код від production-ready коду та чому». Пройтись по всім гепам та виправленням. Це не складно і великий плюс для самонавчання

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

Як виглядає середньостатистичний стек пайтон бека:

Git & GitHub — контроль версій, пул реквести, бранчі
Linux & the command line — термінал, процеси, файли, permissions, SSH
Networking fundamentals — TCP, UDP, DNS, HTTP/HTTPS, TLS/mTLS
Web — HTTP методи, статус коди, заголовки (хедери), кукі, сесії, редиректи, JSON, REST APIs
Authentication & authorization — JWT (access & refresh токени), OAuth 2.0, API-ключі
Databases — PostgreSQL та MySQL (найпоширеніші): індекси, транзакції (+вкладені транзакції), EXPLAIN ANALYZE; іноді NoSQL бази даних, такі як MongoDB, якщо не використовувати JSON у PostgreSQL
Caching & message brokers (або queues) — Redis, RabbitMQ, Kafka, AWS SQS/SNS
API-фреймворки — FastAPI, Django, Flask (на старіших проектах, які по тій чи іншій причині не мігрували на FastAPI), DRF. Деякі експериментують із Litestar
Testing — unit, integration та end-to-end testing за допомогою pytest та допоміжних для пайтеста бібліотек як hypothesis
OOP/applicartion design — OOP, SOLID, DRY, KISS, базові патерни, onion architecture
Concurrency — threading, multiprocessing, asyncio та розуміння GIL
Containerization — Docker, Docker Compose, multi-stage builds
Developer tooling — virtual environments, uv, тайп чекери (ty, pyrefly), форматтери (ruff), pre-commit hooks
CI/CD — GitHub Actions, GitLab CI, automated testing, deployments
Cloud platforms — AWS, Azure або GCP (оберіть одну)
Software architecture — monoliths, microservices, event-driven systems, queues, webhooks, базові принципи scalability
Observability — logging, monitoring, metrics, tracing, debugging production issues (тут чатжпт підкаже, які найпоширеніші продукти)
AI-assisted development — AI Agents, Specification-Driven Development (SDD) та OpenSpec

У пет-проекті я б очікував побачити наступне (одразу додам кроки)

1. Використання «uv» пекедж-менеджера: docs.astral.sh/...​ing-started/installation
Ініцалізація проекту «uv init your-project-name» (це створить окрему директорію з проектними файлами по замовчуванню як «main.py» та «pyproject.toml» файл з «Hello World» всередині.

2. Створення віртуального середовища «uv sync» з версією Пайтону всередині .python-version файлу, який зараз по суті являється «3.14» (переважно на проектах використовують 1-2 версії назад від поточної, наприклад 3.12 чи 3.13, щоб не стати на граблі)

3. Додаваня пакетів «uv add requests» (створить запис в pyproject.toml)
Все, виконуйте вашу програму «python main.py» або «uv run main.py»

Відповідно, я б спробував найперше зробити міні-CLI апку з Typer (typer.tiangolo.com) та закріпив наступні теми:

1. OOP/SOLID з використанням класів
2. Лінтери, форматтери та тайпчекери як «ruff/ty/pyrefly» (uv add —dev ty ruff pyrefly)
3. Красиве логування з допомогою бібліотеки «rich»
4. Правильне структурування проекту та розділення на пекеджі та модулі. Наприклад, константи писати в constants.py
5. Тайп хінти (без них зараз ніяк)
6. Тести з pytest
7. Докстрінги

Після цього я б вже взявся за наступний проект — якесь простеньке API на FastAPI (можна паралельно те саме робити на Django REST Framework, щоб закріпити ці два популярні фреймворки) та загорнути це в Docker (зрозуміти з АІ, що таке gunicorn та uvicorn workers).

Цей коментар заслуговує окремої теми. Респект!

Привіт, перш за все, рекомендую підписатись на нашу спільноту Junior на сайті, також щотижня у нас виходить рубрика Корисний Ресурс Тижня, де ми публікуємо корисні ресурси для навчання та прокачування тих чи інших навичок.
І ще маємо мета-топік порад початківцям і не тільки.

Дякую, вже почав ознайомлюватись зі змістом вищенаведених ресурсів