Для того, щоб працювати розробником недостатньо вивчити мову програмування чи декілька технологій (наприклад HTML, CSS). У цьому пості я виділила декілька пунктів, які варті вашої уваги.

Пропоную вам у коментарях написати свої варіанти 🙃

⚙️ Система керування версіями

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

🗂 Які бувають методології розробки

Навчальні проекти зазвичай невеликі і розробляють їх самостійно, а не в команді. Проте, працюючи над проектами з великою кількістю вимог та учасників процесу (аналітики, тестувальники, менеджери) потрібно певним чином організовувати роботу. У компаніях, в яких мені доводилось працювати, переважно використовують Agile та Scrum. Саме з ними я і пропоную вас ознайомитись. P.S. Але про інші теж подивіться, зайвим точно не буде.

📄 Текстовий редактор + середовище розробки

Зазвичай, під час навчання, інструктор курсу пропонує писати код у певній програмі. Наприклад, це може бути Sublime Text. Ми під час навчання використовували Emacs та Vim. Так от, текстових редакторів безліч і я раджу детальніше ознайомитись з тим, які вони взагалі бувають та які можливості пропонують.

І ще декілька слів про середовище розробки. Воно включає у себе більше, ніж текстовий редактор і націлене саме на написання коду. Наприклад: Visual Studio, XCode, Eclipse, IntelliJ IDEA та інші. Однозначно варто ознайомитись з тим, які середовища взагалі бувають. Якщо ви вже обрали зручний варіант, то краще витратити трохи часу і розібратись у можливостях, які він пропонує, а також запам’ятати shortcuts.

📊 Алгоритми та структури данних

На мій погляд, просто необхідно мати базове розуміння: які бувають алгоритми, що таке ”Big O notation” та які бувають структури даних, як ними користуватись та у яких випадках. Маю визнати, що далеко не всі програмісти використовують ці знання для повсякденних задач. До того ж, на роботі ви навряд будете писати власний агоритм, бо можна використати вже існуючий варіант. З іншого боку, на співбесідах часто запитують про алгоритми чи навіть пропонують написати свій. Як би там не було, ця тема заслуговує вашої уваги.

🧮 Паттерни проектування

Патерни (або шаблони) проектування описують типові способи вирішення поширених проблем при проектуванні програм. Потрібно їх знати, щоб самостійно не вигадувати вже існуючі рішення. Дуже прикольний ресурс де про них можна почитати, сайт: refactoring.guru