Привіт всім! Мене звуть Костянтин Ботнар. Вже майже 8 років викладаю програмування. А почалося все, коли я був аспірантом і читав лекції своїм ровесникам в одному з одеських ВНЗ. Тепер викладаю в Комп'ютерній школі Hillel, веду курс Introduction: введення у програмування. Хочу трохи розвіяти міфи навколо самої затребуваної професії 21 століття і розповісти, хто такі програмісти і чим вони займаються.
Тижпрограмміст, або Що таке особливий склад розуму
Мабуть, це найпоширеніший міф. Кажуть різне: що у програмістів якось по-іншому влаштований мозок, що вони — відчужені і замкнуті. І без цього успішним професіоналом не стати.
Чи це правда? Частково. Але успішний програміст не завжди зобов'язаний бути снобом. Набагато важливіше:
- Вміти працювати у команді. Незалежно від того, з чого починати: веб-програмування, створення мобільних додатків, верстка і багато іншого — це командна робота. Тому без цього — нікуди.
- Розуміти, що таке пріоритет і як правильно його розставляти. Навіть в найпрестижнішій компанії програмістам часто падають завдання в стилі «Зроби зараз, а це ще вчора треба було, а ось тут — швидко і тільки підправити». Структурування задач — одна з найважливіших навичок крутого проггера.
- Володіти феноменальною старанністю. Ні, в офісі від дзвінка і до дзвінка сидіти не доведеться, а от проводити багато часу за ноутбуком або комп'ютером — точно. Саме тому айтішників і вважають нелюдимими: просто поки всі відпочивають, більшість з них вважає за краще попрацювати.
- Не боятися вдосконалюватися і вчитися новому. Мови програмування застарівають, потрібно вчити нові, мобільні додатки створюються на нових платформах, кожен день з'являються десятки сервісів. Якщо хочеться стати хорошим програмістом — потрібно бути гнучким і готовим прокачувати свої навички.
- Любити свій комп'ютер. Тут і додати більше нічого. Ваша машина — це основний робочий інструмент.
Уже ці навички можуть принести стабільний і непоганий дохід. А що якщо додати сюди ще професійні навички і освіту?
Що потрібно знати програмісту
Дивно, але роль математики в житті проггера сильно переоцінена. Так, ця наука — базова, і знання вишмата може стати хорошим фундаментом для побудови успішної кар'єри. Але це далеко не головне, з чого потрібно почати вивчення програмування. Навіть без математичних знань і технічної бази можна побудувати кар'єру крутого програміста. У процесі навчання у комп'ютерній школі можна отримати абсолютно всі знання, реально необхідні хорошому фахівцю.
Рекомендуємо курс по темі
В деталях — істина
Кар'єра в IT — це велика праця, з якою можна впоратися лише володіючи високою уважністю. Є безліч сфер, де посидючість також важлива — це хірургія, ювелірна справа, різні виміри. Але в програмуванні цей навик практично базовий.
Самодисципліна, уважність і працьовитість — ось три кити, на яких стоїть кар'єра успішного програміста у всесвітньо відомій компанії. Просто так сидіти за ноутбуком не вийде, як і скролить стрічку в соціальних мережах, ставити лайки і дивитися відео.
До чого потрібно бути готовим, починаючи працювати програмістом:
- Навіть прості завдання іноді вимагають величезної кількості часу. Звичайно, потім їх можна буде вирішувати набагато швидше, але спочатку доведеться дуже напружуватися для пошуку вирішення проблеми.
- Як програмувати — це не не впасти, а зуміти піднятися. Будь-яка невдача на шляху, злетів код, пропуск змінної — це просто сходинка до успішного майбутнього. І навіть якщо сайт ліг, то не можна його кинути і просто піти. Потрібно підняти свій багаж знань і досвіду і знайти ту саму змінну.
- З чого почати програмування: пам'ятати, що з першого разу навряд чи вийде. Ні хороший сайт, ні зручний мобільний додаток, ні навіть чат-бот. Помилки в програмуванні — це абсолютно нормально, і я б навіть сказав, що корисно. Мої найкращі випускники витрачали на пошуки рішення і реалізацію своїх проектів по кілька сотень годин. І писали правильний код. Зате потім для них це завдання було чимось порівняно з ребусом в дитячих книжках.
Алгоритми — це важливо
Все в програмуванні ґрунтується на алгоритмах. Якщо в цілому, тобто поняття декомпозиції. Це розбивка великих і складних цілей на маленькі підціли. Або максимальне спрощення поставленого завдання. В результаті дроблення проблема вже не здається такою складною, а її рішення як ніби лежить на поверхні.
Ось таке ставлення до речей називається алгоритмічним мисленням. Впізнали себе? Вітаємо! Тоді шлях програміста — якраз для вас! Залишилося тільки додати необхідних знань і досвіду.
Але часто значення алгоритмів і вміння їх правильно скласти просто недооцінюють. Як приклад, спробуйте скласти алгоритм для прибирання в квартирі або приготування кави. А тепер уявіть, що в програмуванні абсолютно для будь-якого завдання потрібно готувати десятки команд і умов, інакше вони просто не будуть виконуватися.
Далеко не всі мислять ось такими алгоритмами. Хтось візуалізує образи, інші представляють абстрактні моделі. Вони, звичайно, можуть скласти алгоритм, але це буде плодом довгої і наполегливої роботи, але ніяк не таланту і природної роботи їх мозку. В такому випадку, може, є сенс знайти себе в професії, пов'язаної з творчістю або комунікаціями?
Програміст: очікування і реальність
Як стати програмістом — стати командним гравцем. Часто айтішникам потрібні помічники, однодумці, підтримка. У робочому середовищі він постійно знаходиться в контакті з замовником, готує тестові завдання, стверджує їх.
У сфері IT одиночці вижити не так-то просто. Пам'ятайте, чим раніше зможете вийти зі своєї кімнати і продати свій проект, тим швидше піднімітеся по кар'єрних сходах.
У програмуванні найскладніше — почати, тому хочу майбутнім web-програмістам дати просту, але дуже значущу і важливу пораду: не бійтеся нових починань.
- Ніхто не встав і не написав сайт за один день.
- Немає тих, хто зараз заробляє мільйони, використовуючи старі знання.
- Для самовдосконалення потрібно небагато: бути собою і вдосконалюватися.
Кожен проект — нове середовище, невивчені завдання, оновлена команда. Можна, звичайно, відступити. Але тоді не можна стати IT-гуру. Пориньте в цей досвід, зачерпніть з нього щось нове для себе, наберіться досвіду і знань.
У програмуванні не вийде виїжджати на знаннях, отриманих 10 років тому. Занадто рухливе середовище. І дуже великий попит на динамічних і гнучких професіоналів. Тому бажаю завжди тримати руку на пульсі і відповідати часу, в якому бажаєте працювати.
Займайтеся улюбленою справою
Банально, але без цього ніяк. Програмування — це те, що повинно викликати у вас тремтіння в колінах і бажання закінчити вихідні і приступити до роботи. Адже якщо ви не будете захоплюватися своєю працею, то як тоді створите шедевр? Хороший програміст залишає в проекті частинку себе. Не тільки час або знання, а й трохи любові до спільної справи.
Тому якщо для вас програмування — це просто хороша робота з відмінною перспективою, краще не витрачайте свій час, сили і гроші даремно. Підшукайте щось інше — справу, яка зуміє стати важливою частиною вашого життя. Невід'ємною частиною.