Які технології повинен знати Python розробник у 2021 році?
22.01.21. ⏰6хв
Коли ти новачок, інформація щодо програмування здається безкраїм океаном, в якому можна потонути, якщо не вмієш правильно плавати. Статей, курсів, безплатних ресурсів є безліч, але що конкретно потрібно знати, щоб стати junior-ом, залишається під великим питанням. Якщо Ви шукаєте для себе правильну структуру навчання або вже вивчили певні технології та розгублені що ж пізнавати далі — ця стаття для Вас!
Як і в будь-якій професії, починати навчання потрібно з азів, а також привчити себе до постійного читання літератури, користування пошуковими системами та навчитися швидко знаходити потрібну інформацію. Ось технології, які для junior-а маст-хев!
- Потрібно мати уявлення що таке операційні системи, для чого вони потрібні, які в них відбуваються процеси;
- Знати що таке потік;
- Знати що таке сокети та для чого вони потрібні;
- Мати поняття як влаштований стек протоколів TCP / IP;
- Знати що таке Linux, sh.;
- Знати віртуалізацію та всі її типи;
- Вміти налаштовувати онлайн-машини за допомогою різних інструментів;
- Працювати з GIT (створювати гілки);
- Знати що таке ООП і його функціонал;
- Знати що таке MVC та навіщо він потрібен;
- Розуміти асинхронну концепцію програмування;
- Вміти працювати з базами даних;
- Вміти працювати з nginx (настройка проксі);
- Розбиратися у відмінностях Python2 від Python3;
- Знати що таке генератори та ітератори;
- Розуміти що таке GIL та навіщо він потрібен;
- Розбиратися в WSGI та розуміти як використовувати його в роботі.
Питання, які можуть задати на співбесіді
За останні роки технічні вимоги до джуніор спеціалістів добряче виросли, це зумовлено високою конкуренцією на ринку. Тож працедавці ретельно відбирають кандидатів та висувають певні рамки, щоб знайти кращих з кращих.
- Вас можуть запитати чому Ви обрали Python. Питання ніби просте, але з зірочкою, тому що грамотний спеціаліст добре знатиме навіщо використовує цю чи іншу технологію, а також слабкі та сильні сторони тої чи іншої мови програмування.
- Вас можуть запитати принципи ООП. Старе, як світ, але завжди актуальне. Ви можете розповісти про свій досвід використання на практиці.
- Вас можуть запитати алгоритми сортування, які Ви знаєте. Ну і бажано їх знати)) Вас можуть попросити написати код з алгоритмами сортування.
- Розкажіть, з якими IDE Ви працювали. Достатньо назвати одну, але добре в ній розбиратися: потрібно знати як під'єднати бібліотеку до проєкту, чому обране середовище розробки краще за інші, які плагіни Ви використовували і так далі. Це те, що повинен знати Junior-розробник.
- Чи маєте Ви досвід з базами даних? Скільки нормальних форм Ви знаєте і яка між ними різниця? Знати як поводитися з базами даних — маст-хев, а от нормальні форми — це вже більше буде бонусом, ніж необхідністю.
- Які методології розробки Ви знаєте? Назвіть основні принципи Agile.
- Чи є досвід роботи з Git?
Це лише маленька частина питань, які Вам можуть задати, але суть Ви розумієте.
Програма навчання від CURSOR.EDUCATION
Програмування на Python не вимагає багатьох років навчання у ВУЗі. Цю мову можна вивчити самостійно або на курсах.
Самонавчання в цьому випадку має декілька плюсів, але відповідно й мінусів.
Навчатися потрібно нон-стоп, щоб зберігати актуальність знань, але коли Ви новачок, відсутність структури та правильної інформації тільки гальмуватиме процес. Тож з переваг самонавчання — воно економить фінансовий ресурс, але тим самим забирає багато часового.
Про це також часто згадують наші випускники, які спробували навчатися самостійно, а потім таки перейшли на курси.
Так що стосовно програми?
Ми поділили основний курс PYTHON.EDUCATION на дві частини — Python Basic та Python Advanced. Ми чітко відокремили базові технології та основи програмування від складніших речей, які будуть необхідними при працевлаштуванні.
Таким чином, якщо Ви абсолютний початківець у програмуванні, Ви можете розпочати навчання з нуля, але, якщо Вам потрібно вивчити складніші технології, Ви можете почати курс одразу з advanced рівня.
На курсі basic студенти вивчають:
- git
- linux
- python3
- asyncio
Python Advanced дає конкретні знання по:
- Python3
- Linux
- GIt
- SQL
- Postgresql
- Redis
- Celery
- SQLAlchemy
- Flask
- HTTP
- Rest
- Django
- Docker
- Docker Compose
Програма підібрана та сформована так, щоб забезпечити достатній рівень знань для посади trainee/junior спеціаліста. Вона оновлюється після завершення кожного курсу на основі відгуків та опитувань студентів, а також досліджень ринку.
Важливим компонентом, так званою сюжетною лінією навчання, є soft skills, на які ми робимо не менший акцент, задля розвитку емоційного інтелекту наших студентів. Адже потужні компанії хочуть бачити у своїх рядах не лише технічно крутих працівників, але й командних гравців, людей, які вміють домовлятися та розв'язувати конфлікти, слідувати дедлайнам та бути відповідальними.
Навчання наближене до розробки на проєкті
Ми запровадили ефективну навчальну практику — розробку за методологією вже з першого дня на курсі. Це для того, щоб наші студенти не мліли при реальній роботі та стресі, який з'явиться на реальних завданнях, підкріплених часовими рамками.
Ви побачите як та навчитесь працювати правильно, розумно, керуючи власним часом. Дізнаєтесь, які процеси відбуваються в командах, які цикли проходить продукт, які є інструменти для контролю та спрощення роботи.
Детальніше про Agile, Kanban у статті "Інструмент Kanban: що це та як запровадити?".
Підсумок
Сьогодні ІТ-компанії шукають технічного спеціаліста, зі знанням тих фреймворків, які потрібні на конкретному проєкті. Вони турбуються про емоційне здоров'я компанії та її працівників, тож звертають увагу на софт скіли, не менше, ніж на хард. Ви не зможете ігнорувати методології розробки, тому що це одна із запорук успіху та організованості роботи на проєкті.
Дбайте про свій технічний розвиток, не забуваючи про ментальний.
Якщо Ви вирішили для себе, що саме час взяти курс навчання, дізнавайтеся більше про тривалість, наших викладачів, команду та процеси у наших координаторів.