56 IT-терминов, которые нужно знать
Заговорите на языке айтишников.
IT-специалисты постоянно используют слова, которые понятны только людям внутри сферы. Если вы только пришли в разработку, тестирование или менеджмент IT-проектов, этот текст объяснит вам, что такое компилятор, чем performance review отличается от код-ревью и нужен ли вам пет-проект.
Разработка
API (Application Programming Interface) — интерфейс прикладного программирования — соединение между компьютерами или компьютерными программами.
Cloud (облако) — программное обеспечение (ПО) или служба, работающая в интернете, а не локально на компьютере пользователя.
Git — распределенная система управления версиями файлов и совместной работы.
MVP (Minimum Viable Product) — метод разработки, при котором на рынок выводится новый продукт с базовыми функциями, достаточными, чтобы привлечь внимание потребителей. Конечный продукт выпускается на рынок только после получения обратной связи от первоначальных пользователей продукта.
Pull request — предложение изменения кода в чужом репозитории. С помощью пулл-реквеста разработчик сообщает другим об изменениях, которые отправил в ветку репозитория на GitHub.
Авторизация — механизм безопасности, который используется для определения уровней доступа пользователя или клиента, связанных с системными ресурсами, включая компьютерные программы, файлы, службы, данные и функции приложений. Авторизации часто предшествует аутентификация для проверки личности пользователя.
Архитектура — общий дизайн вычислительной системы, логические и физические взаимосвязи между ее компонентами. Архитектура определяет оборудование, программное обеспечение, методы доступа и протоколы, используемые в системе.
Аутентификация — проверка личности человека для получения доступа к данным или приложению. Доступ к определенным действиям или страницам можно ограничить с помощью уровней пользователей.
БД — база данных — организованный набор данных, хранящихся и доступных в электронном виде из компьютерной системы. Делятся на реляционные (данные хранятся в виде таблиц и строк) и нереляционные (данные хранятся в коллекциях документов JSON).
Бекап — копия компьютерных данных, взятая и хранящаяся в другом месте, чтобы использовать ее для восстановления оригинала после потери данных.
Библиотека — набор заранее написанного кода, который пользователи применяют для оптимизации задач. Например, библиотека Pillow на Python создана для работы с графикой.
Компилятор — программа, которая переводит компьютерный код, написанный на одном языке программирования (исходный язык), на другой (целевой язык).
Легаси-код — «устаревший код», исходный код, унаследованный от других разработчиков или от старой версии программного обеспечения. Это также может быть любой код, который разработчик не понимает и который трудно изменить.
Микросервисы — архитектурный подход, который представляет единое приложение как набор небольших сервисов, отвечающих за конкретные функции.
Монолит — одноуровневое программное приложение, в котором пользовательский интерфейс и код доступа к данным объединены в единую программу на единой платформе. Монолитное приложение автономно и не зависит от других приложений.
Опенсорс — подход к созданию компьютерных программ с открытым исходным кодом. Программа с открытым исходным кодом доступна для всех желающих.
Пет-проект — небольшой второстепенный проект разработчика, которым он занимается в свободное время. Часто пет-проекты используют для отработки навыков, которые хотят улучшить: например, выучить новый язык программирования, новые шаблоны проектирования или другие технологии и рабочие процессы.
Паттерн (шаблон или шаблон проектирования) — общепринятое решение проблемы проектирования, которая неоднократно повторяется во многих проектах. Разработчики программного обеспечения адаптируют шаблонное решение к конкретному проекту.
Репозиторий — место хранения пакетов программного обеспечения. Репозиторий программного обеспечения управляется системой контроля версий или менеджерами репозиториев.
Сервер — часть компьютерного оборудования или программного обеспечения (компьютерная программа), которая обеспечивает функциональные возможности для других программ или устройств, называемых «клиентами». Эта архитектура называется клиент-серверной моделью.
Стек — структура данных, которая содержит упорядоченную линейную последовательность элементов.
Фаервол (брандмауэр) — система сетевой безопасности, которая отслеживает и контролирует входящий и исходящий сетевой трафик на основе заранее определенных правил безопасности. Брандмауэр устанавливает барьер между внутренней сетью и глобальной сетью.
Фреймворк — заранее подготовленный набор решений, который решает общие проблемы разработки.
Тестирование
Acceptance — тестирование, проводимое пользователями, клиентами или другими лицами для определения, одобряет ли клиент приложение / программное обеспечение.
Black Box — тестирование, при котором тестировщик не знает, как организована система изнутри. Цель — проверить функциональные возможности с точки зрения поведения при различных комбинациях входящих данных.
Penetration (pen test) — имитация кибератаки на компьютерную систему для проверки уязвимостей.
Smoke — тестирование программного обеспечения, определяющее, является ли развернутая сборка ПО стабильной. Состоит из минимального набора тестов, запускаемых при каждой сборке для проверки функциональности программного обеспечения.
White Box — тестирование, при котором у тестировщика есть представление о коде или общие знания об архитектуре программного обеспечения.
Нагрузочное (load) — тестирование программного обеспечения, при котором компонент или система ПО подвергаются возрастающей нагрузке для изучения их поведения.
Регрессионное — тестирование программных приложений, чтобы убедиться, что изменение или дополнение не нарушили каких-либо функций.
Процессы
Код-ревью — процесс обеспечения качества ПО, в котором команда анализирует исходный код вручную или с помощью автоматического инструмента проверки кода. Мотив — улучшить качество кода.
Отладка (debugging) — обнаружение и удаление существующих и потенциальных ошибок в программном коде, которые могут стать причиной неожиданного поведения или сбоя.
Парное программирование — гибкий (agile) метод разработки программного обеспечения, при котором два программиста работают вместе на одной рабочей станции. Один (драйвер) пишет код, а другой (наблюдатель или навигатор) просматривает каждую строку кода по мере ее ввода. Два программиста часто меняются ролями.
Рефакторинг — трансформация программной системы таким образом, чтобы не изменять функции кода, но улучшать его внутреннюю структуру.
Project Management
Agile — итеративный подход к управлению проектами и разработке программного обеспечения, который помогает командам предоставлять ценность клиентам быстрее и чаще. Вместо того чтобы делать ставку на «большой взрыв», гибкая команда выполняет работу небольшими шагами.
Kanban — метод управления разработкой, реализующий принцип «точно в срок» и способствующий равномерному распределению нагрузки внутри команды.
One-on-One — встреча в формате «тет-а-тет» между менеджером и подчиненным для обсуждения рабочих вопросов.
Performance review — часть постоянного диалога между руководителями и сотрудниками. Во время ревью обсуждаются текущие показатели, сведения о прошлой производительности и планы на будущее.
SCRUM — подход управления проектами для гибкой разработки программного обеспечения. Скрам делает акцент на качественном контроле процесса разработки.
Waterfall — классическая модель, используемая в жизненном цикле разработки системы для создания системы с линейным и последовательным подходом. Эта модель разделена на разные фазы, и выходные данные одной фазы используются в качестве входных данных для следующей фазы.
Бэклог — список задач, необходимых для поддержки крупного стратегического плана.
Пленнинг-покер (Scrum poker) — игровой метод, который команды разработчиков используют, чтобы угадать объем задач управления проектами. Эти оценки основаны на мнениях всей группы.
Релиз — распространение окончательной версии приложения. Выпуск программного обеспечения может быть публичным или частным. Представляет начальное поколение нового или обновленного приложения. Релизу предшествует распространение альфа-версии, а затем бета-версии программного обеспечения.
Компании
Аутсорс — бизнес-практика, при которой компания нанимает третье лицо для выполнения задач, операций или предоставления услуг для компании.
Аутстаф — модель удаленного найма, при которой выделенная группа IT-специалистов предоставляется сторонним подрядчиком в качестве удаленного ресурса для основного клиента или IT-проекта.
Продукт — компания, разрабатывающая один продукт — программное обеспечение, которое предназначено для продажи пользователям.
HR
Контроффер — ответ работодателя на оффер сотрудника от другой компании.
Онбординг — введение в организацию и адаптация нового сотрудника.
Овертайм — переработка сверх рабочих часов.
Оффер — предложение о работе.
Релокейт — переезд на постоянное место жительства, связанное с работой.
Ремоут — удаленная работа — формат работы вне офиса.
Саббатикал — время, в течение которого сотрудник не работает на своей постоянной работе и может отдыхать, путешествовать, заниматься исследованиями и так далее. Работодатель обычно оплачивает это отсутствие сотрудника или, как минимум, сохраняет рабочее место.
Свитчер — IT-специалист, пришедший в IT из других сфер.
Скилы — навыки (знания и умения).
Фидбек — способ оценки проделанной работы или процессов. Обратная связь — это способ понять потребности, требования, результаты деятельности сотрудников в организации.