Что относится к айти технологиям
О том, что это такое IT-технологии, интересно многим людям разных возрастных категорий. Эта область в последнее время развивается очень активно, поэтому самые перспективные рабочие места и планы на карьеру связывают именно с информационными технологиями. Однако далеко не каждый понимает, что скрывает под собой этот термин. Одни считают, что он подразумевает программирование, другие – работу с микросхемами. Что же это на самом деле? Попробуем разобраться.
Общие сведения
Многие слышали о существовании IT-технологий. Что это такое, исчерпывающе могут ответить единицы. Конечно, молодежи сориентироваться в этом вопросе проще, но люди среднего и пожилого возраста, особенно далекие от мира техники, нередко с трудом вникают в суть термина. Словарные статьи гласят, что IT-технологии можно расшифровать, как информационные технологические процессы. Сокращение образовано в английском языке, где стало активно использоваться широкими массами. Именно из английского оно пришло к нам, поэтому не было никаких переводов, просто переняли устоявшуюся форму обозначения сферы.
В настоящее время профессора, объясняя, что это такое – IT-технологии, рассказывают, что термином принято обозначать целый комплекс дисциплин, сфер человеческой деловой активности. Предполагается формирование, сохранение, контроль над данными, обработка информации. В рамках применения высокотехнологичных подходов предполагается задействование мощностей новаторской вычислительной техники.
Современная трактовка
Так сложилось, что в наши дни сформировалось своеобразное понимание того, что такое IT-технологии. Это комплексное понятие, применяемое к компьютерным разработкам. Предполагается, что сотрудники, чья деятельность связана с этой сферой, активно применяют компьютерную вычислительную технику, современное и результативное программное обеспечение. Используя такой инструментарий, они обрабатывают, накапливают полезные сведения, систематизируют их, а также получают новую информацию и ограничивают доступ к уже имеющимся данным (в соответствии с политикой безопасности).
Подход ЮНЕСКО
Сфера IT-технологий была четко определена и в терминологии, одобренной ЮНЕСКО. В соответствии с таким подходом, под ИТ принято понимать дисциплины, связанные между собой и касающиеся техники, науки, инженерии. Они помогают сделать труд максимально эффективным. В рамках этой области исследуются новые методики повышения результативности всех задач и рабочих процессов. В первую очередь область ИТ направлена на улучшение условий труда занятых обработкой информационных баз людей, а также занимается вопросами, связанными с обеспечением сохранности данных. ИТ предполагает применение наиболее современных организационных методов, технических возможностей, позволяющих обеспечить взаимодействие между персоналом и оборудованием. ИТ – это практическое применение техники и возможностей. Также это комплекс социальных проблем, связанных с аспектами культуры и экономики.
Информация и информационные технологии – довольно сложная для осознания и применения область. Для работы в ней специалистов необходимо предварительно подготовить. Придется вложить немалые средства и в приобретение техники. Внедрение подходов ИТ на предприятии предполагает сперва математическое обеспечение и моделирование, создание баз для хранения информации, решений, промежуточных сведений.
Функциональность ИТ
Ключевые особенности информационных технологий (IT):
Научная дисциплина
Наиболее широкая трактовка рассматриваемого термина предполагает анализ областей, через которые выполняются следующие действия с данными:
Отраслевая роль ИТ
Развитие IT-технологий привело к формированию из небольшого раздела в целую отрасль, которая в наше время тесно пересекается с самыми разными областями жизни. Занимается она различными информсистемами: их формированием, усовершенствованием, использованием. ИТ помогают сделать рабочий процесс более эффективным, организованным, результативным. Для этого важно рационально применять наиболее современные достижения, открытия, технологии. ИТ предполагает применение самых актуальных методов коммуникационного взаимодействия, а также современного программного обеспечения. Для достижения успеха необходимо привлекать к рабочему процессу опытных специалистов. Правильный комплексный подход позволяет минимизировать ресурсы.
В наше время новые IT-технологии – отрасль, актуальная для образовательных задач и медицинских исследований, для области предоставления услуг, управленческих и производственных процессов. ИТ оказывает серьезное влияние на социальную интеграцию, изменение общества, которое под влиянием современных технологий существенно ускорилось.
Как все начиналось
Впервые об информационно-коммуникационных технологиях начали активно говорить в шестидесятые годы прошлого столетия. Именно в тот период появились первые информационные системы, а общество начало свой путь в мир высоких технологий и еще более высоких скоростей. В конце девяностых огромные деньги были вложены как в отрасль в целом, так и в интернет в частности. Наиболее успешные аналитики смогли спрогнозировать важность всемирной сети для будущего общества. Эти предположения полностью себя оправдали практическим развитием.
ИТ и бизнес
Пожалуй, предприниматели – это один из ключевых слоев общества, активно стимулирующих развитие современных информационных технологий. Именно они вкладывают в эту сферу приличные деньги, позволяющие лучшим умам мира работать в выбранном направлении, совершенствуя технику и подходы к работе с информацией.
Принято говорить, что ИТ и бизнес находятся в тесном взаимодействии. Внедрение наиболее современных технологичных решений позволяет предприятию быть конкурентоспособным, эффективным. Это справедливо для любого направления деятельности. Кроме того, последние тенденции таковы, что без интернета вести продуктивную деятельность невероятно сложно. Если предприятие все еще не представлено на просторах всемирной «паутины», следует продумать варианты стратегий, которые помогут подстроиться под требования нашей реальности. Как говорят многие специалисты, отсутствие такой стратегии и желания начать работать над ней – очевидный показатель отсутствия будущего у предприятия.
Везде ли новые технологии к месту
Конечно, ИТ позволяет повысить эффективность предпринимательства, но необходимо соотносить затраты на внедрение новейших решений и пользу, которую они принесут. Взвешенность принятия решений – основа успешного бизнеса. Если руководители могут точно определить, какова цель предпринимаемых мер по улучшению бизнес-процессов, тогда обновление рабочей программы будет на пользу всему персоналу и финансовым результатам предприятия.
Области применения
В настоящее время активно используются IT-технологии в образовании. Можно сказать, это превратилось в национальную программу, масштабную, охватывающую самые разные учреждения, от подготовительных дошкольных до реализующих программы высшего образования. С одной стороны, это хорошо, так как позволяет смотреть с уверенностью в будущее, не сомневаться в адекватности образовательных возможностей, соответствия программ и ожиданий учеников. С другой стороны, успешность образовательного процесса зависит не только от применяемых ИТ, но и от собственно программ, квалификации учителей, их готовности работать по новым методам.
Не менее актуальны IT-технологии в медицине. Современные методы позволяют проводить высокоточные исследования и крайне сложные операционные вмешательства. Именно благодаря внедрению ИТ в этой сфере стали возможными новые подходы к диагностированию и лечению заболеваний, а также манипуляции, связанные с генетической информацией.
Актуальность вопроса
В настоящее время в сферу ИТ вкладываются поистине космические суммы. Недавно проведенные статистические исследования были организованы с целью выявления стран, на территории которых подобному развитию уделяется больше всего внимания. Наша держава оказалась в десятке лидеров. Конечно, Америка и наиболее развитые западные державы опережают темпы, свойственные России. Тем не менее и в пределах нашего государства очень большие деньги вкладываются в обновление технического оборудования разнообразных учреждений и предприятий.
А вот программное обеспечение оказалось аутсайдером. Если на технику тратятся огромнейшие суммы, то ПО таким вниманием похвастаться не может. От Америки мы отстаем в несколько десятков раз, от многих европейских стран – приблизительно в десять раз. В сравнении со средним показателем, характерным для всей планеты в целом, Россия лишь немного переступила половинный порог. Ее показатель равен 55%. Что касается сфер оказания услуг, то тут (в сравнении со средним по планете параметром) для нашей страны характерно значение в 66%, что позволило занять 22 место в рейтинге всех стран. Исследования проводились в 2010 году.
Проблематика вопроса
Как говорят специалисты, в нашей державе в настоящее время главная проблема – это существенный разрыв, наблюдаемый между разными регионами. Например, в столице и в Санкт-Петербурге доступ ко всемирной «паутине» и новейшим технологиям есть практически у всех и каждого, обитатели Ингушетии еще только получают подобные возможности. Это сказывается и на ведении бизнеса, и на образовательном, научном потенциале областей.
В ряде регионов наблюдается существенный недостаток квалифицированных специалистов, способных работать в сферах информационных технологий. Но в передовых регионах доступ ко Всемирной паутине в настоящее время налажен практически во всех образовательных учреждениях, что уже является существенным шагом вперед.
Итоги
Информационные технологии многим кажутся изобретением нынешнего столетия, современного общества, избалованного возможностями, техникой, прогрессом. На самом деле подобная трактовка термина ошибочна. Многие пытаются объяснить суть ИТ сложными словами и явлениями, но и такой подход не самый разумный. Фактически информационные технологии всегда были рядом с нами, просто не осознавались в такой степени важными, не было технических возможностей для оптимизации работы с ними.
Фактически ИТ – это все виды деятельности, связанные с обработкой данных. Формально использование счетов – это тоже информационные технологии, просто для нашего века устаревшие. Современные машины позволили усовершенствовать эту сферу, вывести ее на новый уровень. Прогресс оказал существенное влияние на все области жизни человека, поэтому пренебрегать ИТ категорически недопустимо.
it технологии: профессии, связанные с информатикой
Что такое IT-технологии
Во многих отраслях и производствах набирают спрос и совершенствуются ИТ-технологии. Комплексное понятие относится к сфере компьютерных разработок, основывается на использовании цифровых технологий в производственных циклах, продвижении товаров, оптимизации работы.
С помощью оборудования программисты и ИТ-специалисты помогают сохранять, накапливать большие объемы данных, систематизировать фото, видео, тексты, архивируют устаревшие данные, открывают доступ к новым сведениям.
Везде ли новые технологии к месту
Сфера информационных технологий востребована в большинстве отраслей промышленности, в административной и офисной сферах. Внедрение в структуры информационных способов отличается качеством, сложностью, объемами. Функционирующие и выходящие на рынок компании формируют большой спрос на подготовку специализированных программ и их внедрение в процесс производства.
Кто такой IT-специалист
При определении вопроса о том, кто такие IT-специалисты, важно различать специализации сотрудников.
В перечне востребованных профессий в области информационных технологий:
Кто такой веб-дизайнер
Веб-дизайнер занимается разработкой, макетированием, созданием программного обеспечения для электронных порталов. Сотрудник создает эстетичный для посетителей сайтов визуальный ряд, удобные рубрики, разделы, схемы, формы обратной связи. Дизайнер планирует и вводит в эксплуатацию на страницах специальные приложения, подрубрики, дополнительный функционал.
Веб-дизайнеры востребованы в рекламных студиях, издательствах, полиграфических производствах, компаниях по внедрению информационных продуктов (навигация, электронные карты, справочники, базы данных, поисковые системы).
Специалисты должны обладать художественным вкусом, знанием HTML-языка, структуры информационных баз, навыками программирования, создания навигации, интерфейса.
В перечне основных задач сотрудника:
Над чем работает верстальщик
Профессия верстальщика в области информационных технологий требует:
Специалист по верстке работает в специализированных программах Quark Xpress, Adobe PageMaker, Corel Ventura Publisher. Верстальщику нужно сдавать макет с указанием шрифтов, с дизайном, с распределением фотографий, изображений, текстов. Проект передается редакторам, корректорам. После согласования и внесения правок журнальный номер, книга, информационный сайт поступают в массовое использование.
Что делает тестировщик
Тестировщик оборудования необходим для оценки качества, функциональности техники, проверки программных продуктов, приложений, инновационных гаджетов. Должность тестировщика обязательна в крупных предприятиях сферы IT и специальных организациях по анализу новых разработок, в сертификационных центрах.
Задачей сотрудника является изучение по инструкции продукта на соответствие стандартам и правилам безопасности. Для качественной оценки составляется программа испытаний прибора либо позволяющая изучить работоспособность продукта и соответствие заявленным параметрам. Сотрудник может использовать типовые тесты либо разработать собственные. После проверки необходим отчет с указанием причин сбоев, их анализа и с предложениями по решению проблем разработчиков.
Системный администратор
Системный администратор поддерживает в рабочем состоянии компьютерную технику и локальные цифровые сети. Специалист входит в штат компаний и настраивает операционные системы (Windows, Novell), обновляет антивирусное оборудование, оснащает технику программами для бухгалтеров, компьютерной графики, офисными приложениями и системами для внутреннего общения сотрудников. При необходимости администратор разъясняет правила работы с программным оборудованием, помогает настроить технику.
Для работы требуются инженерное образование, навыки программирования технических устройств, умение выполнять ремонтные работы. Преимуществом работы системным инженером является высокая заработная плата, постоянное повышение квалификации, востребованность на рынке труда.
Чем занимается программист
Программисты в области IT разрабатывают алгоритмы и компьютерные программы на базе математических моделей. Специальность перспективная, востребованная на предприятиях разных сфер деятельности.
Сотрудники с прикладной специализацией создают общую модель. Программисты разрабатывают бухгалтерское программное оборудование, игры, редакционные программы. В сферу деятельности прикладных специалистов входят: адаптация разработок под требования компании, настройка программ для функционирования аудио- и видеокамер.
Системные программисты работают над созданием ядра, драйверов, движка проекта. Сотрудники регулируют внутренние процессы в компьютерной системе компании. Программисты готовят интерфейсы к базам для хранения данных. Для качественной работы необходимо специализированное образование, совершенствование в данной области, знание технического английского.
Программист должен обладать:
Программисты работают в небольших студиях либо на производствах и в исследовательских институтах, аналитических организациях. Для ведущих программистов важно умение управлять проектами, формировать и делегировать задачи. Сфера программирования регулярно изменяется, поэтому специалист должен оперативно внедрять новые разработки, технологии. Специалисты должны повышать квалификацию на курсах, обучающих программах.
Какими личностными качествами должен обладать IT-специалист
Представители профессии в сфере IT должны отличаться:
Преимущества профессии IT-специалист
Преимущества специалистов IT-профессии:
Недостатки профессии IT-специалист
Профессия IT-специалист имеет и недостатки:
Сотрудникам, работающим на должности в IT-сфере, рекомендуется организация регулярного отдыха и обеспечение физической активности.
Где можно получить профессию IT-специалист
На компьютерные специальности учат:
При решении изучать информационные технологии важно заранее определить, какие предметы сдавать. Для поступления в вузы требуется хороший уровень технических знаний (информатика, математика).
ИТ и бизнес
Профессии, связанные с программированием, востребованы в разных сферах бизнеса. Предприниматели заинтересованы в практическом применении информационных технологий, которые внедряются на разные этапы производственного процесса. Компании вкладывают средства в разработку информационных продуктов, адаптацию программ для массового использования, оптимизации процессов в компании.
Для повышения конкурентоспособности на предприятиях устанавливают современное оборудование и внедряют инновационные программы, увеличивая скорость работы, качество продукции. Необходима работа специалистов сферы ИТ на этапах продвижения продукции, большая часть работы проходит на интернет-площадках.
Для продвижения услуг важна должность web-аналитика, специалист выполняет сбор информации и анализирует данные о клиентах портала для повышения эффективности информационного ресурса. В бизнесе для продвижения необходима настройка аналитических инструментов Google Analytics, Call touch, Яндекс.Метрика и т.д. Прогнозирование и моделирование, настройки интернет-ресурсов позволяют повышать востребованность товаров, портала. Автоматизирование аналитических процессов выполняется в соответствии с задачами развивающихся компаний.
Перспективы востребованности профессии
Перспективы в сфере информационных технологий связаны с развитием отраслей, созданием новых продуктов, технологий. Профессии востребованы даже в периоды кризисов. Преимуществом является стабильный рост доходов специалистов. Для востребованности в отрасли рекомендуется расширять сферу специализаций, получать сертификации.
Оптимально совмещение специальностей верстальщика и менеджера проектов. Пользуется спросом специальность 3Д-дизайнера, которая часто совмещается с программированием информационных продуктов. Высокая потребность в специалистах по работе с высоконагруженными сайтами, с обработкой и анализом сведений.
Самые востребованные профессии, связанные с информатикой, в информационном бизнесе:
Средняя заработная плата по должностям
Работа в сфере IT хорошо оплачивается, размер заработной платы зависит от престижности компании и опыта специалиста. На оплату влияет число заказов, которое варьируется в зависимости от сезона, пакета предложений.
Средняя оплата IT-должности веб-дизайнера в среднем по России составляет 20000-75000 руб., в Москве зарплата выше (35000-120000 руб.). Деятельность тестировщиков оплачивается в среднем ежемесячно 20000-70000 руб., доход в столице выше – 40000-150000 руб.
Оплата труда системного администратора по России составляет в среднем 35000-85000 руб., по столице – 40000-130000 руб. Программист получает 30000-120000, в Москве 60000-200000 руб. Веб-аналитик зарабатывает в среднем по России 25000-85000 руб., в столице – 55000-150000 руб.
Архитектор баз данных получает в среднем по России 50000-150000 руб., по Москве доход составляет 60000-220000 руб. Доход мобильных разработчиков составляет 40000-180000 руб., в столице оплата услуг специалиста может достигать 50000-180000 руб.
IT-словарик для не-айтишников
Приходилось ли вам объяснять IT-понятия людям из других сфер? Это хитрая задача: при объяснении одного термина нельзя пользоваться другими, потому что они тоже будут непонятными. Представим, что ваш знакомый захотел «войти в айти», впервые открыл Хабр и офигел — как объяснить такому человеку хотя бы основные слова?
Мне захотелось описать популярные понятия неформальным языком — так, чтобы доходчиво донести главное, а не запутывать нюансами. Для этого местами пришлось пойти на упрощения. Но думаю, новичкам не требуется знать «правильнее писать Linux или GNU/Linux». Для начала понять бы, что в разговорах айтишников слово «перформанс» — это не про современное искусство.
Конечно, большинству хабравчан уже не требуется читать такой текст. Смысл публикации в том, чтобы ссылку можно было кидать неайтишным знакомым. А ещё хабрачитатели могут помочь дополнениями в комментариях: у меня описана лишь часть важных понятий, и мои описания наверняка несовершенны, так что совместными усилиями можно сделать всё полезнее.
Оглавление
Технологии
Люди и роли
Технологии
Все знают, что программисты пишут код. А где они его пишут? По сути своей код — просто набор символов, так что в принципе можно хоть в программе «Блокнот». Но это как ретушировать фотографию в Paint, вручную меняя цвет отдельным пикселям: странно мучиться так, когда есть программы помощнее, куда встроены специальные инструменты. И для того, чтобы писать код, тоже делают «программы помощнее».
Есть «редакторы кода», там базовый набор инструментов: например, подсветка разных составляющих кода разными цветами, помогающая быстро видеть нужное. Самый популярный такой редактор в мире — Visual Studio Code от Microsoft.
А есть более мощный вариант — IDE (вообще произносится «ай ди и», но в России говорят «и дэ е»). Аббревиатура означает «integrated development environment» («интегрированная среда разработки»), и это значит, что туда включен не только редактор кода, но и другие инструменты для самых разных задач разработчика (подробнее о них ниже) — компиляции, отладки, контроля версий, вёрстки интерфейса. То есть это такой «швейцарский нож».
Компиляция
Как известно, в компьютерах вся информация хранится единичками и ноликами. Но человеку воспринимать информацию такими битами неудобно. Поэтому, когда мы пишем текст, компьютер показывает нам понятные буквы, а дальше сам разбирается, как ему их внутри себя сохранить единичками и ноликами.
Нечто подобное с кодом. Компьютер принимает в качестве команд машинные инструкции, но ему они понятны, а вот человеку с ними иметь дело неудобно. И люди создали современные языки программирования, где код куда более человекочитабельный. А когда человек написал на таком языке понятную ему программу, дальше требуется перевести её в формат, подходящий для исполнения компьютером. Примерно это и происходит при компиляции. В больших проектах она может требовать много времени, что даёт поводы для шуток:
Отладка
Как люди представляют себе работу разработчика: человек с умным видом пишет код, который делает что надо. Как на практике эта работа выглядит заметную часть времени: человек с глупым видом пытается понять «почему уже написанный код не делает что надо».
Слово «debugging» в России то просто произносят как «дебаггинг», то переводят как «отладка». Как можно догадаться по самому слову, речь о процессе избавления от багов. Есть популярная шутка «отладка — это как быть детективом в фильме, в котором ты сам и есть убийца». Ты где-то накосячил, а теперь надо ещё суметь разобраться, где именно и как.
В этом могут помочь разные инструменты, в первую очередь — созданные как раз для этого отладчики (debuggers). Отладчик позволяет, запустив программу, следить за происходящим «внутри» неё, и помогает заметить, где именно что-то пошло не так, как задумывалось.
Контроль версий и git
Вам когда-нибудь приходилось совместно с другими людьми работать над файлами, когда все поочерёдно вносят в них изменения, и на всякий случай требуется сохранить промежуточные версии? Обычно такое заканчивается папками «finally_final_v5_2021» и письмами «Re: Re: Re: Fwd: Re», во всём этом чёрт ногу сломит.
А заглядывали ли вы в историю правок у страниц на Википедии? Там вместо груды файлов есть одна сущность (страница) с её историей, где автоматически отмечается, какой пользователь какие изменения в страницу внёс. Благодаря этому можно сравнить две разных версии, увидеть, что именно изменилось, и при необходимости откатить всё к старой версии.
Над кодом тоже работают совместно, обращаться к истории изменений приходится регулярно, и чтобы не сойти при этом с ума, всё делают примерно как в Википедии. Для этого созданы системы контроля версий (version control system, сокращённо VCS). Самая популярная из таких систем, ставшая стандартом — git.
Также есть целый набор понятий, связанных с этим, вот только некоторые:
Коммитить (commit) — вы что-то сделали и теперь вносите эти изменения в git.
Бранч (branch) — ветка: это как создать отдельную копию файла, с которой можно смело экспериментировать, не боясь испортить «основную», с которой в это время может работать кто-то другой.
Мёрджить (merge) — объединять код: если удачно поэкспериментировали, надо влить результат в основную ветку, которая тем временем могла ощутимо измениться.
Open source
Представим, что программист написал код, скомпилировал — получилось то, что можно запустить. Дальше можно делиться с миром этим результатом работы, и люди смогут им пользоваться, не зная, как именно он сделан «внутри». Но можно, кроме готовой программы, поделиться и её исходным кодом тоже. Тогда другие программисты, разобравшись в нём, смогут предложить свои улучшения или создать на основе программы что-то своё. Когда код открыт всему миру, это и называют open source.
Звучит здорово, но есть нюансы. Например, на программе с открытым кодом сложнее зарабатывать: больше не требуется покупать её, когда можно взять код и самостоятельно скомпилировать. И в Microsoft не спешат делиться кодом Windows. Зато с операционными системами Linux всё наоборот: ядро Linux — это открытый бесплатный проект, куда вносили вклад разные люди и компании со всего мира, а основать на нём свою ОС может кто угодно, поэтому у Linux есть много разновидностей.
Производительность
Английское слово performance применяется не только к художественным представлениям, но и к компьютерам, где его используют в значении «производительность».
Разработчики заняты не только тем, чтобы код выполнял нужные действия, но и оптимизируют производительность, чтобы он делал это быстрее. Есть случаи, когда это означает «чтобы не тормозило»: например, если мобильное приложение очень долго запускается и это раздражает пользователей, можно попробовать исправить эту ситуацию. А есть случаи, где раздражения пользователей нет, но ускорять всё равно есть смысл: если код работает на сервере, и там выполняется сколько-то операций в секунду, а потом всё оптимизировали и стало выполняться больше операций, то понадобится меньше серверов и можно будет сэкономить на них.
Чтобы улучшать производительность, для начала её надо измерять: точно определять, сколько времени требуется на выполнение какого-либо кода, разбираться, где всё «застревает». Поэтому рядом с «перформансом» нередко можно встретить ещё слово «бенчмаркинг», и это отдельное искусство — измерять нужно уметь.
Фронтенд и бэкенд
Зачастую, пользуясь чем-то, мы видим только «надводную часть айсберга». Можно столько ездить на автомобиле, что руль и приборная панель начнут сниться, но ни разу не заглядывать ему под капот: «ну оно там как-то работает, в автосервисе разберутся».
В софте «руль и приборная панель», которые пользователь видит и с которыми взаимодействует — это фронтенд, а часть «под капотом», где хранятся данные и обрабатывается логика — бэкенд. Слева от любого хабрапоста есть кнопка «вверх» — её добавил фронтендер, и когда вы её нажмёте, на это отреагирует ваш браузер. Но если вместо этого вы напишете комментарий, то кнопка «отправить» (тоже добавленная фронтендером) приведёт уже к взаимодействию с бэкендом: ваш комментарий отправится на сервер и будет там сохранён.
Хайп: AI/ML, VR/AR, blockchain
Не-айтишники слышат в новостях про самые хайповые технологии, поэтому могут думать, что все программисты занимаются такими и ежеминутно двигают мир в будущее. На самом деле всё скучнее, обычных фронтендеров наберётся куда больше, чем VR-специалистов (просто потому что пользователей сайтов куда больше, чем пользователей VR-шлемов). Но свои ниши у этих технологий есть:
«ИИ» (искусственный интеллект) или «AI» (Artificial Intelligence) — это расплывчатое бессмысленное понятие, которое люди исторически применяли к самым разным вещам. Но в последние годы так обычно обозначают машинное обучение (ML, machine learning), и вот это куда более конкретная штука. Её суть в том, чтобы учить компьютер выполнять задачи не стандартными строгими алгоритмами («если на фото есть такие-то элементы, то изображена кошка»), а другим подходом: «вот тысячи фотографий, на них всех кошки, сам реши, что у них общего, и дальше ищи на новых снимках то же». Для многих задач, где чёткий алгоритм составить затруднительно (как с тем же распознаванием изображений), это оказывается куда эффективнее.
VR (virtual reality) — виртуальная реальность, когда видишь вокруг полностью другой мир, как со шлемами Oculus. AR (augmented reality) — дополненная реальность, когда к настоящим объектам вокруг пририсовывают какие-то ненастоящие: как в случае, когда Google на вашем телефоне готов показать тигра прямо в вашей комнате. Над VR и AR работают давно не первый год, и супервзрыва пока не произошло, но развитие продолжается.
Блокчейн — технология, лежащая в основе Bitcoin и других криптовалют, но подходящая и для других задач, связанных с хранением данных. Одна из её главных идей в децентрализованности: у блокчейн-систем нет единоличного «владельца» (в случае с Bitcoin люди даже не знают, как выглядит его создатель Сатоши Накамото, но это и не принципиально). Несколько лет назад с ростом стоимости биткоина возник бум, когда людям казалось «достаточно реализовать любой проект с использованием блокчейна, чтобы озолотиться». Этого не произошло, и волна хайпа схлынула, но сама технология осталась и ещё может пригодиться.
Люди и роли
Программист / разработчик / кодер
В детстве мы все привыкли к слову «программист». Сейчас в вакансиях пишут «разработчик» («developer») или «software engineer». А ещё можно встретить слово «кодер». В чём разница? В интернете (в том числе и на Хабре) есть дискуссии об этом, и некоторую разницу там находят: например, «кодер» порой считают уничижительным определением, когда человек механически пишет код, сам не вполне его понимая.
Но определения из разных текстов расходятся друг с другом, а сами представители профессии не заморачиваются и называют себя как придётся. Так что, в принципе, можно считать это всё синонимами. В индустрии самый распространённый вариант — «разработчик», но в целом можете говорить как вам удобнее. Куда важнее осознать, что все эти определения относятся именно к пишущим код, и не говорить «тыжпрограммист, почини мой принтер» — это задача совсем другого профиля.
Джуниор, миддл, сениор
Разработчиков делят по градациям опытности. Junior — начинающий, за которым нужен глаз да глаз, middle — «крепкий середнячок», а senior — опытный, который может хорошо присмотреть за джунами и наставить их на путь истинный.
Про «синьора Помидора» пошутили уже миллион раз, но это по-прежнему смешно, так что, если разработчики пишут «помидор», они про это. Ну или про тайм-менеджмент по технике Pomodoro, тут уж смотрите по контексту.
В вакансиях, как правило, сразу указывают, ищут в конкретном случае джуна или сениора, и в зависимости от этого зарплата может различаться радикально. Сениоров не хватает, компании за них конкурируют, так что они в выгодном положении — но до сениора надо ещё дорасти, пройдя этап джуниора, когда вы нужны работодателям куда меньше. Так что не слишком верьте платным курсам программирования, которые обещают золотые горы немедленно после прохождения.
А стадия «senior» — это тупик, дальше неё развиваться некуда? Не совсем так. Есть роли «архитектор» и «тимлид», порой можно увидеть должности вроде «principal engineer» (отвечает не за конкретный проект, а за разработку во всей компании). Но всё это уже не линейное движение «кодить лучше прежнего», развитие здесь идёт не в сторону непосредственного написания кода, а в сторону других задач.
Full stack developer и T-shaped-специалист
В любой деятельности можно развиваться по-разному: «вглубь» (очертить узкий круг задач и становиться асом конкретно в них) и «вширь» (уметь больше, но не настолько хорошо). У обоих вариантов свои преимущества и недостатки (как говорилось про «вглубь» ещё в XIX веке у Козьмы Пруткова, «специалист подобен флюсу: полнота его одностороння»).
«Фуллстек» — это про развитие разработчика вширь. О точном значении слова можно спорить (писал об этом отдельный пост), но общий смысл в том, что фуллстек-разработчик — это «человек-оркестр», совмещающий разные умения. Самое частое сочетание умений — «фронтенд + бэкенд», то есть такой человек способен в одиночку сделать сайт, от кнопочек в браузере до базы данных.
А «специалист в форме буквы Т» — это совмещение развития вглубь и вширь. Идея в следующем: есть главное направление, куда забираешься глубже всего, и есть смежные, где проходишься по верхам. Вертикальная черта в букве «Т» отвечает за основное глубокое, горизонтальная — за смежные.
После слайда из доклада @jbaruch вы не сможете забыть понятие «T-shaped», даже если захотите
Тестирование, QA, QC
В случае с IT чаще всего говорят о разработчиках, но вообще-то есть много других специалистов: например, тестировщиков. Сделать что-то — это полдела, надо ещё проверить «всё ли сделано как задумывалось», убедиться «не всё» и разобраться, что надо переделать. В сложных системах неизбежны баги, с которыми поведение продукта не будет соответствовать ожидаемому, и очень желательно выявлять их до того, как продукт выйдет на рынок.
О тестировщиках то вообще не задумываются (всем ясно, что кто-то пишет код, но не что кто-то его проверяет), то считают их какими-то врагами разработчиков, цель которых — «сломать всё к чертям». Но это не просто безумные крушители, а поиск багов — не просто небольшое дополнение к программированию: это отдельная трудоёмкая область работы со своими особенностями. Разработчики тоже участвуют в тестировании, но ещё не факт, что хороший программист будет хорошим тестировщиком (и наоборот).
Существуют свои различия между понятиями «тестирование», «QA» (quality assurance) и «QC» (quality control), но на первых порах можно не вдаваться в них и воспринимать все три термина как примерно одно и то же. Зато вот различие, которое понятно сразу: одно дело — проверить «точно ли сайт при нажатии на кнопку отреагирует как должен», а другое дело — проверить «точно ли сайт выдержит нагрузку в миллион запросов». То есть внутри тестирования есть очень различающиеся задачи, поэтому возникают подвиды вроде «нагрузочное тестирование».
DevOps
Код пишут, затем тестируют, затем он выполняется на каких-то устройствах (серверах, смартфонах, чём угодно) — и всё это создаёт много вопросов, связанных не с самим кодом, а с инфраструктурой. Возникают задачи администрирования — вот и у Хабра, помимо раздела «разработка», есть отдельный раздел «администрирование». А в английском есть слово «operations», которое сокращают до «ops».
Такими задачами могут заниматься отдельные люди. Но в последние годы постоянно слышно слово «девопс», которое родилось как объединение «development» («разработка») и «operations». Как можно по нему догадаться, речь о том, чтобы эти две составляющие шли навстречу — и разработчик не просто писал абстрактный код в вакууме, а разбирался в инфраструктурных вопросах. Это помогает избегать ситуации «лебедь, рак и щука», когда люди, вроде бы занятые общим делом, не могут наладить диалог и винят в проблемах друг друга.
С тестированием ситуация похожая (между ним и разработкой тоже нужен общий язык и понимание), поэтому иногда в понятие DevOps включают и его:
Энтерпрайз, аутсорс, фриланс
Были слова о том, какие специалисты могут работать в IT — а теперь напоследок пара слов о разных вариантах компаний, где они могут работать.
Одно из различий: бывают маленькие юркие стартапы, а бывает крупный консервативный «энтерпрайз». В начинающих компаниях больше свободы, но зачастую и больше хаоса. Солидные корпорации обычно бюрократичнее, зато стабильнее.
Другое различие — продуктовая компания против аутсорса. В первом случае компания разрабатывает собственный продукт, во втором — занимается разработкой на заказ для других компаний. К своему продукту можно «прикипеть душой», а переключение между проектами разных заказчиков позволяет поработать с разными технологиями.
Ну и можно вообще не работать в компании, а быть фрилансером, находя заказы на бирже вроде Upwork. Но среди разработчиков это не так распространено, как среди, скажем, фотографов.
Заключение
Вполне допускаю, что можно написать такой текст гораздо лучше, чем это сделал я. Поэтому давайте считать его опенсорсным проектом: если хочется дополнить, исправить, послать к чёрту за слишком грубое упрощение — смело делайте это в комментариях, и в итоге страница станет полезнее для всех оказавшихся на ней не-айтишников.
А напоследок — минутка рекламы:
Мы в JUG Ru Group проводим конференции для опытных IT-специалистов. Так что, если при чтении поста вы поплёвывали в потолок «ну это всё понятно» — вам будет интересно на наших конференциях, там вы узнаете куда больше нового, чем из этого текста. Сейчас у нас анонсированы пять весенних конференций: Heisenbug (тестирование), Mobius (мобильная разработка), JPoint (Java), HolyJS (JavaScript), DotNext (.NET).