7 навыков идеального веб-разработчика
Каждый новичок веб-разработки или человек, всерьез претендующий на позицию джуниора, всерьёз задумывается о тех качествах, которые помогут ему обойти конкурентов на начальном этапе и быстро продвинуться по службе в дальнейшем. Некоторые из этих качеств абсолютно типичны для большинства профессий, другие — достаточно специфичны. Давайте рассмотрим некоторые наиболее важные именно для веб-разработчика.
Знание матчасти
Вполне естественно, что ключевым навыком любого настоящего профессионала, не только веб-разработчика, является знание собственной дисциплины. Конкретно для веб-разработчика — HTML5, CSS3, JavaScript (jQuery), SQL в качестве основы, а также общие знания по вёрстке, основам веб-дизайна и специфики делопроизводства. Кроме того, веб-разработчику всерьёз потребуются знания прикладных инструментов и иных способов упростить свою жизнь.
Это тот самый минимум, на который по-хорошему даже не должен обращать внимание работодатель или начальник. Если вы пришли в эту область, если вы собираетесь стремительно развиваться, то глобальных пробелов в этой части образования уже в нулевой точке работы у вас быть не должно.
Коммуникабельность
Умение правильно построить диалог, четко понять требования заказчика или начальника, доказать обоснованность своих решений и требований — ценные навыки веб-разработчика. Вы можете быть сколь угодно образованным и талантливым, но если вы не в состоянии сделать для клиента крутой продукт, не важно, по чьей вине — дело плохо.
Для некоторых людей это просто, другим приходится пересиливать себя, обретать нужные слова и смелость с опытом, советами коллег или после прочтения умных книг. Для каждого человека путь уникален, но абсолютно точно — тихони и простые исполнители практически никогда не добиваются большого успеха.
Стрессоустойчивость
Даже если вы умны, говорливы и потрясающе обаятельны, это не убережёт вас от периодической работы в состоянии стресса. Сорванные сроки, недовольный заказчик, необходимость немедленно предложить решение, которое бы устроило всех — ситуаций может быть множество, а выхода всего два. Вы должны или обожать такие ситуации, подпитываясь от повисшей в воздухе энергетики, или иметь толстую кожу, чтобы относиться к панике окружающих по-философски.
В общем-то от склада характера и зависит ваша карьера. Вы можете быть отличным исполнителем, на которого всегда можно положиться при исполнении любого заказа, или этаким художником-мечтателем, экспериментирующим, не приемлющим шаблоны и стереотипное мнение, который в итоге всегда находит компромисс между собственным мнением и желанием заказчика. Успех ждёт оба пути (при наличии актуальных знаний и навыков), а вот истерикам, меланхоликам и просто тем, кто под давлением начинает «плыть», лучше выбрать иной путь.
Трудолюбие и концентрация
Лень — двигатель прогресса, но в жизни современного веб-разработчика это главный враг. Если вы считаете, что возможно быть крутым высокооплачиваемым специалистом с ограниченным багажом знаний, с минимальным диапазоном творчества, то вы сильно заблуждаетесь. Помимо постоянного самообразования, вам придётся столкнуться с невероятно короткими сроками исполнения, с необходимостью иногда работать с перерывом лишь на сон, с острой необходимостью постоянно совершенствоваться и всесторонне развиваться.
Нет, вы можете и должны стремиться оптимизировать свою работу, затрачивать минимум усилий, получая максимальный результат, но конкуренция на рынке столь высока, что единственный гарант успеха — это повышение производительности. Жертвовать качеством при этом можно лишь в исключительных случаях, с позволения, а точнее чёткого указания заказчика. Во всех остальных случаях трудолюбие — единственный выход.
Организованность
Вместе с трудолюбием вам придётся привыкнуть к постоянному ощущению приближающегося дедлайна. Если вы работаете в офисе и особенно если вы фрилансер — контрольные точки будут налезать одна на другую, заказчики будут вас поторапливать, поэтому вам необходимо завести привычку записывать все важные даты, контакты, расставлять приоритеты, в том числе жертвуя личной жизнью.
Самое сложное в эффективном тайм-менеджменте веб-разработчика — не заполнить работой всё своё время. Работая от рассвета до заката, стремясь заработать всё больше денег на машину, квартиру, счастливое будущее, вы рискуете сбиться в механическую работу, что, как следствие, приведёт к снижению интереса к вашей персоне и вашей деятельности. От этого, в свою очередь, пострадает оплата, а это прямо противоречит вашей изначальной мотивации.
Свобода взглядов
Как одна из разновидностей коммуникативного навыка — свобода взглядов на то, как должно быть «правильно». Сколько бы книг вы не прочитали, сколько бы умных людей не выслушали, ваш заказчик — единственный человек, кому нужна выполненная вами работа. Поэтому если доводы не работают, вы должны понимать, как, отталкиваясь от его требований, создать прекрасный продукт.
Постигнуть такое мастерство можно лишь одним способом — сознательно пробовать идти вразрез с шаблонами: подмечать интересные решения у коллег, пытаться самому создавать что-то необычное, искать вдохновение хотя бы в разборе лучших.
Контроль версий
Впрочем, довольно психологии, вернёмся ближе к делу. Программист вы или веб-дизайнер, работая с кодом, приучайте себя пользоваться системами контроля версий. Какую выбрать — Git, SVN или ещё какую — не суть, важно уметь разветвлять свою работу не созданием бесконечного числа архивных копий, а с использованием популярного современного средства.
Даже если вы ещё только начинаете свой путь, сразу приучайте себя к правильной разработке. Сейчас, когда вы ещё не обременены ни сроками, ни меняющимся мнением заказчика, ввести в правило такую привычку проще простого. Когда вы найдёте себе работу (если вообще найдёте, с таким-то архаичным мышлением), то времени на изучение таких систем вам уже никто не даст.
Широкий инструментарий
Начали мы с азов, ими и закончим. Итак, лень. Лень веб-разработчика — это то, что заставляет вас искать инструменты, которые бы избавили от однотипной примитивной работы. Шаблоны, модели, упрощённая обработка коллбэков, процессов, системы анализа производительности, ориентация на определённые языки — малая часть того, что позволяют делать библиотеки и фреймворки. Всё это в конечном счёте позволяет вам здорово экономить время, быстрее попасть в мир серьёзной разработки, чтобы в итоге не только увеличить количество выдаваемых работ, но и их качество.
Кроме того, пытаясь постичь мастерство использования сразу нескольких инструментов, вы неизбежно улучшаете свои знания и в дизайне, и в используемых языках, и во взаимодействии с клиентами.
А какие навыки пригодились вам в работе веб-разработчика?