М айти что это
Перейти к содержимому

М айти что это

  • автор:

SMM-менеджер: кто это и чем он занимается

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

smm-менеджер

Что за профессия SMM-менеджер (специалист по продвижению в социальных сетях)?

SMM-менеджер (с англ. Social Media Manager) – это специалист, который занимается продвижением бизнеса, а именно компаний, брендов и отдельных лиц в социальных медиа (Вконтакте, Одноклассники, YouTube, Twitter и других). К его задачам относится увеличение охвата страницы клиента, улучшение воспринимаемого образа заказчика, коммуникация с подписчиками. Менеджеры платформ соцмедиа развивают и поддерживают присутствие организации в информационном поле виртуального мира, ежедневно трудятся над созданием нового контента, постоянно внедряя инновации для генерации современных идей и форматов. Они также контролируют аналитику и показатели эффективности проведенных проектов.

Обязанности

В основные обязанности СММ-специалиста входит:

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

Профессиональные навыки

Как правило, в описаниях вакансий SMM-специалиста можно увидеть следующие требования:

  1. Умение написания привлекательных текстов, грамотная речь (устная и письменная);
  2. Знание возможностей и ограничений социальных медиа: ВКонтакте, Одноклассники, YouTube, Twitter и других.
  3. Понимание специфики продвижения в каждой из соцсетей;
  4. Опыт работы с сервисами веб-аналитики (Google Analytics, Яндекс.Метрика и прочие);
  5. Наличие базовых компетенций по взаимодействию с графическими редакторами и фотостоками;
  6. Понимание общих принципов функционирования SEO и CMS;
  7. Опыт ведения таргетированной рекламы.

Знание английского языка также повышает уровень СММ-менеджера, позволяя ему следить за всеми зарубежными трендами и открывая дорогу к иностранным компаниям-заказчикам. Тогда, как понимание маркетинговых и PR процессов в фирме и связи разных коммуникационных каналов: рекламы на ТВ и радио, размещения промо-материалов в точках продаж, особенностей взаимодействия со СМИ -–помогают получить полную картину специфики профессии.

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

Начало профессии, перспективы и карьерный рост

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

Сколько зарабатывает SMM-менеджер?

Зарплата начинающего специалиста зачастую начинается со ставки в 20 – 30 тысяч рублей. В регионах эта цифра будет меньше. Крупные рекламные и креативные агентства (такие, как BBDO, Saatchi & Saatchi, Leo Burnett и другие) зачастую предлагают бесплатные стажировки, по окончании которых наиболее талантливых молодых людей принимают в штат. Профессионал с накопившимся опытом ведения социальных сетей может рассчитывать на внушительную зарплату от 200 и более тысяч рублей. Помимо опыта работы на уровень вознаграждения влияет количество и масштаб проектов, с которыми работает специалист. Соответственно выплаты от крупного заказчика с большей аудиторией могут быть значительно выше, нежели от компании, начинающий свой путь в социальных медиа.

Почему стоит пройти обучение на SMM-менеджера в ЦРК в бизнес-информатике, логистике и управлении проектами ВШБ НИУ ВШЭ ?

Курс по «Входящему (inbound) маркетинг – контент, SEO, SMM, контент-менеджменту и продвижению в социальных сетях» является одним из курсов программы профессиональной переподготовки «Стратегия цифрового бизнеса / Digital Business Strategy» Центра развития компетенций в бизнес-информатике, логистике и управлении проектами ВШБ НИУ ВШЭ, наряду со стратегическим планированием digital маркетинга. Он входит наряду с медийной рекламой, контекстной рекламой и таргетированной рекламой в социальных сетях в Блок дисциплин по выбору. Стратегия бизнеса в цифровых каналах. Вместе с другими дисциплинами учебного плана формируют понимание, как связаны бизнес-цели компании и маркетинговые цели, как выбрать под каждый тип цели и аудиторию правильные каналы и как в этих каналах работать. В рамках курса слушатели работают как над контентной стратегией для бренда или ритейла в социальных медиа, так и в целом защищают маркетинговую стратегию и медиаплан. Такой подход позволяет не только углубиться в особенности площадок социальных медиа, но и получить общее представление об их интеграции в рамках маркетинговых коммуникаций.

Преимущество курса состоит в системном образовании в одном из лучших ВУЗов страны – НИУ ВШЭ. ЦРК в бизнес-информатике, логистике и управлении проектами приглашает на обучение на программу профессиональной подготовки в рамках гибридного обучения «Стратегия цифрового бизнеса / Digital Business Strategy». Программа рассчитана на 7 месяцев. Поступить учиться могут слушатели, имеющие среднее профессиональное или высшее образование, а также студенты, получающие высшее образование. Обучение состоит из основных курсов и предметов по выбору, что позволяет слушателю самому выбрать наиболее подходящую траекторию развития, а также имеет практическую направленность. В рамках занятий слушатели знакомятся с реальными кейсами компаний и защищают свои проекты. Нетворкинг является отдельным и внушительным плюсом обучения. Преподавательский состав представлен реальными профессионалами бизнеса разных отраслей.

Куда пойти работать?

Среди порталов по размещению вакансий нередко можно встретить следующие интерпретации позиции СММ-специалиста: Social Media Coordinator, Social Media Content Creator. Такое количество вариантов еще раз доказывает, что данная профессия является быстрорастущей и весьма перспективной с точки зрения поиска работы. Так, выпускники программ могут выбрать несколько карьерных путей:

  • креативные и рекламные агентства (NLO Marketing, BBDO, Leo Burnett и другие);
  • компании-представители разных индустрий с отделами digital-маркетинга (Zara, Coca-Cola, L`Oreal, Adidas Group, BWM и прочие);
  • фриланс;
  • создание собственного бизнеса.

Цифровой герой: 10 направлений подготовки в IT

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

13 декабря 2016
Одноклассники
Фото: WOCinTech Chat / Flickr / CC BY 2.0

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

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

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

«Прикладная математика и информатика»

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

Среди обязательных курсов студентов ждут численные методы и методы оптимизации, работа с базами данных, языки программирования, системное и прикладное программное обеспечение, а также архитектура электронно-вычислительных машин. Иными словами, направление подходит тем, кто действительно любит технику и технологии. Изучать его можно в НИУ ВШЭ, МГТУ им. Н.Э. Баумана, НИЯУ «МИФИ», МГУ и др.

«Фундаментальная информатика и информационные технологии»

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

Направление можно найти, например, в МГУ, РУДН, МАИ и др.

«Математическое обеспечение и администрирование информационных систем»

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

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

«Информатика и вычислительная техника»

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

Направление есть в МГТУ им. Н.Э. Баумана, НИУ ВШЭ и РГУ нефти и газа им. И.М. Губкина и др.

«Информационные системы и технологии»

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

Программу можно найти в МГТУ им. Н.Э. Баумана, МАИ и НИТУ «МИСиС» и др.

«Прикладная информатика»

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

Среди вузов, где есть это направление подготовки, — НИЯУ «МИФИ», МГТУ им. Н.Э.Баумана, РЭУ им. Г.В. Плеханова и др.

«Программная инженерия»

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

Программу можно найти в НИУ ВШЭ, МГТУ им. Н.Э. Баумана, НИЯУ «МИФИ», МАИ, НИУ «МИЭТ» и др.

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

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

Специалистов, способных защищать данные, готовят в МИФИ, РЭУ им. Плеханова и Финансовом университете при Правительстве РФ.

«Информационная безопасность автоматизированных систем»

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

Направление есть в МГТУ им. Н.Э. Баумана, Московском технологическом университете и Академии Федеральной службы безопасности РФ.

«Бизнес-информатика»

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

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

Программы подготовки есть в НИУ ВШЭ, РЭУ им. Плеханова, РУДН, РАНХиГС и Московском технологическом университете.

Понимаем сленг программистов: мини-словарь для начинающих разработчиков

Понимаем сленг программистов: мини-словарь для начинающих разработчиков главное изображение

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

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

Бесплатные курсы по программированию в Хекслете

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

А

Адаптив — адаптивный дизайн, адаптация интерфейса к использованию на разных экранах.

Аджайл — от англ. Agile. Общий термин, который описывает ценности и принципы гибкой разработки программного обеспечения, а также практические подходы к разработке. Понятие Agile стало популярным после публикации Манифеста гибкой разработки программного обеспечения в 2001 году.

Айдишник — id, идентификатор.

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

Апишка — API, программный интерфейс приложения или интерфейс прикладного программирования.

Апрув, апрувнуть — от англ. Approve. Одобрение, одобрить, утвердить.

Аутсорс — аутсорсинг, передача компанией части операционной деятельности другой компании.

Б

Баг — от англ. Bug — жучок, клоп. Ошибка в программе.

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

Бета — бета-версия, приложение на стадии публичного тестирования.

Бот — сокращение от «робот». Ботом называют программу, которая автоматизирует интерфейс. Пример — автоответчик в чате.

Бэкап, бэкапить — резервная копия или процесс создания резервной копии приложения.

Бэкенд — от англ. Back-end. Программно-аппаратная или серверная часть приложения.

Бэклог — от англ. Backlog. Перечень рабочих задач команды разработчиков, упорядоченный по приотритету.

В

Ворнинг — от англ. Warning — предупреждение. Предупреждающее сообщение в интерфейсе.

Войтивайти — шуточное выражение, обозначает процесс переквалификации далекого от IT-сферы специалиста в разработчика.

Выкатить — сделать доступным для пользователей. Например, «выкатили новую версию сайта» значит сделали новую версию сайта доступной для пользователей.

Выпадашка — выпадающее меню, то же, что и «дропдаун».

Г

Галера — компания, в которой платят низкие зарплаты и не ценят разработчиков.

Гит — система контроля версий Git или сервис GitHub.

Г****окод — плохой, некачественный код. Объяснение термина есть в статье нашего студента.

Градиент — плавный переход из одного цвета в другой.

Грумить — от англ. Grooming. Приводить в порядок, «причесывать».

Д

Движок — в веб-разработке так называют системы управления контентом.

Дебажить — устранять ошибки, баги.

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

Джун, джуниор — от англ. Junior. Младший разработчик. Специалист без опыта или с минимальным опытом работы.

Дезигнер — презрительно-снисходительное название дизайнера.

Докеризировать — завернуть приложение в докер (платформу для разработки, доставки и запуска контейнерных приложений).

Драй — от англ. DRY, don’t repeat yourself. Принцип программирования, предлагающий избегать повторений кода.

Дропдаун — выпадающее меню, то же, что и «выпадашка».

Дропнуть — от англ. Drop. Удалить, отключить, сбросить или обнулить что-либо.

Ж

Жаба — язык программирования Java.

Жабаскрипт — язык программирования JavaScript.

З

Залить — загрузить. Например, «залить файлы на сервер».

Запилить — сделать что-то, добавить какую-то функциональность.

Змея — язык программирования Python.

И

Исходник — файлы, в которых находится исходный код приложения, или сам исходный код.

Итерация — повторение. «Мы сделали несколько итераций» — мы повторили шаг несколько раз.

Бесплатные курсы по программированию в Хекслете

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

К

Колл — от англ. Call. Созвон, онлайн-конференция, онлайн-совещание.

Коммит, коммитить — от англ. To commit — совершать. В контексте работы над приложением — сохранять код в репозитории.

Копипаста — от англ. Copy-Paste. Скопированный откуда-то код.

Костыль — код, который нужен, чтобы исправить несовершенство ранее написанного кода.

Л

Легаси — от англ. Legacy. Морально устаревший код, который не обновляется, но используется. Или код, который разработчик получил по наследству от предыдущих разработчиков.

Либа — от англ. Library — библиотека. Речь идет о библиотеках кода, например, React.

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

Лист — от англ. List — список.

Локалка — локальный. Например, локальный сервер или сеть.

М

Мидл — от англ. Middle — средний. Уровень разработчика, следующий за джуниором. Опыт и уровень знаний миддла позволяет ему самостоятельно решать серьезные задачи.

Мёржить — от англ. Merge, сливать. Речь идет об объединении или слиянии веток кода.

Меншить — от англ. Mention — упоминание. Упоминанать в чатах или соцсетях. «Менши меня, когда будет готово» значит «упомяни меня, когда будет готово».

Н

Навбар — навигационный блок на сайте или в интерфейсе программы.

Накатить — внести изменения, задеплоить новую версию приложения. Противоположное термину «откатить».

О

Опенсорс, опен-сорс — от англ. Open Source. Программное обеспечение с открытым исходным кодом.

Откатить — удалить изменения, вернуть предыдущую версию приложения. Противоположное термину «накатить».

Ось — операционная система.

П

Падаван — ироничное название стажера или джуниора.

Пилот — пробная (пилотная) версия продукта.

Питон — язык программирования Python.

Подвал — то же, что и «футер». Элемент структуры страницы, который находится в нижней части и содержит служебную информацию — контакты, ссылки на соцсети, публичная оферта и т. д.

Поплыла вёрстка — некорректное отображение страницы в браузере.

Продакшн или продакшен (продакшн-код) — обозначение кода для рабочей версии приложения.

Пушить — использовать команду push, публиковать что-то.

Пэхапэ — язык программирования PHP, то же, что и «пыха».

Пыха — язык программирования PHP, то же, что и «пэхапэ».

Р

Рекурсия — описание процесса с помощью самого процесса. Например, выражение «рекурсивный вызов функции» описывает ситуацию, в которой функция вызывает сама себя.

Релиз — программное обеспечение на стадии публичного использования. Стабильная версия программы, которая прошла тестирование.

Релокация — перевод сотрудника или бизнеса в другое место внутри страны или за границу.

Репа — репозиторий, хранилище данных. Например, код программы можно хранить в репозитории на GitHub.

Ридми — файл Readme, в котором содержится информация о программе.

Ругаться, например, линтер ругается — сообщения об ошибках в коде, работе сервиса и так далее.

С

Сабж — от английского Subject — тема, предмет. «По сабжу» — по теме обсуждения.

Свитчнуть, свичнуть — переключить. От английского switch.

Сетка — модульная сетка, используется для дизайна и верстки страниц.

Сеньор, синьор — от англ. Senior — старший разработчик.

Сорец (Сорцы) — от англ. Source. Исходный код.

Стек — изначально абстрактный тип данных. В разговорной речи используется для обозначения списка технологий, которые использует разработчик или компания. Пример: «Наш стек — HTML/CSS, JavaScript, React».

Софт — от англ. Software — программное обеспечение.

Софт-скиллы — от англ. Soft skills — знания и качества специалиста, прямо не связанные с профессиональной деятельностью. Примеры: коммуникабельность, проактивность.

Спринт — короткий промежуток времени (до 4 недель), в течение которого scrum-команда выполняет определенный объем работы.

Читайте также: Как джуну найти работу и где лучше начинать карьеру в IT: советы от Хекслета

Т

Таска — от англ. Task. Задание, задача.

Темплейт — от английского Template — шаблон.

Тестировщик — специалист по тестированию программного обеспечения.

Тимлид — от английского Team Lead — руководитель команды. Координатор группы программистов.

У

Убить — удалить что-то. Например, «убить профиль» означает удалить профиль.

Ф

Фидбек — от англ. Feedback — обратная связь.

Фиксить, пофиксить — от англ. Fix. Чинить, починить, исправить.

Фича — функция, возможность. От англ. Feature.

Фреймворк — от англ. Framework — каркас. Инструмент разработки, набор типовых шаблонных решений, упрощающих работу программиста. Примеры: Laravel, Bootstrap.

Фронтенд — от англ. Front-end — клиентская часть приложения.

Х

Хатэмээль, хатээмэль — HTML, язык гипертекстовой разметки.

Хардкодить — статически прописывать в коде данные, которые должны вычисляться динамически. Плохая практика, антипаттерн в программировании.

Хацкер, кулхацкер — ироничное название начинающего специалиста, который считает себя опытным программистом. От английского Hacker и Cool Hacker.

Хедер, хэдер — элемент структуры веб-страницы, находится в верхней части и содержит логотип, меню, служебную информацию.

Хотфикс — от англ. Hotfix. Срочное исправление критических ошибок, уязвимостей или недоработок в программе.

Ц

Цэмээс, цээмэс — от англ. CMS — Content Management System, система управления контентом.

Цээсэс — от англ. CSS — Cascading Style Sheets, каскадные таблицы стилей.

Ч

Чекать, чекнуть, прочекать — от англ. Check. Проверять, проверить.

Ю

Юзать — от английского To use — использовать.

Я

Ява — язык программирования Java.

Яваскрипт — язык программирования JavaScript.

ЯП — язык программирования.

Бесплатные курсы по программированию в Хекслете

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

IT-словарик для не-айтишников

Приходилось ли вам объяснять IT-понятия людям из других сфер? Это хитрая задача: при объяснении одного термина нельзя пользоваться другими, потому что они тоже будут непонятными. Представим, что ваш знакомый захотел «войти в айти», впервые открыл Хабр и офигел — как объяснить такому человеку хотя бы основные слова?

Мне захотелось описать популярные понятия неформальным языком — так, чтобы доходчиво донести главное, а не запутывать нюансами. Для этого местами пришлось пойти на упрощения. Но думаю, новичкам не требуется знать «правильнее писать Linux или GNU/Linux». Для начала понять бы, что в разговорах айтишников слово «перформанс» — это не про современное искусство.

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

Оглавление

Технологии

  • IDE
  • Компиляция
  • Отладка
  • Контроль версий и git
  • Open source
  • Производительность
  • Фронтенд и бэкенд
  • Всякий хайп: AI/ML, AR/VR, блокчейн

Люди и роли

  • Программист / разработчик / кодер
  • Junior, middle, senior
  • QA / тестирование
  • DevOps
  • Full stack developer и T-shaped
  • Энтерпрайз, аутсорс, фриланс

Технологии

IDE

Все знают, что программисты пишут код. А где они его пишут? По сути своей код — просто набор символов, так что в принципе можно хоть в программе «Блокнот». Но это как ретушировать фотографию в Paint, вручную меняя цвет отдельным пикселям: странно мучиться так, когда есть программы помощнее, куда встроены специальные инструменты. И для того, чтобы писать код, тоже делают «программы помощнее».

Есть «редакторы кода», там базовый набор инструментов: например, подсветка разных составляющих кода разными цветами, помогающая быстро видеть нужное. Самый популярный такой редактор в мире — Visual Studio Code от Microsoft.

А есть более мощный вариант — IDE (вообще произносится «ай ди и», но в России говорят «и дэ е»). Аббревиатура означает «integrated development environment» («интегрированная среда разработки»), и это значит, что туда включен не только редактор кода, но и другие инструменты для самых разных задач разработчика (подробнее о них ниже) — компиляции, отладки, контроля версий, вёрстки интерфейса. То есть это такой «швейцарский нож».

Компиляция

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

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

Отладка

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

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

В этом могут помочь разные инструменты, в первую очередь — созданные как раз для этого отладчики (debuggers). Отладчик позволяет, запустив программу, следить за происходящим «внутри» неё, и помогает заметить, где именно что-то пошло не так, как задумывалось.

Контроль версий и git

Вам когда-нибудь приходилось совместно с другими людьми работать над файлами, когда все поочерёдно вносят в них изменения, и на всякий случай требуется сохранить промежуточные версии? Обычно такое заканчивается папками «finally_final_v5_2021» и письмами «Re: Re: Re: Fwd: Re», во всём этом чёрт ногу сломит.

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

Над кодом тоже работают совместно, обращаться к истории изменений приходится регулярно, и чтобы не сойти при этом с ума, всё делают примерно как в Википедии. Для этого созданы системы контроля версий (version control system, сокращённо VCS). Самая популярная из таких систем, ставшая стандартом — git.

Также есть целый набор понятий, связанных с этим, вот только некоторые:

  • Коммитить (commit) — вы что-то сделали и теперь вносите эти изменения в git.
  • Бранч (branch) — ветка: это как создать отдельную копию файла, с которой можно смело экспериментировать, не боясь испортить «основную», с которой в это время может работать кто-то другой.
  • Мёрджить (merge) — объединять код: если удачно поэкспериментировали, надо влить результат в основную ветку, которая тем временем могла ощутимо измениться.
Open source

Представим, что программист написал код, скомпилировал — получилось то, что можно запустить. Дальше можно делиться с миром этим результатом работы, и люди смогут им пользоваться, не зная, как именно он сделан «внутри». Но можно, кроме готовой программы, поделиться и её исходным кодом тоже. Тогда другие программисты, разобравшись в нём, смогут предложить свои улучшения или создать на основе программы что-то своё. Когда код открыт всему миру, это и называют open source.

Звучит здорово, но есть нюансы. Например, на программе с открытым кодом сложнее зарабатывать: больше не требуется покупать её, когда можно взять код и самостоятельно скомпилировать. И в Microsoft не спешат делиться кодом Windows. Зато с операционными системами Linux всё наоборот: ядро Linux — это открытый бесплатный проект, куда вносили вклад разные люди и компании со всего мира, а основать на нём свою ОС может кто угодно, поэтому у Linux есть много разновидностей.

Опенсорс хорошо подходит энтузиастам, но и коммерческие компании по разным причинам тоже открывают часть своих наработок. Чаще всего их выкладывают на сайте GitHub — там сосредоточено больше всего опенсорса в мире. Название GitHub связано с git, и иногда эти понятия путают, но это совсем не одно и то же: запомнить помогает мнемоническое правило «git и GitHub соотносятся примерно как порно и PornHub».

Производительность

Английское слово performance применяется не только к художественным представлениям, но и к компьютерам, где его используют в значении «производительность».

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

Чтобы улучшать производительность, для начала её надо измерять: точно определять, сколько времени требуется на выполнение какого-либо кода, разбираться, где всё «застревает». Поэтому рядом с «перформансом» нередко можно встретить ещё слово «бенчмаркинг», и это отдельное искусство — измерять нужно уметь.

Фронтенд и бэкенд

Зачастую, пользуясь чем-то, мы видим только «надводную часть айсберга». Можно столько ездить на автомобиле, что руль и приборная панель начнут сниться, но ни разу не заглядывать ему под капот: «ну оно там как-то работает, в автосервисе разберутся».

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

Хайп: AI/ML, VR/AR, blockchain

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

«ИИ» (искусственный интеллект) или «AI» (Artificial Intelligence) — это расплывчатое бессмысленное понятие, которое люди исторически применяли к самым разным вещам. Но в последние годы так обычно обозначают машинное обучение (ML, machine learning), и вот это куда более конкретная штука. Её суть в том, чтобы учить компьютер выполнять задачи не стандартными строгими алгоритмами («если на фото есть такие-то элементы, то изображена кошка»), а другим подходом: «вот тысячи фотографий, на них всех кошки, сам реши, что у них общего, и дальше ищи на новых снимках то же». Для многих задач, где чёткий алгоритм составить затруднительно (как с тем же распознаванием изображений), это оказывается куда эффективнее.

VR (virtual reality) — виртуальная реальность, когда видишь вокруг полностью другой мир, как со шлемами Oculus. AR (augmented reality) — дополненная реальность, когда к настоящим объектам вокруг пририсовывают какие-то ненастоящие: как в случае, когда Google на вашем телефоне готов показать тигра прямо в вашей комнате. Над VR и AR работают давно не первый год, и супервзрыва пока не произошло, но развитие продолжается.

Блокчейн — технология, лежащая в основе Bitcoin и других криптовалют, но подходящая и для других задач, связанных с хранением данных. Одна из её главных идей в децентрализованности: у блокчейн-систем нет единоличного «владельца» (в случае с Bitcoin люди даже не знают, как выглядит его создатель Сатоши Накамото, но это и не принципиально). Несколько лет назад с ростом стоимости биткоина возник бум, когда людям казалось «достаточно реализовать любой проект с использованием блокчейна, чтобы озолотиться». Этого не произошло, и волна хайпа схлынула, но сама технология осталась и ещё может пригодиться.

Люди и роли

Программист / разработчик / кодер

В детстве мы все привыкли к слову «программист». Сейчас в вакансиях пишут «разработчик» («developer») или «software engineer». А ещё можно встретить слово «кодер». В чём разница? В интернете (в том числе и на Хабре) есть дискуссии об этом, и некоторую разницу там находят: например, «кодер» порой считают уничижительным определением, когда человек механически пишет код, сам не вполне его понимая.

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

Джуниор, миддл, сениор

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

Про «синьора Помидора» пошутили уже миллион раз, но это по-прежнему смешно, так что, если разработчики пишут «помидор», они про это. Ну или про тайм-менеджмент по технике Pomodoro, тут уж смотрите по контексту.

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

А стадия «senior» — это тупик, дальше неё развиваться некуда? Не совсем так. Есть роли «архитектор» и «тимлид», порой можно увидеть должности вроде «principal engineer» (отвечает не за конкретный проект, а за разработку во всей компании). Но всё это уже не линейное движение «кодить лучше прежнего», развитие здесь идёт не в сторону непосредственного написания кода, а в сторону других задач.

Full stack developer и T-shaped-специалист

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

«Фуллстек» — это про развитие разработчика вширь. О точном значении слова можно спорить (писал об этом отдельный пост), но общий смысл в том, что фуллстек-разработчик — это «человек-оркестр», совмещающий разные умения. Самое частое сочетание умений — «фронтенд + бэкенд», то есть такой человек способен в одиночку сделать сайт, от кнопочек в браузере до базы данных.

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

После слайда из доклада @jbaruch вы не сможете забыть понятие «T-shaped», даже если захотите

Тестирование, QA, QC

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

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

Существуют свои различия между понятиями «тестирование», «QA» (quality assurance) и «QC» (quality control), но на первых порах можно не вдаваться в них и воспринимать все три термина как примерно одно и то же. Зато вот различие, которое понятно сразу: одно дело — проверить «точно ли сайт при нажатии на кнопку отреагирует как должен», а другое дело — проверить «точно ли сайт выдержит нагрузку в миллион запросов». То есть внутри тестирования есть очень различающиеся задачи, поэтому возникают подвиды вроде «нагрузочное тестирование».

DevOps

Код пишут, затем тестируют, затем он выполняется на каких-то устройствах (серверах, смартфонах, чём угодно) — и всё это создаёт много вопросов, связанных не с самим кодом, а с инфраструктурой. Возникают задачи администрирования — вот и у Хабра, помимо раздела «разработка», есть отдельный раздел «администрирование». А в английском есть слово «operations», которое сокращают до «ops».

Такими задачами могут заниматься отдельные люди. Но в последние годы постоянно слышно слово «девопс», которое родилось как объединение «development» («разработка») и «operations». Как можно по нему догадаться, речь о том, чтобы эти две составляющие шли навстречу — и разработчик не просто писал абстрактный код в вакууме, а разбирался в инфраструктурных вопросах. Это помогает избегать ситуации «лебедь, рак и щука», когда люди, вроде бы занятые общим делом, не могут наладить диалог и винят в проблемах друг друга.

С тестированием ситуация похожая (между ним и разработкой тоже нужен общий язык и понимание), поэтому иногда в понятие DevOps включают и его:

Энтерпрайз, аутсорс, фриланс

Были слова о том, какие специалисты могут работать в IT — а теперь напоследок пара слов о разных вариантах компаний, где они могут работать.

Одно из различий: бывают маленькие юркие стартапы, а бывает крупный консервативный «энтерпрайз». В начинающих компаниях больше свободы, но зачастую и больше хаоса. Солидные корпорации обычно бюрократичнее, зато стабильнее.

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

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

Заключение

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

А напоследок — минутка рекламы:

Мы в JUG Ru Group проводим конференции для опытных IT-специалистов. Так что, если при чтении поста вы поплёвывали в потолок «ну это всё понятно» — вам будет интересно на наших конференциях, там вы узнаете куда больше нового, чем из этого текста. Сейчас у нас анонсированы пять весенних конференций: Heisenbug (тестирование), Mobius (мобильная разработка), JPoint (Java), HolyJS (JavaScript), DotNext (.NET).

  • Блог компании JUG Ru Group
  • Учебный процесс в IT
  • Читальный зал
  • Изучение языков

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *