Результати пошуку за запитом: курс - практикум по frontend разработке*
Як стати iOS розробником у 2022 році.
Автор: Андрій Добиш
<p>На этом вебинаре вы узнаете как освоить специальность iOS разработчика. Поговорим о том, какие начальные знания должны быть и какие технологии нужно изучить. Пройдём путь от получения первой работы до развития навыков до уровня Senior и посмотрим, в каком направлении можно развиваться дальше (Software Architect и Топ-менеджер). Также рассмотрим распространенные ошибки в карьере и способы наиболее эффективного роста.</p>
<p><strong>План вебинара:</strong></p>
<ol>
<li>Обзор рынка мобильной разработки. Доля iOS и платёжеспособность пользователей.</li>
<li>Кратко о 7-ми летнем опыте авторе. Разработка под Android/Java и переход на iOS/Objective-С/Swift.</li>
<li>Что и где учить начинающему разработчику - о курсах, книгах и сайтах.</li>
<li>Находим первую работу.</li>
<li>Первый год в компании.</li>
<li>Как расти в знаниях, навыках и в зарплате.</li>
<li>Кто такой Senior iOS Develper и как прийти к этому уровню.</li>
<li>Уровень Senior - это предел? Куда расти дальше - Software Architect или Топ-менеджер.</li>
</ol>
<p><strong>Целевая аудитория:</strong></p>
<p>Данный вебинар будет интересен тем, кто интересуется мобильной разработкой и хочет стать iOS разработчиком, а также оценить перспективы развития в этом направлении.</p>
Що нового в Python? Огляд нововведень у Python 3.9.
Автор: Людмила Міщенко
<p>На вебинаре мы рассмотрим нововведения в Python 3.9., которые вышли 5 октября 2020 года. Уделим внимание интересным новым функциям, таким как операторы обновления и слияния словарей и др., обcудим их преимущества. Рассмотрим, какие изменения произошли в строковых методах и как это можно применить. Обратим внимание на добавленные новые модули и на усовершенствования уже давно нам известных. Ну и, конечно же, обсудим стоит ли переходить на новую версию, какие подводные камни встречаются в 3.9; будет ли работать ваша программа, написанная на Python 3.8, при переходе на Python 3.9.</p>
<p><strong>План вебинара:</strong></p>
<ol>
<li>Введение в Python 3.9 - коротко о главном.</li>
<li>DeprecationWarning - предупреждение об устаревании в вашем коде.</li>
<li>Новые возможности.</li>
<li>Новые и усовершенствованные модули.</li>
<li>Вопроcы и ответы.</li>
</ol>
<p><strong>Целевая аудитория:</strong></p>
<p>Данный вебинар будет интересен для Python разработчиков, которые хотят быть в курсе поcледних обновлений, понимать особенности их использования и открывающиеся возможности.</p>
Фінал Шахової IT Арени для програмістів
Автор: Євген Волосатов
<p>7 июля состоится финал <a href="https://itvdn.com/ru/news/article/chess-arena" target="_blank">Шахматной IT Арены для программистов</a>. Мы подведем итоги четвертого тура, а также объявим победителей соревнований, набравших максимальное количество баллов за решение всех задач I, II, III и IV туров.</p>
<p>Напомним, что участники четвертого тура (3-5 человек), которые наберут наибольшее количество баллов за решение задач четвертого тура, получат в подарок подписку на три месяца. Все остальные участники, выполнившие все задания тура, получат в подарок 1 видео курс на выбор.</p>
<p>Финалисты –5 победителей по итогам 4 туров получат возможность выбрать себе в подарок книгу по программированию на свой вкус.</p>
<p>Если вы программируете на одном из пяти языков - Python, C#, Java, C++ или Pascal - и любите шахматы, решайте задачи и выигрывайте призы! Включиться в соревнование можно даже сейчас. Решения принимаются до 12:00 7 июля.</p>
<p>Решив все задачи четырех туров, Вы можете стать победителем в финале!</p>
<p>До встречи 7 июля!</p>
Як стати .NET Desktop/UWP розробником? Безкоштовний вебінар
Автор: Вадим Рибалко
<p>На данном вебинаре мы рассмотрим все популярные технологии, применяемые .NET Desktop/UWP разработчиком. Рассмотрим сопутствующие технологии и инструменты, которые нужно знать для получения звания .NET разработчика. Ответим на вопросы зрителей и обсудим все детали и нюансы, которые возникнут в ходе разбора данного вопроса.</p>
<p><strong><u>План вебинара:</u></strong></p>
<p>1) Рассмотрение истории .NET разработки</p>
<p>2) Разработка с применением технологии WinForms</p>
<p>3) Разработка с применением технологии WPF</p>
<p>4) Разработка под Windows 10 (UWP)</p>
<p>5) Будущее за кроссплатформенностью. Разговоры про .NET Core</p>
<p>6) Разбор инструментов разработки (Базы данных, REST – сервисы, все сопутствующие элементы)</p>
<p>7) Ответы на вопросы</p>
<p><strong><u>Целевая аудитория:</u></strong></p>
<p>Данный вебинар будет интересен начинающим разработчикам (к примеру, студентам 3-5 курсов IT специальностей) - людям, которые хотят выучить язык программирования C# и сопутствующие технологии, связанные с разработкой под рабочие столы. Также он будет интересен и полезен людям, далеким от профессий IT, но желающим изменить свою профессию и поднять свои знания на новый уровень.</p>
Java Developer: плануємо навчання правильно
Автор: Редакція ITVDN
Ваша цель - стать Junior Java developer в кратчайшие сроки? Что, если мы скажем вам, что её можно достичь всего за шесть месяцев? Хотите узнать - как? Внимательно читайте статью и следуйте рекомендациям.
Мотивация
Итак, первый и, наверное, самый важный шаг – это мотивация. Как всем известно, под лежачий камень вода не течёт. Так что нужно чётко сформулировать свою цель и уже сейчас начать что-то делать для её достижения. Но прежде чем начинать действовать, честно спросите себя: «Зачем я делаю это? Действительно ли мне это нужно?». Ведь без понимания значимости того или иного занятия, не будет и желания работать.
Не можете понять, действительно ли это ваша цель? Лучшим мерилом того, насколько вы хотите получить желаемое, является то, что вы готовы отдать за него. Готовы ли вы тратить, допустим, 10 или 20 часов в неделю на изучение Java? Если ответ отрицательный, то с рациональной точки зрения вам следует отказаться от этой цели. Потому что, если вы уделяете этому по 5-7 часов в неделю, вы просто тратите время впустую. Аналогично и с деньгами: если вы не готовы тратить их на изучение Java, скорее всего, вы не сильно верите в то, что вам это нужно.
Так что чётко определяйте цель, осмысливайте её значимость для вас и начинайте действовать!
Периоды
В становлении джава-программиста условно можно выделить три периода:
До резюме
Во время резюме
После резюме
«До резюме» - это тот период, когда ещё не следует рассылать свое резюме, но создать его нужно. Резюме – своего рода рекламный буклет, в котором записаны ваши цели и желания. То есть в нём вы даёте себе чёткую задачу того, чего хотите. И чем раньше вы поймёте свои желания, тем быстрее вы получите результат.
«Во время резюме» - это период, когда вы уже имеете достаточно знаний и рассылать резюме можно. На данном этапе вам следует пересмотреть ранее созданное, адаптировать его и обновить. Вообще такие действия с резюме стоит проводить раз в одну-две недели. И прежде чем отсылать резюме, его, конечно же, нужно привести в как можно более актуальное состояние. Важно отметить, что именно в этот период вы набираетесь бесценного опыта. Так как в это время вы начинаете ходить на собеседования и набивать свои первые шишки, без которых никак не обойтись.
«После резюме» - период, когда вы уже устроились на работу и ни о чём не беспокоитесь.
Не забываем об eXtreme Practices
Для монетизации себя как специалиста, вам просто необходимо познакомиться с экстрим-практиками. «Что же это за практики такие экстремальные?» - спросите вы. Экстремального с точки зрения опасности для жизни в этих практиках очень мало. Одними из самых популярных практик считаются TVD, парное программирование, непрерывная интеграция, рефакторинг и другие. Но вы можете вырабатывать и свои практики. Просто попробуйте понаблюдать за собой в процессе работы и отметьте, что сильнее всего вам помогает в достижении конкретной цели. На базе этих наблюдений вы сможете создать практику, которая подойдёт вам наилучшим образом.
Ещё один хороший способ улучшить свою работу – ретроспектива. Регулярно проводите её и анализируйте свои действия в профессиональной сфере. Пересматривайте вопросы, задаваемые вам на собеседованиях, и свои ответы на них. Это нужно делать для того, чтобы проверять себя на соответствие потребностям рабочего рынка.
Вводите метрики рабочих часов, пройденных курсов или тем из них. Благодаря этому вы сможете видеть и контролировать то, сколько своих ресурсов вы потратили на обучение. Такой подход покажет вам честную картину вашей работы.
Как учиться?
Для освоения чего-либо существует множество возможностей. Вам только нужно найти свой способ и приступать к обучению. Давайте детально разберём несколько методов, чтобы вы смогли понять, какой из них подойдёт вам лучше всего.
Онлайн тренинг
В последнее время большой популярностью пользуются онлайн-тренинги. Главный их плюс состоит в том, что для них создана конкретная программа, и вы имеете доступ к ней в любое время в любом месте. Но к выбору тренинга нужно подходить с большой ответственностью. Стоит очень внимательно выбирать программу и учитывать, кто ведёт тренинг. К минусам такого метода обучения, во-первых, можно отнести большую вероятность того, что вы не пройдёте тренинг до конца, а во-вторых - отсутствие общения с тренером и такими же учащимися, как и вы.
Если вы всё же решили обучаться таким способом, то верным вариантом не забросить это дело будет найти кого-то, перед кем можно будет отчитываться о проделанной работе или проходить тренинг в паре с другом. Также вы можете заключить пари с кем-то из знакомых или в социальных сетях, и тогда вам будет сложно отвертеться от начатого.
Офлайн тренинг
Такие тренинги ограничены местом и временем, что бывает не очень удобно, а также в большинстве своём они платные. Но посещая их, вы лучше и быстрее усваиваете материал, так как общаетесь с тренером вживую. На офлайн тренинге вы имеете возможность работать в команде над проектом, который в дальнейшем можно будет разместить, например, на GitHub и создать некую точку контакта с рекрутерами. Хотя в этом плюсе есть свои минусы, потому что если вы пропустите несколько занятий, то вам будет сложно успевать за командой.
Обучаясь на офлайн тренинге, вам нужно будет готовиться к встречам, выполнять задания и приходить с вопросами к тренеру – так вы получите максимальную пользу от учёбы. На тренинге вы также имеете возможность найти напарника, с которым идти по пути к цели будет проще, или целую команду, что дает надежду на работоустройство после окончания обучения.
Платные курсы
Сам факт того, что вы платите кому-то деньги, должен гарантировать некий стандарт качества и честность оказания услуг. Обычно учебные центры, в которых создаются эти курсы, заинтересованы в качестве и поддержании своей репутации. Поэтому такой способ обучения достаточно эффективен и, к тому же, существует большая вероятность того, что вы окончите курс, так как уже заплатили за него. Если вам подходит такой метод, то к выбору курса стоит отнестись осознанно и трижды подумать, прежде чем отдавать деньги.
Учтите, что оплата – это благодарность авторам курса, ответственность за результат всё равно лежит на вас. Ведь каким бы хорошим не был тренер на курсе, в его обязанности не входит учиться за вас, вы должны делать это сами.
Собственный проект
Учиться, создавая собственный проект – это очень смело, и очень круто. Но вы должны быть готовы к любым трудностям. Используя этот метод, для достижения успеха вам необходимо решать актуальные задачи. Начните создавать, например, консольный проект с мыслью о том, что он скоро станет веб-интерфейсом. Реализовывайте в этом проекте всю полученную вами информацию по этой теме, оттачивайте свои умения! Помните, что главное – не результат, а процесс. Потому как именно в процессе вы набираетесь знаний и опыта.
Персональный коучинг
При таком способе обучения с вами работает более квалифицированный специалист и решает вашу конкретную задачу. Занимаясь персонально, вы получаете индивидуальный, сделанный под вас план и выгодное знакомство. Согласитесь, никому не помешает знакомый человек из той сферы, в которой вы хотите реализоваться. Правда, у этого метода есть один минус – нанимать личного тренера зачастую стоит больших денег. Но если вы настроены серьезно и верите в поставленную перед собой цель, то это не должно быть преградой.
Тренинг в компании
Обучаясь в компании, вы получаете максимальный результат минимальными усилиями. Такие тренинги, как правило, бесплатные, а после их успешного окончания вы получаете возможность устроиться на работу в эту же компанию. Программы тренингов всегда адаптированы под компанию, что убережёт вас от изучения ненужного и бесполезного. Но на эти тренинги всегда очень большой конкурс, и при отборе вам необходимо проявить себя наилучшим образом.
Самостоятельно
Этот способ требует минимальных инвестиций и максимальной отдачи. Перед тем, как приступать к самостоятельному обучению, стоит составить учебный план. Распишите все курсы и темы, которые вы хотите пройти, распределите их по пунктам и приоритетности. Не забывайте вести учёт времени по каждому из пунктов и следить за статусом каждого из них.
Выбрав самообучение, вы становитесь на непростой путь и рискуете не дойти до конца. Тем более, что сегодня вы имеете доступ к огромному количеству информации, среди которой очень просто потеряться. Но если вы всегда готовы к борьбе с трудностями и не привыкли отступать, то сможете научиться чему-либо самостоятельно. Систематически занимайтесь, создавайте свои проекты, найдите себе напарника по учёбе, и вы обязательно добьетесь успеха.
Каким должен быть JavaJunior?
Естественно, джуниор должен хорошо знать язык и решать алгоритмические задачи. Вы должны понимать ООП и уметь моделировать. Знание коллекций, input/output и умение писать юнит-тесты только приветствуется. Также неплохо было бы выучить какой-то из фреймворков и понимать веб-сервисы. Но это всё от вас потребуется не сразу. Некоторые из вышеперечисленных и другие навыки вы получите непосредственно в ходе самой работы.
Создание и распространение резюме
В интернете вы можете найти множество советов по составлению резюме, но всё же давайте обговорим некоторые моменты, что касаются этого дела. Итак, при написании резюме вам необходимо придерживаться порядка, который присущ данному виду документа и, конечно же, писать грамотно. Свой опыт работы стоит записывать в обратном хронологическом порядке и указывать только правдивую информацию, хотя слегка её приукрасить можно. То, что резюме нужно составлять в деловом, корректном стиле - понятно само собой.
Хорошо, вы написали резюме. Теперь, чтобы начать поиск работы, вам необходимо его разослать. С этим у вас не должно быть проблем. Присылайте свое резюме известным и не очень IT-компаниям. Поместите его на сайтах поиска работы, благо сейчас таких много. Не стесняйтесь использовать социальные сети и разные сообщества для поиска работы. Главное - быть настойчивым и не лениться, тогда всё сложиться так, как вы того хотите.
Техническое собеседование
Отлично! Ваше резюме подошло, и вас позвали на собеседование в компанию. Как же к нему подготовиться? В первую очередь, вы должны соответствовать требованиям вакансии и показать навыки, описанные в резюме. По возможности, просите проведения собеседования утром, так как за целый день можно забить себе голову всяким и под вечер прийти никаким. Тем более доказано, что в первой половине дня человеческий мозг работает лучше. И да, в день собеседования не вздумайте доучивать то, что не выучили раньше - это только навредит вам. Будьте спокойны, не паникуйте. Ведь беспокойство сбивает с толку и уничтожает пунктуальность. Поэтому расслабьтесь и наберитесь уверенности.
На собеседовании общайтесь грамотно. Согласитесь, что человек, разговаривающий грамотно, вызывает больше доверия и вести беседу с ним приятнее. Кстати, немного о ходе беседы. Не загоняйте себя в глухой угол, не стоит говорить о тех вещах, в которых вы не разбираетесь. Этим вы можете ухудшить ситуацию и произвести неправильное впечатление. Также следует внимательно слушать своего собеседника. Таким образом вы покажете, что умеете прислушиваться к людям и работать в команде.
Вывод
Всё только начинается! Если вы дочитали эту статью до конца – поздравляем! Значит, вы решительно настроены и собираетесь достичь поставленной перед собой цели. Будьте Человеком-Решением, а не Человеком-Проблемой, и тогда перед вами откроется множество дверей. Не сворачивайте с намеченного пути, продолжайте учиться и развиваться. Помните, что всё в вашей жизни зависит только от вас. Так что уж постарайтесь сделать всё наилучшим образом.
Lviv IT Arena 2015
Автор: Редакція ITVDN
2-4 октября на стадионе «Арена Львов» соберутся программисты, разработчики, дизайнеры, руководители ИТ компаний и стартаперы. Их уже второй раз соберет грандиозное ИТ событие Украины - Lviv IT Arena 2015.
1200 специалистов ИТ и более 100 выдающихся спикеров из Украины и мира ожидают в этом году на Lviv IT Arena. Конференция будет разделена на три тематические потоки - Product, Technology и Business, в рамках которых будет происходить обсуждение более актуальных тем и трендов мира ИТ. Lviv IT Arena 2015 - уже вторая по счету, в прошлом году она имела огромный успех. Однако в этом году конференция будет еще масштабнее, обещают организаторы.
Как уже отмечалось, в этом году конференция будет иметь три основных тематических потока - Product, Technology и Business. В рамках потока Product Development гостям расскажут о том, как создать собственный успешный продукт, о UI и UX, визуализацию данных, бизнес-анализ, потребностях заказчика, о главных тенденциях управления проектами, а также о брендинге готовых продуктов. На потоке Technology гости узнают больше о трендах в работе с большими объемами данных (DataScience), искусственный интеллект, технологии и приемы тестирования (QC Automation), методы комплексной разработки ПО (DevOps), а также об информационной безопасности. О главных тенденциях в мировом аутсорсинга, переход к другим моделям ведения ИТ-бизнеса, о том, как работать в кризис, как создать и продвигать свой стартап, как открыть офис за рубежом, а также о сотрудничестве между правительством и ИТ-бизнесом участники Lviv IT Arena смогут узнать на Business потоке.
Благодаря чрезвычайно широкому спектру тем, конференция будет интересна как программистам, дизайнерам, тестерам, разработчикам, так и руководителям компаний и тем, кто стремится начать и развивать собственный стартап. К слову, в рамках LvivITArena 2015 состоится соревнование стартапов, поэтому каждый желающий сможет испытать свою идею на прочность и получить бесценный опыт. Все кто просто любит ИТ и стремится быть в курсе основных тенденций и трендов также найдут для себя много нового и познавательного на Lviv IT Arena 2015.
Если вы хотите быть в курсе основных тенденций и новинок мира ИТ - не пропустите LvivITArena 2015 в октябре.
Продажа билетов и все новости конференции - на сайте itarena.lviv.ua и в фесбуке https://www.facebook.com/events/920288897992357/
Организаторы события - Львовский ИТ Кластер, ИТ-компания Eleks, бизнес-инкубатор StartupDepot, Львовская ИТ Школа (LITS), Сообщество специалистов в сфере информационной безопасности (WISC), Сообщество разработчиков Google (GDG Lviv).
7 найкращих ігор, написаних на Unity
Автор: Влад Сверчков
Добридень, дорогі читачі блогу ITVDN!
Тема комп'ютерних ігор часто опиняється в епіцентрі багатьох обговорень. На сьогоднішній день ігри є свого роду видом мистецтва, який має гіллясту класифікацію та різні горизонтальні і вертикальні поглиблення, подібно до інших видів творчої діяльності.
Як живопис, скульптура, фотомистецтво – ігри також мають свій жанр, котрий викликає у нас різні емоції та відчуття. Одні підносять сюжети, які захоплюють дух, інші змушують вирішувати головоломки, треті спрямовані на те, щоб полоскотати нерви. Кожна людина незалежно від віку та особистих переваг може знайти собі відповідний ігровий екземпляр.
Для того, щоб реалізувати свої ідеї та концепції у відеогрі, розробники використовують безліч інструментів: мови програмування, знання математики, фізики та англійської мови, системи контролю версій, а також ігровий рушій – фундамент будь-якої гри. Саме на останньому ми робимо акцент в даній статті.
Більш детально тему розробки ігор було розкрито в статті “Як стати розробником ігор”. Якщо вам цікаво дізнатися, в чому специфіка роботи гейм девелоперів, як вони сходять на ігровий Олімп і яким набором технологій при цьому озброєні, переходьте за посиланням вище – ви отримаєте відповіді на свої запитання.
Отже, ігровий рушій – це водночас інструментарій для створення гри та її базове програмне забезпечення; кілька підсистем, які мають працювати разом, щоб на виході отримати гру. У ці підсистеми входять рушії рендерингу, анімації, фізики, звуку, система скриптів, штучний інтелект, мережевий код та багато інших складових. Одним із найпопулярніших рушіїв є Unity (читається як "юніті") – кросплатформний продукт компанії Unity Technologies, що дозволяє створювати додатки більш ніж на 25 різних платформах. Цей перелік включає персональні комп'ютери (Windows, macOS, Linux), мобільні пристрої (Android, iOS), консолі (PlayStation, Xbox, Switch тощо), VR (Virtual Reality) та інші пристрої.
Unity можна назвати найбільш щедрим ігровим рушієм. І не лише тому, що на ньому випущено справді багато ігор різних жанрів під безліч платформ, а й за його безкоштовну базову версію. Unity значно зменшує трудові та грошові витрати розробників. Рушій порівняно простий у використанні для будь-якого девелопера-початківця, але при цьому не відстає від технологій поточного часу. Ця якість принесла Unity велику популярність серед інді-розробників. Однак і у колі великих студій його також використовують.
Давайте розглянемо ТОП-7 найкращих ігор на Unity, щоб переконатися в силі та здібностях даного рушія.
Hearthstone: Heroes of Warcraft
Карткова онлайн-гра за мотивами всесвіту Warcraft. Її суть полягає у віртуальних битвах один з одним за допомогою колод карт з покроковою системою передачі ходів між опонентами протягом матчу.
До виходу Hearthstone поняття “карткова гра” у цифровому середовищі сприймалося досить холодно. Багатосторінковий перелік правил, маса перевантажених механік, загальна недружелюбність до гравця – це спадщина попередніх екземплярів жанру, стикатися з яким середньостатистичному користувачеві не дуже й хотілося. Саме тому реліз альфа-версії Hearthstone сколихнув ігрову спільноту, викликавши велику увагу до гейм-продукту. Його відносна простота та захоплюючий ігровий процес не лише повернули надію гравцям-ветеранам, а й привели нову аудиторію. Можна сказати, що в жанрі карткових ігор відкрилося друге дихання.
Hearthstone: Heroes of Warcraft неодноразово нагороджувалася преміями в різних номінаціях, у тому числі: “найкраща мобільна гра”, “найкраща стратегічна гра”, “найкраща багатокористувацька онлайн-гра”. Більше того, вона стала однією з провідних кіберспортивних дисциплін у своєму жанрі.
Cities Skylines
Містобудівний симулятор, який спрямований на забудову та розвиток власного міста. Гра примітна тим, що крім архітектури необхідно займатися оподаткуванням, організовувати роботу міських служб та громадського транспорту, підтримувати рівень бюджету міста, населення, здоров'я, щастя, зайнятості, стежити за забрудненням довкілля, автотрафіком та іншими елементами гри. Підтримати розповсюдження парків, заборонити куріння, ввести закон про економію електроенергії — вам доступна безліч важелів управління вашим містом.
Також у гру вбудований API для створення модифікацій мовою програмування C#, що дозволяє гравцям додавати нові моделі будівель та транспорту, вносити свої корективи у процес гри. Наприклад, можна збільшити допустиму ігрову зону, змінити ігрову перспективу на перспективу від першої особи, автоматизувати деякі елементи гри.
Cuphead
Комп'ютерна гра, яка поєднує в собі жанри run and gun та shoot 'em up. Її головною особливістю є візуальна складова. Працюючи над стилістикою Cuphead, канадські інді-розробники надихалися роботами аніматорів 1930-х років, внаслідок чого графічно гра дуже відрізняється від будь-яких інших.
Cuphead анімована повністю на папері як справжній мультфільм тих часів. Комп'ютер був використаний лише для розмальовки ескізів, в той час як саме життя намальованим героям дали руки аніматора, які за допомогою олівця змалювали велику кількість аркушів паперу.
Однак Cuphead сподобалася гравцям не лише завдяки мальованій анімації. За мультяшною естетикою ховається шалений хардкор — платформер просто створений для того, щоб перетворювати голови геймерів на киплячий чайник. Невелика кількість життів та різноманітність випробувань/босів розставлять усі крапки над “i”. Навіть запросивши у гру свого друга, не сподівайтеся на поступки з боку гри.
Pillars of Eternity
Ізометрична партійна рольова гра, яка сповідує принципи "старої школи" і є духовною спадкоємицею гучних рольових ігор минулого: Baldur's Gate, Planescape: Torment та Icewind Dale. Pillars of Eternity не тільки нічим не поступається своїм попередникам із двохтисячних, а й привносить зручну сучасну механіку. Розроблена компанією Obsidian Entertainment, на рахунку якої такі відомі проєкти, як: Fallout: New Vegas, Neverwinter Nights 2, Star Wars: Knights of the Old Republic II, The Outer Worlds та інші. Всі необхідні грошові витрати на створення гри були покриті за допомогою краудфандингової платформи Kickstarter — в концепцію гри повірили вірні шанувальники творчості Обсидіан та фанати рольових ігор.
За допомогою Unity розробникам вдалося створити деталізований та пропрацьований світ, який високо оцінили як критики, так і геймери. Рушій дозволив дбайливо перенести старі механіки на нову платформу, при цьому відшліфувавши всі гострі кути, які були присутні в іграх-побратимах кінця дев'яностих та початку нульових. Звичайно, Pillars of Eternity не ідеальна, проте вона довела, що класні рольові ігри зі старим духом і водночас сучасною оболонкою можуть існувати та бути гарним прикладом для наступних екземплярів цього жанру.
Pokemon Go
Мобільна гра, яка у 2016 році прогриміла на весь світ. Їй присвячувалися репортажі новин у багатьох країнах, включаючи США, Росію, Україну тощо. Платформа Unity забезпечила вихід Pokemon Go як під Андроїд, так і під iOS. Грі вистачило лише одного тижня, щоб стати всесвітньо відомою.
Pokemon Go – це рольова багатокористувацька гра для мобільних пристроїв, що використовує технологію доповненої реальності, яка "викликає" віртуальних покемонів на певні ділянки реальної місцевості. Щоб побачити дане створіння і спіймати його, необхідно зайти в гру і направити камеру свого смартфона/планшета на місце присутності істоти. Самі покемони переміщуються ігровою картою в той час, як ви рухаєтеся у реальному світі. Таким чином, гра не тільки демонструє досягнення сучасних технологій доповненої реальності, а й мотивує своїх гравців на підтримку фізичної активності.
Subnautica
Гра на рушії Unity, розроблена інді-студією Unknown Worlds Entertainment у жанрі пригодницької гри та симулятора виживання з відкритим світом. Дуже тепло прийнята як критиками, так і гравцями. На Metacritic – популярному сервісі, який збирає рецензії до різних музичних альбомів, ігор, фільмів, ТВ-шоу, DVD-дисків та мобільних ігор – середня оцінка ПК-версії від критиків – 87 із 100 (39 видань висловили свою думку), а від користувачів – 8.5 із 10 (806 гравців висловили свою думку).
Геймплей гри побудований навколо виживання на барвистій океанічній планеті серед безлічі недружніх істот, куди герой потрапив у результаті аварії космічного корабля. Для різноманітності контенту та надання йому більшої кількості механік, в гру було введено зручну систему крафту. Не забули розробники і про сюжетну складову, яка здатна якщо не здивувати, то утримувати гравця в інтризі до самої розв'язки. Проте головною особливістю Subnautica було саме дослідження підводного світу, сповненого таємниць та небезпек. Перегляньте огляди на неї і ви дізнаєтеся, наскільки комплексну, багатогранну і при цьому красиву гру можна створити з використанням Unity.
Kerbal Space Program
Цікавий проєкт на Unity, котрий являє собою космічний симулятор. Жанр гри – пісочниця, в якій вам слід спорудити свій космодром, побудувати ракету і запустити її в космос. Обираєте цілі, збираєте літаючий апарат необхідної конфігурації, злітаєте, вирушаєте в якусь цікаву точку космосу, здійснюєте свої дослідження – і назад додому.
Звісно, не все так просто. Щоб здійснити задумане, вам потрібні хоча б поверхневі знання в області фізики, інакше ваша конструкція навіть на сантиметр не підніметься. Також не обійтися і без кмітливості. Конструювання ракети, вирішення питань паливного постачання, акумуляція електроенергії в космічному просторі та інше — іграшка для тих, хто не боїться експериментувати та кидати собі виклики. Створюючи її, розробники хотіли зробити не лише головоломку для аерокосмічних любителів, а й популяризувати наукову та інженерну діяльність у широкого загалу. Чудовий вибір для тих, хто бажає підвищити свою ерудованість.
Підсумки
Як ви помітили, ігровий рушій Unity демонструє чудові показники у створенні абсолютно різнополярних гейм-продуктів. Містобудівні симулятори, доповнена реальність на вашому смартфоні/планшеті, хардкорні ігри в стилі ретро-мультиків, підводні пригодницькі пісочниці, симулятори з великим акцентом на фізику та кмітливість, карткові ігри та ізометричні рольові стратегії... Це далеко не повний перелік жанрів, в яких Unity себе чудово зарекомендував. Щоб створювати захоплюючі і затягуючі ігри, необов'язково мати знання С/С++.
Якщо вас цікавить гейм індустрія і ви хочете пов'язати свою професійну діяльність з розробкою ігор, пропонуємо вам опанувати спеціальність Unity/Game Developer, яка доступна на ITVDN у форматі записаних відео уроків. Обов'язкова програма навчання включає наступні відео курси:
Unity Starter
Unity Essential
Unity Advanced
Основи використання Git
Unity User Interface
Крім цього, програма містить прикладні відео курси, в яких автор демонструє створення ігор, аналогічних таким загальновідомим, як: Need For Speed, Pokemon Go, Counter Strike, Agar.io тощо. Також в курсі приділяється увага створенню ігор VR (віртуальна реальність) та модифікації вже існуючих (як, наприклад, GTA V).
Для того, щоб створювати унікальні відеоігри з добре пропрацьованим геймплеєм, необхідно вивчити мову програмування C#. Безумовно, розробляти ігри можна, знаючи лише Unity, проте щоб внести щось своє до гри, потрібна C#. Ця мова є однією з найлегших та найзручніших у вивченні для новачків. ITVDN має невеликий “чит” для тих, хто хоче її опанувати – відео курси від Олександра Шевчука, експерта у галузі побудови архітектури інформаційних систем, бізнес-аналізу та управління IT-проєктами. Цей автор є одним із найулюбленіших серед наших студентів. Його манері викладання складно знайти рівних, як і рівню зрозумілості записаних ним уроків.
Нещодавно Олександр Шевчук випустив новий відео курс "Процедурне програмування мовою C#", який є оновленням курсу "С# Стартовий". Обираючи навчання у даного автора, ви досягнете дзену C# у максимально зрозумілій та мотивуючій формі, котру складно відшукати в інтернет-просторі. Поєднайте отримані знання з відео курсами спеціальності Unity/Game Developer та отримайте солідний інструментарій розробки відеоігор, з яким зможете підкорювати будь-які вершини ігробудівництва.
Якщо у вас виникли зауваження або побажання до статті, сміливо залишайте їх у коментарях.
Бажаємо успіхів та невичерпної мотивації на шляху до ваших цілей!
Залишайтеся з ITVDN!
Soft skills, необхідні для Senior-розробника
Автор: Редакція ITVDN
Каждый амбициозный разработчик со временем понимает, что условная «лычка» Senior — это лишь один из этапов в карьере программиста. Однако, для тех, кто планирует начать свой профессиональный путь в IT, получение данного «звания» является чуть ли не главной целью или даже мечтой. Почему?
Если кратко, то этот ранг в карьере разработчика означает следующее:
Можно смело претендовать на зарплату в 3 000 — 4 000 долларов в месяц и не соглашаться на меньшее. И вы гарантированно получите нужную вам сумму, ведь спрос на людей с вашими скилами значительно превышает предложение.
Вы больше не ищете работу – работа ищет вас. HR-менеджеры сами будут выходить с вами на связь и пытаться заманить на собеседование, предлагая максимально выгодные условия.
Вам станут поручать самые интересные и важные задачи. Ведь компании не выгодно, чтобы такой ценный специалист сидел без дела или занимался примитивной рутинной работой, с которой справится любой новичок.
Хорошо показавший себя в деле Senior легко может перейти на еще более высокую ступень в иерархии, став, к примеру тимлидом (англ. Team Lead). А это не только внушительная прибавка к зарплате, но и бесценный опыт управления командой, который впоследствии очень пригодится девелоперу, если он попробует создать собственный IT-бизнес.
Что меняется с получением звания «сеньор»
Люди, занимающие позиции Middle и Junior, являются «рядовыми бойцами». Каждого из них можно заменить новым сотрудником в любой момент без особого ущерба для общего дела. А вот Senior — это связующее звено между руководителями и командой. Руководство по умолчанию ожидает, что бывалый спец будет наставлять и контролировать новичков. Если джуны и Trainee что-то сделают не так, то за это в том числе будут спрашивать и с того, кто им не помог.
Кроме того, опытный разработчик должен отстаивать права соратников по цеху перед заказчиками и менеджментом. Начальник вынужден считаться с мнением ценного профессионала, поэтому от него в определенной степени зависит, насколько комфортно будет работаться не только ему самому, но и его коллегам.
Какими качествами обязан обладать Senior
Очевидно, что специалисту такого ранга следует не только быть крайне компетентным в своей сфере, но и обладать определенными личными качествами, наличие которых важно для любого лидера. Ведь плох тот профи, который не способен занять должность Project Manager, когда понадобится. А для этого необходимо уметь давать задания членам команды и сбалансированно распределять между ними нагрузку, быть инициативным и коммуникабельным, эффективно справляться с функциями ментора. Рассмотрим каждый из этих навыков подробнее.
Коммуникабельность
Когда ведущий специалист общается с коллегами и работниками других отделов, каждое его слово имеет значительный вес и может влиять на успех проекта. Будучи разработчиком высокой квалификации, вы не можете ограничиваться контактами с непосредственным начальником и ближайшими напарниками. Вам нужно более глубоко понимать структуру функционирования всей компании и в общих чертах быть в курсе процессов, протекающих в каждом отдельном подразделении. Поэтому надо наладить деловую коммуникацию с дизайнерами, HR, тестерами, маркетологами, сисадминами и вообще со всеми, с кем только можно.
Представим себе, что произошла критическая ситуация. И вам срочно понадобилась помощь работника другого отдела. Если ранее вы не поддерживали связь с этим человеком, то вам будет сложно донести до него, что сейчас ему непременно следует бросить текущие дела и заняться решением новой проблемы.
Главное — не переусердствовать. Для того, чтобы наладить деловое общение, не нужно вести душевные беседы и постоянно участвовать в корпоративных развлекательных мероприятиях на выходных. Достаточно быть приветливым и вежливым, знать имена всех соратников по цеху, а также иметь представление об их профессионализме и о том, над чем конкретно каждый из них работает в данный момент.
Инициативность
Современный IT-бизнес — это отнюдь не тот случай, когда инициатива наказуема. Разумеется, тут играет роль и компетентность начальства, но истинный профи по определению обязан иметь собственное мнение и предлагать оптимальные варианты достижения поставленных целей. А если менеджмент требует сделать нечто такое, что, по-вашему, является бесполезным или даже вредным, выразите несогласие — спокойно и аргументированно.
Вы видите процесс изнутри, поэтому можете заметить то, на что не обратил внимания Project Manager. Возникли рационализаторские идеи? Сообщите их руководителю. Возможно, вы сделаете работу более комфортной и интересной для всего коллектива, а также принесете компании дополнительную прибыль. Разумеется, вам придется преодолеть некоторые психологические барьеры. Но справиться с ними не так уж и сложно. Осознайте, что «лычка» присвоена вам не просто так, а именно потому, что вы обладаете экспертными знаниями. Если предложение будет отклонено менеджером, то это никак не отразится на зарплате. А вот если его примут, то вас вполне могут поощрить премией.
Менторство
Во многом именно от сеньора зависит, насколько быстро новичок адаптируется в коллективе и сумеет ли он полноценно включиться в работу. Опытный коллега должен объяснить джуниору или даже миддлу все тонкости проекта, ввести его в курс дела. Пожалуй, почти все специалисты высокого уровня понимают, что им необходимо выполнять обязанности менторов, но всячески этому противятся. С одной стороны, их можно понять, ведь хотелось бы заниматься исключительно своим фронтом работ и не отвлекаться на чужие проблемы.
Но есть смысл обратить внимание и на такие стороны менторства:
Если вам не хватает коммуникабельности или уверенности, то роль наставника — отличный способ развить в себе эти качества.
Когда человек объясняет сложные вещи простыми словами, это помогает ему самому понять для себя что-то новое, иначе увидеть проблему, прийти к неожиданным для себя выводам.
Этот опыт будет очень полезен для вас и в том случае, если вы планируете когда-нибудь начать вести научную или преподавательскую деятельность, основать собственную компанию, запустить обучающие курсы.
Вряд ли вы хотите всю жизнь оставаться на одной и той же позиции. А тем, кто не желает быть ментором, продвигаться выше по карьерной лестнице крайне сложно.
Умение четко формулировать мысли, расставлять приоритеты и распределять нагрузки
Сеньор отвечает не просто за какие-то отдельные задачи. На нем держится весь проект. От него часто требуют то, с чем нельзя справиться в одиночку. Таким образом, начальство почти всегда ставит лучших спецов в такие условия, при которых им приходится перепоручать что-то младшим сотрудникам. И здесь крайне важным становится умение точно, лаконично излагать суть того, что вы хотите получить от человека.
Для того, чтобы дать выполнимое задание, потребуется:
Определить реальную степень компетентности сотрудника. Если уровень его знаний на порядок ниже вашего, учитывайте это при формулировании требований.
Подать информацию в предельно простой форме. Разбейте таск на отдельные блоки, укажите оптимальную последовательность их выполнения.
Попытаться представить себя на месте исполнителя. Какие вопросы или сложности могут у него возникнуть? Может быть, его ожидают какие-то «подводные камни»? Разъясните эти моменты заранее.
Также надо быть готовым ответить на любые, даже самые глупые вопросы, растолковать те моменты, которые непонятны джуниору.
Что же касается распределения нагрузок, то здесь необходим индивидуальный подход. То, с чем прожженный профессионал справится за каких-нибудь 30 минут, а Middle — за 2 часа, у джуна может занять целый день, а то и больше. Со временем он научится делать это быстрее, но сейчас вам следует учитывать его работоспособность, чтобы не допустить срыва установленных сроков.
Как ITVDN может помочь вам в достижении ваших целей
Мы создали мощный обучающий ресурс, который поможет вам стать успешным программистом. На сайте https://itvdn.com собраны более 150 курсов по самым актуальным и востребованным направлениям IT обучения. Здесь вы не только найдете видеоуроки и мастер-классы от гуру программирования, но и сможете участвовать в интерактивных вебинарах, оттачивать свои навыки на онлайн-тренажерах, проходить тестирование и подтверждать свои знания сертификатами.
Изучение востребованных языков программирования, верстка сайтов, создание мобильных приложений и игр — все это и многое другое дается намного проще, когда под рукой есть доступ к базе знаний ITVDN. Не имеет значения, кто вы — джуниор, миддл, профи или же только планируете свой путь в IT. У нас обязательно найдутся для вас актуальные, полезные и интересные видео курсы.
Гарний код: чому він такий важливий?
Автор: Редакція ITVDN
Красивый код — не просто абстрактное понятие, а вполне реально существующая вещь в среде программистов. Научившись писать красивый код, вы значительно сэкономите своё (и чужое) время, а ваши программы станут работать быстрее и стабильнее. Как научиться писать красивый код и каким нюансам стоит уделить внимание — узнаете в этой статье.
Почему так важно писать красивый код?
Код — штука тонкая, в которой эстетика и полезность тесно связаны, как в архитектуре. Полезный, но не эстетично выглядящий код будет трудночитаемым и в результате менее эффективным, чем мог бы быть. Каким образом?
Трудночитаемый код сложно корректировать и тестировать возможные решения, поэтому он отнимает больше времени на корректировку, чем обычный код.
Чистый код создан для людей, поэтому другие программисты, которые будут читать его, будут вам очень благодарны за красивый код.
Благодаря чистому коду поиски одного бага могут сократиться с нескольких часов до нескольких минут, а программа будет работать стабильнее и не выдавать сюрпризов.
Однако овладеть мастерством написания чистого кода с наскока не получится — до момента написания первого элегантного кода, вызывающего восхищение коллег, вы напишите ещё десяток не самых красивых кодов, от которых будут плеваться.
Впрочем, если вы немного измените мышление и овладеете несколькими навыками, то успехи у вас будут значительно лучше, и к написанию красивого кода вы придёте значительно быстрее. Для начала определимся, как вообще научиться писать красивый код, и какие знания нужны для этого, а затем — с навыками, которые необходимо будет развить.
Как научиться писать чистый код?
Прежде чем приступить к написанию красивого кода, запомните два основных принципа, которые вытекают из прошлой части статьи:
Красивый код должен быть легко читаемым и понятным для других программистов.
Красивый код должен работать, а если он не работает — легко фикситься.
Для того, чтобы соответствовал этим требованиям, он должен быть коротким, а функции — линейными. Таким образом, при написании чистого кода вы должны ориентироваться на эти принципы. И постоянно практиковаться: пишите код каждый день, и каждый раз пытайтесь написать наиболее лучший вариант. Со временем у вас начнёт получаться.
Не забудьте почитать книгу Clean Code под авторством Роберта Мартина. Эта книга — настольная библия для программистов, которые стремятся к совершенному коду. На 900 страницах расписано всё, что следует знать программисту, который стремится к чистому коду.
Во время чтения книги можете также зайти на Хабру или другие сайты с полезными для прогеров статьями. Так вы сможете узнать ещё больше о чистом коде и позже закрепить свои знания практикой.
Также вы можете пройти обучение по видео курсам ITVDN. Авторы видео курсов – сертифицированные разработчики. Они помогут вам научиться писать хороший код.
Нужно ли изучать алгоритмы и паттерны?
Изучение алгоритмов — дело ваше, но запоминание паттернов является обязательным для программистов, как изучение таблицы умножения для детей. Без паттернов найти решение типичной проблемы будет трудно, поскольку не будет готового решения.
Впрочем, это не значит, что вы всегда должны использовать паттерны в каждой непонятной ситуации, иногда они не смогут помочь и вам придётся продумывать самостоятельное нестандартное решение, или обращаться за помощью к старшим коллегам. Но само изучение паттернов существенно упростит вам жизнь.
Для желающих начать изучение паттернов рекомендуем великолепный курс Александра Шевчука.
Изучение алгоритмов — чуть более глубокая сторона программирования. Сам алгоритм — это записанные в определённой последовательности команды, которые должны решить стоящую перед ними задачу. Если вы решили взяться за их изучение, то вам нужно не только знать сами алгоритмы, но и уметь их выводить, иначе от знаний не будет толку.
Если вы решили изучать алгоритмы, то рекомендуем обратиться к школьному курсу информатики и статьям для программистов, где подробно рассказывают об алгоритмах. Если в статье вы встретили упоминания как минимум трёх основных видов алгоритмов (линейный, разветвлённый и циклический) — то вы на верном пути.
Хорошим вариантом для старта будет статья Ворожцова А. В. «Что такое алгоритм?», затем знания можно углубить изучив курс Алгоритмы и структуры данных.
С общими требованиями к красивому коду и необходимыми знаниями определились, теперь перейдём к навыкам.
Какие полезные привычки необходимо завести?
Для написания чистого кода необходимо развить следующие навыки:
1) Уделять внимание форматированию кода и стараться делать его как можно более линейным. Это сделает код более понятным и элегантным. Не стоит гнаться только за производительностью, если не хотите получить знаменитый «индусский код»:
2) Короткие методы и функции. Чем короче — тем понятнее, чем понятнее — тем лучше. Слишком длинные функции запутают любого программиста и он потратит кучу времени, пытаясь разобраться в функциях.
Запомните золотое правило: одна функция — одно действие.
3) Удобные названия для функций. Это кажется нелепым, но придумать действительно хорошее название для функции — та ещё задачка, по сложности сравнимая с придумыванием имени для вашего персонажа в MMORPG. Совет, который может помочь, — при наименовании классов используйте существительные, а для методов используйте глаголы. Это сильно упростит понимание кода. Для примера можете взглянуть на два кода ниже и сказать, какой из них выглядит более понятно: первый (до переделывания) или второй (после).
До
После
Как видно на примере, в первом варианте код не так плох, но из-за непонятных названий труден для понимания. Во втором варианте он разбит на более мелкие блоки, а правильно придуманные названия («sendTOmAILsERVER, Client, Message) помогают понять его с первого взгляда.
4) Грамотная обработка ошибок. Даже если вы по каким-либо причинам не можете написать короткие функции и красивый код, вы всё ещё можете исправить ошибки. Ни одна программа не застрахована от сбоев, поэтому создать идеально работающую прогу не получится. Однако вы можете воспользоваться методом try-catch-finally.
Сущность этого метода заключается в эдакой «страховке» от ошибок. При использовании этого метода, вы должны будете создать 3 блока: try, catch и finally. Затем, при запуске команды, она будет выполняться в блоке Try.
Если что-то пойдёт не так, то она попадёт в блок catch, где вы сможете поймать ошибку и исправить её. Если же ошибки не было, или вы её исправили, то команда продолжит выполнение в блоке Finally, где и будет завершена.
Такой метод является универсальным для поиска и исправления ошибок и его может написать даже джун. Это, кстати, будет лучше и элегантнее, чем грузить код лишними функциями и превращать его в лапшу.
Написание красивого кода — дело непростое и требующее практики, но освоив эту методику, вы станете ещё на один шаг ближе к совершенству и завоюете больше уважения от коллег, а также сможете считаться уже более опытным программистом.
Если вы хотите овладеть искусством написания красивого кода, изучайте программирование на ITVDN. Опытные наставники разложат всё по полочкам и после окончания обучения вы научитесь писать красивый чистый код. При условии конечно, если будете прикладывать и свои усилия.
Інтерв'ю з Олександром Шевчуком про початок кар'єри в ІТ
Автор: Редакція ITVDN
Беседу с Александром Шевчуком вел Назар Рудь
Введение
В наше время все более и более популярными становятся профессии в сфере IT. В первую очередь, это связано с высоким технологическим развитием и, соответственно, спросом на таких специалистов. В нашей статье мы хотим рассказать Вам о том, как начать карьеру в IT тем, кто раньше не был связан с этой сферой. На интересующие читателей вопросы ответил сертифицированный специалист Microsoft (MCTP, MCPD, MCT), тренер-консультант, эксперт в области построения архитектуры информационных систем, бизнес-анализа и управления ИТ проектами Александр Шевчук.
В каком возрасте можно начинать карьеру в IT?
Возраст начала карьеры зависит от спроса. В нашей стране спрос на аутсорс-специалистов есть. Но стоит учитывать, что 60-70 % аутсорсинговых компаний требуют высшее специализированое образование. Но 30-40 % смотрят на компетенции специалиста, его готовность постоянно обучаться, а не на диплом.
Можно начать учиться в любом возрасте, но будьте готовы, что Вам придётся потратить полгода-год на освоение базы необходимых для работы технологий.
Люди в возрасте больше сорока, которые не имеют опыта в информационных технологиях и не знают методологий разработки, даже после того, как изучат все необходимые, вынуждены будут начинать с младшего специалиста в команде. Младший специалист – как юнга на корабле. У человека в возрасте это однозначно вызовет ряд переживаний и определенный дискомфорт. Это и может стать для кого-то непреодолимым барьером для начала карьеры в IT. Этот сложный период нужно просто пережить.
Каким требованиям должен соответствовать человек, который хочет добиться успеха в области IT?
Во-первых, начинающий специалист должен постоянно учиться, идти в ногу с технологиями и самосовершенствоваться. Во-вторых, он должен быть готов поддерживать коммуникацию внутри компании и с клиентами. Очень важная часть работы в ИТ – умение работать в команде, находить общий язык с другими ее членами и, конечно, с клиентом. Некоммуникабельные и тяжелые в общении люди не приживутся в компании, даже если им удастся туда попасть из-за некомпетентности hr-специалиста.
Какие перспективы работы в аутсорсинге?
Стоит начать с того, что вообще такое аутсорсинг в IT. Это процесс найма иностранными клиентами работников из стран с относительно небольшими зарплатами. Поэтому количество аутсорсинговых компаний растет, многие клиенты ищут исполнителей в Украине.
Стоит понимать, что аутсорсинг – временная работа. Один проект может длиться максимум один-два года. Но за это время Вы получите опыт и возможность проявить себя перед заказчиком. Если он увидит, что вы компетентны и преданы их компании, могут пригласить на работу в свою компанию за границей. Но быстрого карьерного роста ждать не стоит.
Стоит ли вообще идти в мир IT?
Давайте признаемся, что фраза о том, что IT – интересно – для hr-специалистов. На самом деле, большинство людей привлекает стабильность и несложность работы. Да, это действительно несложно. Барьер входа в сферу IT значительно снизился за последние годы, так как компании хотят удешевить разработку, нанимая дешевых специалистов и упрощая технологии, с которыми нужно работать. Сейчас ценится быстрота работы, а не абсолютная точность выполнения.
Что выбрать: front-end, back-end или .NET?
Вопрос прежде всего в том, кто где себя видит. Да, Вы можете слышать, что back-end – святая святых, но, на самом деле, хорошие специалисты нужны везде, поэтому нужно исходить из того, что Вам больше нравится и больше подходит.
Но не стоит пытаться делать всё и сразу. Например, общение с клиентами отнимает у разработчика очень много времени и не должно входить в его обязанности, для этого есть бизнес-аналитики. Разработчики не должны вникать в то, о чем пишут. Им не обязательно учить юриспруденцию или экономику. Прежде всего, они должны развиваться в своей профессии, читать свою профессиональную литературу и быть хорошими разработчиками.
Что делать людям, которые стоят перед выбором: учеба или работа?
По логике, сначала должна быть учеба, потом, после окончания университета, Вы попадаете на практику, а потом уже идете на работу. Конечно же, сначала нужно учиться. Таким образом, Вы получаете большой багаж разносторонних знаний, которые потом сможете применить на практике. В университете Вы изучаете много предметов, много языков программирования.
Но, в реальности, нужно учиться и работать. Все студенты работают – курьерами, официантами, продавцами и программистами, потому что это несложно.
С чего стоит начинать обучение людям, которые никогда до этого не работали в ИТ?
Начать нужно с азов, с машинной математики. Если Вы действительно решили стать айтишником и не спешите, стоит начать с Питера Абеля. Это старые книги по ассемблеру. Введение в его книге – это введение в машинную математику, там говорится о том, как основные процессы происходят на самом низком уровне. Чтобы стать программистом, нужно понять основы вычислительной техники, что такое процессор, бит, байт. Мы подробно рассказываем об этом на стартовом курсе C#.
Какие материалы помогут тем, кто не имеет возможности учиться в университете или посещать специализированные курсы, но хотят научиться сами?
Далеко не все предметы в университете нужны для того, чтоб стать девелопером. Например, чтобы стать программистом с C#, нужно прочитать Эндрю Троелсена, Герберта Шилдта – они очень популярны сейчас, и это хорошо. Дальше можно перейти к Джеффри Рихтеру.
Самообучение – за и против.
Основные плюсы самообучения – человек воспитывает себя, развивает усидчивость, читает большое количество литературы. Это очень непросто, нужен постоянный стимул и мотивация.
Главный минус самообучения: человек психологически устроен так, что ему требуется подтверждение того, правильно ли он понял/сделал/подумал. Если учить технологии самому, так или иначе возникает много вопросов и сомнений. И, чтобы добиться подтверждения, нужно потратить много времени на поиски ответа в литературе или в сети. Получается, что на то, на что можно потратить 20 секунд, человек тратит десятки минут.
Поэтому лучше общаться с человеком, который может вселить уверенность в правильности Ваших действий и указать на ошибки. Но идеальный вариант – пройти специализированные курсы, где профессиональный тренер сможет сразу же ответить на все Ваши вопросы.
Из любой профессии можно войти в IT?
Да, есть много программистов-врачей, юристов, учителей. И из них получаются хорошие айтишники. Не факт, что человек, который придет в IT из другой профессии, станет суперспециалистом, но программировать он будет. Потому что это совсем несложно.
Вряд ли у врача получиться работать в Майкрософт, потому что там ему придется конкурировать с выпускниками Стэнфорда, Массачусетса. И они его просто-напросто задавят. Прежде всего, потому что там намного лучше уровень образования.