Результати пошуку
ITVDN: курси програмування
Відеокурси з
програмування
Підписка

300+ курсів за популярними IT-напрямками

Вибери свою IT спеціальність

Підписка
Підписка

300+ курсів за популярними IT-напрямками

Результати пошуку за запитом: видеокурс c
Шалені знижки на всі ІТ-спеціальності

Автор: Редакция ITVDN

Друзі, 17 листопада -  День студента. І ми вітаємо вас з цим святом! Якщо ви вивчаєте нові технології, то певною мірою усі ви – студенти, незалежно від віку і набутого досвіду. Тож давайте святкувати! З 15 до 20 листопада для усіх, хто хоче вивчати програмування – знижки до 50% на навчання! Акція поширюється як навчання за відео курсами, так і Live Online навчання у групі з ментором. Деталі нижче. НАВЧАННЯ ЗА ВІДЕО КУРСАМИ Акційні ціни на спеціальності: Python Developer (доступ на 6 місяців) – 54 USD FrontEnd Developer (7 міс.) – 52 USD Верстальник сайтів (4 міс.) – 42 USD JavaScript Developer (3 міс.) – 31 USD React Developer (4 міс.) – 42 USD Angular Developer (4 міс.) – 42 USD .NET Developer (8 міс.) – 60 USD ASP.NET Core Developer (6 міс.) – 54 USD ASP.NET MVC Developer (5 міс.) – 52 USD Unity / Game Developer (6 міс.) – 63 USD Java Developer (7 міс.) – 52 USD Android Developer (5 міс.) – 45 USD PHP Developer (5 міс.) – 45 USD C++ Developer (3 міс.) – 31 USD Ruby Developer (4 міс.) – 42 USD Що ви отримуєте, купуючи пакет підписки за спеціальністю? Доступ до всіх відео курсів з обраного напрямку Доступ до Інтерактивних практикумів Вихідний код навчальних проектів Презентації, опорний конспект, ДЗ Консультації з тренером Онлайн тестування та сертифікати за пройденими курсами Диплом зі спеціальності у разі успішного складання фінального екзамену Доступ до нових курсів, які виходитимуть під час дії підписки. Навчання за відео курсами – це найбільш вигідна пропозиція. Вивчайте програмування у комфортному темпі та у зручний час. В залежності від обраної спеціальності відрізняється кількість відео курсів і термін доступу до них. Але кожний із пакетів дозволяє пройти повну підготовку з нуля до рівня спеціаліста! Усі ІТ-спеціальності НАВЧАННЯ В ФОРМАТІ LIVE ONLINE Також з 15 до 20 листопада діє знижка 30% на Live Online навчання в групах з ментором за такими напрямками: Python Developer – старт навчання 16 листопада FrontEnd Developer – 22 листопада Java Developer – 24 листопада .NET Developer – 28 листопада Live Online чудово підійде тим, кому подобається живе онлайн спілкування та навчання в групі з іншими студентами під керівництвом досвідченого ментора, який має досвід комерційної розробки. Усі уроки записуються і додатково студенти отримують також доступ до всіх курсів ITVDN за обраною спеціальністю включно з можливістю проходити тестування, отримувати сертифікати, використовувати інтерактивні практикуми і т. д. Знижка 30% надається при повній оплаті усієї спеціальності в період дії акції. При цьому почати навчання ви можете у листопаді або протягом 3-х наступних місяців. Дуже рекомендуємо користуватися послугою “Оплата частинами” від Монобанку або ПриватБанку – це дозволить вам отримати велику знижку і розбити виплати на декілька місяців без додаткових комісій. Групи до 25 осіб. Поспішайте зайняти місце! Детальніше про онлайн навчання з ментором P.S. Громадяни росії та білорусі не можуть брати участь в акції. Ми не надаємо ніяких послуг окупантам і тим, хто їх підтримує
Супер знижки на ІТ-навчання до Дня Знань

Автор: Редакция ITVDN

Доброго дня! День знань – це велике свято для всіх, кому подобається постійно дізнаватися нове, прокачувати свої знання та розвиватися. Водночас це гарна нагода почати вивчати щось потрібне та цікаве. А у випадку із програмуванням це ще й дуже перспективно. Незважаючи на кризи, ковід та війну, IT-сфера стабільно зростає і показує гарну динаміку. Рівень оплати праці програмістів вже такий, як у топ-менеджерів в інших сферах бізнесу і при цьому попит на фахівців постійно зростає. ITVDN святкує День знань разом з усіма, а тому 1 та 2 вересня ми влаштовуємо святкові знижки до 50% на всі підписки на ITVDN! Що обрати? Якщо ви хочете мати доступ до всіх відео курсів, обирайте один із універсальних пакетів: "Стартовий" (3 місяці) – 35 USD (замість 49,99) "Базовий" (6 місяців) – 60 USD (замість 89,99) "Преміум" (12 місяців) – 85 USD (замість 169,99) “Преміум” – найбільш вигідний пакет, оскільки крім доступу до усіх курсів на рік, ви отримуєте можливість пройти 24 онлайн тести і отримати сертифікати, використати 120 хвилин на консультації з ментором, відправити на перевірку 20 домашніх завдань, а також отримаєте доступ до всіх нових курсів, які будуть створені протягом дії підписки. Якщо ж ви хочете пройти навчання за певною спеціальністю, обирайте одну з 15 комплексних програм навчання. Акційні ціни на IT-спеціальності: Верстальник сайтів (доступ на 4 місяці) — $39 (замість $59.99) FrontEnd Developer (7 місяців) — $63 (замість $104.99) JavaScript Developer (3 місяці) — $63 (замість $104.99) React Developer (4 місяці) — $39 (замість $59.99) Angular Developer (4 місяці) — $39 (замість $59.99) .NET Developer (8 місяців) — $72 (замість $119.99) ASP.NET MVC Developer (5 місяців) — $49 (замість $74.99) ASP.NET Core Developer (6 місяців) — $58 (замість $89.99) Python Developer (6 місяців) — $58 (замість $89.99) Java Developer (7 місяців) — $63 (замість $104.99) Android Developer (5 місяців) — $49 (замість $74.99) PHP Developer (5 місяців) — $49 (замість $74.99) Ruby Developer (4 місяці) — $39 (замість $59.99) C++ Developer (3 місяці) — $31 (замість $44.99) Unity/Game Developer (6 місяців) — $58 (замість $89.99) Що входить до пакету за спеціальністю: покроковий план навчання з нуля до рівня спеціаліста; відео курси з обраної спеціальності; навчальні матеріали, вихідні файли програмного коду, опорний конспект, презентації до уроків; інтерактивні практикуми для формування навичок написання коду; консультації з тренером; онлайн тестування та сертифікати за всіма технологіями; диплом зі спеціальності у разі успішного фінального тестування після навчання.   Подарункові сертифікати на навчання для рідних і друзів! Якщо у вас є друг, який хоче опанувати IT-професію або розширити свої знання у програмуванні, ви можете порадувати його – вручити подарунковий сертифікат із доступом до всіх відео курсів. Під час акції подарункові сертифікати також будуть продаватися зі знижками, а активувати їх можна будь-коли протягом року. Нехай ваше навчання буде легким та приємним на ITVDN!
Знижки, що тануть на IT навчання

Автор: Редакция ITVDN

Дорогие друзья!  Для всех, кого интересует программирование, мы создаем отличные условия для легкого старта в освоении новых знаний и новой специальности. С 22 по 29 июля 2021 года на ITVDN большие скидки на обучение программированию. Чему можно научиться на ITVDN В Каталоге ITVDN более 200 видео курсов по всем языкам программирования и информационным технологиям. Вы можете изучать все, что хотите в любой последовательности. Пакет Стартовый – это доступ ко всем курсам и сервисам ITVDN сроком на 3 месяца. Его чаще всего выбирают новички, которые еще не определились со специальностью и хотят попробовать себя в нескольких направлениях, а также программисты, которые хотят изучить новые технологии по своей специальности. Во время акции стоимость Пакета Стартовый: 22, 23 и 24 июля – 32,5 USD (вместо 49,99 USD) 25, 26 и 27 июля – 35 USD 28 и 29 июля – 37,5 USD Купить пакет Стартовый по акционной цене 16 IT специальностей на ITVDN со скидкой 30% Frontend Developer - 49 USD - 40 курсов на 7 мес. React Developer – 35 USD - 15 курсов на 5 мес. Angular Developer - 28 USD - 10 курсов на 3 мес. Верстальщик сайтов -  28 USD - 22 курса на 4 мес. JavaScript Developer -  28 USD - 9 курсов на 3 мес. PHP Developer - 28 USD - 19 курсов на 4 мес. Ruby Developer – 42 USD  - 18 курсов на 6 мес. Python Developer -  42 USD - 18 курсов на 6 мес. C#/.NET Developer - 56 USD - 54 курса на 8 мес. ASP.NET Core Developer – 42 USD - 20 курсов на 6 мес. ASP.NET MVC Developer - 35 USD - 23 курсов на 5 мес. Java Developer -  49 USD - 28 курсов на 7 мес. Android Developer- 35 USD - 21 курс на 5 мес. iOS Developer – 28 USD - 7 курсов на 3 мес. С++ Developer – 28 USD - 8 курсов на 3 мес. Unity/Game Developer – 42 USD - 27 курсов на 6 мес. Программы обучения ITVDN разработаны профессионалами и соответствуют требованиям IT компаний к начинающим разработчикам. А система обучения на ITVDN - теория, практика, общение, тестирование и сертификация – позволяет достичь отличных результатов в короткие сроки. Как проходит обучение по специальности? Вы смотрите видео уроки Вы выполняете практические задания к каждому уроку. Вы учитесь писать код в интерактивном тренажере. Вы проходите тесты после каждого урока, чтобы проверить, как усвоен материал. Если что-то осталось не понятым – смотрите видео уроки повторно или обращаетесь за помощью к тренеру. Вы проходите курс за курсом, изучая все технологии, который должен знать специалист. После изучения всех обязательных технологий Вы сдаете финальный экзамен по специальности и получаете диплом. Обратите внимание! Подарочные сертификаты во время акции тоже можно приобрести со скидкой! Пусть ваш путь в программирование будет легким и успешным с ITVDN! Купить подписку по акционной цене
Вивчай Тестування ASP.NET Core MVC додатків безкоштовно

Автор: Редакция ITVDN

С 4 по 11 марта 2021 года на ITVDN проходит акция — вы можете пройти обучение по курсу “Тестирование ASP.NET Core MVC приложений” бесплатно! Чем примечательно тестирование ASP.NET Core MVC приложений? ASP.NET Core — это кроссплатформенная среда с открытым исходным кодом для создания современных корпоративных приложений на языке C#. Разработанные в данной среде приложения имеют богатые возможности для тестирования и сопровождения. Модель MVC (Model—View—Controller) позволяет реализовать архитектурное решение, которое отделяет графический интерфейс от бизнес логики, а бизнес логику от данных. Чтобы создавать качественное ПО с применением ASP.NET Core MVC, необходимо знать техники тестирования, обеспечивающие минимальное количество багов и уязвимостей, появляющихся в ходе разработки столь комплексных приложений. Именно для успешного решения таких задач вам пригодятся знания, изложенные в данном курсе.  О курсе “Тестирование ASP.NET Core MVC приложений” Автор видео курса — Юрий Науринский, .NET Developer. Курс состоит из 8 видео уроков общей длительностью 4 часа 52 минуты. Курс «Тестирование ASP.NET Core MVC приложений» позволит вам на практических примерах изучить применение Unit-тестирования, интеграционного и функционального тестирования веб-проектов. Создавая свой проект с нуля, вы научитесь быстро и корректно определять тестовые случаи, поймете практическую разницу между видами тестирования, а также, какой вид тестирования наиболее целесообразно применять для тестирования модели приложения, его представлений и контроллеров. Как один из важных итогов курса — вы поймете, как правильно проектировать архитектуру приложения, чтобы она была наиболее пригодна для дальнейшего тестирования. Программа курса: Введение. Обзор тестового проекта. Unit-тестирование бизнес-логики. Unit-тестирование Controller & Middleware Интеграционное тестирование компонентов ASP.NET Core MVC. Интеграционное тестирование View. Интеграционное тестирование базы данных. Функциональное тестирование: наивный подход. Функциональное тестирование: BDD. Для кого этот курс Курс предназначен для .NET разработчиков, которые используют платформу .NET Core и ориентированы на разработку приложений с применением модели MVC. Курс входит в комплексную программу обучения по специальности ASP.NET Core Developer. Чему вы научитесь на этом курсе: Понимать, с чего начинать и как продолжать тестирование ASP.NET Core MVC приложений. Понимать ситуации, в которых стоит применять различные виды тестирования. Понимать структуру пирамиды тестирования. Понимать, что такое Unit-тесты, интеграционные и функциональные тесты, а также вы узнаете признаки, которые должны присутствовать у хорошего теста. Понимать структуру разного вида тестов. Производить тестирование базы данных и бизнес логики. Узнаете, как тестировать View и нужно ли это делать разработчику. Применять разные типы функционального тестирования. Узнаете типичные ошибки функционального тестирования и научитесь их избегать. Понимать концепцию BDD (Behavior Driven Development) — разработки на основе поведения и ее отличие от TDD. Узнаете основы языка Gherkin и его применения при составлении тестов. Научитесь использовать фреймворк SpecFlow для реализации BDD концепции в своем коде. Сроки акции Акция проходит с 4 по 11 марта 2021 года. Доступ к курсу открывается на 10 дней.
Як проходить онлайн навчання за курсом .NET Developer у CyberBionic Systematics.

Автор: Армен Маїлян

<p>В 2020 году все учебные центры, школы и ВУЗы перешли на онлайн обучение. Но вариантов онлайн обучения очень много. И их эффективность, конечно, разная. Как новичку не ошибиться с выбором? Мы приглашаем вас познакомиться ближе с учебным центром, тренером и программой курса.</p> <p>CyberBionic Systematics&nbsp; совместно с ITVDN предлагает уникальный формат &laquo;живого&raquo; онлайн обучения, позволяющий использовать преимущества общения с наставником, работы в группе и доступ к огромной базе дополнительных знаний по выбранному направлению.</p> <p>На встрече, которая состоится 13 апреля, мы расскажем о том, как проходит онлайн обучение в CyberBionic Systematics по специальности .NET Developer. Вы узнаете, какие технологии изучаются на курсе, какие программы и сервисы используются для проведения занятий, общения, проверки знаний, совместной работы над курсовыми проектами и многое другое.</p> <p>Вы сможете задать вопросы тренеру, который ведет обучение в группах по .NET и получите ответы в прямом эфире.</p> <p><strong>Программа:</strong></p> <ol> <li>Коротко об учебном центре CyberBionic Systematics. Авторские программы обучения, видео курсы, тестирование, центр международной сертификации.</li> <li>Как проходит онлайн обучение <ol style="list-style-type:lower-alpha;"> <li>План специальности</li> <li>График занятий, структура занятия</li> <li>Помощник тренера, проверка ДЗ, общение между занятиями</li> <li>Курсовые проекты</li> <li>Поддержка HR специалиста, помощь в трудоустройстве</li> </ol> </li> <li>Специальность .NET Developer <ol style="list-style-type:lower-alpha;"> <li>Кто такой .NET разработчик</li> <li>Что нужно знать и уметь</li> <li>Что будете разрабатывать</li> <li>Какие перспективы</li> </ol> </li> <li>С чего начать? Бесплатный пробный урок, консультация по выбору курса и специализации.</li> <li>Вопросы и ответы. Розыгрыш скидок на обучение.</li> </ol> <p><strong>Целевая аудитория:</strong></p> <p>Начинающие IT специалисты, желающие пройти комплексное обучение по специальности .NET разработчик, а также те, кто хочет научиться создавать современные веб-приложения на языке программирования C# с нуля.</p> <p>Условия участия &ndash; <strong>бесплатно</strong>. Для получения ссылки-приглашения на вебинар зарегистрируйтесь.</p> <p>&nbsp;</p> <p><strong>Организаторы:</strong></p> <p><a href="https://edu.cbsystematics.com/ru">CyberBionic Systematics</a> &ndash; сертифицированный учебный центр, партнер Microsoft, авторизованный центр международной IT сертификации VUE Pearson. С 2007 года CyberBionic Systematics предоставляет услуги по профессиональной подготовке и повышению квалификации IT специалистов в форме <strong>очно</strong><strong>го</strong><strong> обучения</strong> в современных учебных центрах в Киеве или на территории компании-заказчика, <strong>on-line </strong>и <strong>видео</strong> обучения. На&nbsp;конкурсе IT&nbsp;Education Awards 2015 был признан лучшим в&nbsp;номинации <strong>Complex IT&nbsp;Education, получил награду </strong><strong>За&nbsp;инновации в&nbsp;IT образовании<strong> на конкурсе </strong></strong>IT&nbsp;Biz Awards 2015. По&nbsp;данным рейтингов&nbsp;<a href="https://dou.ua/lenta/articles/it-schools-rankings-2016/" target="_blank">DOU.UA</a>&nbsp;CyberBionic Systematics входит в&nbsp;тройку лидеров&nbsp;IT обучения в&nbsp;Украине.</p> <p><a href="https://itvdn.com/ru">ITVDN</a> &ndash; это онлайн платформа для изучения программирования по видео курсам. В каталоге ITVDN более 200 видео курсов по 20 IT специальностям, наиболее популярные среди них: FrontEnd, Java, Python, .NET, мобильная разработка и создание игр на Unity. Авторы курсов &ndash; практикующие разработчики, сертифицированные специалисты из IT компаний.&nbsp;</p>
ITVDN для корпоративних клієнтів Інтерв'ю із Дмитром Охріменком.

Автор: Редакция ITVDN

Дмитрий Охрименко – один из создателей ITVDN, автор видео курсов, консультант по построению распределенных и веб-ориентированных приложений, сертифицированный специалист Microsoft (MCTS, MCPD, MCT). Более 10 лет Дмитрий проводит корпоративные тренинги для IT специалистов в таких компаниях как 3Shape, GlobaLogic, Ciklum, Terrasoft, Simcorp и других. Мы попросили Дмитрия ответить на ряд вопросов, связанных с обучением IT специалистов и о том, в какой мере ITVDN может помочь в решении этих задач.   Как HR-специалисту узнать, какие новые технологии нужно изучить разработчику? Для этого есть много инструментов, которыми можно воспользоваться для определения действительно важных для разработчика тем. Так как бизнес должен зарабатывать деньги, то неправильно будет идти только на поводу у разработчика. Если говорить о мотивации, то все люди любят платить деньги за то, что приносит пользу, либо за то, что приносит удовольствие. Если брать разработчиков, то пользу им приносит все то, что может помочь в решении их повседневных задач. Если компания, например, разрабатывает какие-то веб-приложения, то, возможно, стоит обратить внимание на изучение их популярных библиотек, которые используются в проектах, на изучение разработки BackEnd-части. Это то, что можно отнести к пользе, которую получит разработчик. Если говорить об удовольствии, то все разработчики любят говорить, что они знают все самые последние технологии, что они имели опыт с последними версиями: C#, JavaScript, C++ и т.д.  Поэтому мотивация может заключаться в том, чтобы проводить обучение, может, не совсем полезное для проекта, но зато - это новые технологии, и разработчик будет чувствовать себя частью передовых технологий. Также необходимо проводить обучение для поднятия общего уровня знаний специалистов в проекте. По сути, как узнать, что нужно разработчикам? Лучше всего на этот вопрос ответит не сам разработчик, а тимлид или человек, который занимается организацией всей команды. Потому что четко понятно, что у этих ребят не хватает опыта работы с таким-то языком, инструментом и необходимо подтянуть именно эти навыки. Можно сделать, например, общий опросник для всех разработчиков и узнать, что они хотят. Как показывает практика, это обычно разбросанные требования: хочу учить С#, хотя человек пишет на Java, или хочу учить Python, хотя в проекте он не будет вообще использоваться. Для того, чтобы обучение мотивировало разработчиков и было полезно для самой компании, то HR-специалисту нужно собрать информацию не только от конкретных разработчиков, а еще и уточнить, что действительно необходимо для реализации тех задач, которые стоят перед командой в целом. Чтобы команда смогла поставить действительно качественный продукт.   Как происходит процесс построения корпоративного тренинга? Чаще всего компания понимает, что ей не хватает каких-то знаний в определенных направлениях. По своему опыту, если возникает какая-то задача у HR-специалиста или у тимлида, что команду нужно подтянуть по знаниям, например, по JavaScript, то мы просто приезжаем от Учебного центра CyberBionic Systematics и предоставляем перечень тех курсов и материалов, которые уже существуют. Если компании необходимо подготовить, допустим, Frontend-разработчиков, то мы приезжаем с теми наработками, которые уже есть. Также предварительно готовим конкретное предложение, если от компании уже поступили рекомендации, что, например, нужно сделать больший акцент на объектно-ориентированное программирование, на библиотеку, на определенные инструменты. То есть, мы подготавливаем предложение таким образом, чтобы высветлить те проблемы, которые возникают перед разработчиками и дополнительно добавляем какие-то материалы, которые могут поспособствовать дальнейшему росту специалистов. Мы проводим встречу с компетентными лицами. Собираемся с тимлидерами, с senior-разработчиками, они высказывают свои пожелания, они корректируют эту программу, и мы берем время на доработку дополнительных материалов. У нас очень много опыта по работе с киевскими компаниями. Очень часто компания Terrasoft заказывала именно абсолютно новую, индивидуальную программу. Они смотрели на то, что у нас есть, но вносили корректировки, которые требовали разработки 30-40 часов, под свои проекты. Чтобы обучение было действительно качественным и эффективным, чтобы компания получила из этого выгоду, специалистам компании необходимо озвучить, какие проблемы есть и в каком направлении нужно учить команду. В большинстве случаев тимлид и senior-разработчик понимают, что у его 10-ти мидлов, джуниоров и других специалистов не хватает опыта в определенных заданиях. Обычно это знания выборочные и их нужно подтянуть, или их просто нет, тогда нужно донести до слушателей. Наша задача понять, чего не хватает для того, чтобы специалисты были действительно продуктивными, и их работа была результативная. Для этого нужно подготовить программу, которая принесет пользу компании и специалисты будут удовлетворены. Мы расскажем им, что нужно знать и как нужно работать. Задачи компании будут решатся, а рабочих проблем должно стать меньше после того, как тренинг успешно закончится.   Какие формы обучения наиболее подходят для IT-специалиста? Чтобы обучение было максимально эффективным, я думаю, его необходимо комбинировать. Использовать обучение вместе с тренером, когда он будет своим примером мотивировать разработчика, заставлять что-то новое учить и двигаться дальше. Также комбинировать обучение необходимо с добавлением онлайн-составляющих, дополнительной литературы. Если брать корпоративное обучение, то максимально эффективное будет очное и онлайн, когда приезжает тренер или обучает через скайп и подобные ресурсы. Непосредственно взаимодействуют все группы слушателей и дополнительно к этому добавляется обучение в видеоформате. Для большинства проектов не всегда есть возможность оторвать людей от производственного процесса, есть определенные часы, в которые тренеру можно пообщаться с коллективом, рассказать теоретическую часть, но не всегда у разработчиков есть возможность полностью переключиться на подобного рода обучение. Обучения, когда в течение 5 дней в неделю по 5 часов учат определенную технологию, я считаю не очень эффективным, потому что информации очень много, не хватает времени, чтобы её освоить и закрепить. Я считаю, что обучение должно быть постоянным, интенсивным, но при этом в меру, чтобы была возможность переварить саму информацию. Чтобы был максимальный эффект, необходимо комбинировать очное и онлайн-обучение, когда тренер рассказывает материал и добавлять видеоформат обучения. Конечно, в идеале было бы перевести все на видеоформат и сделать так, чтобы слушатели только смотрели видеоматериалы, но у многих часто возникают вопросы. Если брать, например, проект ITVDN, то корпоративное обучение подразумевает еще и консультации, то есть команда может взять себе набор видеоуроков. Создатели и авторы курсов ITVDN хорошо понимают, что именно и в какой последовательности учить и какой эффект будет максимально достигнут. Мы можем составить индивидуальную программу, сделать временные метки и консультировать команду уже по ходу обучения, чтобы они смотрели все в видеоформате и не отрывались от рабочего процесса, при этом мы будем проверять результаты тестирования и отвечать на возникшие вопросы в ходе обучения. Мы открыты для диалога с компаниями, которые хотят мотивировать своих разработчиков и организовывать для них обучение. Наша команда готова разрабатывать индивидуальные программы, создавать индивидуальный график и подход к каждой компании в отдельности. У каждой компании свои собственные бизнес-процессы, своя корпоративная культура и всех под одну гребенку поставить не выйдет, поэтому мы готовы свои процессы подстроить под график конкретной организации.   Как ты посоветуешь "расшаривать" знания, делиться опытом внутри команды? Я считаю, что лучшего всего организовывать мастер-классы, когда сама команда для себя что-то полезное рассказывает. В команде всегда есть разработчики, у которых больше опыта. Неплохо было бы организовать день мастер-классов, составить график, где каждый разработчик должен выступить в течение 10-20-ти минут, рассказать о чем-то новом, показать технологию, сделать минимальную презентацию и просто поделиться знаниями, которые он получил на последнем проекте или вычитал, например, в статье. Польза в этом всем в том, что все понимают, над чем они работают, с какими сталкиваются задачами и технологиями, поэтому такие мастер-классы могут быть максимально эффективными для команды. Если компания пишет, например, используя Angular, то все мастер-классы нужно заточить под Angular и культивировать освоение тех частей этой библиотеки, которые необходимы для работы в проекте. Тимлидер может составить список докладов, и каждый сможет их проводить, будет общая копилка тех тем, по которым разработчик может провести мастер-класс и сделать расписание – это будет наиболее эффективный способ поделиться знаниями в команде. Также как способ - экстремальное программирование, вместе работать с одной задачей. Кто-то один знает процесс и диктует, а второй набирает код. Экстремальное программирование никто не отменял, но не в каждом проекте оно может примениться, чтобы более опытный специалист смог передать свои знания.
Введення в розробку програм під iOS. Частина 0.

Автор: Volodymyr Bozhek

Здравствуйте, дорогие читатели. Меня зовут Владимир. Любая технология рано или поздно приедается и рост себя как специалиста затрудняется. Было принято решение что то кардинально поменять в своей жизни. А так как писать различные интересные проекты я просто обожаю, было принято решение начать изучение в корне другой платформы, среды разработки и языка программирования. Поиск этой платформы оказался достаточно прост для меня. Я решил, что это будет мобильная платформа. У меня было много разных телефонов с разными операционными системами. Но свой выбор я сделал в пользу iOS, так как при железе слабее, чем у других телефонов, софт работает намного быстрее, чем на других платформах. Это не все преимущества этой платформы, но о других я рассказывать я не буду, дабы не раздувать дискуссию на эту тему. Скажу лишь одно, что телефон c iOS меня ни разу не подвел, даже в самые нужные моменты. Разумеется, что для разработки под iOS необходим mac, и я его купил. Перед покупкой, разумеется, пробовал разработку под мобильные платформы в гибридных платформах типа Xamarin, Ionic, но на то время функционал в них был не так совершенен, как сейчас, да и пользуясь ими, я бы остался на платформе Windows, это нарушало цель, которую я перед собой поставил по поводу другой платформы. В течение отпуска, где то за месяц я разобрался, как писать под iOS приложения и сразу начал искать проект, на котором смогу потренироваться. Друг предложил такой проект и я взялся. За 9 месяцев написал серьезное приложение, купил учетную запись разработчика, выкладывал сборки на Test Flight, их тестировали тестировщики, прошел валидацию в App Store и выложил приложение в App Store. А теперь по сути. Я постараюсь написать серию статей, в которых распишу простым языком, что надо делать, чтобы у вас тоже это получилось и вы таки выложили свое приложение в App Store. Касаемо разработки под iOS, то это просто мое хобби во вне рабочее время (надо же как то развлекаться), основной хлеб приносит разработка под Windows/Web платформу с технологиями Microsoft. Итак, приступим. Включите свой мак, найдите на панели задач иконку App Store и нажмите на нее. Выглядит эта иконка вот так: Затем введите в поле поиска, текст “xcode”, вы должны увидеть следующее:  У меня Xcode уже установлен, поэтому на скриншоте отображается кнопка “Open”, у вас будет отображаться кнопка “Install”. Установите Xcode себе на компьютер, версия Xcode с которой мы будет работать с вами в этом примере, будет 8, на текущий момент это последняя версия этой среды разработки. Язык программирования, который мы будем использовать, называется Swift, по синтаксису он больше похож на JavaScript и где-то даже на C# местами. Синтаксис языка Swift в этих статьях мы разбирать не будем, в сети интернет есть полно руководств на эту тему. Сам синтаксис языка не сложно изучить, это делается за день, сложность как раз возникнет при попытке разработки приложения под iOS. Вот именно эту сложность, мы с вами и постараемся одолеть. Чтобы серия статей была как-то взаимосвязана, мы с вами напишем проект под названием “Warehouse” (склад), в котором можно будет добавлять товары, заполнять их атрибуты, редактировать и удалять товары. Данные будут сохраняться в настройки телефона. Вы уже установили Xcode 8? Если да, тогда запускайте его, вы увидите следующее: Нажмите кнопку “Create a new Xcode project”. Вы увидите такой экран:  Выделите проект “Single View Application” и нажмите кнопку “Next”. Вы попадете на экран задания названия проекта: На данном скриншоте виден пример того, как заполнить название приложения. В поле “Product Name“, введите “Warehouse”, так будет называться наше приложение. В поле “Organization Name”, введите свои имя и фамилию, или название вашей компании. В поле “Organization Identifier”, вводится уникальный идентификатор приложения, который будет использоваться как ключ при регистрации данного приложения в iTunes, чтобы была возможность подписывать сборки и отправлять на бета сервер Test Flight для тестирования, но об этом позже. Вкратце “com” - это сокращенно “company”, “bozhek” это название компании, у вас это будет другое название. В поле Bundle identifier видно полное название вашего приложения в iTunes. В поле Language, оставьте Swift. В поле Devices, выберите iPhone. Нажмите кнопку “Next”. Откроется проект, который мы создали: Обратите внимание на красный кружок в поле Status: “Signing for Warehouse reguires a development team”. Это сообщение говорит нам о том, что приложение надо подписать сертификатом, без сертификата мы не соберем и не запустим это приложение. Давайте это исправим. В поле Team, откройте выпадающий список и выберите в нем пункт “Add an Account...”, откроются свойства среды разработки Xcode, с предложением ввести логин и пароль от  вашей учетной записи в App Store, под которой вы устанавливаете приложения себе на телефон: Если же у вас по каким то причинам нет этой учетной записи, создайте ее, нажав на кнопку “Create Apple ID”. Создание этой учетной записи я не буду рассматривать в данной статье, поскольку она создается очень легко и в сети интернет есть полно информации на эту тему. Итак, вы ввели в поля Apple ID и Password свои данные, нажмите кнопку “Sign In”. После этого красный круг с ошибкой пропадет и вы увидите следующее: Теперь вы сможете собрать и запустить свой проект. Заметьте, я рассказываю чисто практически как и что делается, особо не вникая в детали. Если вам нужна более подробная информация, вбейте в гугл WWDC, и посмотрите официальные видео сессии от компании Apple, в их двухчасовом видео много воды, но зато есть теория, которая будет вам нужна. Я даю только суть. Нажмите на иконку приложения в проекте: Выберите симулятор “iPhone 7”. Затем нажмите на кнопку Собрать и запустить приложение: Будет запущена сборка проекта и запущен симулятор “iPhone 7”, в котором откроется наше приложение: Сейчас мы видим только белый экран и больше ничего, так как мы еще ничего не делали. Чтобы выйти на рабочий стол в симуляторе, выполните сочетание клавиш Shift + Command + H, это сочетание означает нажатие кнопки Home: Вы увидите на рабочем столе наше приложение "Warehouse". Теперь давайте остановим выполнение приложения, для этого в Xcode нажмите кнопку: Теперь давайте посмотрим, что у нас есть внутри проекта. Выделите в левой панели среды разработки файл “Main.storyboard”, в этом файле содержится представление приложения. В панели справа отображаются свойства представления. Разработка под iOS строится через паттерн MVC (Model View Controller), файл Main.storyboard, содержит View, которые вы будете использовать в своем приложении для создания визуального  интерфейса. Теперь давайте выделим в панели свойств вкладку Class: В поле Class , мы видим класс контроллера, привязанный к данному представлению. Теперь выделите вкладку Size: На данной вкладке задаются размеры представления. Выделите вкладку Events: На данной вкладке задаются обработчики событий в представлении с привязкой к методам в контроллере. Теперь выберите в левой панели файл ViewController.swift : На 9 строке подключено пространство имен UIKit. На 11 строке объявляется класс с именем ViewController, который наследуется от базового класса контроллера UIViewController. На 13 строке мы переопределяем метод, загрузки представления, этот метод вызывается когда представление начинает свою загрузку. В этом методе необходимо предварительно проинициализировать данные элементов управления, используемых на вашем представлении. На строке 14, вызывается метод базового класса ViewController. Код на строке 18 нам пока не интересен, мы его рассматривать не будем, чтобы не путаться. На этом урок завершается. На следующем уроке, в первой части, мы рассмотрим с вами, как пользоваться элементами управления, как привязывать к ним обработчики событий и как взаимодействовать с ними.
Використання HTML Agility Pack та CSS Selectors

Автор: Редакция ITVDN

Введение В следующих примерах используется HTML Agility Pack (НАР), чтобы загрузить HTML в объект модели документа (DOM) и разбить на узлы. Дополнительно есть случаи, когда приходилось анализировать документ об элементах, которые не являются действительно узлами, такие как комментарии. В дополнение к наблюдениям около HAP в целом будут указаны методы расширения, предоставляемые пакетом HAP.CSSSelectors, что позволяет значительно проще выбирать. Задний план Был успешно использован Html Agility Pack для клиента, проанализированы HTML документы, чтобы извлечь необходимую информацию. Расширения CSSSelector будет добавлять новый мощный уровень абстракции, чтобы собрать необходимые данные. Использование кода Пакеты для примера нужно будет импортировать с помощью NuGet. Описания пакетов будут загружены в проекте, но нужно будет установить менеджер пакетов NuGet для восстановления библиотек. В проект был включен очень простой HTML файл с примерами вопросов, которые необходимы для решения своих проектов. Чтобы проверить без лишних изменений, необходимо скопировать файл HTML в следующем дисководе и каталоге - C: \ TestData. HtmlAgility имеет ряд классов, доступных для его добавляемых классов и перечисления, которые представляют различные части DOM, эти классы включают HtmlAttribute, HtmlAttributeCollection, HtmlCommentNode и так далее. Первый класс, который мы будем изучать, это HTMLDocument класс. Этот класс имеет методы для загрузки и анализа документа в его соответствующих частях. В исходном коде вызывается каждая секция кода, использующая номенклатуру (часть X), где X представляет собой число. Чтобы использовать, следующая строка должна быть реализована: HtmlAgilityPack.agpack = new HtmlAgilityPack.HtmlDocument(); Следующий метод вызывает метод для загрузки документа. Вы можете загрузить его из строки:   agpack.LoadHtml(Html string) //or from a resource – agpack.Load(@"c:\testdata\testdat.htm");   Файл в себя включает недостающий закрывающийся тег шрифта и неуместный закрывающий тег. Он прекрасно работает в браузере, не выдает ошибку в HAP, но может быть проверенным на это. var errors = agpack.ParseErrors; ParseErrors будет возвращать коллекцию и подсчет ошибок. Достаточно интересная вкладка, закрытие шрифта не выдаст ошибку. После того, как документ был загружен, двумя основными способами для поиска являются:  SelectNodes(string XPath)  // from the DocumentNode GetElementbyId(string Id) // from the HtmlDocument Поскольку может быть только один ID, getElementById вернет один узел и SelectNodes вернет коллекцию узлов, потому что с помощью XPath он может соответствовать одному или нескольким элементам. Находим приложение, где будет добавляться несколько файлов вместе, ограничивающее каждый документ с начальным и конечным комментариями. Ниже показано, как обрабатывать разделения этого документа обратно в его составную часть. Файл, который включен, имеет секцию, которая очерчена с комментариями:  HTML Body  Вы можете использовать следующую команду, чтобы получить комментарий: var comment = agpack.DocumentNode.SelectNodes("//comment()[contains(., 'Start Table:')]"); Это говорит от всего документа ("//") выбор комментариев, что содержат от текущего местоположения (.) слово Начало табл. Так как это является комментарием, то не имеет дочерних узлов и внутреннего текста, только текст самого комментария. Это полезно, если то, что вы хотите сделать - это разобрать комментарий, чтобы определить значение в комментарии (номер счета в данном случае), но на самом деле не поможет, если вы хотите видеть текст между комментариями. Чтобы достичь этого, возвращаемся обратно в регулярные выражения и группировки. var html = Regex.Match(agpack.DocumentNode.InnerHtml,@"(?.*)",RegexOptions.Singleline).Groups[1];   Теперь в html.Value имеется текст между двумя тегами. Переходим к нахождению элементов в DOM, первый пример находит узел, используя getElementById. Есть три таблицы, но только два идентификатора возложены на них. Одним из них является ID = "abc", другой ID = "table3". Начнем с таблицы  ID = "abc": var node = agpack.GetElementbyId("abc"); Это вернет один узел, представляющий таблицу. InnerHtml будет содержать весь текст между тегами.  Он также будет содержать набор узлов, представляющих DOM структуру таблицы. Один из подходов к получению узла строк заключается в использовании Linq, чтобы обнаружить их: var rownodes = node.ChildNodes.Where(w => w.OriginalName == "tr"); Если проверить подсчет, вы увидите, что у вас есть три строки. Однако, на самом деле существует четыре ряда, первый записанный  не будет найден. Другой подход заключается в использовании SelectNodes на узле, чтобы обнаружить элементы tr. rownodes = node.SelectNodes("tr"); Но это также проблема - найти все строки, проще найти элементы управления. Как насчет node.SelectNodes ("/ tr")? Это ничего не возвращает. Как насчет node.SelectNodes ("// tr")? Хорошая новость состоит в том, что он нашел недостающую строку вместе со всеми строками (12) в документе. После небольшого углубления нашлись следующие два рабочих решения: rownodes = node.SelectNodes(node.XPath + "//tr"); //or // http://www.w3schools.com/xsl/xpath_axes.as rownodes = node.SelectNodes("descendant::tr"); это возвращает все четыре. Возможно, HAP делал бы SelectNodes от текущего узла "//tr" и работал бы, увы "//" - говорит искать от корня документа. Но второй вариант работает, как потолок от выбранного узла. Аналогичным образом мы можем найти все td элементы, используя те же процедуры. Отметим, что для таблицы нужно 3 вернуть двенадцать td элементов, даже если они являются дочерними. node = null; node = agpack.GetElementbyId("table3") nodes = node.SelectNodes("descendant::td"); Переходим к HAP.CssSelectors. Это находится на вершине HtmlAgility пакета и будет на самом деле обеспечивать установку в качестве части пакета NuGet. Это позволяет выбрать элементы, используя CssSelectors, нежели XPath. Например:  rownodes = agpack.QuerySelectorAll("#abc tr");   В этом случае не нужно искать в узле, просто, выбрав из всего документа, он вернет ожидаемых 4 ряда. listTDNodes = agpack.QuerySelectorAll("#table3 td"); Ниже приведен пример получения только s (три) во втором ряду.   listTDNodes = agpack.QuerySelectorAll("#table3 tr:nth-child(2) td"); Это вернуло двенадцать пунктов, четыре ряда из 3 колоноки. Одно замечание. Способ QuerySelectorAll возвращается, как список <узлов>, а не коллекция узлов. Это важно знать, если планировать смешивать и сочетать. В дополнение к выбору по идентификатору (#) можно выбрать по классам (.), это гораздо проще, чем искать атрибут с классом, используя XPath. listTDNodes = agpack.QuerySelectorAll(".table"); Возвращаем первую и третью таблицу с классом table. Точки интереса В заключении скажем, что продление CssSelectors - это еще один полезный инструмент для легкого выбора элементов, без необходимости копать вглубь XPath или перебирать коллекции. Источник: http://www.codeproject.com/Articles/1038320/Using-HtmlAgility-pack-and-CssSelectors
Stack Overflow – Developer Survey Results 2016

Автор: Редакция ITVDN

IT тренды. Самые востребованные технологии. Оплата труда в разных странах.  Более 56 тысяч программистов рассказали, кто они и как работают. Сообщество программистов Stack Overflow объединяет 4,7 миллиона человек. Каждые 8 секунд на ресурсе задается вопрос касательно разработки, кода, поиска работы и так далее. И начинающие программисты получают ответы от опытных и знающих девелоперов. Ежегодно Stack Overflow проводит исследование своей аудитории, с результатами которого в 2016 году ITVDN хочет ознакомить Вас. В опросе принимали участие 56 033 разработчика из 173 стран, отвечая на 45 вопросов касающихся разных сторон жизни – от работы до любимого животного. Разработчики почти единогласно предпочли кошкам собак (но не дэвы в Германии).  И внезапно оказалось, что 7% разработчиков нескромно идентифицируют себя как "рок-звезды", а все, кому до 40 лет, лучше просмотрят Star Wars вместо Star Trek.   А теперь серьезно. РАЗРАБОТЧИКИ География Наибольшее количество респондентов из Америки – 13 540 человек, Великобритании и Индии – 4 573 и 4 193 человека, соответственно. Из Украины в опросе принимало участие 802 человека. Категории IT-специалистов Из 55 735 анкет преобладающее количество (71,6%) – это разработчики (программисты, инженеры, старшие разработчики). Встречаются также такие варианты как рок-звезда, ниндзя, гуру и хакер. Категории разработчиков  28% опрошенных определяют себя как Full-stack-разработчики. Они указали, что работают с 5-6 языками и фреймворками, самым популярным из которых является JavaScript (85,3%). SQL занимает 2-е место (58,9%), а язык программирования C# оказался на 3-м месте (37,3%). Back-End Web-разработчики составляют 12,2%, а Front-End Web Developer – всего лишь 5,8%. Самой популярной технологией и у одних, и у вторых тоже является JavaScript (более 54% и 90% в категориях разработчиков соответственно). Примерно одинаково распределились голоса разработчиков мобильных приложений: Android – 3%, около 2,5% – iOS-разработчики. Разработкой приложений для Windows Phone занимаются всего 59 респондентов (0,1%). Примечательно, что ответ «Я студент» выбрали лишь 11,4% опрошенных, остальные уже являются практикующими разработчиками. Возраст и пол Чуть больше 28% респондентов находятся в возрастной категории от 25 до 29 лет. Средний возраст разработчика в общем - 29,6 лет. Стоит отметить, что в среднем разработчик в Индии на 6 лет моложе, чем разработчик в Соединенных Штатах. Процентное соотношение женщин и мужчин в IT-сфере всегда находится в дисбалансе, это не новость. В данном маркетинговом опросе 92,8% анкет были заполнены мужчинами в возрасте от 20 до 60 лет, 5,8% - женщинами от 20 до 24 лет, 1% воздержался от ответа, а 0,5% причислили себя к категории «Другое», обладая отличным чувством юмора. Опыт работы Фактический опыт работы очень важен для разработчика, ведь это прямое подтверждение его знаний. Участники сообщества Stack Overflow в среднем указывают 6,5 лет опыта работы, но это не обязательно профессиональный стаж. Студенты, к примеру, в среднем указывали 3,4 года опыта работы вообще. Разработчики при составлении своего профиля или резюме принимают во внимание неоплачиваемую занятость, удаленную или частичную работу на разных проектах. На диаграммах ниже Вы можете увидеть среднее количество лет занятости в сфере IT большинства респондентов, распределение мужчин и женщин в зависимости от опыта работы. Любопытно и даже ожидаемо, что 12,4% женщин-разработчиков занимают должность дизайнера, 11,6% - QA Engineer, а 10,6% - Front-End Web Developer. Обучение Постоянное обучение и изучение новых, развивающихся технологий – залог успеха для всех специалистов IT. Во всем мире 69% разработчиков занимаются самообразованием, по крайней мере, частично. 13% из них признали, что являются самоучками. Немного более 40% разработчиков имеют степень бакалавра (BA/BSc) в области компьютерных наук или в смежной области. И лишь 2% разработчиков имеют докторскую степень. В Украине ситуация немного другая. По данным последнего исследования DOU.UA – 81% разработчиков Украины занимается самообучением, но при этом 74% всех респондентов имеют высшее образование (программирование, точные науки). То есть базовые, теоретические знания в университетах нашей страны – это отличный фундамент для надстроек из знаний коммерческих технологий. Онлайн обучение, в частности онлайн-курсы, выбирают 25,5% респондентов, что составляет 10 246 человек. В отличии от Украины в мире онлайн курсы очень популярны и востребованы. Видео ресурс для IT-специалистов ITVDN рад таким показателям, ведь это означает, что наша работа соответствует мировым тенденциям в IT-образовании. ТЕХНОЛОГИИ Самые популярные технологии Разработчику всегда необходимо быть в тренде последних новостей мира IT, особенно тех, которые касаются новых технологий, обновлений и т.д. Участники опросов Stack Overflow еще с 2014 года подчеркивают популярность технологий JavaScript и SQL, которые возглавляют рейтинг, и их доля растет с каждым годом. Такие фреймворки как Node.js и Angular JS по последним данным показывают быстрый рост среди web-разработчиков.   JavaScript входит в большинство наиболее востребованных стеков технологий. Full-stack разработчики работают с PHP больше, чем с любым другим языком back-end (после тесно следуют C # и Java). Большинство респондентов из 173 стран мира в действительности знают и работают в Full-stack, предпочитая об этом не распространяться (около 60% всех девелоперов согласно внутренней статистике Stack Overflow. В среднем разработчик регулярно использует 4 или 5 основных технологий и фреймворков. Наиболее часто используемая комбинация 3-х технологий – это JavaScript, PHP и SQL. Теперь Вы знаете, что нужно разработчику для того, чтобы конкурировать на рынке труда. Зарплата Уровень заработной платы характеризует многие показатели экономики и благосостояния страны. И, конечно, стоимость и значимость денег везде разная. В Украине зарплата для разработчиков очень важна, это один из факторов мотивации в работе. Правда, со всех стран, которые представлены в данном исследовании, такую высокую важность размера заработной платы показывают только украинцы и поляки – более 65%. Рейтинг уровня заработной платы (по технологиям) Среди 3 095 Full-Stack разработчиков США, те, кто используют JavaScript и облачные технологии, или работают с React/Redis, получают больше своих коллег без подобных навыков. Front-end разработчики США, которые используют React, Node или Angular в работе с JavaScript, могут рассчитывать на более высокой уровень доходов. А теперь рассмотрим необычный индекс BigMac, по которому The Economist’s сравнивает зарплату разработчиков. Чем больше бургеров можешь купить – тем лучше живешь. Получается, что в Украине разработчикам жить очень даже хорошо, как и в Австралии. А про статус фаст-фуда в стране поговорим в другой раз. Интересно, что в этом же опросе получилось, что часть зарплаты, которую разработчики отдают в оплату жилья, в Киеве составляет 18%, что больше тех средств, которые тратят канадцы, немцы или индусы. Выводы: На данный момент в Украине самым мощным стимулом в работе IT-специалиста остается уровень заработной платы, при том, что уровень зарплат IT в Украине остается одним из самых низких в мире. Разработчикам нужно изучать дополнительные фреймворки и технологии, это всегда будет преимуществом на рынке труда. Самообучение и IT видео-курсы не пройдут даром. Набирайтесь знаний и опыта, читайте литературу и становитесь лучшими девелоперами в Украине и мире. Р.S. Кстати, украинцы выбирают кота, как домашнего питомца, чаще, нежели собаку (28% против 10% согласно опроса DOU.UA).
Чи потрібна програмісту вища освіта?

Автор: Влад Сверчков

Статистика DOU та Stack Overflow Що відбувається у технічних ВНЗ на “айтішних” напрямках? Вага диплому Чому навчають у вишах? Чи потрібна математика в програмуванні? Рейтинг українських ВНЗ Вартість навчання у ВНЗ Підсумки Вітаємо вас, дорогі читачі блогу ITVDN! Сьогодні ми розглянемо дуже важливу тему, яка має багато гострих кутів. Стосуватиметься вона вищої освіти, а саме – її необхідності для програмістів. Відразу зазначимо – тема наповнена багатьма нюансами. Ми намагатимемося охопити всі важливі моменти, які допоможуть скласти максимально цілісну картину та дати розгорнуту відповідь на головне питання цієї статті. Давайте не зволікатимемо з ліричним відступом і відразу приступимо до пошуку інформації, а також до розстановки всіх точок над “i” в обговореннях “чи потрібна програмісту вища освіта?” і що потрібно для програміста у виші взагалі. Статистика DOU та Stack Overflow Насамперед дізнаємося, як справи з вищою освітою у тих, хто зараз займається розробкою. Для цього звернемося до опитування Stack Overflow Developer Survey 2022, яке цього року зібрало 70 000 анкет. Якщо вірити цьому джерелу, 80% респондентів мають певну форму вищої освіти. Виходить, 4 з 5 розробників мають диплом. Що цікаво, 38% з тих людей, що тільки навчаються програмуванню і ще не мали досвід комерційної розробки, мають диплом. Це свідчить про те, що навчатися ніколи не пізно – навіть якщо у вас є наукова ступінь не за ІТ-фахом і ви тільки зараз почали вивчати кодинг. Відповідно до опитування Stack Overflow Developer Survey 2020 (65 000 анкет), майже 85% опитаних з числа професійних розробників вважають, що формальна освіта хоча б більш-менш є важливою. Проте майже 16% вірять, що вища освіта і зовсім зайва. Тепер звернемося до портрета IT-фахівця за підсумками 2020 року від DOU. Вся інфографіка складена на підставі 12419 анкет. Аналізуючи розділ “Освіта та саморозвиток”, можна сказати таке: хто б що не говорив про вищу освіту, але більшість IT-фахівців мають повну вищу освіту, а деякі — навіть дві. Дві вишки переважно у Senior PM, а максимальна кількість кандидатів наук у фахівців Data Science, яким потрібна сильна математична база для виконання посадових обов'язків (її вони й отримують у ВНЗ). Найменша кількість тих, хто закінчив вищий навчальний заклад, припадає на Junior розробників ПЗ. Це й не дивно — більшість отримують свою першу посаду в IT ще на студентській лаві. Таким чином, як вітчизняна, так і зарубіжна статистики показують, що переважна кількість професійних розробників таки має диплом. Це зовсім не означає, що на роботу в галузі IT вони потрапили виключно завдяки знанням, отриманим у ВНЗ. Те ж опитування від Stack Overflow, тільки за 2019 рік (90 000 респондентів), показало, що понад 86% опитаних самостійно вивчали необхідну їм мову, фреймворк або інший інструмент розробки. Хоча в опитуванні 2022 року не було такого ж пункту, ми впевнені, що статистика самоучок на поточний рік не сильно змінилася і плюс-мінус той же відсоток зберігся до сьогодні. Виходить цікава колізія: якщо переважна більшість закінчувала (або закінчує в даний момент) вузи, то чому ці студенти/випускники самостійно вивчають те, що їм треба в роботі? Чому навчають в університетах у такому разі? Давайте розбиратися. Що відбувається у технічних ВНЗ на “айтішних” напрямках? Сучасні вищі навчальні заклади несуть мало радості тим, хто має намір стати програмістом. Безумовно, студентська романтика та пригоди чекають на вас у будь-якому місці здобуття вищої освіти. Проте ми ведемо мову саме про цільове призначення цих закладів. Відповідаємо на запитання цього розділу: в університетах досить неоднозначний стан речей. Усі суперечливі моменти ми представимо у вигляді списку: З одного боку, у ВНЗ справді вивчається програмування, алгоритми, структури даних, дискретна математика та інші важливі для програмістів речі. З іншого боку, багато предметів є зайвими, або такими, які студентам не до душі. Ми не порушуватимемо тему, які дисципліни справді важливі для програмістів, а які мають сумнівну цінність, проте факт залишається фактом: дуже часто студенти обурені наявністю філологічних предметів, таких, як історія, філософія, менеджмент, правознавство, історія культури та інші. Подібні ситуації виникають і з технічними напрямками. Припустимо, студент очікував вивчення програмування на C# та інших високорівневих мовах; насправді ж на "шарпи" припадає 3 семестри, а на наступних курсах доводиться працювати з низькорівневим Асемблером і писати програми під логічні контролери за допомогою ST, FBD і SFC, які часто використовуються для автоматизації виробничих процесів. Кожен університет має свої навчальні програми, але подібні розбіжності очікувань та реальності зустрічаються скрізь. Окрему увагу варто приділити якості освіти. Вище ми говорили, що в університетах все ж таки викладають те, що необхідно програмісту, хоч і частково. Але і тут є кілька проблем. Перше, що варто мати на увазі: у жодному вітчизняному ВНЗ із вас не зроблять, наприклад, сучасного .NET розробника, або DevOps інженера. Окрім того, що самі програми навчання застарілі років на 10 (у кращому випадку), їх іноді ведуть сивочолі старожили кафедр, які зачитують матеріал із книг епохи Горбачова. І вони не мають наміру оновлювати навчальну програму, оскільки вникати в нові технології для них не комільфо. Також іноді буває, що такий викладач не проти повчити вас життя, або просто нівелювати вас як особистість. Чули історії про те, як студенти до ночі захищали свої лабораторні / розрахункові роботи? А про те, як деяким просто неможливо здати предмет, який навіть близько не потрібний програмістам? Безумовно, зустрічаються і цілком лояльні, добрі та приємні викладачі, але на кожній кафедрі ви знайдете таку людину, від якої вас хапатиме Кіндратій. Чи хотіли б ви кілька семестрів (а то й весь термін навчання) провести в компанії такої людини і вимотати свої нерви? Відносно молоді програмісти-викладачі, які займаються розробкою на комерційній основі, звичайно, зустрічаються, і з кожним роком їх все більше і більше, проте і серед них знайти тямущих лекторів — ще те завдання. Найчастіше такі викладачі просто сідають за ноут, включають проєктор, пишуть код (проєктуючи все на дошку) і щось коментують, поки інші сидять і півтори години дивляться. Так, це краще, ніж ті ж викладачі похилого віку з крейдою в руках. Але просто кодингу недостатньо. Студенти також люди; їм потрібна жвава подача матеріалу від цікавого лектора, який вміє приковувати до себе та свого коду увагу. Крутий програміст, який уміє кодити, але не вміє зрозуміло доносити до решти те, що він робить, далеко не найкращий варіант. Якщо нас читають лектори-програмісти більш-менш відомих ВНЗ, які при цьому не користуються популярністю у своїх студентів, закликаємо їх замислитись над своїми методами подачі матеріалу. Гарний програміст – не те саме, що гарний викладач. Якщо людина вміє грамотно подавати матеріал, у неї буде менше проблем із відвідуваністю та дисципліною, а також більше позитивного фідбеку від студентів. Викладання (від слів “викладати”, “викласти”) – це навичка донесення інформації, і її необхідно розвивати, над нею треба працювати. Обираючи навчання в університеті, варто враховувати, що він орієнтований на самостійну роботу самих студентів. Вважається, що 80% навчального часу студенти повинні приділяти самостійному вивченню предмета, а решта 20% покладаються на лекції викладачів. Ті абітурієнти, котрі вважають, що в універі їх вивчать на програмістів, помиляються. Ніхто нікого вчити не збирається, адже це не школа. І студент повинен це усвідомлювати. Також часто буває так, що на лекціях вам розповідають одне, а на лабораторних ви робите зовсім інше. Тонни лабораторних та розрахунково-графічних робіт — постійні супутники кожного студента-технаря, зокрема й студента-програміста. Головні рушійні сили технічного університету – "корочка", яка необхідна для роботи, очікування та надії членів сім'ї, а також уникнення армії. Щире бажання отримати професію, якою ти “палаєш”, є далеко не у всіх, оскільки у 17 років дуже складно визначити майбутній фах всього свого життя. А у щасливчиків таке щире бажання швидко згасає, коли вони зіштовхуються з реаліями і розуміють, що просто виконуючи навчальний план протягом 4-6 років в університеті особливо нічого не досягнеш на поприщі ІТ. Хтось скаже, що така ситуація у ВНЗ — чудова школа життя. З одного боку, це справді так. Але якщо подивитися на систему навчання вітчизняних ВНЗ з точки зору "як має бути" і "як є насправді", ви помітите, що досвід та знання, з якими студенти закінчують навчання, отримуються не завдяки, а всупереч цим самим вишам. На жаль. Вага диплому Чи потрібна вища освіта у сфері IT для успішного працевлаштування? В українських IT-компаніях часто вимагають хоча б диплом незакінченої вищої освіти або щоб кандидат був на шляху до його отримання. Однак це не означає, що без диплому вас не приймуть до лав розробників – просто у кожної компанії своя політика, а чим більша компанія, тим солідніші запити щодо претендентів. Більше того, диплом на співбесіді – це формальність, галочка. Насправді ж ви будете проходити тестові завдання та відповідати на технічні запитання, тож навіть червона “корочка” фактично нічого не вирішує. Якщо говорити про розвинені країни, то там все серйозніше. Навчання у вищих навчальних закладах важче і диплом справді відіграє більш значиму, ніж у нас, роль. На тих, хто закінчив виш, роботодавець і дивиться по-іншому – з повагою та визнанням. Досить часто іноземні компанії, незалежно від навичок та досвіду, вимагають наявність диплома бакалавра або, як мінімум, щоб ви на момент розгляду резюме перебували на старших курсах ВНЗ. Більше того, диплом спрощує процес отримання робочої візи, без якої ви не зможете вирушити працювати програмістом, наприклад, у європейські країни або США. А ось на які посади вас із максимальною вірогідністю не візьмуть без диплому як у рідній країні, так і за кордоном — це керуючі позиції в ІТ. Їх займати має право лише людина з повною вищою освітою. Маємо дві сторони медалі. Якщо глянути на аверс — диплом для “галочки”, який при цьому вистражданий потом, кров'ю та вашим часом. Але реверс говорить нам про зарубіжжя та керівні посади, а також про незабутню школу життя, зрештою. Чому навчають у вишах? У кожному вищому навчальному закладі є своя навчальна програма. Однак якщо підсумувати, то можна виділити такі дисципліни: Алгоритми та структури даних Алгоритмічне програмування Програмування популярними мовами (C/C++, C#, Java, Python) Вебпрограмування Комп'ютерна графіка Дискретна математика Вища математика Комп'ютерні мережі Бази даних Теорія інформації та кодування Криптографія Операційні системи інші дисципліни Крім цього, у вузах студентам також читають предмети, які напряму не пов'язані з програмуванням та інформаційними технологіями: економіка, правознавство, історія, психологія, охорона праці, філософія та інші. На стику філологічного та технічного розташуємо англійську мову, оскільки вона надважлива для успішної взаємодії із зарубіжними навчальними матеріалами, статтями, відеороликами, професійними книгами. Також вона знадобиться для вільного спілкування з іноземними колегами та роботодавцями. Інгліш знадобиться і для написання грамотного коду (без спотворених, “кривих” назв). При всьому багатстві вибірки дисциплін, у вітчизняному виші ви можете розраховувати лише на ази будь-якої айтішної спеціальності. Вам дадуть все поверхнево – цих знань вистачить для розуміння того, що відбувається в тій чи іншій сфері. Все інше ви повинні будете доучувати, самостійно практикуватися, відвідувати відповідні курси, проходити інтернатуру в IT-компанії і таким чином добирати знання, яких вам бракує. Звичайно, на Заході існують такі виші, де ви зможете пройти гарне профільне навчання. Наприклад, факультет Informatics, Games Engineering in Technical University Of Munich (Німеччина). За кордоном усвідомлюють важливість IT-індустрії та намагаються відповідати новим тенденціям, а не просто пхати у вас “вічну класику”. Тому факультет розробки комп'ютерних ігор – норма для розвинених країн. Однак у таких державах і ставлення до вищої освіти зовсім інше. Наприклад, у Чехії випускників ВНЗ дійсно цінують роботодавці, оскільки і навчання складніше, і саме викладання на голову вище за вітчизняні аналоги. Іноземна освіта враховує технологічний прогрес і намагається йти нога в ногу з ним. Чого не скажеш без грудки у горлі про навчання у більшості вишів пострадянського простору. Є один бонус від ВНЗ, про який ми мало не забули. Багато вітчизняних університетів мають програми співпраці із закордонними університетами. Таким чином, навчаючись на батьківщині, у вас є можливість стати учасником такої програми та перебратися за кордон заради здобуття європейської освіти. Круто, чи не так? =) Чи потрібна математика в програмуванні та в якому обсязі? Одна з головних переваг будь-якого технічного вишу — математична база. Зазвичай, лише у вищому навчальному закладі можна отримати гарні знання з вищої математики. Тут ми порушимо ще одне популярне питання, яке часто задається тими, хто хоче йти в IT: кому потрібна математика і чи потрібна вона взагалі для програміста? Відповідь – потрібна. Однак є один приємний момент: кожному розробнику математика потрібна по-різному. Якщо ви хочете працювати у якості FrontEnd розробника (створення клієнтської сторони вебдодатків), то математика вам буде потрібна меншою мірою, ніж для C# / .NET розробника, який, наприклад, зайнятий розробкою корпоративних рішень. Вузівський матан незамінний для тих, хто збирається пов'язати свою професійну діяльність з наукою, шифруванням, Data Science, машинним навчанням, штучним інтелектом та всім, що пов'язано з великими обсягами даних. Для криптографічних завдань вам знадобиться загальна та лінійна алгебра. У 3D-моделюванні не обійтися без геометрії та механіки. Для роботи з великими масивами даних необхідні статистика, теорія ймовірностей, лінійна алгебра. Біоінформатика потребує знань у галузі дискретної математики та статистики. Так можна перераховувати безліч IT-напрямків. Однак переважна більшість людей бере не той орієнтир. У програмуванні важлива не стільки математика, скільки саме математичне мислення. Найчастіше IT не вимагає глибоких знань, і необхідний мат. апарат обмежується початковими курсами університету (теорія множин, графів, автоматів, алгоритми, базова логіка) + стандартна шкільна програма (куди ж без неї?). Василь Кобзар, викладач GeekBrains, який спеціалізується на адмініструванні Linux, має чудову відповідь на запитання "Наскільки програмісту потрібне знання математики в роботі?" (джерело): “Якщо математика буде являтися предметною областю, то знати її потрібно настільки добре, наскільки це потрібно для вирішення завдання. Однак питання, мабуть, поставлене для загального випадку і пов'язане з існуючою думкою. Програмістові добре було б розібратися з логікою та абстрактною алгеброю, які не викладаються ні в школі, ні у більшості вишів. Також не завадять матстат і дискретка. Матан здебільшого марний, так само як і, скажімо, тригонометрія. Загалом, корисна та частина математики, що «розум у порядок приводить», а знання будь-яких формул напам'ять тільки забиває голову”. Підводячи підсумки цього розділу, скажемо наступне. Математика в програмуванні – це насамперед про математичне та аналітичне мислення, які допомагають критично мислити, абстрагуватися та розв'язувати задачі, вміло використовуючи логіку. Саме раціональний підхід до вирішення завдань, що забезпечується мат. мисленням – головний інструмент програміста. З його розвитком вам допоможуть спеціалізовані книги, а також практичні вправи – написання коду, вирішення математичних завдань та інші вправи, які можна знайти на вебресурсах. Рейтинг українських ВНЗ Розглянемо рейтинг за 2019 рік від dou.ua. Чому саме за 2019? Бо рейтинг того року був максимально “народним” – окрім традиційної статистики він містив додаткові відповіді респондентів, які вже мають вищу освіту, на деякі і донині актуальні запитання: в якому виші краще вчитися (український/зарубіжний), чи корисним було навчання, чи радили б ви отримувати вищу освіту і т. д. У наступні роки ні dou.ua, ні інші українські інформаційні ресурси не робили подібного опитування, тому будемо вдовольнятися даним. Отже, до першої десятки топових технічних освітніх закладів, в яких є IT-спеціальності, у 2019-му році потрапили: Національний університет "Києво-Могилянська академія" (НаУКМА). Український католицький університет. Чорноморський національний університет імені П. Могили (ЧНУ ім. Петра Могили). Харківський національний економічний університет імені С. Кузнеця (ХНЕУ ім. Кузнеця). Донецький національний університет імені В. Стуса (ДонНУ ім. В. Стуса). Харківський національний університет радіоелектроніки (ХНУРЕ). Сумський державний університет (СумДУ). Київський національний університет імені Т. Шевченка (КНУ ім. Шевченка). Чернівецький національний університет імені Ю. Федьковича (ЧНУ ім. Федьковича). Львівський національний університет імені І. Франка (ЛНУ ім. Франка). В опитуванні взяло участь 3038 студентів та випускників українських вишів. Рейтинг був складений на основі різних аспектів навчання в університеті. Відповідно до даної публікації, 69.2% опитаних все ж таки радять здобути вищу освіту в українському виші. З них майже 16% рекомендували б відучитися в іншому вітчизняному закладі, відмінному від того, де респонденти самі отримують/отримували вишку, а 12% воліли б обрати іншу спеціальність/факультет. При цьому майже кожен четвертий (24%) вважає, що отримувати диплом треба лише за кордоном. На думку цих респондентів, за межами країни якість освіти краща. Також їх приваблює досвід життя та роботи в іншій країні. При цьому 5.6% опитаних були категоричними і виступили проти здобуття вищої освіти в принципі. Які предмети потрібно здавати на програміста у ВНЗ – в кожному закладі можуть бути свої критерії, проте зазвичай обов'язковими є рідна мова, математика, англійська, а іноді й фізика. Вартість навчання у ВНЗ Для з'ясування цього питання пройдемося найпрестижнішими українськими закладами, а потім вишами, які займають другорядні позиції. Спочатку візьмемо вартість контрактного навчання в КПІ на IT-напрямках. Найдешевшими за ціною є спеціальності “Комп'ютерні науки”, “Системний аналіз” та “Кібербезпека” — 35 000 грн за рік очного навчання на бакалавраті. 42 000 грн коштує навчання за спеціальностями “Інформаційні системи та технології” і “Комп’ютерна інженерія”, а 45 000 доведеться віддати за “Інженерію програмного забезпечення”. Візьмемо на розгляд НаУКМА. "Комп'ютерні науки" та "Інженерія програмного забезпечення" коштують по 55 000 грн за рік навчання на бакалавраті. У КНУ ім. Шевченка ситуація така: ті самі спеціальності, що були перераховані вище, оцінюються у 38 000 грн за рік очного навчання на бакалавраті. Перейдемо до вузів, які досягли менших висот, ніж розглянуті попередники. На черзі маємо НАУ. "Комп'ютерні науки", "Кібербезпека", “Інформаційні системи та технології” – 26 000 грн, "Інженерія програмного забезпечення" – 29 000 грн, "Комп'ютерна інженерія" – 28 000 грн. Національний транспортний університет. За "Інженерію програмного забезпечення" та "Комп'ютерні науки" доведеться віддати 25 750 грн. Рік навчання на очному відділенні, звісно. У СумДУ за "Кібербезпеку" та "Комп'ютерні науки" за перший рік навчання з вас візьмуть 13 440 грн. Наступні курси навчання коштуватимуть 15 365 грн, 20 370 грн та 23 660 грн відповідно. Цінова вилка досить непогана — приблизно від 13 до 55 тисяч. Причому це не обов'язково граничні значення. Ми розглянули лише декілька університетів, адже їх сотні й у кожного свої особливості. Але навіть із цього списку можна робити відповідні висновки. Якщо порівнювати вартість навчання у ВНЗ із курсами програмування, то виходить, що курси набагато вигідніші. На курсах ви витратите приблизно 15-25 тисяч на опанування IT-спеціальності, зате через півроку зможете працювати на посаді Junior розробника і з легкістю відіб'єте всю ту суму, яка була витрачена на навчання. В університеті ж ви витратите щонайменше 4 роки і на виході отримаєте такий набір знань, який недостатній для роботодавця. Все одно доведеться звертатися до сторонніх ресурсів (книги, курси, онлайн-ресурси тощо) і займатися самоосвітою, щоб дотягнутися до вимог тієї чи іншої компанії. Підсумки Отже, під час пошуків відповіді на питання “Чи потрібна програмісту вища освіта?” нам вдалося багато чого з'ясувати. Розіб'ємо головні тези на “за” та “проти”. “За” навчання у ВНЗ: більшість професійних програмістів мають вищу освіту, а також рекомендують іншим отримати диплом; деякі компанії вимагають наявність диплома у кандидатів на обов'язковій основі; це ж стосується деяких видів IT-професій (біоінженерні розробки і т. д.); ВНЗ з айтішних напрямів навчають основам майже всього, що пов'язано з IT; вища математика у ВНЗ дуже важлива для тих, хто збирається пов'язати свою професійну діяльність з наукою, шифруванням, Data Science, Big Data, машинним навчанням, штучним інтелектом та всім, що пов'язано з великими обсягами даних; диплом допомагає в отриманні візи та керівних посад в IT; навчаючись у вітчизняному виші, можна стати учасником програми обміну студентами та виїхати на навчання до іншої країни; навчання на курсах не можна назвати дешевим відстрочка від армії ВНЗ - непоганий вибір, якщо ви хочете йти в науку наявність ярмарок вакансій, де ви можете познайомитися з різними роботодавцями – навіть з інших країн мережа корисних знайомств у ІТ, яка сприятиме працевлаштуванню і зануренню в айті "Проти" навчання у ВНЗ: диплом швидше потрібен для “галочки”, все одно вас тестуватимуть на співбесіді та перевірятимуть ваші вміння та навички головні рушійні сили технічного університету – не навички та знання, а необхідна для роботи "корочка", очікування та надії членів сім'ї, а також армія багато навчальних програм в освітніх установах на IT-напрямках є застарілими ВНЗ з айтішних напрямів навчають лише основам за рік очного навчання у більш-менш пристойному виші треба буде заплатити не менше 25 тисяч щоб влаштуватися програмістом в IT-компанію, вам необхідно доучуватися після університетської освіти Нейтральне, але не менш корисне висловлювання: математичне та аналітичне мислення важливіше, ніж знання формул, проте варто враховувати, що знати математику потрібно настільки добре, наскільки це потрібно для вирішення робочих завдань. Якщо заплющити очі на безліч суперечливих моментів, університет — це справді своєрідна школа життя. Найважливіше, що можна собі винести з вишу — це зв'язки, досвід від універу та досвід, отриманий під час проживання в гуртожитку. Ви можете отримати гарні знайомства і дізнатися дуже корисні поради щодо перспектив в IT з перших вуст. Через знайомих можна навіть рекомендацію на посаду в IT-компанії отримати. Тож чи варто отримувати вищу освіту програмісту? На жаль, як засіб вивчення конкретного IT-ремесла університет не можна розглядати, зате все побічне, що пов'язано з ним, зроблено на пристойному рівні. Студентська романтика, незабутнє життя в гуртожитку, ярмарки вакансій, програми співпраці універів із престижними IT-компаніями (курси та інтернатури), програми співпраці з іноземними вузами, знайомства тощо. Саме ці плоди ви повинні збирати під час навчання у ВНЗ. Якщо ви наважилися здобути вищу освіту, вам не завадить наступна порада. Більшість колишніх студентів рекомендують відучитися перші рік-два, а потім шукати роботу (проходити курси, влаштовуватися до інтернатури). Як підсумок — після закінчення бакалаврату ви маєте і університетську базу, і диплом, і досвід роботи. Час даремно не втратили і при цьому університетське життя скуштували. Але якщо ви не готові витрачати стільки часу заради сумнівних привілеїв, робіть вибір у сторону курсів. Там вас не навчатимуть нічому зайвому і ви в максимально короткі терміни зможете опанувати бажану спеціальність, а потім отримати свою першу роботу на посаді програміста. Якщо у вас виникли зауваження або побажання до статті, сміливо залишайте їх у коментарях. Залишайтеся з ITVDN!
Notification success