169
правок
AE (обсуждение | вклад) (Тестирование изображений) Метка: ручная отмена |
AE (обсуждение | вклад) (Тестирование изображений) |
||
Строка 1: | Строка 1: | ||
[[Файл:The Caxton Celebration - William Caxton showing specimens of his printing to King Edward IV and his Queen.jpg|мини|Разработчики выкатывают что-то в продакшн]] | |||
Разработка программного обеспечения — это производство программ для вычислительных устройств как продуктов полностью готовых к использованию. Могут предназначаться для внутреннего использования или для внешнего заказчика, для перепродажи или для бесплатного распространения. | Разработка программного обеспечения — это производство программ для вычислительных устройств как продуктов полностью готовых к использованию. Могут предназначаться для внутреннего использования или для внешнего заказчика, для перепродажи или для бесплатного распространения. | ||
== Объясните простыми словами, пожалуйста == | == Объясните простыми словами, пожалуйста == | ||
Почему программистов называют разработчиками? 🤔 | Почему программистов называют разработчиками? 🤔 | ||
Строка 13: | Строка 13: | ||
Что объединяет журналистов и разработчиков программ? | Что объединяет журналистов и разработчиков программ? | ||
* ⚒️ Они должны использовать профессиональные инструменты индивидуальной и командной работы. | *⚒️ Они должны использовать профессиональные инструменты индивидуальной и командной работы. | ||
* 🚯 Они должны соблюдать производственные стандарты. | *🚯 Они должны соблюдать производственные стандарты. | ||
* 👪 Они должны эффективно работать в команде по правилам (методологиям). | *👪 Они должны эффективно работать в команде по правилам (методологиям). | ||
* 📅 Они должны понимать, что делает и зачем. Работать на результат и соблюдать сроки. | *📅 Они должны понимать, что делает и зачем. Работать на результат и соблюдать сроки. | ||
* 💎 Они должны ''писать'' качественно, простым понятным языком. | *💎 Они должны ''писать'' качественно, простым понятным языком. | ||
* 🚑 Они должны помогать коллегам. | *🚑 Они должны помогать коллегам. | ||
* 🫡 Они должны выполнять требования ''редактора'' (руководителя проекта). | *🫡 Они должны выполнять требования ''редактора'' (руководителя проекта). | ||
Разработка '''больших''' и важных приложений требует участия большого количество людей и все они заняты '''не только''' программированием. Менеджеры, дизайнеры, аналитики, тестировщики, системные администраторы и другие специалисты вносят '''огромный''' вклад в конечный результат. К сожалению, про них часто и несправедливо забывают, называя разработчиками только программистов 😞 | Разработка '''больших''' и важных приложений требует участия большого количество людей и все они заняты '''не только''' программированием. Менеджеры, дизайнеры, аналитики, тестировщики, системные администраторы и другие специалисты вносят '''огромный''' вклад в конечный результат. К сожалению, про них часто и несправедливо забывают, называя разработчиками только программистов 😞 | ||
== А если серьезно == | ==А если серьезно== | ||
=== Из чего состоит разработка ПО === | ===Из чего состоит разработка ПО === | ||
Программирование — только одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением. | Программирование — только одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением. | ||
* Идея — с чего всё начинается. Обычно это предложение по решению конкретной проблемы. | *Идея — с чего всё начинается. Обычно это предложение по решению конкретной проблемы. | ||
* Продуктовый анализ — это проверка идеи на адекватность: анализ конкурентов, опросы пользователей, оценка экономических показателей (затраты, прибыль и т.п.). | *Продуктовый анализ — это проверка идеи на адекватность: анализ конкурентов, опросы пользователей, оценка экономических показателей (затраты, прибыль и т.п.). | ||
* Системный анализ — сбор требований и их документирование в виде технического задания. | *Системный анализ — сбор требований и их документирование в виде технического задания. | ||
* Проектирование — один из важнейших этапов, здесь происходит выбор технологий и инструментов. Прорабатываются модели процессов и модели данных. | *Проектирование — один из важнейших этапов, здесь происходит выбор технологий и инструментов. Прорабатываются модели процессов и модели данных. | ||
* Планирование — оценка трудозатрат и календарных сроков. | *Планирование — оценка трудозатрат и календарных сроков. | ||
* Программирование — написание исходного кода программ на определенных языках программирования. | *Программирование — написание исходного кода программ на определенных языках программирования. | ||
* Код-ревью (code review) — проверка исходного кода программы другим более опытным разработчиком. | *Код-ревью (code review) — проверка исходного кода программы другим более опытным разработчиком. | ||
* Тестирование — проверка, что программа удовлетворяет требованиям. В крупных компаниях, тестирование является частью отдельного направления контроля качества (QA) | *Тестирование — проверка, что программа удовлетворяет требованиям. В крупных компаниях, тестирование является частью отдельного направления контроля качества (QA) | ||
* Документирование — состоит из документирования исходного кода, документирования API (описания того как программа будет взаимодействовать с другими программами), подготовки документации для пользователей | *Документирование — состоит из документирования исходного кода, документирования API (описания того как программа будет взаимодействовать с другими программами), подготовки документации для пользователей | ||
* Релиз (release) — «запуск в печать». Доставка приложения или результатов его работы конечным пользователям. | *Релиз (release) — «запуск в печать». Доставка приложения или результатов его работы конечным пользователям. | ||
* Сопровождение — исправление багов и доработки. | *Сопровождение — исправление багов и доработки. | ||
=== Кто участвует в разработке ПО === | ===Кто участвует в разработке ПО=== | ||
Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления: | Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления: | ||
* Менеджеры — отвечают за организацию процессов | *Менеджеры — отвечают за организацию процессов | ||
* Коммерсанты — отвечают за продажи и удержание клиентов | *Коммерсанты — отвечают за продажи и удержание клиентов | ||
* Аналитики — решают сложные проблемы | *Аналитики — решают сложные проблемы | ||
* Разработчики — программируют | *Разработчики — программируют | ||
* Тестировщики — тестируют | * Тестировщики — тестируют | ||
* Сисадмины — обслуживают | *Сисадмины — обслуживают | ||
Пример структуры IT-компании среднего размера: | Пример структуры IT-компании среднего размера: | ||
Строка 59: | Строка 59: | ||
**'''Финансовый директор''' (Chief Financial Officer / '''CFO''') — отвечает за то, чтобы у компании не закончились внезапно деньги | **'''Финансовый директор''' (Chief Financial Officer / '''CFO''') — отвечает за то, чтобы у компании не закончились внезапно деньги | ||
**'''Технический директор''' (Chief Technology Officer / '''CTO''') — главный по IT | **'''Технический директор''' (Chief Technology Officer / '''CTO''') — главный по IT | ||
*Отдел развития бизнеса (Business development / '''BD''') — глобальная стратегия и планы развития компании | * Отдел развития бизнеса (Business development / '''BD''') — глобальная стратегия и планы развития компании | ||
**Бизнес-аналитика (Business Intelligence / '''BI''') | **Бизнес-аналитика (Business Intelligence / '''BI''') | ||
***'''Аналитик данных''' (Data Analyst) — извлекает из «бесполезных» данных полезный результат, который используется другими специалистами | ***'''Аналитик данных''' (Data Analyst) — извлекает из «бесполезных» данных полезный результат, который используется другими специалистами | ||
Строка 65: | Строка 65: | ||
***'''Бизнес аналитики, координаторы и прочие менеджеры''' — делают компанию лучше и эффективнее | ***'''Бизнес аналитики, координаторы и прочие менеджеры''' — делают компанию лучше и эффективнее | ||
*Коммерческий отдел (Commercial department) или — увеличение доходов, работа с клиентами | *Коммерческий отдел (Commercial department) или — увеличение доходов, работа с клиентами | ||
** Обслуживание клиентов (Customer Service) — работа на удержание клиентов | **Обслуживание клиентов (Customer Service) — работа на удержание клиентов | ||
***'''Аккаунт менеджер''' (Account manager) — индивидуальная работа с ключевыми клиентами | ***'''Аккаунт менеджер''' (Account manager) — индивидуальная работа с ключевыми клиентами | ||
**Отдел продаж (Sales)— поиск новых клиентов | **Отдел продаж (Sales)— поиск новых клиентов | ||
Строка 90: | Строка 90: | ||
**'''Тестер по информационной безопасности''' (Security Tester) — тестирует приложения на проблемы по ИБ | **'''Тестер по информационной безопасности''' (Security Tester) — тестирует приложения на проблемы по ИБ | ||
*DevOps — связующее звено между разработкой (Dev) и обслуживанием (Ops) | *DevOps — связующее звено между разработкой (Dev) и обслуживанием (Ops) | ||
** '''Инженер по инфраструктуре''' (Infrastructure Engineer) — из набора серверов, сетей и сервисов проектирует единую надежную систему | **'''Инженер по инфраструктуре''' (Infrastructure Engineer) — из набора серверов, сетей и сервисов проектирует единую надежную систему | ||
**'''Инженер по надежности''' (Site Reliability Engineer / '''SRE''') — отвечает за масштабируемость и высокую производительность приложений | **'''Инженер по надежности''' (Site Reliability Engineer / '''SRE''') — отвечает за масштабируемость и высокую производительность приложений | ||
** '''Девопс инженер''' (DevOps Engineer) — отвечает за автоматизацию процессов сборки и доставки приложений на сервера | **'''Девопс инженер''' (DevOps Engineer) — отвечает за автоматизацию процессов сборки и доставки приложений на сервера | ||
**'''Инженер по конфигурации''' (Configuration Management Engineer) — работает с ПО для управления параметрами приложений | **'''Инженер по конфигурации''' (Configuration Management Engineer) — работает с ПО для управления параметрами приложений | ||
**'''Релиз инженер''' (Release Engineer) — непосредственно запускает приложения в продакшн | **'''Релиз инженер''' (Release Engineer) — непосредственно запускает приложения в продакшн | ||
Строка 100: | Строка 100: | ||
**'''Менеджер внедрений''' (Implementation Manager) — отвечает за поставку продукта новым клиентам, первичную настройку и поддержку, обучение клиента | **'''Менеджер внедрений''' (Implementation Manager) — отвечает за поставку продукта новым клиентам, первичную настройку и поддержку, обучение клиента | ||
**'''Специалист службы поддержки''' (Help Desk / Support Technician) — обработка входящих обращений от пользователей и решение простых проблем. | **'''Специалист службы поддержки''' (Help Desk / Support Technician) — обработка входящих обращений от пользователей и решение простых проблем. | ||
** '''Технический аналитик''' (Technical Analyst) — решает сложные технические и технологические проблемы | **'''Технический аналитик''' (Technical Analyst) — решает сложные технические и технологические проблемы | ||
**Системное администрирование | **Системное администрирование | ||
***'''Системный администратор''' (System Administrator) — установка, настройка и обслуживание ПО. | ***'''Системный администратор''' (System Administrator) — установка, настройка и обслуживание ПО. | ||
Строка 107: | Строка 107: | ||
***'''BC/DR Специалист''' (Disaster Recovery / Business Continuity Specialist) — готовит планы аварийного восстановления и отвечает за бэкапы (резервные копии). | ***'''BC/DR Специалист''' (Disaster Recovery / Business Continuity Specialist) — готовит планы аварийного восстановления и отвечает за бэкапы (резервные копии). | ||
*Информационная безопасность (InfoSec) — защита от взломов и утечек данных | *Информационная безопасность (InfoSec) — защита от взломов и утечек данных | ||
** '''Директор по ИБ''' (Chief Information Security Officer / '''CISO''') — руководитель направления. | **'''Директор по ИБ''' (Chief Information Security Officer / '''CISO''') — руководитель направления. | ||
**'''Архитектор ИБ''' (Security Architect) — отвечает за стратегию, политики, процедуры. | **'''Архитектор ИБ''' (Security Architect) — отвечает за стратегию, политики, процедуры. | ||
**'''Инженер ИБ''' (Security Engineer) — отвечает за внедрение инструментов обеспечения ИБ (сетевые экраны, антивирусы, системы обнаружения вторжений, системы шифрования данных) | **'''Инженер ИБ''' (Security Engineer) — отвечает за внедрение инструментов обеспечения ИБ (сетевые экраны, антивирусы, системы обнаружения вторжений, системы шифрования данных) | ||
Строка 120: | Строка 120: | ||
Рекомендации: | Рекомендации: | ||
# Определите интересные для вас предметные области, например: финансы, туризм, компьютерные игры. | #Определите интересные для вас предметные области, например: финансы, туризм, компьютерные игры. | ||
# Определите интересные и подходящие для вас направления работы: программирование, тестирование, аналитика, менеджмент и т.п. | #Определите интересные и подходящие для вас направления работы: программирование, тестирование, аналитика, менеджмент и т.п. | ||
# Найдите вакансии IT компаний, которые соответствуют вашим навыкам, интересам и опыту, изучите требования. | #Найдите вакансии IT компаний, которые соответствуют вашим навыкам, интересам и опыту, изучите требования. | ||
# Пройдите базовое или дополнительное обучение по выбранному направлению, самостоятельно или с помощью курсов. | #Пройдите базовое или дополнительное обучение по выбранному направлению, самостоятельно или с помощью курсов. | ||
# Налаживайте полезные связи — общайтесь на форумах и чатах. Посещайте тематические мероприятия. | #Налаживайте полезные связи — общайтесь на форумах и чатах. Посещайте тематические мероприятия. | ||
# Обновите свое резюме, чтобы оно соответствовало требованиям интересующих вас IT-компаний, укажите свой опыт и навыки. | #Обновите свое резюме, чтобы оно соответствовало требованиям интересующих вас IT-компаний, укажите свой опыт и навыки. | ||
# Разместите свое резюме на сайтах поисков работы и откликайтесь на вакансии. Обязательно заполняйте к отклику сопроводительное письмо. | #Разместите свое резюме на сайтах поисков работы и откликайтесь на вакансии. Обязательно заполняйте к отклику сопроводительное письмо. | ||
# Подготовьтесь к собеседованию: изучите информацию о компании, попрактикуйтесь в ответах на общие вопросы, будьте готовы ответить на технические вопросы. | #Подготовьтесь к собеседованию: изучите информацию о компании, попрактикуйтесь в ответах на общие вопросы, будьте готовы ответить на технические вопросы. | ||
# Пройдите собеседование и получите предложение о трудоустройстве. | #Пройдите собеседование и получите предложение о трудоустройстве. | ||
# Продолжайте обучаться для дальнейшего карьерного роста. | #Продолжайте обучаться для дальнейшего карьерного роста. | ||
[[Категория:Информационные технологии]] | [[Категория:Информационные технологии]] |