Основы программирования сегодня такой же необходимый навык, как и знание иностранных языков. Если есть желание учиться кодингу, то надо начинать с лучших преподавателей. 1 марта в Moscow Coding School начнется курс «Инструменты веб-девелопера», который прочтет один из самых востребованных отечественных специалистов — Сергей Чикуенок. Время, мечты, страхи, слабоумие и отвага — T&P расспросили Сергея о принципах жизни веб-разработчика и чему можно научиться на его курсе.

Сергей Чикуенок

главный веб-технолог Innova, эксперт журнала Smashing Magazine, возглавлял веб-разработку в Студии Артемия Лебедева

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

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

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

«Самое страшное, что может произойти с разработчиком, это превратиться в старпера»

Оптимизация.

Оптимизация — это ход от сложного к простому или наоборот? Это довольно тонкий момент. Это ход от сложного к простому, но «простое» зачастую требует очень глубоких знаний и большого опыта.

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

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

Оружие. На работе я руководствуюсь двумя основными принципами: «слабоумие и отвага». Шучу, конечно, хотя доля правды в этом есть. Мне довольно часто приходится создавать и принимать решения, которые влияют на работу всего коллектива в частности и бизнеса компании в общем. Особенно страшно становится, когда осознаешь, что, скажем, если сайт перестанет работать хотя бы на несколько часов, то компания может понести миллионные убытки. Поэтому иногда приходится просто закрывать глаза и идти вперед.

Для разработчика я бы выделил следующие важные качества.

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

Не бояться совершать ошибки. Очень часто из-за страха совершить ошибку ребята отказываются применять что-то новое в работе. Что в итоге приводит к «эффекту старпера». Хорошим компаниям такие разработчики не нужны: им нужны люди, которые будут двигать вперед компанию и бизнес, а не топтаться на месте.

Думайте о пользователях в первую очередь. Об этой истине забывают 99% всех разработчиков. Не надо верстать форму с тремя полями и капчей, делайте решение для быстрой и удобной авторизации на сайте.

Этикет. У всех моих знакомых разработчиков понятие об этикете веб-девелопера менялось со временем. Сначала все считают, что это ответственность перед принципами: чтобы код был валидным, чтобы применялись только «правильные» практики, о которых пишут в интернете. Новичкам очень хочется добиться признания у сообщества разработчиков, хотя это «принимающее» сообщество в основном состоит из таких же новичков. И уже потом, со временем, у ребят приходит осознание и понимание того, ради чего они на самом деле работают, и их представление об этикете меняется на противоположное. Наверно, это естественный и необходимый процесс становления любого профессионала.

«Это удивительно, как легко можно найти готовое решение в интернете, если научиться правильно задавать вопрос»

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

Джефф Раскин «Интерфейс: новые направления в проектировании компьютерных систем»

Книги. Это может показаться странным, но наибольшее влияние на меня как на программиста оказали книги по дизайну. Это «Интерфейс» Джеффа Раскина и «TOG on Interface» Брюса Тогнаццини. Очень благодарен Теме Лебедеву за то, что заставил их прочитать в свое время. С помощью этих книг я научился четко видеть цель, к которой нужно идти, а программирование и различные техники и приемы использовать как средство достижения цели.

О курсе «Инструменты веб-девелопера».

Обучению современным инструментам и технике нужно посвятить далеко не один десяток часов. За четыре учебных дня я обещаю рассказать об основных возможностях современных текстовых редакторов, научить находить и исправлять ошибки в верстке, пользоваться GitHub’ом, а также помогу сориентироваться в современных подходах и практиках в разработке. Эти знания обязательно пригодятся вам в ежедневной работе. Курс будет полезен тем, кто только начинает свой путь как веб-разработчик.