Как это работает: отдел Web-разработки

Рубрику о жизни компании продолжает руководитель отдела Web-разработки Виктор Буров.

Виктор, Как Вы можете описать задачи Вашего отдела “в двух словах”?

Построение веб-приложений различного уровня сложности.

Какими технологиями владеют сотрудники Web-отдела?

Основных направления два: frontend- и backend- разработка. В свою очередь, backend-направление делится также на два поднаправления: Microsoft-based (например, .Net) и Java (Java Spring и т.д). По frontend-направлению: разработчики в основном владеют тремя инструментами:  Angular, ReactJS, VueJS.

Как строится работа в отделе?

Сложный вопрос, достойный отдельной статьи. Если кратко, то отдел Проектного управления (PMO) и веб-отдел очень плотно друг с другом связаны. В зависимости от проекта, сложности и технологий, собирается некая команда гуру, идеально заточенная именно под текущий проект, текущие задачи. Пришли, увидели, победили, разбежались. Клиент не понял, что случилось, но остается счастливым.

Какими проектами и решениями Вы особенно гордитесь?

Всеми! Нет проектов, где не было бы пользы. У нас только 3 варианта развития событий:


1) или мы получаем своеобразный «буст» по нашим навыкам, а клиент получает “систему-конфетку” 

2) или клиент получает «буст» и “систему-конфетку” в подарок, а мы поднимаем планку качества на тот уровень, с которым клиент еще не сталкивался 

3) или все получают «буст», тут без комментариев 🙂

Как Вы видите отдел через 5 лет?

О, скоро выйдет отдельная статья на эту тему!

Как попасть в Вашу команду?

Познакомьтесь с нашим великолепным HR: и приятно пообщаетесь, и узнаете абсолютно все, что необходимо.

 

Также читайте комментарий Виктора для статьи «10+ навыков Junior-разработчика: мнение наших экспертов».

Как обстоят дела на современном рынке ПО?

Недавно наш спикер, Алексей Захаров, принял участие в заочном круглом столе, посвященном этому вопросу. Организатором мероприятия выступил журнал «Системный администратор». Круглый стол был приурочен ко Дню программиста, 256-му дню года. А гостями заочного мероприятия стали представители лидеров российского ИТ-рынка. 

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

С точкой зрения Алексея Захарова и других экспертов можно ознакомиться в журнале «Системный администратор (№09(214))«.

 

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

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

 

 

«В первую очередь, нужно понять, о каком виде самообучения идет речь. Если ты хочешь развиваться как специалист в той сфере, которая близка к твоей текущей деятельности и тебе как минимум не противна, а как максимум похожа на сферу твоей мечты, то все достаточно прозрачно. Ты просто начинаешь участвовать в проектах и задачах, смежных с твоими уже имеющимися знаниями. Такой подход очень подойдет junior-разработчикам, которые очень хотят вырасти в senior’ов, аналитикам, которые решили переквалифицироваться в разработчиков, или специалистам, которые хотели бы сменить стек технологий, например, перейти в разработку на другом языке программирования. В этом случае у тебя уже будет какая-то база, и дело за малым: ты просто в ходе проекта доучиваешь необходимое. Имея какую-то базу знаний, зная как и что происходит в твоей сфере, выучить новые технологии не так сложно, потому что ты УЖЕ знаешь как их учить. Ты представляешь, на что обратить внимание и как подойти к проекту. И у тебя всегда есть коллеги, которые тебе помогут. 

А вот если ты полностью хочешь поменять направление своей деятельности, например, перейти из экономиста в разработчики (и да, такие переходы очень часто заканчиваются успешно!), то тут тебе помогут только упорство, трудолюбие и нацеленность на результат. Берешь себя в руки, ставишь цель и идешь к ней, по-другому никак не получится, нет никаких универсальных советов или рецептов: нужно изучать теорию, читать профессиональную литературу, пытаться делать какие-то практические задачи, посещать онлайн- и оффлайн-курсы. Хорошая идея — познакомиться с людьми, которые уже работают в ИТ-сфере, посещать разные тематические мероприятия. Да, возможно, придется жертвовать личным временем, вставать пораньше, ложиться позже, учиться на выходных. Но главное — верить, что результат окупится.»

10+ навыков Junior-разработчика: мнение наших экспертов

На какие технологии «джуниору» в первую очередь нужно делать упор? Какие качества развивать, чтобы успешно вписаться в коллектив? Что ожидает от начинающего сотрудника работодатель? Сегодня на эти вопросы отвечают наши технические специалисты.

Виктор Буров, Руководитель отдела разработки

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

Итак, musthave hard skills:
  • Понимание архитектуры приложений (например что такое монолит, или «трехзвенка»).

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

  • Что такое ООП, основные принципы
  • Понимание реляционных баз данных

Уточню, НЕ знание SQL, а понимание реляционных баз данных, что/зачем/почему и т.д.

  • Алгоритмы и структуры данных

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

Musthave soft skills:

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

Итак, подведем итоги.

Hard skills: сначала изучай «базу», а не инструментарий. «База» — это фундамент; стены и крыша поедут, если нет хорошего фундамента.

Soft skills: социализируйся, бери больше ответственных задач, и воздастся все по заслугам 🙂

Дмитрий Лагутин, Руководитель направления

Я думаю, что из soft skills для Junior-разработчика самое главное — не бояться задавать вопросы. Но это должны быть не бесконечные вопросы, а обдуманные и подготовленные заранее. Очень приятно видеть, когда человек потратил какое-то время на проблему, ОСОЗНАЛ, что она ему пока не под силу, и, чтобы не затягивать ее решение, обратился к старшему товарищу. Мы всегда это поддерживаем.

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

С hard skills чуть сложнее, ведь все зависит от направления, в котором специалист хочет работать и развиваться. Конечно же, приветствуются «базовые» технологии: базовое знание хотя бы одного языка программирования, принципов работы реляционных БД и ООП, умение написать SQL-запрос.  Однако в моей команде были и джуниоры, которые приходили работать без знания каких-либо основ программирования, но зато с желанием погрузиться в эту сферу. В итоге они достаточно быстро выросли в хороших разработчиков.

Екатерина Кошкарова, старший технический специалист

“Джуниора”, который только-только покинул студенческую скамью, все равно придется адаптировать к рабочим процессам компании, доучивать, а иногда и переучивать. Здорово, если “джун” придет с такими навыками:

  • базовое знание хотя бы одного языка программирования
  • общее представление работы реляционной СУБД, в идеале — способность написать простой SQL-запрос. Было бы здорово услышать от кандидата названия самых популярных СУБД
  • знание основ веб-разработки
  • владение ОС Linux… хотя бы на уровне не очень продвинутого пользователя
  • важно отметить обладание навыками поиска информации. Да-да, гуглить тоже надо уметь 🙂
  • знание английского языка, хотя бы на уровне чтения технической документации
  • упорство, способность не сдаваться, когда что-то не получается
  • желание развиваться в выбранном направлении
  • дружелюбие и готовность получать помощь

Само собой, этот список может корректироваться в зависимости от компании, отдела, задач, да и от самого кандидата на позицию junior-разработчика.