Як Пейтон став популярнимЯк Пейтон став популярним

0 Comment

Зміст:

Як Пейтон став популярним

У багатьох статтях Google пишуть, що Python — одна з найпопулярніших мов програмування. І це так і є. Наприклад, статистика Stack Overflow показує, що 2/3 розробників, які сьогодні використовують цю мову, люблять працювати з нею надалі не збираються переставати кодити на ній. Але чому вона така популярна? Навіщо її використовують? Які є плюси та мінуси цієї мови? Про це читайте у матеріалі.

Історія та характеристики

Ви коли-небудь замислювалися, чому Python має таку назву? Спойлер — до змії це не має жодного стосунку, несподівано, так? Насправді історія така: Гвідо ван Россум (засновник Python) почав реалізовувати мову, коли читав опублікований сценарій комедійного серіалу BBC 70-х років під назвою «Летючий цирк Монті Пайтона». Як ви, мабуть, уже здогадалися, саме з цього шоу він отримав натхнення для назви. Зараз ця мова входить до ТОП мов програмування. Якщо бути точним, посідає третє місце, поступаючись лише JavaScript та HTML/CSS, серед найпопулярніших технологій в опитуванні Stack Overflow. Однак вона не завжди була така популярна. Історія Python починається наприкінці 80-х з мови програмування ABC. Вона була створена в Амстердамі в Centrum Wiskunde & Informatica, щоб люди без досвіду могли швидко розпочати програмування. На жаль, вона не спрацювала належним чином. Пізніше Гвідо ван Россум взяв цю невдалу мову для створення Пайтона. Офіційна дата народження Python — 20 лютого 1991 року, коли Гвідо опублікував першу версію 0.9.0. У січні 1994 року було запущено версію 1 .0 з інструментами для функціонального програмування.

Тепер детальніше: що таке Python?

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

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

Об’єктноорієнтована: заснована не на функціях, але в об’єктах з певними атрибутами й методами.

Високий рівень: зручний для людини, а не для комп’ютера

Загальне призначення: можна використовувати для створення будь-яких програм.

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

Плюси та мінуси Python

Плюси

Її легко читати, вчити та писати

Це мова програмування високого рівня з англійським синтаксисом. Це полегшує читання та розуміння коду. Її дійсно легко зрозуміти і вивчити, тому багато людей рекомендують Python новачкам. Вам потрібно менше рядків коду для виконання того ж завдання в порівнянні з іншими основними мовами, такими як C/C++ та Java.

Підвищує продуктивність

Це дуже продуктивна мова. Завдяки її простоті розробники можуть зосередитися на розв’язанні проблеми. Їм не потрібно витрачати багато часу на розуміння синтаксису або поведінку мови програмування. Ви пишете менше коду та виконуєте більше завдань.

Інтерпретована мова

Python мова, що інтерпретується, а це означає, що вона безпосередньо виконує код по рядку. Якщо сталася помилка, вона зупиняє подальше виконання та повідомляє про її виникнення.

Вона показує лише одну помилку, навіть якщо у програмі їх кілька. Це спрощує налагодження.

Динамічно типізована

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

Безкоштовна та з відкритим вихідним кодом

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

Підтримка великих бібліотек

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

Портативність

У багатьох мовах, таких як C/C++, потрібно змінити свій код, щоб запустити програму на різних платформах. З Python все інакше. Ви тільки пишете один раз і запускаєте її будь-де.

Мінуси

Низька швидкість

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

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

Неефективна для пам’яті

Ця мова програмування використовує великий обсяг пам’яті, це може бути недоліком при створенні програм, коли віддають перевагу оптимізації пам’яті.

Слабка у мобільних обчисленнях

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

Доступ до бази даних

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

Помилки виконання

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

Для чого потрібна і де використовується мова Python

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

Для аналізу даних

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

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

Для візуалізації даних

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

Для машинного навчання

Машинне навчання (ML) є основою більшості завдань науки даних. Він є областю штучного інтелекту, пов’язаною з використанням алгоритмів, що дозволяють машинам вивчати закономірності та тенденції на основі історичних даних, щоб робити прогнози на основі невідомих даних.

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

Для розробки програмного забезпечення

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

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

Для веброзробки

У той час як для створення візуальної частини вебсайту ми переважно будемо використовувати такі мови, як HTML, CSS та JavaScript, для його невидимої частини ми часто вибираємо Python.

Серед масштабних вебсайтів та програм, створених за допомогою цієї мови , варто згадати Google, Facebook, Instagram, YouTube, Dropbox та Reddit.

Для автоматизації задач/скриптингу

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

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

Яким фахівцям потрібно володіти Python?

  • Фахівець з даних
  • Аналітик даних
  • Інженер даних
  • Інженер з машинного навчання
  • Журналіст даних
  • Архітектор даних
  • Повний стек веброзробника
  • Backend-розробник
  • DevOps-інженер
  • Інженер-програміст

Висновок

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

Як стати Python-розробником. План дій для початківців

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

У межах рубрики для початківців «Код професії» розповідаємо про те, як вивчити Python та знайти першу роботу. Для цього ми поспілкувалися з досвідченими Python-розробниками Володимиром Обрізаном, Віталієм Мірошніченком, Сергієм Галабурдою і Михайлом Кашкіним та зібрали їхні поради в один матеріал.

Що таке Python

Python — інтерпретована об’єктноорієнтована мова програмування високого рівня зі суворою динамічною типізацією. Розробив її 1990 року Гвідо ван Россум.

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

Згідно з останнім рейтингом мов програмування від DOU, Python — на місці серед мов, які опитані ІТ-фахівці використовують для роботи, — нею пишуть 11,2% спеціалістів. Серед мов, які використовують як додаткові, Python на третьому місці.

За цим посиланням можна подивитись середні зарплати Python-розробників з різним досвідом.

На момент публікації медіанна зарплата Python-розробника становить $2600. Зарплата Trainee: $330–900; Junior: $700–1163; Middle: $2000–3500; Senior: $4000–6000.

А тут можна переглянути відкриті вакансії в категорії Python. На момент публікації статті є 180 вакансій.

Чому мову Python варто обрати початківцю

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

Розглянемо переваги мови для початківців за порядком:

  • Python порівняно легко вивчити, у неї простий і зрозумілий синтаксис. Легко підключати сторонні бібліотеки.
  • Є багато літератури, зразків коду, онлайн-курсів, відео, питань і відповідей на Stack Overflow, тому початківець не залишиться без інформації.
  • Велика спільнота розробників, оскільки Python є однією з найпопулярніших мов. Це полегшує пошук ментора або відкритого чату підтримки.
  • У Python-розробників є багато варіантів розвитку. Цю мову використовують для автоматизації рутинних справ системні адміністратори, інженери з тестування використовують Python для автоматизації тестування вебсайтів (Selenium), програмісти пишуть програми для ПК (PyQT), вебсайтів (Django), вебсервісів (Flask, FastAPI тощо), для обробки даних (Pandas, NumPy), навіть можна писати нові плагіни для великих програм (QGis, Gimp). І це не вичерпний перелік!
  • На ринку праці є достатньо пропозицій роботи як в Україні, так і віддалено.

Оскільки ми бачимо, що мова підходить для початківців, перейдімо до питання про те, як її вивчити.

Які технології варто вивчити в межах Python

Насамперед треба опанувати синтаксис мови. Важливо, що мова розвивається, тому сьогодні потрібно вчити зразки коду, які розроблені для Python 3.10 або вище.

Також варто довідатись про:

  • Алгоритми й структури даних, а також їхню реалізацію у стандартних пакетах мови Python.
  • Багатопотоковість (concurrency) — для того, щоб дізнатися про програмування багатопотокових застосунків і те, чому у Python багатопотоковість обмежена.
  • Flask, FastAPI — щоб створити свій перший сервіс для обробки HTTP-запитів.
  • NumPy, pandas для роботи з даними та математичних розрахунків (візуалізація даних, множення матриць тощо).

Варто володіти такими інструментами:

  • Black — автоматичне форматування коду програми.
  • Pylint — перевірка базових правил написання коду, проєктування та підказка типових помилок e коді. Це важливо для початківців, тому що спочатку помилок буде дуже багато, треба, щоб цей інструмент вчасно підказав, де саме.
  • Unittest, Pytest — автоматична перевірка програми. Гарні інструменти, щоб писати надійний код без логічних помилок.
  • Mypy — перевірка коректного вживання типів.
  • Git — система керування версіями файлів та спільної роботи.

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

Якщо йдеться про професійне застосування мови, то в різних напрямах є свій обовʼязковий мінімум технологій.

Автоматизація тестування: unittest, pytest, Selenium, HTML, CSS.

Програмування для ПК: PyQT.

Розробка вебсайтів: Django, HTML, JavaScript, SQL.

Розробка вебсервісів: Flask, FastAPI, JSON, SQL.

Як краще вчити мову програмування — на курсах чи самостійно

Це питання є індивідуальним і відповідь залежить від можливостей, часу, бажання та інших факторів. Можна вивчити мову самостійно, на курсах або під час стажування в компанії.

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

Самостійне навчання

  • Матеріалів в інтернеті багато, і є великий вибір доступних і якісних гайдів.
  • Це безкоштовно або дешево (за вартістю книги чи підписки на певний ресурс).
  • Швидкість і темп свого навчання ви контролюєте самі, можете займатися, коли вам зручно, і не підлаштовуватися під когось.
  • Якщо ви вже маєте досвід у розробці, зможете витратити менше часу на вивчення мови, ніж якби пішли на курси, що тривають пів року чи рік.
  • Можна власноруч обирати формат споживання інформації — відео або текстом.
  • Без ментора може бути складно розпізнати та зрозуміти свої помилки, а з кожною наступною нерозвʼязаною задачею може знижуватися і мотивація до навчання.
  • Складно розібратися, що й за чим вчити, де і як знайти необхідні ресурси.
  • Складно зрозуміти, чи досягли ви вже рівня, з яким можна йти на стажування чи шукати роботу.
  • Вивчення мови може затягнутись, якщо немає навичок самоорганізації.

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

Курси

  • Ви перебуваєте в колективі людей, які вивчають те саме, можуть поділитися знаннями та досвідом, допомогти уникнути блокерів чи проблем.
  • У вас є викладач або ментор, який може дати відповіді на ваші запитання.
  • Ви потрапляєте в оточення мотивованих людей, це дає змогу підтримувати належний рівень натхнення.
  • Графік занять на курсі не дасть вам «забити» на навчання.
  • Якщо курси проводить ІТ-компанія, то є великі шанси, що вас навчать саме того, що потрібно цій компанії, і ви зможете претендувати на стажування чи посаду в ній.

Однак розробники радять серйозно поставитися до вибору курсів: читати відгуки, розпитати тих, хто там навчався, довідатися про досягнення учнів, майбутнього викладача. Більше інформації про те, які в Україні є ІТ-курси та як їх обрати, ви можете знайти на DOU за тегом «курси». Радимо звернути увагу на статтю «Інструкція з вибору IT-курсів для початківців».

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

Корисні ресурси для вивчення Python

«Learning Python» Марка Лутца. Є два томи: перший розповідає про синтаксис і базові можливості мови, другий — про об’єктноорієнтоване програмування. Книга велика — понад 1500 сторінок, автор має багато чого розповісти початківцю.

Офіційний туторіал мови, який від самого початку покроково демонструє можливості мови.

Pycharm Edu. Це безплатна версія середовища для розробки для Python. Тут є багато завдань для початківців з автоматичною перевіркою.

LeetСode. Для розв’язування алгоритмічних задач.

LearnPython. Мінімалістичний інтерактивний туторіал.

Python for Absolute Beginners! Безплатний курс на Udemy для абсолютних початківців.

Python for Everybody Specialization. Безплатні курси з Python від Coursera.

Python Lectures. Набір лекцій з Python від Rajath Kumar у вигляді Jupyter notebooks.

Pylot.me. Курс Михайла Кашкіна для початківців.

Корисні статті на DOU

Як шукати роботу початківцю в Python

Перед пошуком роботи розробники радять реалізувати два-три простеньких проєкти й залити їх на GitHub. Можливість на етапі відбору кандидатів подивитись на код може стати вашою перевагою.

Також тренуйтеся розв’язувати задачки й будьте готові це робити під час інтерв’ю. Не відмовляйтеся виконувати тестове завдання. Зараз є безліч сервісів, де можна потренуватись. Наприклад: LeetCode, Codewars, HackerRank.

Підтягніть свою англійську. В реаліях українського ІТ-ринку гарна англійська значно збільшує шанси знайти роботу.

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

✅ Що варто вказати в резюме

  • Посаду, на яку ви претендуєте.
  • Технології, з якими мали справу: навіть якщо це стандартні пакети Python.
  • Усі завдання, які ви виконали, з указанням технологій і пакетів. Залийте свій код у публічний репозиторій на GitHub і вкажіть посилання. Наприклад: «Написав програму, яка читає CSV-файл виписки з карткового рахунку «ПриватБанку» та робить аналітику за різними групами витрат. Результат у вигляді Excel-файлу або png-графіка. Використав пакети: csv, pyexcel, Matplotlib, pytest, Pylint.
  • Стажування, якщо десь проходили. Опишіть, що там робили, які були завдання та чого досягли.
  • Курси та навчання, освіта. Вона не гарантує ваших знань, але показує рекрутеру, що ви хоча б орієнтуєтесь у сфері.
  • Англійська мова — її знання на старті карʼєри може компенсувати прогалини в розумінні Python.
  • Soft skills. Вміння працювати під тиском чи в стислі терміни, бути командним гравцем чи вирішувати конфлікти, заменеджерити певні процеси.

❌ Про що краще не писати

  • Досвід, який взагалі не повʼязаний з позицією — не потрібно в резюме на фронтенд-розробника писати про те як, ви працювали барменом, офіціантом тощо.
  • Негатив про попередню роботу чи колег — таких кандидатів намагаються уникати.
  • Не припускайтеся граматичних помилок. Якщо сумніваєтесь, попросіть вичитати резюме редактора/коректора.

Більше про те, як написати хороше резюме, читайте в цих статтях:

Також варто перед підготовкою до співбесіди звернути увагу на статтю «Співбесіда з Python. 100+ запитань для Junior, Middle, Senior».

Роботу розробники радять шукати на Djinni та DOU. На DOU є розділ «Перша робота» з курсами, стажуваннями та вакансіями лише для початківців. Також варто створити акаунт в LinkedIn і додати в друзі якомога більше розробників та рекрутерів. Про те, як правильно заповнювати LinkedIn-профіль, читайте тут. Після перших відмов запитуйте в інтерв’юєрів, що варто підтягнути.

Бажаємо успіху у вивченні Python і віримо, що вам все вдасться!

Раніше ми писали про те, як вивчити JavaScript. Напишіть у коментарях, про яку мову ви б хотіли почитати наступного разу.

До обраного В обраному 36

Схожі статті

Як стати .NET-розробником. План дій для початківців

Як стати PHP-розробником. План дій для початківців

Як стати Rust-розробником. План дій для початківців

25 коментарів

Черговиий клікбейтний крео рівня емсітудей, який формує якісь дивні очікування у починаючих. До чого на початку статті про те, як стати Python-розробником, приводити поточні зарплати? Це повинно якось вплинути на вибір першої мови програмування, ви серйозно? Для початку, ви забули сказати, що для розробника мова програмування, навіть основна, це у кращому випадку третина необхідних навичок. Навіть якщо у вакансії написано «Python розробник» (максимально тупо, ну але ок, це реалії місцевого ринку), від розробника все ж очікується вміння вирішувати досить широкий спектр проблем, і далеко не всі взагалі пов‘язані безпосередньо з програмуванням. Навіщо так д****и на окремі мови? Навіщо пов‘язувати зарплати з мовами? (підказка: кореляції немає. Є кореляція зі складністю завдань, які ви вирішуєте, та рівнем відповідальності; від технологій це безпосередньо не залежить).

Олександре, вітаю! Все ж зарплати відображають поточні реалії ринку і можуть вплинути на вибір мови. Ми не ставимо за мету просунути думку «йдіть туди, де більше платять».

Иванна, большое спасибо за приглашение поучаствовать в написании этой статьи и за вопросы, которые задали. Очень люблю работать и вообще любые коммуникации с командой ДОУ. К моему сожалению, статья на ДОУ вышла чуть раньше, чем мы успели со своими планами. В этом году вообще планы вторичны.

В дополнение к нашим профессиональным курсам на Pylot.me в июле я запускаю бесплатный вводный курс по Python’у. Специально для тех, кто еще определяется в каком направлении двигаться, возможно у меня получится убедить вас, что Python — это лучшее направление. Пока нет какой-то страницы с анонсом, но лекции будут выкладываться на моем канале www.youtube.com/. ​/UCzClGkSdFfjursCUsp6T_bQ. Или подписывайтесь в фейсбуке и там буду держать в курсе www.facebook.com/mkashkin

Безкоштовний курс Python Стартовий українською мовою.

Посоветую еще webformyself и skillbox видео курсы, качал бесплатно с торрента.

А сколько из 185 вакансий готовы взять без коммерческого опыта? Это же статья для новичков, верно? А как этот опыт получить, если всем сейчас нужны с опытом 100+ лет?

Это простой вопрос, но ответ нравится далеко не всем. Собственно причина, по которой я создал свои курсы обучению заключается в том, что большинство курсов, книжки и сайты дают только кусок теории, редко дают немного практики. Хотя при этом для того, чтобы получить полноценный навык надо 3 составляющие:

— теория, которая тянет максимум процентов на 15% от времени, которое надо потратить на приобретения навыка. Хотя кажется, что на собеседованиях вас будут спрашивать именно ней. С теорией есть известная проблема, что ее слишком много, а новичок, введя слово python на любом книжном сайте получит сотни названий. Но тут вам может помочь дерево навыков, или матрица компетенций. Курсы, которые воруют друг у друга программы, а потом дают читать джунам, не сильно помогают в этом деле.
— практика, все это слышали, все понимают. Те, кто не понял, но поймут, то поймут сразу. Меня очень неприятно удивило, что многие из бесплатных или платных платформ, которые дают практику требуют реализацию каких-то зубодробильных и замудренных алгоритмов, которые не имеют отношения к рабочей практике. Такое впечатление, что синдром советского препода перепрыгнул сразу в наше цифровое время.
— экспертное мышление. Часть, которую вообще игнорируют очень многие школы пытаясь как можно быстрее впарить свои курсы. И то, что вообще невозможно получить из учебников. Это совместное общение и совместное решение проблем с человеком который повидал некоторое дерьмо в этой сфере.

И теперь после куска этой душещипательной теории вернусь к вопросу о прохождении собеседований на вакансии джунов. Джунов без года опыта работы стараются не брать на работу. Но что же отличает этих джунов с годом опыта и тех, у кого его нет? Ну вот допустим человек прочитал книги, сделал практические проекты, даже за пиво попросил ревью своего кода у бывшего одноклассника и даже выложил код на гитхаб. Вроде бы прошелся по всем трем направлениям: теория, практика, экспертное мышление.

Помимо навыка, который называется хард-скиллом нужна вторая часть. Возможно, вы слышали, что берут на работу за хард-скиллы, а увольняют за софт-скиллы. Как открыть тикет, как закрыть тикет, что такое код-ревью, как проходят коммуникации в компаниях и какие виды их бывают. Даже банально как не опаздывать, как распознать работодателя, о котором потом будут писать на кохане.айті. Как правильно оформить резюме чтобы оно выглядело как от человека, которому можно доверять. Как не бояться проходить собеседования, какие вопросы задают, как устроен процес найма и т.д. Это все о коммуникациях и это называется софт-скиллы.

Я этому уделяю половину времени вебинаров на наших курсах. Уже накопилось часов разбора этих вопросов. Собственно, работодатель объективно не хочет тратить на них свое время. Во-первых, не везде готовы обучать новичков, а во-вторых, мало кто умеет объяснять и вообще развивает навык объяснять так чтобы было понятно, нужно быстрее грести. Проще дождаться чтобы кто-то потратил это время на человека, а потом его уже можно брать. Даже можно выдать почетную грамоту стронг-джуна.

И вот возвращаюсь к первому предложению. Оказывается, помимо учебника, чтобы стать программистом и получать триста тысяч сыров в секунду за нажатие кнопки надо еще уметь общаться, уметь производить впечатление, выглядеть как надежный партнер.

Но чтобы мои рассуждения не выглядели как какая-то сложная и непробиваемая история.

Я провел за свою жизнь много интервью думаю около 2000. Бывало, по 200 и более год, на позиции от джунов до СТО. И, конечно, проходил собеседования сам. И не однократно попадал в ситуации, когда компании приглашали собеседовать закомплексованных и неуверенных в себе людей, вместо проверки просто самоутверждались в попытке поднять свою самооценку. По сути это направленная агрессия и хорошо бы уметь с ней разбираться. Но в любом случае — это опыт. Да, вам может попасться что-то типа Интеллиас, и если вы без опыта успешных собеседований, то будете думать, что проблема в вас. Мусорных компаний в Украине много. Но вы дотачиваете свой опыт и это отражается на вас. Прохождение собеседований — это навык. Как ездить на велосипеде. У кого-то быстрее, у кого-то медленнее, а кому-то приходится этому учиться по учебнику. Но вы можете управлять процессом и потратив нужное количество часов вы сможете проехать первый круг.