Почему зарплата программиста такая высокая, если каждый может научиться программировать бесплатно?

Dev Dev 30 Марта 2022

Программирование похоже на игру в шахматы. Все знают, как передвигать фигуры по доске. Хорошо играть — это совсем другое. На самом деле это еще 10 000 часов практики.

Научиться программировать бесплатно, стать разработчиком-самоучкой с помощью Интернета в наши дни стало еще доступнее.

Я знаю отличных программистов, которые начали программировать с минимальной поддержкой. Они не учились в компьютерных школах, у них не было доступа в Интернет, но при этом они стали большими профессионалами.

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

Так что же отличает хорошего программиста от плохого?

Чтобы ответить на этот вопрос, необходимо понять фундаментальную часть работы программиста по решению проблем.

Хороший программист — это не тот, кто программирует десятки тысяч строк кода.

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

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

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

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

Для этого программист должен понимать ситуацию.

Например:

Представьте себе программиста, который создаст программу регистрации клиентов на веб-сайте/приложении, которое в основном будет обслуживать городское население.

Для идентификации такого клиента используется метод использования CPF или Facebook (для облегчения входа клиента в систему).

Теперь представьте себе создание программы регистрации клиентов в сельской местности с небольшим доступом в Интернет и бедным населением.

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

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

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

Другое дело — иметь знания, полученные после многолетнего опыта.

Имея опыт и связи со средой, в которой он работает, хороший программист на вес золота.

2 Ответа

  1. German German 30 Марта 2022 (ред.)

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

  1. Evg Evg 30 Марта 2022

    Оплата, сложный вопрос. Цена навыка — аналогично. Программисты, футболисты… Черт, у меня под окном пожарная часть, там обычные пожарники и я готов поспорить, что их навык, их работа может быть и важней.

    Они людей спасают! Как и врачи, например.

    ИМХО, многие навыки переоценены.