Работа в IT без навыков программирования: реально или нет?
С каждым годом IT-сфера становится всё популярнее. Что нужно, чтобы попасть в мир программирования без профильного образования, обсуждаем с Евгенией Косенко, IT Lead образовательной платформы Edutoria.
Кто такой айтишник, и в частности IT Lead?
IT-специалист занимается разработкой софта и написанием кода. Если коротко, IT Lead — это человек, руководящий командой других специалистов в сфере информационных технологий и отвечающий за то, что делает программист внутри конкретного отдела.
IT Lead отвечает за управление проектами и внедрение новых решений, но конкретный функционал всегда варьируется в зависимости от компании и сферы её деятельности. Как правило, в этой профессии важно сочетать мягкие навыки (лидерство, коммуникабельность, стрессоустойчивость, тайм-менеджмент) с навыками программирования.
Я инновационный менеджер по образованию, поэтому сразу могу отметить, что IT-сфера не ограничена одними разработчиками. Здесь требуется набор из самых разных компетенций, включая гуманитарные.
Изначально я попала в компанию, которая занималась разработкой софта (программное обеспечение, за счёт которого оборудование работает желаемым образом) для мобильных приложений и нуждалась в специалисте по работе с персоналом. В этом проекте я занималась менеджментом, параллельно погружаясь в специфику IT-разработки, а затем вдохновилась и пошла дальше.
Какая главная задача стоит перед тобой на текущей позиции?
Разработка софта похожа на производственный конвейер: проект состоит из множества разрозненных элементов, за каждый из которых отвечает свой отдел специалистов. Моя задача — максимально качественно организовать работу во всех звеньях цепи, чтобы всё работало без сбоев.
Дело в том, что владельцы бизнеса, клиенты, тестировщики, разработчики и много кто ещё зачастую преследуют разные цели и совершенно по-разному подходят к оценке конечного результата. Чтобы работать слаженно, проекту нужен менеджер, который будет состыковывать желания с реальными возможностями и находить компромиссы.
Фактически, IT Lead — это такой человек-переводчик, который согласовывает все процессы и доступным образом передаёт информацию между отделами. Я нахожусь на стыке разных областей деятельности и выступаю связующим звеном между продактами, бухгалтерами, разработчиками и т. д., чтобы совместными усилиями достичь конечной цели. Помимо этого, в мои обязанности входит выявление любых проблем, связанных с разработкой или использованием продукта, и помощь всем командам в их устранении.
Что представляет самую большую сложность в твоей работе?
Часто бывает так, что команда, курирующая бизнес-процессы, плохо понимает специфику разработки продуктов, поэтому может ставить невыполнимые или очень странные задачи, от которых страдают разработчики.
Помимо этого, бизнесмены — люди, любящие конкретику и чёткость, в то время как разработчики в большинстве своём достаточно творческие и креативные люди, которые имеют другой подход к работе. Я воспринимаю себя фильтром, который помогает разработчикам защититься от интенсивного воздействия со стороны других отделов и урегулировать возникающие конфликты.
Какие инструменты ты используешь, чтобы наладить взаимопонимание между разными отделами?
Всё приходит с опытом, но главная мысль — люди не высказывают недовольства без причин, поэтому если между заказчиком и разработчиком происходит конфликт, моя главная задача — разобраться, что пошло не так. Отталкиваясь от этого, я «перевожу» проблему на язык другого отдела с учётом интересов той стороны, к которой я обращаюсь. Как правило, для бизнеса первостепенное значение имеет финансовая сторона вопроса и сроки реализации проекта, в то время как айтишников эффективнее мотивировать интересными нестандартными задачами.
За время работы я пришла к выводу, что не все люди одинаково хорошо ладят друг с другом, и для их успешного взаимодействия нужен посредник. Я всегда стараюсь снижать градус коммуникации и выстраивать конструктивное взаимодействие.
Какими компетенциями должен обладать IT Lead?
Нет конкретной инструкции, как стать айтишником. Я считаю, что любой человек может работать менеджером в IT. Здесь достаточно низкий порог входа, однако я не могу сказать, что это работа без навыков. Определённые компетенции нужны обязательно.
Во-первых, очень важно обладать базовым набором знаний и технических навыков, таких как:
- Принципы софтверной разработки (от англ. software development — «разработка программного обеспечения»).
- Понимание работы клиент-серверной архитектуры (организации и построения IT-систем, которые будут слаженно работать и решать поставленные бизнес-задачи):
принципы работы с данными — то, каким образом информация поступает в систему, где хранится и каким образом обрабатывается;
как работает бизнес-логика — как именно и за счёт чего данные перемещаются внутри системы;
как данные отображаются на сайте — что позволяет превратить код из нулей и единиц в яркие картинки и читабельные тексты на сайтах и в приложениях. - Основы построения дизайн-систем — компонентов, правил и инструментов для повышения качества и скорости разработки продуктов. Дизайн-система помогает быстро собрать прототип из готовых элементов и проверить гипотезу.
- Умение просчитывать риски и нагрузку на сайт, чтобы выдержать определённый поток пользователей.
- Знание жизненного цикла разработки софта (SDLC) — подробного плана разработки, поддержания и улучшения программного обеспечения.
- Уровень насмотренности при работе с интерфейсом сайта, чтобы создать качественный дизайн.
Во-вторых, нужно обладать менеджерскими качествами:
- планирование;
- организация;
- мотивация;
- контроль;
- умение держать фокус на цели;
- навык просчитывания рисков;
- быстрое принятие решений;
- стрессоустойчивость;
- эмпатия;
- коммуникабельность;
- умение договариваться и работать с людьми;
- навык ведения переговоров.
Важно быть готовым к тому, что ситуации бывают трудные, с очень ограниченным пространством для манёвра и необходимостью быстро найти решение проблемы. Конечно, всё приходит с практикой, однако если перспектива выступать координатором в конфликтных ситуациях вас изначально пугает, профессия может не подойти.
Все перечисленные навыки важны, чтобы уметь одновременно говорить на языке предпринимателей, оставаться включённым в специфику деятельности разработчиков и быстро переводить задачи из области идеи в плоскость реализации. IT Lead всегда должен знать, что можно сделать в рамках имеющихся ресурсов.
Какими основными чертами обладает, по твоему мнению, каждый IT-специалист?
Возможно, мой ответ прозвучит стереотипно, но я основываюсь на опыте общения с сотнями специалистов. Как правило, это всегда творческие и креативные люди. Все они очень умные, начитанные и имеют множество разносторонних интересов. С ними интересно проводить время, а в работе сочетание широкого кругозора и аналитического склада ума позволяет быстро решать сложные задачи и нестандартно мыслить. При этом программисты часто бывают замкнуты и не очень общительны.
Я считаю, что глубокое погружение в IT требует большого вклада и постоянного развития своих компетенций, что часто приводит к перфекционизму. Это одна из слабых зон взаимодействия программистов с бизнес-специалистами, потому что первые знают, как сделать всё идеально, но из-за ограниченного количества ресурсов часто приходится идти на компромиссы и чем-то жертвовать.
Также почти все опытные айтишники обладают чувством юмора, потому что без позитивного мышления со многими стрессовыми ситуациями просто не справиться, особенно когда приходится по несколько дней думать над решением возникшей проблемы.
Всё, что я описала, касается скорее профессионалов своего дела, а не начинающих специалистов. При этом портрет программиста постоянно меняется, потому что порог входа в IT всё ниже, а области применения постоянно расширяются.
А что ты можешь посоветовать начинающим IT-специалистам? Что нужно знать программисту в первую очередь?
Советую начать с ответа на вопрос: «Подойдёт ли мне работа в IT?» Прежде чем вкладывать силы, время и деньги в обучение, важно убедиться, что это то, чем ты в принципе готов заниматься — не только ради денег, но и следуя внутреннему интересу.
Следующим шагом можно найти подходящие вакансии на ресурсах по поиску работы и посмотреть список требований к кандидатам.
Дальше только практика. Пробуй новое, учись на собственном опыте, а главное — на своих и чужих ошибках. Секрет успеха в IT — это постоянное развитие и самообучение, без которых даже самый классный специалист не сможет долго оставаться на высокооплачиваемой должности.
Как стать айтишником и какие самые перспективные направления ты можешь выделить в IT?
- Сейчас везде рекламируется профессия тестировщика, потому что считается, что здесь очень низкий порог входа и минимальный уровень требования к специалистам. Действительно, попробовать свои силы можно в этой области, однако важно понимать, что чем более интересные, масштабные и высокооплачиваемые проекты ты будешь брать, тем с большим количеством сложностей столкнёшься.
- Одним из самых лёгких (и потому популярных) языков программирования считается Python. Обучение можно начать с него, но в целом не так важно, каким языком программирования пользоваться. Важно уметь решать конкретные задачи, необходимые для бизнеса, а как именно ты это будешь делать — второстепенно.
- Если интересуют популярные направления, это обычно frontend (клиентская часть продукта, интерфейс, который отображается на экране пользователя) и backend (внутренняя составляющая, которая находится на сервере и скрыта от пользователей). При выборе между ними можно ориентироваться на то, каких вакансий сейчас больше.
- Также есть такие малоизвестные направления, как системный аналитик и бизнес-аналитик. Для них вообще не нужно уметь кодить — здесь важен другой перечень скиллов, например умение формулировать понятное техзадание и рисовать графики.
- В крупных проектах всегда требуются дизайнеры и маркетологи — специалисты, которые в меньшей степени связаны с программированием, но влияют на конечный результат при разработке продукта.
Возможно ли навсегда избавиться от багов?
Нет, это утопия. Любой код создаёт человек, а человек может делать ошибки. Написание кода — это как написание текста. Специалист связывает разрозненные фрагменты кода, находит оптимальные комбинации, но всегда есть шанс что-то не предусмотреть.
Поэтому ключевая задача заключается не в том, чтобы устранить баги раз и навсегда, а в том, чтобы постоянно совершенствовать саму систему и делать её более адаптивной. Чем больше экспертизы, тем легче просчитывать риски.
Тестирование — то, что помогает отсеивать баги на самых ранних стадиях. Чем быстрее мы найдём ошибку, тем дешевле она обойдётся бизнесу.
Надеемся, что эти ответы помогли вам по-новому взглянуть на профессию программиста и увидеть как преимущества, так и подводные камни работы в IT.
Статью подготовила: Майя Яковлева.