Найти тему

Винтик по имени Программист.

Привет! За счёт чего зарабатывают программисты? Естественно, за счёт написания нужных программ. Тяжело ли создавать хорошие программы? Об этом сегодня и поговорим.

Пример хорошей программы
Пример хорошей программы

Задача IT компаний простая - найти проблему и решить её с помощью программы. Проблемы бывают разные. Нет возможности смотреть фильмы дома на компьютере? Хорошо, мы создадим онлайн кинотеатры с подборками фильмов и сериалов. Хотите заказать билеты или еду не выходя из дома? Отлично мы создадим соответствующий сервис. Вашей компании нужно избавиться от бумажной волокиты? Прекрасно, у нас есть для вас система электронного документооборота. Вам нужен оперативный контроль за водителями-экспедиторами? У нас есть что вам предложить! Перечислять можно долго. В современном мире очень много нерешённых проблем. Много проблем решается. Много проблем возникает.

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

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

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

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

Напишите в комментариях, кому, на ваш взгляд приходится тяжелее?

Что еще почитать:

Не идите в программисты! Не надо!

За что платят программистам?