ІТ-професії. Знайомство.
Безплатний курс для самоосвіти
1. Кар'єра у Python-розробці
Привіт! Вітаємо на першому уроці з Python-розробки.

Наразі це одна з найпопулярніших мов програмування. Більше про особливості Python ти дізнаєшся в цьому уроці. Почнімо з чудової новини: у будь-якій мові доведеться вивчити синтаксис, а в Python він якраз простий та лаконічний. Синтаксис — це правила, за якими потрібно писати код мовою програмування. Це як правила гри, яких треба дотримуватись, щоби гра пройшла успішно (наприклад, одне із правил у Python — кінець рядка є кінцем інструкції, крапка з комою не потрібна). Простий синтаксис дозволяє швидко й ефективно розробляти програмне забезпечення. У випадку з Python це програми для різноманітних галузей, від наукових досліджень та обчислювальної математики до веброзробки та розробки ігор. Ми сьогодні ще повернемось до того, де саме застосовна ця мова.

Та зробімо крок назад і зʼясуймо, що взагалі таке програмування.

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

Програмування ведеться багатьма мовами, і Python — одна з можливих мов для створення програмного коду. Код, у свою чергу, — це набір інструкцій, які комп’ютер може розуміти та виконувати. Мова Python дозволяє розробникам створювати програмне забезпечення для багатьох платформ, від компʼютерів до мобільних пристроїв.

Ця мова створена так, що код на Python можна писати й розуміти відносно інтуїтивно. Легкий для вивчення синтаксис Python підвищує читабельність коду, а отже, знижує вартість обслуговування програми. А ще Python підтримує модулі та пакети, які також звуть бібліотеками (це готовий код, який був написаний раніше та збережений у файлах). Бібліотеки в Python допомагають розробникам виконувати різні задачі швидше й ефективніше, бо більшість функцій та методів вже написані та відлагоджені. Наприклад, якщо хочеш створити програму для роботи з графікою, можна використати бібліотеку Matplotlib замість написання всіх функцій та методів для графічного виведення даних самостійно.

У порівнянні з C++ чи Java, Python має меншу кількість коду для вирішення аналогічних завдань. Наприклад, бачимо код на C++, який виводить рядок "Today is a good day!":    

А тепер той самий код, але за допомогою мови Python:

Обидва коди виконують одну і ту ж функцію — виводять рядок "Today is a good day!". У мові Python синтаксис більш зрозумілий та легший для прочитання, тобто її синтаксис простіший за C++.

Що означає бути Python-розробником

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

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

У розробці програмного забезпечення замість цегли та цементу ми використовуємо код та програмні інструменти. Спочатку ми думаємо про те, які функції має мати програма та як вона має виглядати. Потім пишемо код та використовуємо програмні засоби, як-от текстові редактори й інтегровані середовища розробки (англ. integrated development environment або IDE), щоб перетворити наш код на готовий програмний продукт.

Після того, як програму розроблено, ми тестуємо її, щоб переконатися, що вона працює правильно та не містить помилок. 

Загалом процес розробки програмного продукту складається з таких етапів:

Роль Python-розробників..

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

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

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

Як може виглядати твій робочий день

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

Та зазвичай основні активності протягом дня приблизно такі:

  • Зустріч з командою: багато розробників починають свій день із зустрічі зі своєю командою. Це може бути стендап-мітинг (коротка щоденна зустріч, де обговорюється, що було зроблено за попередній робочий день, які завдання повинні бути виконані на цю мить та що очікується від кожного члена команди).
  • Кодування: після стендап-мітингу та перевірки електронної пошти розробники зазвичай переходять до написання коду. Це може включати створення нових функцій, виправлення помилок та написання тестів для перевірки правильності роботи програмного забезпечення.
  • Код-ревʼю та співпраця з іншими розробниками: час від часу розробники можуть працювати разом, щоб провести код-ревʼю (наприклад, ти перевіряєш програмний код, написаний іншою людиною, або хтось перевіряє твій код) та обговорити можливі покращення. Вони можуть також допомагати іншим розробникам із розв'язанням технічних проблем або підтримувати та вдосконалювати наявний код.
  • Розробка документації: Python-розробники можуть працювати над розробкою документації для свого програмного забезпечення — описувати, як користувачі можуть використовувати нові функції та можливості, що були додані до програмного забезпечення.
  • Спілкування з клієнтами або користувачами: залежно від типу проєктів, Python-розробники можуть взаємодіяти зі своїми клієнтами або користувачами. Вони можуть відповідати на запитання, надавати підтримку та допомагати розв'язувати проблеми, які виникають при використанні програмного забезпечення.
  • Навчання та самовдосконалення: Python-розробники завжди намагаються розвиватися та поліпшувати свої навички. Наприклад, проводити дослідження та вивчати нові технології, брати участь у вебінарах та конференціях тощо.

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

Які в тебе можуть бути завдання

У Python-розробників можуть бути різноманітні завдання залежно від того, в якій галузі їхні проєкти. Якщо ти обереш розробку вебсайтів, твоя робота може полягати у створенні частини вебсайту, невидимої для користувачів — функціональності на стороні сервера, що обробляє зберігання даних, запити та генерацію відповідей. Це зветься бекенд-розробкою (від англ. back-end).

Наприклад, якщо ти потрапи_ла в команду, яка створює інтернет-магазин електроніки, то, як бекенд-розробни_ця, можеш бути відповідальн_ою за написання коду для обробки запитів від фронтенд-частини сайту (фронтенд — це те, що користувачі бачать у своєму браузері). Коли користувач натискає кнопку "Додати в кошик", твій код на сервері буде відповідальний за додавання вибраного товару до кошика користувача. Щоб зберігати інформацію про кошик, ми використовуємо спеціальну частину програми, яка називається базою даних. Це "скринька", де можна зберігати інформацію про користувачів, товари та інші важливі дані. Після того, як користувач додав товар до кошика, твій код оновить інформацію в базі даних, щоб відображати зміну на складі абощо.

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

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

Де та для чого можна використовувати Python

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

Що таке веброзробка

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

Гаразд, а що таке веброзробка? Це процес розробки вебсайтів та вебдодатків для інтернету або локальних мереж. Веброзробники використовують різноманітні мови програмування, як-от Python, JavaScript, PHP тощо. 

Веброзробка може включати такі етапи:

А тепер до прикладів. Ось декілька сайтів, які були створені з використанням Python:

  • Spotify: бекенд Spotify складається з багатьох взаємозалежних сервісів, і близько 80% з них написані на Python;
  • Instagram: серверна частина відомої програми для обміну зображеннями створена на Python;
  • YouTube: відеохостинг з мільярдами переглядів щодня також використовує Python для обробки відео, аналізу даних, розробки внутрішніх інструментів, машинного навчання;
  • Pinterest: із 2011 року один із найбільших сервісів обміну зображеннями використовує Python для веброзробки.
Що таке Data Science та ML

Python — одна з найпопулярніших мов програмування в галузі data science і штучного інтелекту. Широкі можливості в обробці даних, аналізі та візуалізації роблять її ідеальним інструментом для використання в цій галузі.

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

Уявімо, що нам потрібно розробити програму, яка розпізнає, що зображено на світлині. Наприклад, на першому зображенні ми хочемо, щоб вона розпізнала кота, а на другому — стілець. Маючи такий запит, гадаєш, можемо написати якийсь код для цього?

Наприклад, ми могли б сказати, що в нашому коді багато прямих ліній і країв, тож це може бути стілець. А якщо там багато коричневого кольору — це може бути кішка. Але тут виникає проблема – і стілець і кішка може бути коричневого кольору, а стільці теж бувають із плавними контурами. Саме тут і з’являється машинне навчання. Воно реалізує алгоритм, який автоматично виявляє шаблон у заданих вхідних даних. Ми можемо надати 1000 зображень кішки та 1000 зображень стільця, щоб алгоритм міг навчитися. Він дізнається різницю між ними і коли ми надаватимемо нове зображення кішки чи стільця, він їх розрізнятиме.

Data science та Machine Learning пов'язані між собою, але не ідентичні. Data science — це ширше поняття, що охоплює великий спектр задач, пов’язаних з аналізом та опрацюванням даних.

Схематично ці галузі можна зобразити так:

У нашому прикладі з кішками та стільцями, Data Scientist досліджуватиме й аналізуватиме дані, визначатиме характеристики і підбиратиме моделі для класифікації. Натомість Machine Learning інженер_ка зосередиться на технічних деталях розробки систем машинного навчання, тобто відповідатиме за впровадження моделі, підготовку інфраструктури для тренування моделі, оптимізацію та розгортання моделі для користувачів.

Як зрозуміти, що ця спеціальність для тебе

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

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

Що ж до рис характеру, можуть бути корисними такі якості:

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

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

Для веброзробки на Python потрібні такі знання та навички:

  • розуміння принципів розробки вебдодатків та знання фреймворків для веброзробки, як-от Django чи Flask;
  • знання SQL та робота з базами даних;
  • базові знання HTML, CSS і JavaScript;
  • знання інструментів контролю версій, наприклад, Git.

Якщо ж бажаєш писати на Python у галузі Data Science/Machine Learning, знадобиться:

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

Ти можеш програмувати на практично будь-якому комп'ютері чи ноутбуці, але потрібно мати програмне забезпечення для розробки на Python. Це може бути, наприклад, PyCharm, Visual Studio Code, Sublime Text тощо. Також можна використовувати онлайн-середовища, як-от Repl.it, Jupyter Notebook, Google Colaboratory. Ми використовуватимемо останнє.

Google Colaboratory (або коротко Colab) — це безкоштовна вебплатформа для виконання обчислювальних задач. Вона надає можливість запускати та редагувати код мовою Python, використовуючи Jupyter Notebook прямо з браузера. Google Colab надає користувачам широкі можливості: використання майже будь-яких бібліотек Python, підтримку візуалізації даних, вбудовані інструменти машинного та глибокого навчання, можливість працювати спільно з іншими користувачами тощо. Крім того, можна безкоштовно використовувати графічні процесори для прискорення обчислень.

Запустити його ми можемо за цим посиланням. Ти маєш побачити таке вікно:

Це робоче середовище, яке дозволяє створювати, редагувати та виконувати код у файлах, що звуться “записники” (notebooks). На головній сторінці можна знайти приклади записників для різних задач: аналізу даних, машинного навчання, обробки зображень тощо. Можна створити новий записник або відкрити наявний з Google Drive, GitHub (це вебсервіс для зберігання, управління та спільної роботи над програмними проєктами) чи завантажити з компʼютера.

Зауваж, що для створення чи завантаження записника необхідно увійти у свій Google-акаунт (справа вгорі є кнопка “Увійти”).

Далі натиснемо на кнопку “Новий записник”.

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

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

Інтерфейс Google Colab складається з кількох основних елементів

Меню: містить різноманітні опції, як-от "Файл", "Редагувати", "Вигляд", "Інструменти", "Довідка" тощо. Тут можна створювати нові записники, відкривати та зберігати наявні, перемикатись між режимами перегляду та редагування коду.

Кодові комірки: це місце, де можна вводити та запускати свій код на Python. Комірки можуть містити як код, так і текстові коментарі. Зазвичай код запускається за допомогою клавіш Shift+Enter.

Результати виконання: після запуску комірки з кодом наступна комірка показує результати виконання. Це може бути відображення тексту, графіки, діаграми тощо.

Файли та папки: ти можеш завантажувати файли та створювати папки, щоб зберігати свої проєкти. Також можна підключатись до Google Drive та працювати з файлами зі свого диску.

Примітка: Усі твої записники будуть збережені на Google Drive. В кореневій папці буде папка з назвою Colab Notebooks. 

Додаткові інструменти: Google Colab має додаткові інструменти, як-от інтерфейс командного рядка, можливість підключення до різних сервісів Google та ін.

Якщо хочеш дізнатись більше

За бажанням ти можеш працювати із середовищем PyCharm. PyCharm є одним з найпопулярніших інтегрованих середовищ розробки (IDE) для Python. Воно має безліч корисних функцій: автодоповнення, відлагодження, контроль версій та ін. PyCharm підтримує Windows, macOS та Linux і може бути використане для розробки вебдодатків, наукових проєктів, мобільних додатків, ігор та інших програм на Python.

Завантажити та встановити його можна за цим посиланням.

Ми в Академії віримо, що кожен може знайти ідеальну кар’єру для себе, а також в те, що борщ — це найсмачніша у світі страва (не дарма ми “бурякова” Академія). Тож використаємо аналогію борщу (ідеальної персональної кар’єри) для пояснення практичних завдань (так, ми не шукаємо легких шляхів).

Отже, щоб знайти свій ідеальний борщ (персональну кар’єру) треба:
По-перше, спробувати різні борщі та дізнатись, які з них тобі до смаку: зелений (QA Manual), пісний (UI/UX дизайн), з грибочками (Front-End розробка) чи якийсь інший? Ти вже це робиш, проходячи цей курс.

Для цього проведи рефлексію над прочитаним матеріалом: 

1. Чи збігається твоє уявлення про роботу Python-розробників із тим, що описано у цьому уроці?

2. Чи сформувалось уявлення про роботу Python-розробників після проходження уроку?

3. Чи з’явилось бажання попрактикуватись у цій галузі? Якщо так, чекаємо на тебе у наступному уроці. Якщо ні, спробуй поцікавитись іншими напрямами. В цьому курсі ми розповідаємо про:

  • проєктний менеджмент в ІТ;
  • UI/UX дизайн;
  • фронтенд-розробку;
  • тестування програмного забезпечення.

4. Які аспекти професії Python-розробника тебе найбільше зацікавили? 

5. Чи допоміг цей урок зрозуміти, які навички необхідні для фаху Python-розробника?

По-друге, потрібно зрозуміти, які інгредієнти є вже в тебе на полиці (власне персональні якості в тобі) і як їх заміксувати для борщу (кар’єри), що тобі подобається. 
  • Спочатку перевірити полиці і зрозуміти, що на них є (пройти тест на персоналії і ще раз прорефлексувати над тим, хто ти і які в тобі є визначні риси; орієнтовно звірити, наскільки вони поєднувані з кар’єрою мрії);
  • Можливо треба ще щось докупити (прокачати не наявні навички, а, скажімо, посидючість)? 
  • Або можливо щось розморозити з холодильника (наприклад, для кар’єри мрії треба вміння впевнено комунікувати з незнайомими людьми — а це вже тобі притаманне. Тож виглядає, що майбутня професія вже тобі до снаги).

А для цього зроби ось такі кроки:

  1. Пройди ось цей тест, що визначить яка з 16 персоналій твоя*. 
  2. Після цього прорефлексуй, наскільки отриманий результат здається тобі точним. Чи справді ця персоналія про тебе? Чи було там зазначене те, що ти і так знаєш про себе? Можливо щось було нове?

*Загальні відповіді за типом персоналії будуть українською, але детальні описи, на жаль, лише англійською. 

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Project Management в IT
UI/UX дизайн
Front-End розробка
Python розробка
QA Manual
Назад