Кое-что из моего более чем 10-летнего опыта в разработке программного обеспечения и многое другое.

Я занимаюсь разработкой с 8 лет, используя Basic в качестве первого компьютерного языка, на котором я использовал код. В настоящее время я разработчик игр с опытом алгоритмической торговли и нейронных сетей. Сегодня я хочу поделиться некоторыми мыслями о мифах, связанных с этой профессией. Эта публикация может быть полезна новичкам и профессионалам, которые стереотипно думают о программировании.

Много математики

Не могли бы вы решить приведенный выше пример? Я не могу. Бьюсь об заклад, многие великие программисты не смогли. Я бы сказал, что математика совершенно не нужна обычным разработчикам. Студенты, изучающие информатику, изучают вычисления и используют свои знания для определения сложности алгоритмов, но это все.

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

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

Заработок сверхвысокий

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

Требования к разработке программного обеспечения меняются в зависимости от потребностей рынка. Если еще в 2014 году .Net-разработчик мог рассчитывать на большое количество вакансий и среднюю зарплату выше 80 000 долларов, то сегодня эта медиана упала до 70 000 долларов, а потребность в таких специалистах уменьшилась еще больше. Однако дела обстоят намного лучше с разработчиками машинного обучения и блокчейна Ethereum (в последние несколько месяцев я наблюдаю значительный рост в этих областях).

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

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

Работаем всего 3 часа на Бали

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

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

Это общий показатель зрелой отрасли.
Действительно, 5–7 лет назад разработчиков ценили как золото, средний разработчик мог находиться на острове и выполнять удаленную работу, не думая о конкуренции. Сегодня отсутствие сотрудника на обязательных встречах по планированию, низкий уровень общения, малое количество часов работы, плохие soft skills - одна из основных причин увольнений.

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

Программирование - это весело

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

Конечно, это зависит от восприятия, для меня, например, творческая задача - это та, в которой разработка основана не на качестве кода, а на результирующем эффекте.

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

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

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

Вывод

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

Развивайтесь, изучайте и исследуйте новое, но не забывайте, что есть еще мир, который обязательно нужно исследовать, не занимайтесь только работой и саморазвитием!