WWDC 2020 — всё по этой теме для программистов


Оглавление (нажмите, чтобы открыть):

WWDC 2020 — всё по этой теме для программистов

Единый государственный экзамен по информатике будет проходить на компьютерах уже с 2020 года (нынешний 11 класс выдыхает, а вот 10 уже сосредотачивается, ВСЕГО 1,5 года до экзаменов. ). Новая модель проведения сейчас дорабатывается, а ее апробация прошла осенью 2020 года в 35 регионах России.

Смысл новой модели состоит в том, что все задания выпускники будут выполнять при помощи компьютеров и с применением различных языков программирования и программного обеспечения. Напомню, сейчас экзамен проходит по аналогии с остальными итоговыми испытаниями – с использованием бумажных бланков КИМ ЕГЭ.

По словам экспертов, вполне естественно, что школьники будут выполнять задания на компьютерах, ведь экзамен в основном состоит из заданий по программированию. Кроме того, ЕГЭ по информатике будут проверять без привлечения региональных экспертов, ведь теперь возможна автоматизированная проверка ответов. Особенно удобно это для проверки заданий, которые предполагают написание выпускниками программ: компьютер сможет их протестировать и проверить на работоспособность.

В 2020 году модель еще раз апробируют, а с 2020 года абсолютно все выпускники, выбравшие эту дисциплину, будут сдавать итоговый экзамен только в компьютерной форме. ЕГЭ по информатике необходимо тем, кто планирует поступать в российские вузы на специальности, связанные с IT-технологиями. Этот экзамен нужен тем, кто хочет стать программистом, разработчиком, специалистом по информационным технологиям. Кстати, эта профессия в последнее время входит в ТОП самых востребованных в России и хорошо оплачивается. Однако, будьте внимательны, так как некоторые вузы в качестве вступительных испытаний на такие специальности принимают не ЕГЭ по информатике, а математике и физике. Внимательно изучайте перечни вступительных испытаний в конкретном вузе.

Что же касается девятых классов, то 2020 году их тоже ожидают изменения. Как и в прошлом, так и в этом году форма сдачи экзамена остается на компьютере, вот только задания изменятся.

10 тенденций в разработке программного обеспечения в 2020 году

Тенденции меняются каждый день во всех сферах деятельности: в моде, в образовании, в разработке программного обеспечения. В эпоху цифровизации сфера программирования меняется чрезвычайно быстрыми темпами.

Каждый год приносит разработчикам новые сюрпризы. 2020 год стал годом быстрого развития для компаний-разработчиков программного обеспечения по всему миру. Технологии от блокчейна до искусственного интеллекта были трендом в течение всего года.

Согласно отчету Gartner, опубликованному в 2020 году, IT-индустрия значительно выросла. Также Gartner предсказывает рост на 8,3% в 2020 году. В таблице ниже показаны точные цифры из опубликованного отчета:

Рост каждой отрасли зависит от инноваций, представленных в этой области. Без инноваций не было бы такого роста: в отрасли появляются новые тенденции только благодаря усердной работе full-stack разработчиков.

Каждый год обновляется дизайн, дорабатывают технологии разработки программных продуктов — так создаются новые тренды, появляются новые технологии от PWA до блокчейна.

Согласно отчету Statista, к 2021 году ожидается резкий рост в использовании блокчейна во всем мире (по сравнению с 2020 годом). За последние несколько лет блокчейн стал одной из самых обсуждаемых технологий. Так этот рост выглядит на графике:

Обсудим самые важные тренды в разработке ПО, на которые вам стоит обратить внимание в 2020 году:

1. Искусственный интеллект

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

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

2. Блокчейн

Технология блокчейн создает единый реестр данных и тем самым упрощает многие банковские операции, например, финансовые транзакции и другие.

Современным сервисам нужно ПО на блокчейне, поэтому существует большой спрос на специалистов в этой области. Индустрия растет, и множество компаний сегодня приходят в блокчейн-разработку.

3. Малокодовая разработка

Малокодовая разработка — это тип разработки ПО и веб-приложений, похожий на сборку конструктора Lego: вы как будто собираете приложение из отдельных деталей.

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

Малокодовая разработка — это отличное решение для разработки корпоративного программного обеспечения и помощи компаниям, которые стремятся к цифровой трансформации. Тем не менее, даже в 2020 году малокодовая разработка будет полезна только в стандартных для бизнеса ситуациях. Если компании нужны сложные и комплексные решения, применить малокодовую разработку не удастся.

4. Качество кода

Технологии развиваются, поэтому важно сосредоточиться на качестве кода и выборе языка. В 2020 году нужно с особым вниманием подходить к разработке.

Малокодовая разработка программного обеспечения довольно популярна. Это означает, что IT-компании могут привлекать к программированию менее опытных сотрудников.

Каждая IT-компания должна внимательно подходить к разработке: чтобы компания работала эффективно, нужен индивидуальный подход к задачам разных типов.

5. Языки

Большинство full-stack разработчиков используют Javascript. Популярность этого языка обусловлена ​​его адаптивностью и гибкостью.

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

В опросе Stack Overflow Node.js набрал 49,9%, а Angular — 39,6%. Также популярны React,​ .NET core, Spring и т. д. Вот результаты этого опроса:

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

6. Progressive web applications (PWA)

PWA отличаются от обычных мобильных приложений: они похожи на что-то между веб-приложением и мобильным приложением. Они работают с помощью скрипта Service Worker—именно на нем основано любое PWA-приложение.

Они быстрее загружаются и имеют несколько интересных функций, например, push-уведомления. PWA просты в разработке и обслуживании: многие компании, занимающиеся разработкой мобильных приложений, сосредоточились на PWA-приложениях.

7. Кибербезопасность

Безопасность касается всех сфер человеческой жизни, в том числе и бизнеса. Разработчикам стоит обратить внимание на угрозу утечки данных и ПО.

На схеме ниже показаны утечки данных в 2020 году по отраслям: схема составлена на основе отчета Wipro, опубликованного в 2020 году.

Этот отчет свидетельствует о том, что почти все отрасли сталкиваются с проблемами кибербезопасности. Компании хотят обезопасить свои данные и обращаются к индустрии разработки программного обеспечения, создавая тренд на кибербезопасность.

8. Аутсорсинг

Мировой рынок аутсорсинга растет с каждым годом и имеет огромный потенциал. Опрос Statista показывает размер мирового рынка аутсорсинга:

Рынок аутсорсинга растет во всем мире. В ИТ-индустрии есть много аутсорсинговых проектов: владельцы бизнеса предпочитают работать со сторонними разработчиками, не нанимая их в штат.

В эпоху цифровизации практически во всех сферах нужны full-stack разработчики. Требования к программному обеспечению растут с каждым годом во всех сферах: от финансов до здравоохранения.

9. Интернет вещей (IoT)

IoT-приложения — это последнее достижение в программном обеспечении как на потребительском, так и на отраслевом уровне. Технология, которая связывает все технологии вместе, покажет экспоненциальный рост спроса во всех областях, связанных с безопасностью и обслуживанием клиентов. По оценкам PWC, более 90% автомобилей будут подключены к IoT к 2020 году. Ожидается, что это обеспечит дополнительную эффективность в сфере транспорта, логистики и цепочек поставок.

Расчеты бывшего исследователя CISCO Дэвида Эванса показывают, насколько распространенным станет Интернет вещей —каждую секунду к Интернету подключаются более 127 новых устройств. К Интернету вещей в 2020 году уже подключено больше 23,14 млрд. устройств. Ожидается, что к концу 2020 года это число возрастет до 26,66 млрд.

10. Смешанная реальность

Дополненная реальность (AR) и виртуальная реальность (VR) объединяются, формируя смешанную реальность. AR демонстрирует невероятный рост, благодаря интеграции в мобильные приложения. Именно из-за AR-приложений для смартфонов компании нанимают AR-разработчиков. В отличие от VR, AR-приложения, как правило, не требуют от аппаратного обеспечения высоких технических характеристик.

Многие говорят, что ниша VR на рынке уже заполнена с 2020 года, и эта технология не выходит за рамки игровой индустрии и сферы развлечений, однако сегодня ей найдено и иное применение. В 2020 году Walmart планирует использовать VR для обучения своих сотрудников обслуживанию клиентов. Так же армия США уже использует Microsoft HoloLens в целях военной подготовки.

Заключение

Эти тенденции дают представление о том, как развивается индустрия разработки. Все эти тренды побуждают компании и разработчиков постоянно развиваться.

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

Программист

Программист — это специалист, который занимается разработкой алгоритмов и компьютерных программ на основе специальных математических моделей. Профессия перспективная и очень востребованая во всём мире, зарплата программиста в России в диапазоне 25000-200000 (медианное значение). Стать программистом можно любом возрасте. Профессия подходит мужчинам и женщинам с интересами к программированию, математике, языкам, а так же хорошими аналитическими способностями и развитой логикой (пройти тест можешь ли ты стать программистом). Существуют вузы, курсы и колледжи, обучающие программированию, но выучиться возможно и самостоятельно, как правило, выше ценятся программисты с высшим техническим образованием. Существуют разновидности программистов. Профессия имеет свои плюсы и минусы. Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

Разновидности

В программировании на первое место ставятся не только практические навыки, но и идеи специалиста. Программистов можно условно разделить на три категории в зависимости от специализации:

  1. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т.п. К области их работы также можно отнести создание программного обеспечения для систем видео- и аудио-наблюдения‚ СКД‚ систем пожаротушения или пожарной сигнализации и т.п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
  2. Системные программисты разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Специалисты этой категории относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список задач входит обеспечение функционирования и работы созданных систем (драйвера устройств‚ загрузчики и т.д.).
  3. Web-программисты также работают с сетями, но, в большинстве случаев, с глобальными — Интернет. Они пишут программную составляющую сайтов, создают динамические веб-страницы, web-интерфейсы для работы с базами данных.

Особенности профессии

На основе анализа математических моделей и алгоритмов решения научно-технических и производственных задач программист разрабатывает программы выполнения вычислительных работ. Составляет вычислительную схему метода решения задач, переводит алгоритмы решения на формализованный машинный язык. Определяет вводимую в машину информацию, ее объем, методы контроля производимых машиной операций, форму и содержание исходных документов и результатов вычислений. Разрабатывает макеты и схемы ввода, обработки, хранения и выдачи информации, проводит камеральную проверку программ.

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

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

Плюсы и минусы профессии

Плюсы:

  • высокая заработная плата;
  • сравнительно высокий спрос на специалистов;
  • иногда можно получить работу не имея высшего образования;
  • по преимуществу является творческой профессией.

Минусы:

  • приходится часто и много объяснять одно и то же, так как то, что понятно и очевидно программисту, совсем не всегда понятно и очевидно пользователю;
  • работа в режиме аврала (иногда) в стрессовой ситуации;
  • профессия накладывает специфический отпечаток на характер, который нравится далеко не всем окружающим.

Место работы

  • IT-компании и web-студии;
  • научно-исследовательские центры;
  • организации, которые подразумевают в своей структуре штатную единицу или отделы программистов.

Важные качества

Программирование является бурно развивающейся областью, поэтому программист должен уметь быстро адаптироваться к текущему состоянию технологии и постоянно изучать новые технологии. Поэтому способность к самообучению — один из главных навыков, которым должен обладать программист. В противном случае через несколько лет его ценность как специалиста окажется заметно ниже.

Владение английским языком на уровне чтения технической документации является еще одним обязательным требованием, предъявляемым к представителям этой профессии. Для таких специалистов очень важно умение работать в команде, над большими проектами, со средствами коллективной разработки, с крупными финансовыми системами (бюджетными, банковскими, управленческого учета). Для претендентов на позицию ведущего программиста желательны навыки управления проектами и коллективом, самостоятельность, инициативность, а также способность нести личную ответственность за поставленную задачу.

Профессия программист

Как стать программистом

Правда ли, что программирование — ну самая востребованная специальность в мире? Кто такие системные и прикладные программисты? Сколько лет нужно учиться на программиста? В какой вуз и колледж поступить, чтобы стать программистом?

Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает.
Юмор программистов

Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2020 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн — в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.

Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение и даже алгоритм работы микроволновки. Программный код пишется на специальном языке программирования. Он состоит из обычных слов и некоторых специальных символов. Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.

Если вы думаете, что программист = компьютерщик, то это далеко не так. Самое удивительное, что программист не обязательно работает на компьютере. Он может писать код программы хоть на салфетке, а компьютер ему нужен, чтобы применить этот код и протестировать.
Не стоит также приравнивать программиста к «айтишнику». Под общим названием «IT-специалист» скрывается более 50 разных профессий и должностей. Например, UIX-дизайнер (разработчик интерфейсов), account-менеджер (специалист техподдержки), системный администратор, devops («инженер по автоматизации IT-процессов»), менеджер IT-проекта – это «айтишники», но не программисты. Однако стоит помнить, что в любую из IT-профессий можно попасть через образование программиста.

По специализации программисты делятся на системных, прикладных и веб-программистов. Прикладные программисты занимаются написанием различных программ и приложений: игры (например, популярная игра Angry birds), офисные приложения (например, Microsoft Office Word) и многое другое. Системные программисты занимаются созданием операционных систем (например, Android или iOS). Веб-программисты разрабатывают интернет-сайты и программы, которые поддерживают работу этих сайтов.
На сайтах вакансий вы найдете разделение программистов по тем языкам, с которыми они работают: программист C++, программист Delphi, PHP-программист. А также по типам задач, которые они выполняют: программист баз данных, фронтенд / бекенд разработчик, мобильный / десктоп разработчик, программист 1С, программист Битрикс, геймдев, архитектор ПО, системный инженер и т.д.

Плюсы и минусы профессии программиста

Профессия программиста очень притягательна для современных абитуриентов. В 2020 году в технических вузах самый большой конкурс пришелся на специальности «Прикладная математика», «Информатика и вычислительная техника», «Электроника и наноэлектроника». В 2020 году проходные баллы по ЕГЭ на эти специальности обещают только вырасти. Что так привлекает молодых в программировании?

Плюсы профессии программист:

Высокая зарплата. Средняя зарплата высококвалифицированного программиста 70-100 тыс. рублей.
Востребованность. Рынок труда для программистов растет за счет цифровизации всех сфер общественной жизни. Онлайн-образование, телемедицина, интернет вещей (IoT), даже сельское хозяйство не обходится теперь без IT-специалистов.
Интересные задачи и простор для творчества. Что делает программист на работе? Пишет код, тестирует, проверяет на уязвимости, переписывает код. Тем не менее, конечный результат кодирования – это рабочая программа с разными целями. Одни программисты создают игры. Другие программируют роботов. Третьи делают полезное приложение под Android. Четвертые создают агрегатор, который соберет все билеты мировых авиакомпаний в один сервис для бронирования авиабилетов. Разнообразно, не правда ли? А когда продукт начинает исправно работать, программист испытывает радость, как персонаж папа Карло, который из деревянного полена выстругал живого мальчика.
Возможность удаленной работы и свободный график. Программисты – это каста людей, к которым не применяют строгих офисных правил. Для поддержания креативности и работоспособности им разрешают работать из дома, приходить позже на работу. И, если вы еще не знаете, лучшие офисы принадлежат именно IT-компаниям. Загляните в Google, Microsoft, Яндекс и Mail.Ru.
Карьерный рост в России и за рубежом. Для программирования нет географических границ. Во-первых, многие российский специалисты работают удаленно в иностранных проектах. Во-вторых, переехать в «Силиконовую» долину (более точно ее называть «Кремниевой») для IT-профессионала с отличным знанием английского гораздо проще, чем, например, бухгалтеру, юристу или инженеру-строителю, которым придется изучать специфику профессии в конкретной стране.

Сидячий образ жизни. Без физических нагрузок в нерабочее время программист рискует большую часть зарплаты тратить на врачей. Особенно страдают зрение и опорно-двигательный аппарат.
Быстрое устаревание знаний. Программисту необходимо постоянно учиться. Программирование развивается стремительно, поэтому программист обязательно должен читать профильные журналы и интернет-ресурсы, получать новые знания и сертификаты на курсах. Иначе его ценность как специалиста на рынке труда упадет.

Чтобы стать программистом, можно пойти тремя путями:
1. После 11 класса в вуз по направлению 09.00.00 «Информатика и вычислительная техника» или 10.00.00 «Информационная безопасность».
2. После 9 класса в колледж на эти же направления, а потом пойти или не пойти в вуз.
3. Учиться на курсах программирования и самому.

IT-сфера отличается молодостью и современным подходом к образованию. При трудоустройстве ценится не столько диплом, сколько те навыки (hard skills), которые у будущего сотрудника в багаже. Работодатель даст тестовое задание по программированию и по его результатам примет или не примет соискателя на работу. Именно поэтому приобретать знания и опыт в информационных технологиях можно и дома с помощью книг, online-курсов и создания небольших программ. Какой вариант образования лучше, решает каждый сам. Главный вопрос, который должен задать себе программист – «Достаточно ли я усидчивый и целеустремленный человек, чтобы выучиться и потом конкурировать с теми, кто пришел из вуза?».

В каких вузах и колледжах учиться на программиста
Для поступления в вуз необходимо успешно сдать ЕГЭ по математике, русскому языку, информатике и ИКТ, физике, английскому языку (4 из 5 экзаменов в зависимости от специализации). В Москве получить образование программиста можно во многих учебных организациях.
Полный список вузов, колледжей и техникумов смотрите здесь >>

Мастер Йода рекомендует:  Adobe предупредила о распространении в сети поддельного Flash Player в Интернет

• Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
• IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
• Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)

Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.

Сами программисты оценивают длительность каждой ступени следующим образом:
• Первые полгода-полтора года реального опыта вы junior
• При активном обучении следующие 1-3 года работы вы middle
• А программист с опытом работы 4-6 лет – это senior

Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.

Кроме глубокой специализации в программировании, программисту доступно движение в смежные области внутри IT-компании – дизайн, маркетинг, аналитику, менеджмент. Программист может стать архитектором программного обеспечения, девопс-инженером, менеджером IT-проектов, если ему это интересно и у него есть нужные компетенции. Например, чтобы работать менеджером, ему потребуется коммуникабельность, инициативность, умение формировать команду и контролировать бизнес-процессы.

Оплата труда (диапазон зарплат)

Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:

    30 000 – 260 000 рублей

Перспективы профессии (востребованность)

Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки — это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в «джентльменский набор» при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может «насытиться» профессиональными программистами, и их зарплаты упадут.
В-третьих, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.

Будущему программисту стоит помнить об этих рисках. Но, как и в любой профессии, настоящий специалист, который любит свое дело и профессионально развивается, в любые времена будет востребован.

Какие компетенции и личные качества необходимы программисту

Наверняка, вы сходу назовете 3 качества, которые отличают программиста:
✎ логическое мышление
✎ математические способности
✎ усидчивость

Есть несколько компетенций, которые делают из хорошего программиста лучшего:
✎ гибкость мышления
✎ хорошая память
✎ многозадачность
✎ развитое воображение
✎ умение ясно выражать свои мысли
✎ коммуникабельность
✎ работа в команде

Человек, который умеет придумывать новые идеи и хорошо взаимодействовать в коллективе таких же разработчиков, сможет попасть в самые интересные и передовые IT-проекты или открыть свой.

Что делать уже сейчас

Вы думаете о программировании или хотите в будущем работать в IT? Начать развиваться можно уже в сейчас:

    ✔ Углубленно изучать математику, информатику, русский и английский язык в школе.
    ✔ Программировать и создавать веб-сайты, небольшие редакторы и полезные утилиты.
    ✔ Читать новости из сферы IT: на порталах cnews.ru, habrahabr.ru, computerworld.ru, hightech.fm и github.com.
    ✔ Заниматься в кружках по программированию и школах юного программиста.
    ✔ Посетить iСмену лагеря «Профессионалы будущего», чтобы пообщаться с настоящими IT-специалистами и узнать больше о современных технологиях.

Если вы хотите разобраться, подойдет ли вам специальность программиста, то пройдите наш бесплатный тест: информационно-технологический профиль

Автор: Ольга Биккулова, ЦТР «Гуманитарные технологии»

Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.

Рейтинг языков программирования в 2020 году

Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинги языков программирования. Часто бывает так, что появится некоторый модный язык, о котором все начинают писать, но потом этот язык тихо исчезает. Те программисты, которые бросились изучать этот язык, вдруг видят, что их усилия оказались напрасными.

Например, в середине в 80-х стал очень популярен язык Prolog, но потом его популярность резко снизилась. И сейчас на нем практически никто не пишет. А место популярного новичка занял Python.

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

1. Рейтинг Черной утки

Самым крупным сайтом, посвященным программам с открытым исходным кодом является сайт Black Duck (Черная утка) blackducksoftware.com

Одним из проектов Черной утки является каталог open source. В этом каталоге представлено около 500 000 проектов. Так как у всех проектов код открыт, то легко определить, на каком языке эти проекты написаны. На январь 2020 года рейтинг выглядит так.

Как видно, здесь практически половина программ (46%) написано на C. Это понятно, потому что С — это язык общения программистов. Это единственный язык, компилятор которого есть на всех платформах: от встроенных систем до суперкомпьютеров.

2. Рейтинг Wappalyzer для веб-приложений

Сервис Wappalyzer использует различные методы для идентификации веб-технологий. Рейтинг языков программирования для разработки сайтов на январь 2020 выглядит так.

В веб-программировании однозначно лидирует язык PHP, более 80% сайтов написано на этом языке.

3. Рейтинг TIOBE Index

Рейтинг TIOBE Index построен на оценке результатов поисковых запросов, содержащих название языка. Логика этого индекса очень проста: «Если язык ищут в поисковых системах, то он популярен». Конечно же, это заявление спорное, потому что программисты-профессионалы крайне редко будут искать в поисковике именно название языка программирования. Они чаще ищут решение конкретной задачи. Но громадный плюс этого рейтинга в том, что он достаточно объективно показывает интерес к тому или иному языку.

Индекс TIOBE показывает самые популярные языки программирования, информации о которых искали на 25-ти самых популярных поисковых системах, то есть запросы вида: «+» programming». Индекс подсчитывается каждый месяц.

Индекс TIOBE на январь 2020 года выглядит так:

В этом индексе однозначным лидером является Java.

На графике изменений индекса хорошо видны как менялась популярность языков программирования. Но при этом первое-второе место постоянно делят два языка Java и C. Хотя Java активно продвигается компанией Oracle, а язык C никто не продвигает.

И еще интересно то, что C++ ни разу не смог превысить по популярности C.

4. Рейтинг IEEE Spectrum

Ежегодный рейтинг IEEE Spectrum Top Programming Languages использует 11 метрик из 9-ти источников, включая поисковые запросы, упоминания в твиттере и даже упоминания в вакансиях на работу программиста. С одной стороны этот рейтинг использует больше данных, но с другой стороны во многих источниках данные имеют связанный характер. Чем больше публикуются вакансий на некоторый язык программирования, тем больше запросов будет в поисковых системах. То есть у новых языков больше шансов попасть на вершину рейтинга.

Рейтинг IEEE на 2020 год выглядит так:

Важностью особенностью рейтинга IEEE является то, что рейтинг интерактивный и можно поиграть с параметрами. В этом рейтинге лидирует Python.

5. Рейтинг Stack Overflow

Сайт Stack Overflow — это площадка, на которой разработчики могут задавать и отвечать на вопросы по программированию. Этот сайт имеет около 40 миллионов посещений в месяц. Есть русскоязычная версия сайта: ru.stackoverflow.com

Этот рейтинг рассчитывается на основе опроса разработчиков. В январе 2020 года было опрошено более 100 000 разработчиков и составлен рейтинг языков программирования. Скорее это рейтинг языков, которые вызывают вопросы. В этом рейтинге лидером стал JavaScript.

Такая популярность вполне объяснима, сейчас JavaScript бурно развивается и каждая новая возможность вызывает массу вопросов, поэтому программисты идут на сайт Stack Overflow, чтобы задать вопросы.

Любопытно, что C не попал даже в первую десятку.

6. Вакансии на Head Hunter

Можно подойти к рейтингу языков программирования с другой стороны и посмотреть, какие языки указываются в вакансиях и сколько собираются платить. Одна из самых популярных площадок для поиска работы в IT-сфере — это сайт HeadHunter. Там есть отдельный раздел — вакансии для программистов.

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

Здесь видно, что программист, знающий Pascal (среда Delphi), все еще востребован.

7. Google Books Ngram Viewer

И в конце рассмотрим чрезвычайно полезный сервис Гугл, на котором можно смотреть использование ключевых слов в публикациях.Поэтому можно смотреть популярность не только языков программирования, а любых технологий.

В начале этой статьи приведены графики использования слов Prolog и Python. А теперь введем JavaScript, Python и PHP.

Видно как в 1992 году появляется интерес к JavaScript и он быстро обгоняет Python и PHP.

Похожие записи:

Комментарии 18

Совсем мелкая ошибка в предпоследнем предложении. Вы написали «В начале этой статьи приведены графики использования слов Prolog и Pascal», а там были Prolog и Phyton.

«Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинг языков программирования.» — совет неоднозначный. Профессионал обычно хорошо знает 1-2 языка и специализируется на них довольно долго. Изучение другого языка происходит обычно по причине старта какого-нибудь проекта, или тупика в карьере с текущими знаниями.

Здравствуйте! Спасибо за статью!
Хотел бы узнать Ваше мнение насчет языка программирования Prolog. Дело в том, что язык программирования Prolog используется в разработке программ для искусственного интеллекта.Так как технологии искусственного интеллекта развиваются все интенсивнее, не станет ли язык программирования Prolog популярным, ну или востребованным?

Здравствуйте! Язык Prolog стал популярен в 1980-х годах в связи с японской программой создания программы искусственного интеллекта. Но эту программа кончилась грандиозным провалом. В результате все наработки были розданы бесплатно и никаких полезных программ так и не было создано. Поэтому сейчас Prolog полностью морально устарел и не используется. Даже если и будет новый прорыв в разработке искусственного интеллекта, то, скорее всего, он будет связан с другой технологией и другим языком программирования.

В девяностом году шеф мой взял аспиранта себе на написание САПР, типа Симулинк в Матлабе. Тогда ещё XT-шки были в диковинку. И был в то время бум создания «Искусственного интеллекта». Ходили шутки, что это нужно, когда своего интеллекта не хватает. Ну и аспирант этот решил создавать этот САПР на языке Пролог. Тогда ещё книг, типа Братко не было. В ДОСе работали. Ну и он разобрался в языке этом глубоко так. Ему понравилось в нём лазить по деревьям и делать откаты. В других языках это геморройно было, а в Прологе это вшито как аксиома (исходные кирпичики языка). То есть если программа заходит в тупик, то как-то самореализуется всё там, что она, делая откаты назад сама ищет выход из этого тупика. И аспиранту это нравилось в ней. Написал он в ней САПР свой, «Гаммой» назвал его, была куча публикаций. Но потом бросил заниматься этим и диссертации не защитил. Его пригласили в СберБанк программистом работать, а там зарплаты уже со стипендией аспиранта не сравнить. Так всё это и забросилось. Отчёт в семи томах кода сохранился с той поры и валяется где-то. У меня на даче очень много книг по Прологу на чердаке стопками лежит не тронутых, а Братко, по моему, аж десять экземпляров. В то время хлеб стоил сто рублей, а книги эти по рублю продавались. На растопку жалко их рвать…

Интересный обзор! А что вы можете сказать про Rust в контексте перспективы дальнейшего развития?

Какое программирование самое востребованное

Мы решили разобраться, какое программирование наиболее востребовано сегодня и останется таковым еще долго.

Где можно встретить программистов

Программирование — обширная область, где технологии развиваются быстрыми темпами. Разработчики нужны во множестве сфер, даже не всегда связанных только с IT. Охватить их все одной статьей почти нереально, мы остановимся на самых известных и часто упоминаемых экспертами областях.

Веб-разработка

Одно из популярных и разноплановых направлений. Здесь работают с JavaScript, PHP, Python, Java и Ruby, а также используют «язык структурированных запросов» SQL.

Несомненный плюс этой области программирования — довольно легкий порог входа, быстрота изучения библиотек и инструментов. Этим продиктована популярность веба у новичков в программировании. Но и конкуренция здесь высокая: чтобы оставаться на плаву, нужно постоянно следить за тенденциями.

Мобильная разработка

Это направление сегодня считают самым популярным и перспективным. Смартфоны есть у всех, и их возможности непрерывно растут. Языки создания мобильных приложений: Java и Kotlin для Android, Swift для Apple, а также Python, JavaScript, C#.

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

Десктопные приложения

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

Попасть в разработку приложений для рабочего стола сложнее, чем в веб и мобайл, — без высшего профильного образования вряд ли возьмут в серьезные организации. Языки десктопа зависят от операционной системы:

  • для Linux и кроссплатформенных приложений — C++;
  • для macOS — Swift и Objective-C;
  • для Windows — C#.

Разработка игр

Не так давно по геймдеву сходили с ума все поголовно — он был на пике роста популярности. Сегодня страсти улеглись, но это по-прежнему уважаемая и интересная область интернет-технологий. Годовой оборот рынка в 2020 году оценили в 100 миллиардов долларов.

Осознание того, что твоим продуктом пользуются миллионы фанатов по всему миру, дарит потрясающую эмоциональную отдачу разработчику игр. В индустрии высокие зарплаты, но идти туда нужно с готовностью к сложной работе и высоким нагрузкам. Языки геймдева: С++, C#, Lua и JavaScript для браузерных игр.

Data Science

Тоже модное сегодня направление в IT, которое, выходит далеко за его пределы. Хранение, обработка и анализ больших данных есть в любой сфере экономики. Поэтому Data Science находится на стыке интернет-технологий и бизнеса.

«Data scientist — самая сексуальная профессия XXI века».

Специалисту по Big Data необходимы серьезные знания математического анализа, статистики, машинного и глубокого обучения и текстовой аналитики. Языки программирования, на которых «говорят» здесь, — R, SAS и Python.

Программирование встроенных систем

Embedded — микроконтроллеры, промышленное оборудование, ЧПУ и тому подобные вещи. Полная противоположность интернету и веб-технологиям. Здесь нужно понимать аппаратную часть машины, для которой создается ПО. Необходимые языки — С, С++ и специализированные для тех или иных микроконтроллеров.

Попасть в эту сферу очень трудно: и вакансий, и специалистов в ней гораздо меньше, чем в том же вебе. Но если изучать технологии, связанные с использованием в устройствах интернета, можно пойти дальше.

Интернет вещей (IoT)

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

Интернет вещей — это создание smart-устройств, подключенных к сети «умного» города или дома. Направление молодое и перспективное, поэтому войти в него сегодня проще, чем через 10–20 лет.


Автоматизация бизнеса

Программные продукты для компаний из трендов не уйдут: наоборот, появляются новые и конкурируют между собой. Популярные в России — «Мегаплан», amoCRM, «Битрикс24», 1С. Лидеры международного рынка: SAP, Salesforce, Microsoft Dynamics CRM, Siebel Oracle CRM и другие.

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

В сфере SaaS относительно невысокий порог входа и неплохая заработная плата, есть возможность развиваться и как программист, и как финансист.

Самые популярные языки программирования

Выбор языка зависит от направления. После того как вы разобрались, какое программирование востребовано, нужно искать и изучать инструменты для работы. Приведем несколько топов языков.

Их популярность рейтинги определяют по различным параметрам. Топ TIOBE основывается на количестве поисковых запросов, обучающих курсов и специалистов. Здесь лидеры выглядят так:

Рейтинг IEEE Spectrum анализирует частоту поисковых запросов, число проектов на GitHub, а также упоминания в Twitter и главных IT-порталах сети. Здесь в пятерке лидеров — Python, C++, Java, C, C#.

Если ориентироваться на данные российского сайта HeadHunter, картина меняется. Наглядно она представлена таблицей из статьи в корпоративном блоге HeadHunter на Хабре:

Как видите, на основании разных параметров мы получаем различающиеся результаты. Мы советуем не гнаться за модой, а изучать то, что вам близко. Если оно еще востребовано и хорошо оплачивается — двойное попадание. Но уходить в крайности и осваивать древние технологии — тоже неверный путь, ориентироваться на спрос все-таки нужно.

Какое программирование самое востребованное?

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

Подойти к программированию можно с одной из двух сторон: стать отличным специалистом узкого профиля — по статистике их заработные платы выше, но найти новую работу им чуть сложнее, — либо стать fullstack-разработчиком и выигрывать за счет широты спектра. Найдите золотую середину: станьте экспертом в 1-2 сферах, но поддерживайте актуальность знаний в остальных технологиях.

Если вы выбираете веб-разработку, то советуем пройти курс «Профессия веб-разработчик». Вы узнаете основы создания веб-приложений, этапы работы над ними и научитесь программировать на реальных проектах.

С ума с IT: будут ли в России востребованы программисты в ближайшее десятилетие Материал редакции

В январе 2020 года министр связи России Николай Никифоров заявил, что для развития отечественных информационных технологий через два года стране понадобится миллион программистов. Однако пока в этой сфере работает, по разным оценкам, 350-400 тысяч, и ежегодно выпускается ещё 42,5 тысячи специалистов. TJ попытался разобраться, что будет происходить в российской сфере ИТ в ближайшем будущем, как будет меняться подход к отраслевому образованию и чем российская сфера программирования отличается от мировых стандартов.

Материал подготовлен при поддержке компании GeekBrains.

Зачем России миллион программистов?

«Стратегия развития отрасли информационных технологий в РФ на 2014–2020 годы и на перспективу до 2025 года», утверждённая правительством три года назад, заявляет: развитие ИТ-отрасли необходимо для перехода к новому постиндустриальному технологическому укладу общества.

Реализация этой стратегии снизит зависимость экономики страны от сырьевого экспорта за счёт увеличения экспорта продукции ИТ-отрасли, улучшит общий инвестиционный климат в России и повысит производительность труда. Также на стратегию возлагают надежды по обеспечению информационной безопасности и высокого уровня обороноспособности страны — за счёт создания современных средств реагирования и предупреждения глобальных информационных угроз.

В документе рассматриваются два сценария развития отрасли до 2020 года — базовый с приростом отрасли на 51% (240 миллиардов рублей) и форсированный с приростом на 130% (350 миллиардов рублей). Форсированный сценарий признан наиболее предпочительным и потенциально приведёт к созданию 700 тысяч рабочих мест для ИТ-специалистов. Дефицит этих кадров, в том числе возникший из-за демографического провала в 1990-е, будет сдерживать развитие отрасли.

Каковы прогнозы по выполнению стратегии на 2020 год?

Озадачившись проблемой нехватки кадров, Министерство образования России за последние два года увеличило количество бюджетных мест в вузах по ИТ-специальностям в вузах на 70% (до 42,5 тысяч), и даже совместно с Минтруда включило в 2015 году ИТ-специальности в финансируемые государством региональные программы переквалификации специалистов из других отраслей.

Но этого недостаточно: прогнозируемое количество обученных ИТ-специалистов до 2020 года — примерно 150 тысяч. При этом только 15-20% выпускаемых специалистов сразу готовы приступить к работе.

Нехватка программистов чувствуется не только в России, но и во всём мире (посмотрите, что происходит в Калифорнии). Озвученная Никифировым цифра в миллион специалистов нужна для того, чтобы можно было как-то измерить прогресс.

На пользу играет «мода» на профессию — в 90-е и начале 2000-х быть программистом было не модно среди молодёжи, а сейчас это довольно популярное занятие.

Программирование и робототехника для детей в России набирают популярность: в средних школах открываются специальные классы, появляются частные курсы, куда можно привести ребёнка с пяти лет.

Во второй образовательной акции по профориентации в сфере ИТ «Час кода» в этом году участвовало восемь миллионов школьников — на миллион больше, чем в прошлом.

Мастер Йода рекомендует:  Corel Painter vs Photoshop сравнение возможностей для цифровой живописи

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

«Необходимо заинтересовать детей информационными технологиями ещё в школе и дальше вести ребят, мотивировать, развлекать. Мы не должны терять из вида тех, кто хочет заниматься ИТ профессионально, — говорит министр связи Никифоров, — На это сегодня направлены значительные усилия государства и бизнес-сообщества».

Кто поможет государству?

О низком качестве вузовских программ по ИТ-специальностям сегодня не говорит только ленивый. Это отмечается даже в самой стратегии развития отрасли информационных технологии России: «По значительному количеству востребованных профессий подготовка специалистов осуществляется в недостаточно количестве или не осуществляется вообще, в частности, по таким направлениям, как системная архитектура, управление проектами и интернет-маркетинг».

Для того, чтобы подготовить миллион ИТ-специалистов, нужно начать с формирования адекватного базиса в вузах, а это сложнее.

Возможно положительную роль сыграет взаимодействие бизнеса и образования, но компании до сих пор боятся приходить в вузы за специалистами — бюрократизация процесса, а главное, отсутствие необходимых практических знаний — большое препятствие на этом пути. В регионе нельзя прийти и сказать: «Мы готовы взять трёх фронтэндеров». Вуз просто не поймёт, что такое «фронтэндер».

После школы я очень много занимался сам, долго выбирал, куда поступать: на кибернетику в технический университет или на матфак в классический, в итоге выбрал матфак.

Ни на матфаке, ни, по отзывам друзей, на кибернетике достаточного уровня преподавания программирования не было. Высшее образование делает упор на теорию и даёт широкий кругозор, в отличие от среднеспециального, которое помогает освоить какую-то одну специальность.

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

«Сверхбыстрое развитие сферы разработки информационных технологий требует от специалистов непрерывного самообучения», — говорится в стратегии.

Интересно, что документ содержит целый абзац о том, что для саморазвития специалистов «необходимо развитие дистанционного образования в ИТ, а также широкомасштабное включение курсов на русском языке в наиболее популярные мировые системы онлайн-обучения», с поправкой на обязательность развития российских обучающих платформ («поскольку модель коммерциализации части наиболее популярных зарубежных платформ предполагает продажу информации об обучающихся в иностранные коммерческие компании»).

Однако в приоритетных задачах по улучшению качества образования в отрасли ничего не сказано о планах по развитию таких онлайн-платформ.

Университет или курсы?

Силы в обучение специалистов вкладывают и частные компании. Крупные игроки ИТ-рынка («Яндекс», Mail.ru, «Лаборатория Касперского», 1С, Microsoft, «Контур», Acronis, Intel) набирают и обучают стажёров, проводят конкурсы и соревнования для студентов и молодых специалистов. Несмотря на то, что, по данным HR-порталов, рынок труда в ИТ вырос с 2006 года в 18 раз, специалистов катастрофически не хватает: больше всего востребованы мобильные разработчики, специалисты по информационной безопасности, облачным технологиям и большим данным.

Поскольку на стажировках и курсах преподавателями выступают опытные практики, вузовские программы становятся всё менее привлекательными. Например, получить специальность мобильного разработчика на онлайн-курсах, пройти стажировку и найти работу можно меньше чем за год, что невозможно за четыре года учёбы в университете.

Вечная дилемма — чему же должен учить вуз: свежим знаниям (которые станут неактуальными уже через пару лет) или умению учиться (складу ума). Первое может обеспечить много специалистов в короткой перспективе, второе — повысить качество этих специалистов.

Проблему решит разделение образования на технические курсы (где готовятся практические специалисты) и высшие учебные заведения (готовящих инженеров с фундаментальным базисом). Пока выпускают только инженеров, будет острой проблема кадрового голода — ведь таких людей сложно обучать и их очень мало.

Образовательный портал GeekBrains.ru с начала года обучил «Основам программирования» более 450 тысяч специалистов на бесплатном базовом курсе. Представьте — в десять раз меньше студентов поступили в этом году на бюджетные места ИТ-специальностей во все вузы страны и выпустятся не скоро. В планах портала — до конца года выпустить миллион учеников.

На GeekBrains.ru можно пройти 59 специализированных курсов по изучению языков программирования, мобильной, игровой и веб-разработке, системному администрированию и другим направлениям. Студенты после обучения проходят тестирование, получают доступ к бесплатным вебинарам и сообществу, в котором могут пообщаться на профессиональные темы, найти работу или единомышленников.

Я стал больше интересоваться программированием на последнем курсе университета — ведь моя специальность очень тесно с этим связана. Ещё тогда я увидел, что образование в вузе имеет свои минусы. Одним из них является дисбаланс теории и практики. Конечно, главная цель учёбы в университете — это получение максимально широкого представления о предмете. Но конкретные знания о том, например, как создавать пользовательский интерфейс приложения, я вряд ли получу. И второй минус вузовского образования — в списке государственных образовательных стандартов очень многие направления в сфере программирования вообще не значатся.

Когда я решил научиться писать приложения для Android, задумался: где я мог бы получить знания? Это меня и сподвигло на поиски дополнительного места, где я могу учиться программированию. На курсы GeekBrains я попал благодаря рекламе в интернете. Детально посмотрел программу и понял, что курс направлен на освоение одного направления, но со всех возможных сторон.

Шесть из десяти студентов начинают работать уже во время обучения — на фрилансе, стажировках GeekBrains и партнёров под руководством наставников, в стартапах и на стартовых позициях ИТ-компаний.

В блоге GeekBrains выпускники делятся своими историями из личного опыта — здесь можно найти как студентов ИТ-специальностей, пришедших за практическими навыками, так и взрослых айтишников, освоивших новые профессии, и даже бывших юристов и психологов, решивших сменить работу.

Актуальные IT-направления 2020 года

Содержание:

К 2022 году, по прогнозам Всемирного экономического форума, могут исчезнуть более 75 миллионов рабочих мест. Через 3 года сложнее будет найти работу банковским специалистам, бухгалтерам и другим офисным сотрудникам, обязанности которых можно автоматизировать. В это же время компаниям потребуется больше кадров, чьи компетенции связаны с новыми технологиями. Адаптироваться к меняющемуcя рынку труда нужно уже сегодня, особенно тем, кто только выбирает будущую профессию.

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

Для тех, кто хотел бы работать с информационными технологиями, мы подготовили список самых перспективных направлений в IT на ближайшие годы.

Специальности для тех, кто хочет программировать

Интернет вещей (Internet of Things)

Около 20 лет назад впервые появилась концепция интернета вещей ( IoT ), которая предполагала, что все объекты аналогового и цифрового миров могут быть связаны друг с другом через интернет. Сегодня к IoT относятся системы «умных» домов и городов, одежда, считывающая биоритмы, беспилотные автомобили и многие другие инновации. К 2020 году во всем мире количество IoT-девайсов превысит 30 миллиардов, а в 2025 цифра возрастет до 75 миллиардов. Чтобы оправдать эти амбициозные прогнозы, IT -индустрии потребуется намного больше программистов, способных создавать IoT -решения .

IoT представляет собой ряд взаимосвязанных компонентов: устройства («вещи») или датчики, которые собирают данные, сети для передачи информации, облачные сервисы и приложения для пользователей. Мозг всей этой системы находится на серверах, которые обрабатывают данные и отправляют команды на устройства. Например, датчики в «умном доме » определяют температуру в комнате, отправляют данные в облако, где происходит анализ. Если температура высокая, то автоматически включится кондиционер.

Программисты могут разрабатывать софт для облачного сервиса или приложения, через которые пользователи будут управлять IoT -системой. Для этого разработчики используют те же языки и инструменты, что и для мобильной или веб-разработки. Например, для создания серверной части (где выполняются все необходимые вычисления) программисты используют языки Java , PHP , Python и .NET (C#) .

IoT разработчикам нужен комплекс знаний на пересечении различных сфер – важно разбираться не только в софте, но и в электронике. Хорошей базой для будущей карьеры в разработке IoT будут способности к математике и физике.

Где учиться

Пока в белорусских вузах нет отдельных программ, посвященных разработке IoT-решений. Тем не менее, необходимые технические знания можно получить в БГУ на механико-математическом факультете , в БГУИР – на факультете компьютерных систем и сетей и в БНТУ – на факультете информационных технологий и робототехники.

Большие данные (Big Data)

К 2020 году, по расчётам консалтинговой компании IDC , объем всех цифровых данных в мире вырастет до 44 триллионов гигабайт. Вся эта информация была бы просто хаосом разрозненных данных, если бы мы не научились их хранить и обрабатывать. Этим занимаются специалисты по big data . Сейчас спрос на кадры в этой сфере интенсивно растет в США, но эта тенденция актуальна и для Беларуси.

Технологии b ig data позволяют хранить, обрабатывать и анализировать постоянно увеличивающийся объем данных. В этом направлении есть целый ряд популярных профессий: аналитик данных, архитектор данных, инженер данных, менеджер баз данных. А самая высокооплачиваемая специальность – data scientist, или исследователь данных. Его задача – найти в потоке информации скрытые закономерности. Для этого исследователь готовит набор данных, на основе которого обучает алгоритм машинного обучения или нейронную сеть. Обученный алгоритм в дальнейшем может самостоятельно решать различные задачи: в торговле – моделировать спрос на товары, в медицине – прогнозировать реакцию пациента на определенное лекарство.

Исследователь данных – это ученый, математик и программист в одном лице. Для работы нужно отлично знать математический анализ, методы статистики. Основной язык программирования в этой сфере – Python , в котором есть различные библиотеки для обработки данных и машинного обучения.

Математика и программирование для исследователя данных – это основные рабочие инструменты, но еще для успешной карьеры важно иметь научное мышление. Этот специалист, как и любой ученый, строит гипотезы и проводит длительные эксперименты. Исследователь данных может работать с проектами для различных сфер, от логистики до генетики, поэтому ему всегда нужно быть открытым к изучению нового.

Где учиться

Чтобы реализоваться как data scientist, лучше всего получить высшее образование по математической специальности. Программирование и основы машинного обучения можно параллельно изучать самостоятельно или на курсах. В Минске студенты и выпускники математических специальностей могут поступить в филиал Школы анализа данных (ШАД), где можно бесплатно пройти программу для data scientist. Курсы читают сотрудники факультета прикладной математики и информатики БГУ и минского офиса Яндекса.

Информационная безопасность

Сегодня все больше громких преступлений связано с кибератаками. Один из последних случаев – кража персональных данных (включая сведения о паспортах и кредитных картах) 500 миллионов гостей сети отелей Marriot. Оказалось, что внутренняя информация компании была доступна хакерам еще с 2014 года. А в США завершилось расследование по делу кредитного бюро Equifax – в 2020 году мошенники похитили данные 148 миллионов клиентов компании. Последствия хакерских взломов становятся масштабнее, поэтому растет спрос на профессионалов, которые обеспечивают информационную безопасность. Даже сейчас таких специалистов не хватает, а к 2022 году дефицит кадров в мире может увеличиться до 1,8 миллиона человек.

Сегодня практически любая организация нуждается в защите информации. Даже без хакерских атак есть много рисков потерять важные данные, например, из-за обычной человеческой ошибки. Основная задача специалиста в сфере информационной безопасности – предупредить возможные проблемы, а не справляться с их последствиями. Для этого они анализируют риски и угрозы безопасности, а также создают и управляют системами защиты от вирусных атак и взломов.

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

Еще одно направление, в котором может работать специалист по информационной безопасности , – пентестинг (от англ. penetration testing – тестирование на проникновение). Пентестеров называют этичными или «белыми» хакерами. Они инсценируют действия киберпреступников, проникают в систему, чтобы выявить слабые места в информационной защите. Пентестер не только находит все бреши, через которые можно получить несанкционированный доступ к данным, но и дает рекомендации, как их можно устранить.

Где учиться

Чтобы работать в сфере информационной безопасности, нужно получить высшее техническое образование. Специальности, напрямую связанные с защитой информации, есть в БГУ – «компьютерная безопасность», а также в БГУИР – « защита информации в телекоммуникациях» и «техническое обеспечение безопасности».

Автоматизированное тестирование

Два года назад Nissan отозвал более 3 миллионов автомобилей из-за программной ошибки в работе сенсоров, которые активировали подушки безопасности. Прежде чем машины вернули на доработку, из-за сбоя в системе пострадали три человека. Сегодня неполадки в софте могут привести к самым неожиданным последствиям. Важно убедиться в качестве программы до того, как она попадет к пользователям, поэтому компании стараются проводить тщательное тестирование. Однако разработка программных продуктов ускоряется, новые функции добавляются быстрее, и на тестирование остается меньше времени. В таких условиях ручное тестирование становится менее эффективным, поэтому чаще используют автоматизацию. В Беларуси QA-специалисты со знанием автоматизации ( QA automation engineer, или тест-инженеры) в среднем зарабатывают в два раза больше, чем обычные тестировщики.

Автоматизация объединила тестирование и программирование. Тест-инженеры не выполняют тесты вручную, а пишут скрипты, которые запускают необходимую проверку и сопоставляют полученный результат с ожидаемым. Также специалисты могут проектировать фреймворки для автоматизации, которые ускоряют написание тестов. Для работы тестировщики должны знать один из языков программирования (например, Python или Java) и инструменты для автоматизированного тестирования (Selenium, Appium, JMeter и др.).

Автоматизация позволяет оптимизировать многие рутинные обязанности мануальных тестировщиков, которым раньше приходилось часто повторять одни и те же тесты. В итоге специалист посвящает время более интересным задачам, например, анализу результатов тестов. Для автоматизаторов важны те же личные качества, что и для обычного тестировщика, – развитая логика, критическое мышление, внимательность.

Где учиться

Чтобы заниматься автоматизированным тестированием необязательно получать техническое образование – можно пойти на курсы. Но если вы только собираетесь поступать в вуз и хотели бы в дальнейшем работать тест-инженером, то лучше выбрать специальность, связанную с программированием. Один из таких вариантов – изучать программное обеспечение информационных технологий в БГУИР.

DevOps

В 2020 году в топе лучших технических специальностей США оказался DevOps-инженер. Впервые о DevOps заговорили около 10 лет назад как о новой концепции в индустрии разработки программного обеспечения. Его суть – тесное взаимодействие разработчиков и других технических специалистов в команде, чтобы они могли быстрее и качественнее проводить релизы программного обеспечения. В американском IT это настоящий тренд, которому следуют Netflix, Amazon, Facebook. Сейчас все больше вакансий DevOps-специалистов появляется и в белорусских компаниях.

При DevOps подходе к разработке сразу подключаются все специалисты, от тестировщиков до системных администраторов. Весь процесс работы максимально автоматизируется: программисты пишут код по частям, которые затем тестируются и интегрируются в программу. Так результат проще отслеживать, а при необходимости можно быстрее внести изменения. DevOps помогает избежать ошибок, которые при другом подходе выявили бы лишь на этапе тестирования или эксплуатации.

За реализацию этого принципа на практике отвечает DevOps-инженер. Основные обязанности специалиста связаны с развертыванием программного продукта на рабочих компьютерах, поэтому особенно хорошо специалист должен разбираться в операционных системах и облачных сервисах. Чтобы автоматически управлять конфигурацией операционных систем и программ, установленных на нескольких машинах, используются специальные инструменты, например, Chef, Puppet, Ansible, Kubernetes, GoCD.

Где учиться

Начать карьеру в DevOps без опыта в IT сложно – нужно хорошо понимать весь цикл разработки программного обеспечения, включая последующую техническую поддержку. В DevOps чаще всего переходят специалисты из системного администрирования. Получить подходящее образование можно в БГУИР, выбрав специальность « вычислительные машины, системы и сети», где готовят IT -инженеров со знанием и программного обеспечения, и сетевых технологий.

Специальности, где не нужно программировать

Бизнес-анализ

Большинство белорусских IT-компаний ориентированы на зарубежных заказчиков. Среди клиентов – разные сферы бизнеса, от промышленности до ритейла. Заказчики не обязаны разбираться в технологиях, а разработчики – в бизнесе. Как им оперативно понять друг друга? Посредником между заказчиком и технической командой становится бизнес-аналитик.

Аналитик общается с клиентом, выслушивает его пожелания, выясняет, с какими проблемами в бизнес-процессах нужно справиться. На основе этой информации специалист рекомендует оптимальное технологическое решение. Затем задача усложняется – нужно понять все нюансы: какой функционал должен быть у программы, кто будет ей пользоваться и на каких устройствах. В итоге бизнес-аналитик формирует требования к продукту (или техническое задание), которые будут выполнять разработчики уже с помощью технологий.

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

Сложность работы бизнес-аналитика в том, что он должен учитывать интересы и заказчика, и технической команды. С клиентом нужно говорить на языке бизнеса, а с руководителем команды разработки – переходить на IT -терминологию. Чтобы интерпретировать бизнес-требования в технические, нужно понимать, как происходит процесс разработки. Но ключевой набор компетенций бизнес-аналитика – это понимание бизнес-процессов, быстрое изучение новых сфер и искусство вести коммуникацию с разными людьми.

Где учиться

Для работы бизнес-аналитиком в IT -компании не имеет значения, по какой специальности вы получили высшее образование. Часто в это направление переходят специалисты, у которых уже есть опыт работы в другой сфере (банковский сектор, ритейл и т.д.). Знание специфики какой-либо предметной области в IT тоже пригодится – будет проще разобраться в бизнесе заказчика. Специфику работы аналитиком в IT помогут освоить на профильных курсах. Например, такая программа есть в образовательном центре ПВТ .

IT-консалтинг

Во многих странах мира компании увеличивают расходы на IT – в 2020 году затраты могут составить около 3,8 триллионов долларов. Информационные технологии применяются в каждой отрасли, но самостоятельно бизнесу сложно ориентироваться в изобилии технологических возможностей – и компании обращаются за IT-консалтингом.

IT-консультант помогает улучшать бизнес-процессы с помощью технологий. Такой специалист может планировать стратегию цифровой трансформации компании или продумывать интеграцию определенного технологического решения в бизнес.

Заказчик обращается к консультанту с какой-либо проблемой. Например, владелец интернет-магазина хотел бы повысить эффективность своего бизнеса с помощью технологий, но он не знает, как именно это сделать. Консультант может проанализировать сайт компании, мобильные приложения для покупателей и в целом IT-инфраструктуру клиента. Возможно, специалист посоветует перенести интернет-магазин с одной программной платформы на другую, более эффективную. Кстати, экспертные знания платформенных решений для бизнеса (Salesforce, Magento, SharePoint, ServiceNow и др.) сегодня очень востребованы. IT-консультант всегда должен думать наперед – предугадывать вероятность проблем в бизнесе заказчика. Например, в перспективе у интернет-магазина появится больше клиентов, поэтому нужно предусмотреть возможность масштабирования базы данных.

Сложно ответить, в чем консультант должен разбираться лучше: в бизнес-процесcах или IT. Чтобы специалист был силен в обеих сферах, лучше сразу выбрать определенные технологии и отрасли. Можно специализироваться на IT-решениях для медицины или заниматься CRM-системами. В любом случае консультант всегда должен рассуждать с точки зрения своего клиента и потребностей бизнеса.

Где учиться

Консультантами в IT чаще всего становятся технические специалисты, у которых есть опыт работы над различными решениями для бизнеса. Однако и без технического образования можно заниматься консалтингом, но тогда вашим преимуществом должны быть глубокие знания бизнес-процессов, понимание потребностей заказчика (возможно, в определенной сфере бизнеса). Тогда основы IT-технологий можно изучить самостоятельно. Также в консалтинг можно перейти из другого направления в IT, например, из бизнес-анализа.

Управление проектами

Работа IT-компании состоит из проектов, над которыми трудятся команды разработчиков и других специалистов. И даже если каждый человек внутри этой группы – профессионал и отлично понимает свои обязанности, это вовсе не гарантирует успешный результат. Нужен координатор, который проложит верный маршрут для реализации проекта и поведет за собой команду. Эту роль в компании исполняет менеджер проекта. Его цель – наладить процесс, чтобы команда в срок закончила работу, а заказчик в итоге получил именно то, что ожидает.

Менеджер составляет проектный план, в котором расписаны объем работы, сроки, бюджет и необходимые ресурсы. Чтобы подготовить этот документ, руководитель должен хорошо понимать, что за продукт создается и с какой целью. В некоторых аспектах его обязанности пересекаются с работой бизнес-аналитика – менеджер поддерживает коммуникацию с заказчиком и может влиять на техническое задание.

Мастер Йода рекомендует:  24-я версия алгоритма Google Panda начала свою работу

Одна из важных обязанностей менеджера – сформировать команду и согласовать с заказчиком методологию разработки (Waterfall, Аgile и др). Следующий этап в работе – это распределение задач между участниками команды и мониторинг их выполнения. Для этого руководитель проекта может использовать различные программы, например, Jira, Confluence.

Помимо административных функций, менеджер занимается аналитической работой. Например, он оценивает возможные риски для проекта, чтобы вовремя инициировать изменения, если что-то пойдет не по плану.

Руководителю проектов необязательно уметь программировать или иметь другой технический опыт: важнее – лидерские качества, способности управлять командой и мотивировать сотрудников. Такая роль подойдет тем, у кого развит весь набор soft skills, включая тайм-менеджмент, нетворкинг, стратегическое и тактическое мышление. Менеджеру проектов нужно держать под контролем сразу несколько процессов, поэтому важно уметь планировать и расставлять приоритеты.

Где учиться

Раньше менеджерами проектов в основном становились опытные разработчики. Сейчас управленческие, коммуникативные навыки для менеджеров проектов стали основными, и компании готовы брать на эту должность перспективных специалистов из других сфер, не связанных с IT. Чтобы стать менеджером проектов, лучше получить образование в сфере управления. Например, специальность «управление информационными ресурсами» есть в БГУ и Академии управления при Президенте Республики Беларусь.

Маркетинг и продажи

IT – самый быстрорастущий сегмент белорусской экономики. Сегодня IT не ассоциируют исключительно с программированием, компаниям нужны специалисты, которые будут продвигать и продавать продукты разработчиков. Маркетологам и менеджерам по продажам не нужно переучиваться, чтобы устроиться на такие же позиции в IT. Специфика работы остается прежней, а дополнительные знания можно получить непосредственно на практике в компании.

Маркетинг обеспечивает постоянное цифровое присутствие компании в интернете, отвечает за ее бренд и репутацию, чтобы привлекать больше клиентов. Это работа не только с корпоративным сайтом, но и размещение статей на внешних ресурсах. В сервисных компаниях отдел маркетинга объединяет несколько направлений – это SEO-специалисты, аналитики, копирайтеры, менеджеры по работе с партнерами, дизайнеры.

SEO-специалист занимается продвижением сайта и маркетинговых материалов в поисковых системах. Работу SEO-специалиста обычно описывают как управление репутацией компании в поисковых системах или SERM (Search Engine Reputation Management). На практике это охватывает целый спектр задач, направленных на то, чтобы информация о компании в интернете была актуальной и привлекательной. SEO-специалист разбирается в алгоритмах поисковых систем и умеет пользоваться инструментами веб-аналитики (Google Analytics, Clicky, Piwik).

В отделе маркетинга встречается и специальность аналитик. Его обязанности зависят от компании и ее стратегии развития, но в основном это – анализ рынка и конкурентов. Аналитик собирает и изучает различные данные по теме исследования, и выявляет закономерности, которые могут повлиять на деятельность компании. Большая часть рабочего времени аналитика уходит на поиск и структурирование информации, поэтому важно знать программы (Microsoft Excel), которые помогают с этим справиться.

Дизайнер (или специалист по визуальному маркетингу) создает визуальный контент для продвижения компании. В первую очередь, это работа с сайтом – дополнение статей иллюстрациями, фотографиями, инфографикой. Также специалист готовит графические презентации, например, с описанием услуг компании. В отличие от работы графических дизайнеров, визуальный маркетинг в IT требует больше аналитических способностей, чем художественных. Через визуальные образы специалист должен передать конкретную информацию, как правило, техническую, и его задача – облегчить для аудитории восприятие этого контента. Основные инструменты, которыми пользуются дизайнеры, – Adobe Photoshop, Adobe Illustrator, Microsoft PowerPoint, но могут пригодиться и другие программы для работы с графикой.

Благодаря маркетингу, в компанию приходят потенциальные клиенты, а уже менеджеры по продажам превращают их в заказчиков. От компетентности этих специалистов зависит результат сделки. В сервисных IT-компаниях менеджеры по продажам могут специализироваться в какой-либо сфере или технологиях, например, работать с клиентами из медицины или с решениями по информационной безопасности. При этом они всегда должны соотносить запросы заказчика с возможностями компании. Большая часть работы менеджера по продажам связана с коммуникацией – переговоры, деловая переписка, презентация услуг, поэтому важно свободно говорить на английском языке.

Где учиться

В отделах маркетинга и продаж в IT-компаниях встречаются люди с разным бэкграундом. Специалистам с высшим образованием, связанным с маркетингом или экономикой, будет легче влиться в работу. Для тех, кто только выбирает вуз, можно обратить внимание на новые специальности, где готовят нетехнических специалистов именно для IT-cферы. Например, в БГУИР есть подобное направление – электронный маркетинг.

Чтобы заниматься визуальным маркетингом, не требуется высшее образование в сфере дизайна, а научиться работать с графическими редакторами можно и на курсах. Будущим менеджерам по продажам в IT, стоит присмотреться к факультетам международных отношений БГУ и международных бизнес-коммуникаций БГЭУ. Основой для успешной карьеры в маркетинге или продажах может быть и лингвистическое образование (английский язык), поэтому можно выбрать для обучения МГЛУ.

С чего начинается карьера

С развитием технологий в IT появляются новые направления и специальности. Вузы стараются подстраиваться под потребности рынка труда, но технологии меняются быстрее, чем система образования. Чтобы понимать, какие знания пригодятся для будущей работы, учебу в университете лучше совмещать со стажировкой в компании.

Для нетехнических специалистов переход в IT из других сфер сегодня происходит достаточно быстро: кто-то проходит обучение на курсах, а для кого-то устраивают тренинги уже на рабочем месте. Отсутствие опыта работы именно в IT не будет преградой, всегда есть компании, которые готовы помочь перспективным кадрам развиваться.

WWDC 2014: по версии Apple, 25-я WWDC

Пресс-конференция по случаю открытия “25-й” WWDC (конференции!) отвечала неписаным канонам. В прошлом веке считалось что объявлять на этом ежегодном мероприятии какое-либо “железо” неуместно. Так оно и было, но без металла все-таки не обошлось. Кроме видео-инсталляции про разработчиков в самом начале, отторжения конференция не вызывала. Темы, качество изложения, изысканный фирменный юмор, тонкий вкус. Крейг и Грег (Джосвяк) сыграли на отлично.

Пересказывать пресс-конференцию нет смысла. Вот видеозапись (продолжительностью в 01:57:58):

Mac OS 10.10 (Yosemite), iOS 8, Swift (который язык), и Metal. Тот самый, который “убийца OpenGL и OpenCL”. Пока еще скромная технология в составе iOS 8, “для Apple A7”, но уже заслуживающая самого пристального внимания.

У Apple уже был QuickDraw 3D в середине 90-х, безумный, красивый и многообещающий конкурент Open GL. Объектно-ориентированные API, элегантный и удобный интерфейс, но доля рынка у Apple была ничтожной, она быстро сокращалась – у QuickDraw 3D не было ни малейшего шанса. Теоретически, QD3D обладал фантастическими способностями. Но для их воплощения в реальность требовались оптимизированные под QD3D драйверы, писать которые никто не собирался.

В 1999 году Apple Computer окончательно и бесповоротно отправила QD3D в отставку, его место в Mac OS X занял Open GL. QuickDraw 3D превратился в Quesa, проект с открытым исходным кодом, но… это уже совсем другая история.

Лотерея

В 2008 году, впервые в истории WWDC, все билеты на конференцию были проданы за три недели до завершения продаж. Об этом, с нескрываемым удовольствием, написали все СМИ относящиеся к Apple с симпатией. Можно ли было представить себе что-то подобное всего за десять лет до этого?

Участие в WWDC дело затратное. Билет стоит 1 599 долларов. Даже если участник живет в США, перемещение в Сан-Франциско и неделя в отеле обойдутся в копеечку. Это доступ к информации из первых рук, общение с инженерами компании, с коллегами со всего мира, возможность решить нерешаемые проблемы в своём коде (силами инженеров Apple!). Это кому-то нужно?

Судя по тому что в 2008 году спрос превысил предложение, да.

При этом, начиная c 2003 года Apple уже проводила WWDC в Moscone West, крупнейшем конференц-центре на Западном побережье США. Теперь даже он не мог вместить всех кто считал необходимым для себя принять участие в конференции.

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

Обратите внимание на “1988” – это официальные данные. WWDC 1988 года проводилась в Сан-Хосе.

Но реконструкция – дело долгое. В 2011 году билеты были распроданы за 12 часов. В 2012 за 2 часа. В 2013 – меньше чем за три минуты. Граждане пошустрее не упустили свой шанс подзаработать скупая и перепродавая (в два-три раза дороже) билеты на WWDC, не будь их “достижения” Apple выглядели бы поскромнее – но даже за четыре с половиной тысячи все билеты раскупались.

Подобная спекуляция не противоречит закону штата Калифорния. Неэтично, некрасиво – но законно. Несправедливо. Участие в WWDC – важный ресурс для разработчика, который невозможно переоценить. То есть, поскольку “хватать и не пускать” нельзя, остается лишь смириться и терпеливо ждать завершения реконструкции конференц-центра в Сан-Хосе, в начале 2020 года?

3 апреля 2014 года Apple распространила пресс-релиз, суть которого “яблочные” СМИ тут же разнесли по всему миру. Решение было найдено. Любой участник платных программ Apple для разработчиков (официально зарегистрированный разработчик), Начиная с 3 апреля и до 10 утра по летнему тихоокеанскому времени 7 апреля, мог оставить заявку на специально отведенной для этого страничке на сайте Apple. Бесплатно.

7 апреля состоялся розыгрыш. Выигравшие получали право заплатить 1 599 долларов и принять участие в WWDC. Две трети заявок оказались проигрышными – но зато все было по честному. Подтверждено независимыми аудиторами. Бывает и такое!

Это еще не все: пользуясь случаем, Apple выделила 200 бесплатных мест для учащейся молодежи, женщин-программистов. Самому младшему участнику WWDC 2014 было 13 лет.

Аналогичным образом поступила и Google, вроде бы пришедшая к похожему решению одновременно с Apple, и разыгравшая билеты на участие в Google I/O, событии прошедшем в 20-х числах июня 2014 года. WWDC 2014 открывалась 2 июня 2014 года. Даже если кто-то из них позаимствовал эту идею у другого, ничего плохого в этом не вижу.

Интересно, за какое время были бы распроданы билеты на WWDC на этот раз?

Хронология (новая?)

По версии Apple, первая WWDC случилась в 1989 году: 1 200 сторонних разработчиков из нескольких стран мира были приглашены на презентацию System 7. Вступительное слово Джона Скалли, подписка о неразглашении, несколько детальных и совершенно секретных “сессий” посвященных разным аспектам операционной системы ближайшего будущего.

Про это событие информации у меня немного. В 1991 один из его участников подарил мне набор CD с материалами конференции. Несколько Гигабайт информации, невероятный для того времени объём. Про саму конференцию мне тоже что-то рассказывали, но я ничего не помню.

System 7 становилась реальностью, мне предстояло в ней программировать, своего CD-привода у меня не было – а информации был вагон и маленькая тележка, и все было очень важным и ценным.

О конференциях разработчиков до 1995 года почти ничего неизвестно. Только о двух из них – о той что состоялась в Монтерее (Калифорния) осенью 1983 года, и о конференции 1987 года (один из участников которой оставил воспоминания). Для себя, я считаю что они начались в 1983, но настаивать на этом я не буду.

Если глава Apple считает что первой Apple WWDC было событие 1990 года, значит так оно и было. Будем считать что конференции 1983 и 1987 годов не были WWDC – тем более что до 1995 года они даже назывались иначе.

Раз душа просит праздника, пусть будет юбилей. Кстати, если принять конференцию 1989 года за точку отсчета, WWDC 2020 – тридцатая. С юбилеем!

Подробности?

Многие из тем пресс-конференции заслуживают более детального рассмотрения. И мы этим обязательно займемся. Поэтому…

Обсудить историю Apple вы можете в нашем Telegram-чате.

Какие бывают виды программистов? Виды деятельности программиста

Представьте себе постапокалиптическую картину мира без программистов. Драконы из «Игры престолов» превратятся в черно-белых Годзилл. Исчезнут чаты, мессенджеры и даже тетриса не будет. Мы нуждаемся в программистах. Они пишут коды для смартфонов, компьютеров и стиральных машин, заставляя технику работать. Но это далеко не все. У профессии много направлений и специализаций, каждая из которых имеет свои особенности и сложности, зарплата также зависит от того, чем занимается программист.

Web-разработчик

Самым востребованным на 2020 год видом профессии «программист» является веб-разработчик. К этой категории относятся специалисты по созданию сайтов.

Условно веб-мастера делятся на три группы:

  • разработчик Frontend;
  • Backend-программист;
  • Fullstack-девелопер.

Далеко не все знают, что такое клиентская и серверная часть. Поэтому работодатели зачастую путают специализации в веб-разработке. На биржах фриланса встречаются объявления, в которых наниматели от фронтенд-мастера требуют знания фулстак, при этом платят как за обыкновенную верстку.

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

Кто такой фронтенд-разработчик?

Видимая часть интернет-ресурса, открывающаяся в браузере после ввода запроса, называется клиентской или фронтендом. Оформлением, цветовой гаммой, расположением заголовков занимается дизайнер. Художник рисует будущий макет и передает его верстальщику, который превращает его в HTML-шаблон. На этом этапе подключается веб-программист и добавляет интерфейсу динамики.

Фронтенд разработчики – это вид программистов, отвечающих за создание виджетов, кнопок, выпадающего меню, слайд-шоу. Все интерактивные элементы появляются на страницах благодаря им. Они пишут скрипты на JS, включают их через HTML-теги и следят за тем, чтобы каждая часть кода работала правильно.

Инструменты фронтенд-разработчика

Писать код на HTML, CSS и JavaScript не достаточно. Чтобы оставаться конкурентоспособным на рынке труда, Frontend-разработчик должен знать следующее:

  1. jQuery. Библиотека JavaScript с коллекцией плагинов и расширений. Вместо того чтобы писать код с нуля, jQuery позволяет добавлять и настраивать готовые элементы. Например, автозаполнение форм, слайд-панель, таймер, связанная анимация.
  2. Фреймворки Bootstrap, Foundation, Backbone, AngularJS и EmberJS. Это программные оболочки повышающие производительность ресурса. Предоставляют готовый дизайн и существенно облегчают жизнь разработчика.
  3. Препроцессоры SASS и LESS. Добавляют CSS функциональности, обрабатывает код, превращая его в отформатированный и кросс-браузерный CSS.
  4. Популярные CMS — адаптивная верстка и кросс-платформенность.

Обязанности и виды деятельности программиста включают отладку и тестирование клиентской части. Веб-инженер проверяет отдельные блоки исходного кода на ошибки. Тестирует интерфейс, узнает, насколько пользователям будет удобно взаимодействовать с приложением. Также фронтенд-специалист должен разбираться в азах серверного программирования, технологиях Node.js, помимо JS писать на PHP и SQL.

Зарплата и перспективы

Средний оклад мастера составляет 66 тысяч 410 рублей в месяц. В США эта сумма вырастает до 102 тысяч долларов в год. Высокие зарплаты, легкость языка разметки и написания скриптов привлекает начинающих кодеров к фронтенд-разработке. Освоив JS, большинство из них переходит к серверным языкам. Самые талантливые учат высокоуровневые C и Java, постепенно осваивают геймдев, создание приложений и другие виды информационной деятельности программиста.

Программист серверной части

Backend – это часть веб-приложения, находящаяся на сервере. Она не отображается в браузере, но отвечает за изменения содержимого, обеспечивает динамическую работу и хранит всю информацию сайта. Состоит из сервера, приложения и базы данных. Вид программистов, которые занимаются созданием и разработкой этой части веб-ресурса называются Backend-разработчиками.

Программист серверной части – это следующая эволюционная ступень после фронтенд-разработчика. Его задача заставить сервер, приложение и БД взаимодействовать. Пишет на серверных языках PHP, Ruby, Python, Java и .Net. В качестве инструментов для работы с данными использует MySQL, Oracle и SQL Server. В описаниях вакансии работодатели часто указывают дополнительные требования:

  • знание фреймворков PHP: Zend, Symfony и CakePHP;
  • опыт работы с программным обеспечением контроля версий SVN, CVS или Git;
  • навыки работы с операционными системами Linux, Unix, MacOS X и Windows Server.

Создание веб-приложения – это сложный многоуровневый процесс, в котором участвуют несколько специалистов. Поэтому бэкенд-разработка является командной работой. При написании кода, программист взаимодействует с дизайнерами, верстальщиками, менеджерами и заказчиками.

Разработчик Fullstack

Это вид работы программиста, включающий в себя все этапы создания веб-приложения. Fullstack developer –мастер на все руки, пишущий одновременно клиентскую и серверную часть. Первые упоминания о профессии появились в 2010 году после статьи сотрудника Facebook Карлоса Буэно. С этого момента компания нанимает работников исключительно уровня Fullstack.

Обязанности универсального веб-программиста:

  1. Серверное администрирование. Подключение через терминал к удаленным серверам без GUI. Управление пользовательскими группами, брандмауэрами, программами Apache и Nginx. Фулстак-программист должен все знать об облачном хостинге на платформах Heroku, Google Cloud, Azure, AWS и любых других.
  2. Создание бэкенда и базы данных. Специалист должен разбираться в базах данных MySQL, PostgreSQL, а также БД noSQL: MongoDB, Redis или Cassandra. Иметь представление о графовых СУБД, таких как Neo4j.
  3. Фронтенд-разработка и дизайн. Помимо стандартных обязанностей, верстки и подключения JS, Fullstack-мастер проектирует макет в редакторах Photoshop или Illustrator.

Фулстак-разработчики – это специалисты уровня Senior Developer. За ними охотятся хедхантеры и у них самые высокие оклады. В США зарплата Fullstack Developer начинается от 70-80 тысяч долларов и от 25-30 тысяч долларов в странах Восточной Европы. На иностранных биржах фриланса, например Upwork, один час работы Fullstack-разработчика оценивается в 30$ и выше.

Специалист по созданию и разработке компьютерных игр

Разработка компьютерных игр – одна из самых быстроразвивающихся сфер ИТ-технологий. По данным аналитического агентства NewZoo объем рынка видеоигр с каждым годом увеличивается на 9%. Если в 2020 году он составил почти 100 миллиардов долларов, то к 2020 году эта сумма увеличится до 112.5 миллиардов. Поэтому «инженер видеоигр» – это перспективная и высокооплачиваемая должность.

Инженер, или Game-разработчик – общее название категории специалистов, задействованных в процессе создания игры. Главная задача – превратить идею в программный код и заставить все элементы взаимодействовать. 90% рабочего времени программисты пишут и отлаживают алгоритмы на языке C++, Visual Basic, Java и MEL.

Романтики в профессии мало. В основном, это рутинный и многочасовой труд за компьютером. График обычно ненормированный. Если дизайнеру приходит гениальная идея срочно что-то переделать, всю ночь корпит над кодом именно программист.

Какие бывают виды программистов игр?

Создание консольной, мобильной или компьютерной игры – это многоуровневый процесс. Начинается на стадии проектировки, заканчивается продвижением и коммерческой реализацией продукта. Также у игры много отдельных аспектов, включая интерфейс, аудио и видео эффекты, искусственный интеллект. Для каждого есть отдельный вид программистов:

  • Ведущий программист по звуку: пишет утилиты, чтобы аудио и видео эффекты сочетались.
  • Разработчик игрового движка.
  • Специалист UI или создатель графического интерфейса.
  • Инженер искусственного интеллекта для имитации логики и принятия персонажами решений, особенно в играх, где от игрока зависят действия противника.
  • Программист геймплея: стратегия игры, реализация механики и логики.
  • Инженер устройств ввода. Пишет код для джойстиков, клавиатуры, мышки и устройств, с помощью которых пользователь будет взаимодействовать с видеоигрой.
  • Программист коммуникационных сетей для многопользовательских игр.

За свой труд на благо игровой индустрии данный вид программистов получает зарплату от 60 тысяч рублей. Доход инди-разработчиков точно просчитать сложно. Есть случаи, когда успешные проекты приносили миллионы буквально за неделю. Например, игра-хит Punch Club, Angry Birds и всем известная «Майнкрафт». Существуют, конечно, провальные задумки наподобие Scroll Ninja, не оправдавших ожидания создателей.

Системный программист

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

Разрабатывается программное обеспечение под различные операционные системы, включая серверные Unix и Windows Server, а также мобильные платформы. Код пишется на языках «Си», за редким исключением Assembler. Основная задача системного инженера заключается в установке, настройке, тестировании ОС и всех ее компонентов

Различные виды профессии «программист» требуют от специалиста определенных навыков, опыта работы и уровня владения компьютерными языками. Но труд именно системных инженеров является самым сложным. Для создания ПО нужны углубленные знания информатики, алгебры, математики и построения алгоритмов.

Системный программист необходим в любой сфере ИТ, включая автоматизацию процессов производства и мониторинг безопасности. В США за труд специалиста готовы платить от 87 до 104 тысяч долларов. В Англии 57 тысяч фунтов стерлингов, в России 90 тысяч рублей.

Инженер прикладного программного обеспечения

Данный вид программистов создает не системное, а прикладное ПО. Это программы, или приложения, которые взаимодействуют с пользователем непосредственно. Например, текстовые и графические редакторы, базы данных, аудио и видео плееры.

Работа прикладного инженера заключается в написании кода, его последующей компиляции, отладке и тестировании. Иногда специалист обновляет или вносит изменения в уже существующее ПО. Для программирования использует высокоуровневые языки Java, C#, C++, Python, PHP. Прикладные программисты редко трудятся в одиночку. В основном, они являются участниками стартапов, или входят в штат сотрудников компании, занимающейся разработкой компьютерного софта.

«Программист» – интересная и разнообразная профессия с множеством направлений и специализаций. Одни делают виджеты для сайтов и проектируют API, другие пишут код для серверов или корпят над графикой Disciples III. Каждый, кто любит программировать, может реализовать себя в веб-разработке, стать именитым создателем игр или писать программы для спутников НАСА.

Добавить комментарий