Почати свій шлях до кар’єри програміста варто з відповіді на питання, чи потрібно вам програмування взагалі? Це питання не відноситься до тих, хто вчиться або навчався за спеціальністю, близькою до програмування. Якщо вам в школі математика давалася краще, ніж Гуманітарні науки, якщо вам подобається проводити багато часу за комп’ютером, якщо вам хочеться вивчати щось нове і при цьому заробляти хороші гроші-тоді програмування вам підійде.
Щоб почати потрібно піти одним з наступних варіантів
- Самоосвіта. Цей варіант можна використовувати як самостійно, так і в парі з іншими методами. В інтернеті повно сайтів, книг і додатків, які допомагають вивчати різні мови програмування і технології. Але це найважчий шлях для початківців.
- Університет. Якщо ви закінчуєте школу і хочете бути програмістом, тоді йдіть до університету. Якщо не за знаннями, тоді за скоринкою. Вона може послужити бонусом при влаштуванні на роботу. Хоча і якісь знання ви теж отримаєте. Але не забувайте займатися і самонавчанням. До вибору вузу варто підійти дуже відповідально. Уважно вивчіть програми навчання і вибирайте кращі технічні вузи.
- Ментор. Буде дуже непогано, якщо ви знайдете людину, яка погодиться допомогти вам і направить вас в правильну сторону. Він підкаже відповідні книги і ресурси, перевірить ваш код, дасть корисні поради. Наставника можна шукати серед знайомих програмістів, на IT-тусовках і конференціях, на онлайн-форумах і так далі.
- Спеціалізовані практичні курси. Спробуйте пошукати в своєму місті курси, де вас навчать якої-небудь мови програмування або технології. Я був приємно здивований кількістю таких курсів, в тому числі безкоштовних і з подальшим працевлаштуванням.
Яку мову, технологію і напрямок вибрати
Коли ви станете програмістом, через рік-другий будете вільні вибирати будь-яку мову, яка вам подобається. Але при виборі першої мови програмування новачок повинен враховувати наступні критерії:
- Наявність на ринку вакансій. Кінцева мета цього шляху-знайти роботу програмістом. А це буде важко зробити, якщо на ринку вакансій ніхто не буде шукати розробників на вашій мові програмування. Перевірте сайти з вакансіями, подивіться, кого більше шукають, випишіть десяток мов. І переходите до наступного критерію.
- Низький рівень входження. Якщо вам доведеться витратити тривалий час на вивчення мови, це може відбити у жагу до програмування взагалі. Перегляньте літературу, яку потрібно буде прочитати, щоб вивчити ці мови. І виберіть ті, про які пишуть, що вони легкі, або які Вам здалися легкими.
- Кайф від процесу. Якщо вам не подобається писати код на обраній мові, ви не будете отримувати задоволення від цього процесу, від роботи і від життя. А воно вам треба? Робіть правильний вибір.
Також вам доведеться визначитися з напрямком програмування. Мобільне, десктопне, ігри, веб, низькорівневе програмування і так далі. Найпопулярніші і відносно легкі галузі-розробка під веб, мобільні і десктопні клієнти. Під кожен напрямок може підходити одна мова і зовсім не підходити інший. Тобто при виборі мови програмування також варто відштовхуватися і від цього фактора.
Як отримати початковий досвід
Без досвіду ви не отримаєте роботу. Без роботи ви не отримаєте досвід. Замкнуте коло реального життя. Але нічого страшного, ми з нього виберемося.
По-перше, не варто чекати, починайте писати свої перші рядки коду вже після відкриття книги. Виконуйте всі завдання з книг, передруковуйте приклади, розбирайтеся в них. Ускладнюйте приклади і завдання з книг своїми ідеями.
По-друге, вам потрібно знайти свої перші проекти. Це, напевно, найскладніший варіант, але робочий. Вам доведеться самому шукати замовлення, виконувати їх. Для новачка це дуже складно. Виконані проекти можна буде записати в досвід і показати вашому майбутньому роботодавцю. Реальні проекти є великим плюсом у вашому резюме.
Якщо ви знаєте англійську мову, реєструйтеся краще на англомовних біржах. Ринок там більше. Якщо не знаєте англійської, вчіть її. А поки що вам доступні російськомовні біржі фрілансу. Шукайте невеликі проекти, які відповідають вашому рівню знань або трохи вище нього. Подайте заявку на пару десятків таких завдань. І приготуйтеся отримати море відмов. Але якщо одна-дві заявки вистрілять, у вас буде шанс отримати реальний досвід.
Ще варіант отримання досвіду-допомога знайомим програмістам. Попросіть їх передати вам маленькі і нескладні завдання. Якщо щось не буде виходити, у вас завжди буде до кого звернутися. І при цьому ви будете брати участь в реальному проекті.
Останній спосіб-власні проекти, різні хакатони або робота в коворкінгу. Свої проекти складно починати самому, краще пошукати знайомих або друзів.
Також можна влаштуватися на роботу”за їжу” на 1 -2 місяці щоб набратися реального досвіду.
Чи важлива Англійська мова
Важлива! Не знаєте? Вчіть. Знаєте? Удосконалюйте. Вчіться читати, писати, слухати і говорити англійською. Робіть упор на технічну літературу. Слухайте англомовні подкасти. Читайте англомовні підручники з програмування. На європейському або американському ринку більше платять.
Що потрібно знати, крім мови програмування
Звичайно ж, крім мови програмування та англійської, потрібно знати щось ще. А ось що-залежить від напрямку, який ви виберете. Веб-програміст зобов’язаний знати HTML, CSS, JavaScript. Десктоп-програміст вчить API операційної системи і різні фреймворки. Розробник мобільних додатків вчить фреймворки Android, iOS або Windows Phone.
Додаткові навички для початку роботи
Крім цього, потрібно знати патерни програмування і структури даних які підходять вашому вибору мови програмування. Обов’язково знання систем версій контролю, так званий Git, він найпопулярніший. За допомогою його познайомитися з репозиторіями коду. Хоча б з одним.. Вам потрібно знати інструменти, з якими ви працюєте, операційну систему та середовище розробки. І головний навик програміста-вміти гуглити. Без цього ви не проживете.
Останні кроки
Вам потрібно підготувати резюме. Не просто резюме, а хороше резюме. Не варто писати там зайвої інформації, але і замовчувати про свої вміння теж не потрібно. Після того як вас запросять на інтерв’ю, ви повинні до нього підготуватися. Пройдіться по матеріалу, який вказаний у вашому резюме. Ви повинні бути впевнені в своїх знаннях. Перегляньте проекти, над якими ви працювали, згадайте технології, які ви застосовували. І вперед-до світлого майбутнього з новою професією програміста.