Інструкція для тих, хто хоче стати програмістом з нуля - затишне співтовариство програмістів

Криза змушує багатьох змінити місце роботи або навіть повністю змінити спеціальність. Доводиться освоювати нові навички та професії. Прекрасним вибором в цьому випадку може стати професія програміста. Це цікаво, комфортно і вигідно. У цій статті ми постараємося відповісти на питання, як побудувати кар'єру програміста з нуля.

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

З чого почати

Є кілька варіантів розвитку подій, в результаті яких людина стає програмістом. Перший - батьки-програмісти, які всьому навчили своїх дітей. Таким дітям навіть не потрібно йти в університет. Другий варіант - модна професія програміста. Після школи потрібно було вибрати, куди піти вчитися, і вибрали модний напрямок IT, начебто сподобалося. І останній варіант - хобі, яке переросло в роботу.

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

  • Самоосвіта. Цей варіант можна використовувати як самостійно, так і в парі з іншими методами. В інтернеті повно сайтів, книг і програм, які допомагають вивчати різні мови програмування і технології. Але це найважчий шлях для початківців.
  • Університет. Якщо ви закінчуєте школу і хочете бути програмістом, тоді йдіть в університет. Якщо не за знаннями, тоді за скоринкою. Вона може послужити бонусом при влаштуванні на роботу. Хоча і якісь знання ви теж отримаєте. Але не забувайте займатися і самонавчанням. До вибору вузу варто підійти дуже відповідально. Уважно вивчіть програми навчання і вибирайте найкращі технічні вузи.
  • Ментор. Буде дуже непогано, якщо ви знайдете людину, яка погодиться допомогти вам і направить вас в правильному напрямку. Він підкаже відповідні книги і ресурси, перевірить ваш код, дасть корисні поради. До речі, ми вже писали про корисному ресурсі. де ви зможете знайти ментора. Наставника можна шукати серед знайомих програмістів, на IT-тусовках і конференціях, на онлайн-форумах і так далі.
  • Спеціалізовані практичні курси. Спробуйте пошукати в своєму місті курси, де вас навчать якомусь мові програмування або технології. Я був приємно здивований кількістю таких курсів в Києві, в тому числі безкоштовних і з подальшим працевлаштуванням.

Яку мову, технологію і напрямок вибрати

Коли ви станете програмістом, через рік-другий будете вільні вибирати будь-яку мову, який вам подобається. Але при виборі першої мови програмування новачок повинен враховувати наступні критерії:

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

Як отримати початковий досвід

Без досвіду ви не отримаєте роботу. Без роботи ви не отримаєте досвід. Замкнуте коло реальному житті. Але нічого страшного, ми з нього вийдемо.

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

По-друге, вам потрібно знайти свої перші проекти. Це, напевно, найскладніший варіант, але робочий. Вам доведеться самому шукати замовлення, виконувати їх, морочитися з оплатою. Для новачка це архіскладно, але зате потім всі інші варіанти здадуться плёвим справою. Виконані проекти можна буде записати в досвід і показати вашому майбутньому роботодавцю. Реальні проекти є великим плюсом в вашому резюме.

Якщо ви знаєте англійську мову, реєструйтеся краще на англомовних біржах. Ринок там більше. Якщо не знаєте англійської, вчіть його. А поки що вам доступні російськомовні біржі фрілансу. Шукайте невеликі проекти, які відповідають вашому рівню знань або трохи вище нього. Подайте заявку на пару десятків таких завдань. І приготуйтеся отримати море відмов. Але якщо одна-дві заявки вистрілять, у вас буде шанс отримати реальний досвід.

Ще одним непоганим варіантом для отримання реального досвіду є open source. Таким проектам завжди потрібні нові люди, нехай навіть і новачки. Ви можете пошукати в проекті баги або подивитися в баг-трекері і запропонувати методи їх вирішення. Знайти такі проекти легко на GitHub або інших сервісах для хостингу коду. Не соромтеся задавати питання, які там.

Четвертий варіант отримання досвіду - допомога знайомим програмістам. Попросіть їх передати вам маленькі і нескладні завдання. Якщо щось не буде виходити, у вас завжди буде до кого звернутися. І при цьому ви будете брати участь в реальному проекті.

Останній спосіб - власні проекти, різні хакатони або робота в коворкінг. Свої проекти складно починати самому, краще пошукати знайомих або друзів.

Чому варто вибрати Python

Давайте трохи докладніше поговоримо про вибір першої мови програмування. Перша мова має бути простим і популярним на ринку. Такою мовою є Python. Я дуже раджу вибрати саме його в якості першої мови програмування.

Код програми на Python Новомосковскбелен. Вам навіть не потрібно бути програмістом, щоб в загальних рисах зрозуміти, що відбувається в програмі. Через нескладного синтаксису Python вам знадобиться менше часу для написання програми, ніж, наприклад, на Java. Величезна база бібліотек, яка заощадить вам купу сил, нервів і часу. Python є високорівневим мовою. А значить, вам не потрібно особливо думати про осередки пам'яті і про те, що там розмістити. Python - це мова широкого призначення. І він такий простий, що навіть діти можуть його вивчити.

Справедливості заради варто згадати і про інших мовах программірованія.Java може стати непоганим вибором для новачка. Ця мова популярніша, ніж Python, але і трохи складніше. Зате інструменти для розробки набагато краще опрацьовані. Варто лише порівняти Eclipse і IDLE. Після Java вам буде простіше перейти до роботи з низькорівневими мовами програмування.

PHP - ще один дуже популярний мову. І, мені здається, він навіть простіше, ніж Python. Дуже легко знайти собі ментора або рішення якої-небудь проблеми на форумі. Все тому, що в світі існує величезна кількість PHP-програмістів різного рівня. У PHP немає нормального імпорту, є безліч варіантів вирішення однієї і тієї ж задачі. А це ускладнює навчання. І PHP заточений виключно під веб.

Чи важливий англійську мову

Що потрібно знати, крім мови програмування

Всім потрібно вивчити алгоритми. Спробуйте пройти курс на Coursera або знайти підходящу для себе книгу по алгоритмам. Крім цього, потрібно знати одну з баз даних, патерни програмування, структури даних. Варто також познайомитися з репозиторіями коду. Хоча б з одним. Обов'язкове знання систем версионного контролю. Вибирайте Git, він найпопулярніший. Вам потрібно знати інструменти, з якими ви працюєте, операційну систему і середовище розробки. І головний навик програміста - вміти гуглити. Без цього ви не проживете.

останні кроки

проголосувати