Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

Вопрос возник из-за того, что в настоящее время это популярно и что обучение программированию стало доступнее. Но сложности, однако, тоже не могли не появиться. Это: количество языков программирования, глубина разработки приложений (которые становятся всё сложнее изнутри).

Насколько сложна деятельность современного программиста и не станет ли с годами ещё сложнее, с необходимостью знаний ещё несколько языков\наук\и.т.д.?

ПрограммированиеПрограммисты+1
DJ Ruben
  ·   · 1,7 K
старший разработчик в pseven.io  · 10 окт 2021
Сложность действительно есть, но искать её надо не там, где кажется:
  • Количество языков программирования действительно растёт, потому что растёт и развивается индустрия. Но в вакансиях не предъявляется требование "знать минимум N языков". Часто нужно глубокое знание одного конкретного.
  • Сложность приложений тоже растёт, но сложность разработки конкретной части приложения остаётся такой же, а зачастую становится проще. Об этом хорошо написал Вадим. Программисту не нужно разбираться в том, как именно реализованы нижние слои абстракции приложения, которое он разрабатывает.
А вот сложности, с которыми сталкиваются программисты в первые годы своей работы:
  • Окажется, что код надо писать не просто "чтоб работал", а ещё и такой, чтобы он был понятен другому человеку. Парадокс, но по настоящему простой и понятный код может писать только хороший опытный программист. На приобретение этого навыка у многих уходят годы.
  • Нельзя написать код раз и навсегда. Код, который ты написал, потом нужно будет изменять — или тебе самому, или твоему коллеге. А ещё на его основе будет писаться другой, новый код. Получившаяся система должна расти, но не зарастать излишними усложнениями и не рушиться под собственным весом. Навык проектирования надёжной устойчивой к изменениям архитектуры формируется ещё несколько лет. Это ключевое умение для перехода в "сеньоры".
  • Детальных инструкций "что надо сделать" не будет, и это нормально. Создание чего-то нового — это творческая работа с неизвестным конечным результатом. Хороший разработчик выше уровня junior должен решить возникшую у заказчика проблему, а не просто "сделать что сказали". Вообще кодирование, то есть непосредственно написание кода — это меньшая часть работы программиста. Придётся много думать и анализировать, а потом уже писать (или давать конкретные инструкции джунам). С появлением low code решений, ИИ-помощников и прочих инструментов автоматизации разработки, траты времени на чистое кодирование будут только уменьшаться.
  • Для интровертов неприятным сюрпризом станет необходимость много общаться с людьми, много слушать и иногда убеждать. А ещё придётся читать чужой код и искать в нём ошибки.
  • Нужно будет постоянно учиться, читать книги и документацию, причём на английском. Нельзя один раз "выучиться на программиста" и дальше просто штамповать однотипную работу (на самом деле можно, но это скорее исключение). Индустрия быстро меняется, постоянно появляется что-то новое. После набора критической массы знаний процесс обучения пойдёт легче, но так никогда и не остановится.
Сейчас действительно появилось много обучающих курсов, потому что возрос спрос. К сожалению, пока что это приводит в основном к обогащению самих авторов курсов, а не их выпускников. Рынок становится переполнен начинающими программистами, при этом опытных специалистов сейчас по прежнему дефицит. В этом смысле вхождение в профессию, действительно, стало несколько сложнее.
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
Специалист в области разработки систем...  · 26 июл 2021
Количество используемых в практической деятельности языков программирования не растёт и приложения не становятся сложнее внутри, это заблуждение. На самом деле, возрастает чисто количественный размер кода, за счёт... Читать далее
Образовательная платформа Хекслет  · 11 нояб 2022  · ru.hexlet.io
Сложность работы программиста зависит от того, в какой сфере работает, какой язык использует. Ну и какие задачи выполняет. Можно привести аналогию. Программирование - это навык. Вождение, это навык, лечить людей - навык... Читать далее
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars