До того, как я занялся веб-разработкой, я был инженером. Я раньше работал с программным обеспечением, главным образом с робототехникой и машинным обучением, поэтому я подумал, что веб-разработка будет интересным переходом. Я подумал, что это программирование, и мне нравится это делать, так почему бы и нет?
Это было одно из лучших решений, которые я принял, но я хотел бы знать кое-что еще до того, как сделал это.
Содержание статьи
Это не имеет ничего общего с математикой
Исходя из своего опыта программирования, я подумал, что будет много математики. Я думал, что веб-разработка использует все эти сумасшедшие алгоритмы, и мне нужно было бы уметь переводить эту математику в код. Я не смог бы быть дальше, если бы попытался.
Веб-разработка — это больше искусство, чем наука, и мне потребовалось время, чтобы понять это. Всегда есть несколько способов справиться с задачей, и оптимальным является несколько способов. Чтобы стать хорошим разработчиком, нужно больше навыков решения проблем, чем математических. Получение корня проблемы или четкое определение новой функции — гораздо более важный навык, чем попытка заняться причудливой математикой.
Вам приходится часто разговаривать с людьми
Честно говоря, я подумал, поскольку веб-разработчики в основном писали код, с которым мне не пришлось бы ни с кем разговаривать. Казалось, что мне просто нужно, чтобы кто-то сказал мне, что они хотели сделать, а потом я остался на неделю работать один. Я действительно с нетерпением ждал этого с моей первой работой веб-разработчика!
Затем я узнал о гибкой разработке и требованиях клиентов. Конечно, бывают дни, когда я не разговариваю со многими людьми, но никогда не бывает дня, когда я ни с кем не разговариваю. Возникают вопросы, обновляются области проекта, а клиенты меняют требования. Хорошие коммуникативные навыки определяют хорошего разработчика так же, как хорошие технические навыки. На самом деле, навыки общения важнее.
Если вы пытаетесь найти работу с ограниченным взаимодействием с другими людьми, веб-разработка — это не так. Это был, наверное, самый большой шок для меня из-за всех стереотипов о разработчиках. Разработчики — одни из самых дружелюбных, отзывчивых и разговорчивых людей, несмотря на то, как СМИ изображают нас.
Вы действительно учитесь на ходу
В любой работе есть такой уровень, но он немного отличается от веб-разработки, потому что изменения могут быть радикальными. Языки программирования и фреймворки постоянно обновляются. Даже IDE обновляются, и это может изменить ваш обычный рабочий процесс. Ваша компания может решить перейти на React с Angular или перейти с MVC на .NET Core.
Или вы можете получить новую работу, и они используют совершенно другой технический стек. Главное, что вы понимаете основные понятия и архитектуру, тогда нужно просто понять, как это сделать на конкретном языке. Чтобы быть веб-разработчиком, вы должны научиться учиться, не пропуская сроки.
Это может быть что-то такое же простое, как чтение статей, когда у вас есть возможность, или работа над личными проектами для закрепления этих концепций и специфичного для языка синтаксиса. Будьте готовы сделать много Googling и не смущайтесь. Старшие разработчики все еще должны искать вещи все время.
Как правило, вы не начнете проект с нуля
Основываясь на том, как учебники и классы обычно учат веб-разработке, я думал, что каждый проект, над которым я буду работать, будет совершенно новым. Я все еще не работал над новым, за исключением некоторых веб-сайтов, которые я сделал для людей. У большинства компаний уже есть программное обеспечение, и они просто хотят, чтобы вы делали обновления и поддерживали его.
Вот почему понимание основных концепций веб-разработки так важно. Вы будете читать код других людей, пытаясь выяснить, что они сделали и почему они это сделали. Умение ориентироваться в унаследованном коде также является ключевым навыком.
Я был потерян в течение первых нескольких месяцев моей карьеры веб-разработчика. Просмотр всего этого кода пугает, когда вы не понимаете некоторые из этих основных понятий. Также может быть немного разочаровывающим, если вы действительно с нетерпением ждали возможности продемонстрировать свои новые навыки создания веб-приложений.
Реальных правил не существует
Этот застал меня врасплох. В области техники существуют определенные правила, которым вы должны соответствовать, или ваши проекты отправляются обратно или полностью списываются. За работой внимательно следят, а количество нужных вам подписей невероятно. В веб-разработке есть лучшие практики. Это набор правил, которые облегчают веб-разработку, но они открыты для интерпретации.
Например, не каждая компания использует agile одинаково. Не каждая компания тратит время на написание тестов или пропускает определенные части, которые, по их мнению, не нужны. Конечно, есть некоторые правила, подобные SOX и HIPPA, но не для архитектуры программного обеспечения и способа реализации кода.
Возможно, вам потребуется одобрить запрос на удаление, и он может быть отозван для нескольких изменений, но этот процесс далеко не так регламентирован или обеспечен, как я предполагал. Веб-разработка действительно похожа на искусство, потому что каждый делает вещи немного по-своему. Это зависит от используемых вами языков, среды, в которой вы работаете, и от людей, с которыми вы работаете.
Это было всего лишь несколько вещей, которые я хотел бы знать в начале. Сейчас существует намного больше ресурсов, но ни один из них не тратит время на то, чтобы объяснить, что на самом деле делает профессиональный разработчик каждый день. Надеюсь, это даст новичкам немного больше понимания.
Были ли какие-то сюрпризы для вас, когда вы стали веб-разработчиком? Были ли у вас ожидания, которые были полностью сбиты, когда вы получили свою первую работу? Особенно, если вы меняли карьеру из совершенно не связанной области.
Эй! 26 мая я провожу бесплатный вебинар по Git. Вы узнаете все, что вам нужно знать, чтобы начать работать с Git и GitHub. Если вы раньше не использовали Git, это будет отличное введение в него. Если вы использовали Git раньше, это будет довольно хороший переподготовка. Вы можете зарегистрироваться на вебинар здесь