Programmers vs Coders

What’s the difference.

Nikita Goncharuk
Clean Code

--

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

Давайте проясним этот момент.

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

Звучит отлично, да? Двигаемся дальше. Кодеры могут играть важную роль в вашем проекте, однако в программном обеспечении есть нечто большее, чем просто создание кода и его запуск на сервере (или клиенте, в зависимости от того, что вы делаете).

На мой взгляд, кодер, как правило, не видит общую картину и не заботится об этом. Они не заботятся о решении проблем бизнеса и надлежащего UX. Они не заботятся об архитектуре системы. Они не заботятся о том, на каком сервере работает их код. Они не беспокоятся о доступности, масштабируемости, долговечности, отказоустойчивости, доставке, управлении и так далее. Также касается производительности, они заботятся только о проверке собственного кода. По сути, все, что их волнует, — это написание кода, проверка его и написание модульных тестов, а потом возможность заявить, что они хорошо покрыли свой код тестами.
Затем они делают pull request для смерживания кода и, конец истории.

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

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

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

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

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

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

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

Перевод статьи(paid): medium

--

--