Знаєте які статті найчастіше читають, лайкають і поширюють? Ті, які є максимально конкретними, практичними і надають наступні кроки до дій в тій чи іншій темі. Моя покрокова інструкція як отримати роботу програміста з нуля, а також детальний пост про те як статити веб-розробником є “бестселерами” даного блогу.

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

А почнемо із короткого огляду, чому саме варто звернути увагу на Python та веб-розробку…

Отже,

Чому Python i Django?

Якщо ви вже давненько заходите на сторінки даного блогу і користаєте з безкоштовних матеріалів, тоді мабуть знаєте, що я особисто спеціалізуюсь на Python веб-розробці. Ми на фірмі використовуємо мову Python як основну мову програмування. І я є великим фаном цієї мови. Особливо коли мова йде про веб напрямок.

Мова Python є однією із найпростіших мов і навіть діти доволі легко можуть її освоювати. Якщо ж ви ще не визначились із мовою, тоді в даній статті прошу ознайомитись із перевагами та мінусами різних мов програмування. Якщо після даної статті все ж таки зупинитесь на мові Python, тоді ласкаво прошу продовжувати прочитання даної статті.

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

***

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

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

Саме тому ми сфокусуємось на мові Python та веб-фреймворку Django у даній інструкції.

Підготовка

Окрім фреймворку та мови програмування, будь-якому веб-розробнику необхідно розбиратись у базах даних, мові веб верстки HTML, стилях CSS та мові на стороні браузера: Javascript. Де і як їх опановувати детально описано у існуючій інструкції по веб-розробці. Тому обов’язково ознайомтесь із нею перед тим як рухатись далі.

***

Стаття про те, як отримати роботу програміста з нуля описує:

  • етапи на шляху програміста незалежно від обраного напрямку та мови;
  • тривалість кожного із етапів;
  • варіанти реалізації кожного із етапів.

В даній статті я не буду дублювати матеріал інструкції програміста з нуля, а лише спеціалізую його під веб-розробку з допомогою Python та Django. Тому дана стаття є також обов’язковою до опрацювання, щоб подальша інструкція була для вас максимально корисною.

 ***

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

Лише після проходження вищенаведених підготовчих дій повертайтесь сюди. Звісно, якщо ваш вибір впав на Python та веб-розробку 😉

***

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

А тепер переходимо до “м’яса”:

Теорія

Scratch

Першим ділом, якщо ви ще жодного разу не вивчали і не експериментували із жодною із мов програмування: зробіть швидкий тест і перевірте чи логіка, абстрактне мислення, схильність до програмування – це все у вас закладене і на достатньому рівні. В цьому вам допоможе візуальна дитяча мова програмування Scratch. Так, навіть діти у молодших класах школи її освоюють.

Ось список практичних дій для тесту:

  • почитайте і розберіться загалом із тим, що собою представляє дана мова на офіційному сайті scratch.mit.edu ;
  • ввідний відео урок на Youtube;
  • на даному волонтерському сайті знайдете методичку освоєння Scratch.

Якщо вдалось розібратись із даною мовою, освоїти основні програмні конструкції (цикли, умовні оператори і т.д.), виконати кілька нескладних завдань – тоді можемо рухатись далі.

Python

Мова програмування Python є надзвичайно проста. Як для навчання так і у використанні. Тому я зазвичай не рекомендую починати із великих талмудів і на місяці занурюватись у вивчення сухої теорії. Програмування – професія виключно практична і маючи простий інструмент (такий як Python), краще якомога швидше переходити до практики.

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

Якщо ж даного курсу було недостатньо, тоді можна спробувати пройти ще один-два туторіали. В цій статті знайдете непоганий список Python курсів на різних популярних навчальних ресурсах таких, як Coursera, Udacity і тому подібних.

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

Python HowTo

Взято з @ schoolingthenoob.wordpress.com

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

На теорію у вас може піти 2 тижні, а можна зависнути і до кількох місяців. У кожного по різному. Лише освоївши ази мови Python, можна рухатись до наступного кроку – практики.

Практика

Знання мови програмування не є достатнім, щоб отримати роботу. І це так само стосується мови Python. В наш час мало хто створює програму з нуля. Для кожного із напрямків у програмуванні (веб, десктоп, мобільні додатки …) існує маса інструментів, які полегшують розробнику життя.

У напрямку веб використовуючи мову Python ми маємо фреймворк Django. З його допомогою ми можемо за хвилин інтегрувати і реалізувати стандартні функції логування користувачів, роботи з базою даних, генерації HTML коду і т.д.

Щоб отримати роботу Python веб-розробника вам, швидше за все, прийдеться також освоїти веб-фреймворк Django. Саме з цією метою я витратив майже рік на написання книги “Веб-розробка з Python та Django для Початківців“. Даний посібник побудований навколо наближеного до реального веб-проекту, який часто дають початківцям у ролі тестового завдання. Пройшовши книгу і виконавши усі домашки ви майже гарантовано матимете необхідну практику, щоб почати пошук роботи. Крім того, книга йде із групою підтримки, де можна шукати відповіді на свої проблеми і запитання, а також допомагати іншим. Також відео уроки, інтерв’ю з програмістами, шпаргалки – усе це частина даної книги.

Якщо ж самостійне навчання не для вас, тоді вам потрібно шукати допомоги ззовні. Це може бути ментор, це можуть бути курси при програмістській фірмі. В даній статті ви можете ознайомитись з тим, як набувати практики програмування.

Я також надаю персональне менторство. Але, оскільки, мій час доволі обмежений, а бажаючих доволі багато, невдовзі планую запускати групове віддалене менторство. Якщо вам це цікаво, і книга по Django вам самостійно не пішла, тоді слідкуйте за новинами цього блогу. Незабаром оголошу більше деталей про групове менторство.

Етап здобуття практики програмування є найважчим і найтривалішим. Те, що ви здобули теорію програмування і спробували свої сили в нескладних тестових задачках ще нічого не означає. Етап роботи над практичними проектами, наближеними до реальних – покаже все. Тому вам потрібно налаштуватись до нього відповідно.

Даний етап практики може займати від шести місяців і аж до двох років.

Пошук роботи

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

  • складаємо резюме;
  • шукаємо фірми, де займаються мовою Python; складаємо для початку список з 10-ти таких компаній;
  • розсилаємо резюме;
  • чекаємо на відповідь; якщо відповідей немає, або мало – змінюємо резюме і супроводжуючий лист та пробуємо знову;
  • ходимо по інтерв’ю;
  • після невдалих інтерв’ю аналізуємо помилки, виправляємо їх;
  • повторюємо процес починаючи з другого кроку даного списку, аж допоки не знаходимо омріяну роботу.

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

Ось для мотивації кілька історій успіху:

Пошук роботи, якщо є хороша база, займає зазвичай від одного до трьох місяців.

До речі, під час менторства я також допомагаю студентам в пошуку роботи.

Підсумуємо

А тепер для підсумку та подальших дій для вас наведу два сценарії. Один для тих, хто може навчатись самостійно, інший – для тих, кому простіше навчатись з викладачем (ментором, вчителем).

Самостійно

  • пробуємо себе в Scratch;
  • вивчаємо ази мови Python;
  • реалізуємо Python + Django веб-проект;
  • складаємо резюме, ходимо по інтерв’ю та шукаємо роботу.

З допомогою ззовні

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

Зазвичай на весь вищенаведений шлях вам знадобиться від одного до двох років. Буває, звісно, швидше, а буває і довше. Головне на даному шляху це терпіння, самодисципліна і багато роботи. І пам’ятайте, що даний шлях може датись вам не з першої, а з другої чи з третьої спроби. У мене він вдався лише з другої спроби. І це нормально.

Успіхів! І надіюсь дана інструкція допоможе вам швидше стати Python веб-розробником!

 

Ви вже програмуєте на Python професійно? Тоді розкажіть в коментарях яким був ваш шлях?