Как гуманитарию стать программистом
Программирование — для всех
Среди разработчиков легко можно встретить бывших маркетологов, врачей, юристов и государственных служащих. По данным HTML Academy, больше половины студентов начальных курсов по программированию не имеют технического бэкграунда — и это не влияет на качество их финальных проектов. Поэтому попробовать новую профессию стоит, даже если вы не любили математику в школе, не увлекаетесь «железом» и еще ни разу не писали код.
«Самое главное, если вы переходите в разработку из других отраслей, — это техническая грамотность. Если сложно с компьютером, то с программированием будет еще сложнее. Технический склад ума и понимание базовых основ нужны, но необязательны. Если их нет, перейти в программирование все равно возможно, просто это чуть сложнее, — рассказывает Сергей Попов, руководитель фронтенд-аутсорса «Лига А.». — Больше времени уходит на погружение и изучение. Я знаю ребят, закоренелых гуманитариев, которые стали отличными разработчиками. Главное — много работать».
Естественно, в программировании есть сложные области и языки, требующие знания высшей математики и технического склада ума. Но вы можете начать с чего-то более простого. Например, с изучения фронтенд-разработки. Это направление реально освоить, даже если вы самый настоящий гуманитарий. В отличие от бэкенд-разработчика, который отвечает за всю внутреннюю и вычислительную логику сайта, фронтендер занимается построением внешнего интерфейса, чему научиться быстрее и проще.
«У меня по образованию абсолютно нетехническая специальность. Я врач, да еще и в декрете, но проект успешно защитила. Сказал бы мне кто-нибудь год назад, что я с нуля сделаю сайт за 9 недель, не поверила бы. Все только в наших руках!» — делится студентка HTML Academy Анна Гуменюк.
С чего начать
Даже если вы всю жизнь считали себя гуманитарием, понять, подходит ли вам программирование, можно только опытным путем. Один из вариантов — поучиться на бесплатных тренажерах. Они рассчитаны на новичков и помогают в игровой форме получить базовые знания и определиться с тем, подходит ли вам профессия.
«Я гуманитарий по образованию. В школе нам преподавали информатику слабо, я особо не интересовалась этой темой и никогда не писала код. Но внезапно для себя я прошла тренажер по знакомству с веб-разработкой в HTML Academy», — рассказывает Алена Кудлаева. Она советует отнестись к прохождению тренажеров серьезно, несмотря на их игровой формат: конспектировать все незнакомые термины, привыкать к новым символам на клавиатуре и развивать внимательность во время занятий на тренажерах. Тем, кто решит продолжить обучение на полноценных курсах, это, несомненно, поможет в дальнейшем.
Как преодолеть сложности в процессе обучения
Если вы все же записались на курс по программированию, помните: трудности сопровождают любое обучение. Временами вас будут тревожить сомнения в выборе, недостаток мотивации, усталость. Это абсолютно нормальный процесс, через который проходят все студенты, и с этим можно справиться.
Не бойтесь сложных тем
При столкновении с трудным разделом может возникнуть желание все бросить. Если тема совсем не дается, попробуйте найти больше информации, поговорить с наставником, написать куратору курса, который вы проходите, или другим опытным разработчикам. Попросите совета и поддержки в студенческом чате или на форумах программистов. А затем вернитесь к этой теме уже с новыми знаниями.
И помните: чем чаще вы занимаетесь, тем лучше усваивается материал. Привычка учиться по 1–3 часа в день помогает держать себя в тонусе. К тому же вспомнить содержание предыдущих занятий легче, когда нет недельных перерывов. Вы все время находитесь в контексте, поэтому поводов для паники не возникает.
Ошибайтесь
В начале обучения часто кажется, что одно неверное действие — и все сломается. Кажется, лучше ничего не делать, чем совершить ошибку. Это неправильно.
Даже нейросети учатся как мы с вами — методом проб и ошибок. Чтобы начать распознавать на изображениях котиков, нейросеть просматривает тысячи фотографий, много ошибается. Зато в итоге может распознать котика в пижаме.
Вместо того чтобы бояться ошибок, лучше подробно разбирать их с другими программистами. Это поможет не допускать их в будущем.
Не дайте себе выгореть
Еще до начала обучения напишите список того, что поменяется в вашей жизни после прохождения курса. В момент, когда мотивация пойдет на спад, стоит вернуться к этим записям и вспомнить, ради чего вы все начинали.
Если вы совмещаете учебу и работу, подумайте об уровне нагрузки заранее. Взяв на себя слишком сложные проекты, можно быстро выгореть. Внимательно читайте описания проектов, консультируйтесь с кураторами курса: они помогут вам определиться.
«Я выбрал средний по сложности проект, так как работаю и свободного времени не так много. Это было правильным решением: даже со средним проектом пришлось повозиться, — делится опытом Андрей Пичугин, студент HTML Academy. — Сложный я бы, наверное, не осилил, просто не успел бы все поправить к сдаче».
Если вы сами хотите убедиться, что программировать способен каждый, — попробуйте обучиться профессии «React-разработчик» в HTML Academy. Это шанс для тех, кто всегда мечтал работать в IT, но боялся, что у него не получится. Опыт не важен: специальность успешно осваивают и технари, и гуманитарии.
План обучения включает введение в профессию и три модуля по программированию на JavaScript и React.js. После этого студентов ждет практика — оценка своего уровня и развитие навыков для реальной работы, а затем оплачиваемая стажировка во фронтенд-аутсорсе «Лига А.». 95% выпускников HTML Academy, успешно прошедших обучение и стажировку*, нашли новую работу — а значит, и вы тоже сможете.
*По данным HTML Academy за 2017–2020 годы.
Программист без диплома: что может и чего не может дать «домашнее обучение» в IT
Профессия разработчика программного обеспечения сегодня является одной из самых высокооплачиваемых. Однако чтобы стать классным специалистом, необходимо самосовершенствоваться и обучаться. К вершинам программирования можно прийти по-разному.
Кто-то разбирается во всем самостоятельно, благо в интернете встречается множество полезной литературы и бесплатных курсов (такие курсы ведут и преподаватели ИТМО — часть из них мы публиковали в наших предыдущих материалах: здесь и тут). Другой вариант — пойти в университет и получить диплом в области информационных технологий.
В сегодняшнем материале мы поговорим о том, какие особенности и сложности имеет процесс обучения в ИТ-сфере, и как с ними справляются на обоих «маршрутах».
Ни один процесс обучения не дается легко, в том числе и изучение языков программирования и информационных технологий в целом. Компьютерные науки, как и технологии, постоянно развиваются. С учетом этого, разработчикам ПО приходится постоянно следить за последними обновлениями систем и фреймворков. При этом в процессе обучения приходится удерживать в голове множество нюансов, которые нужно грамотно совмещать в единую картину.
И хотя программирование считается креативной областью, для него характерны и «механические» аспекты, такие как написание чистого кода и комментариев к нему, а также документирование проекта. Это такие вещи, которые не дают немедленного прогресса в обучении (но пригождаются в будущем), поэтому работа над ними зачастую откладывается в долгий ящик. Чтобы с первых дней совершенствовать технику требуется высокий уровень дисциплины и мотивации.
Домашнее обучение: к чему надо быть готовым
Казалось бы, все вышеперечисленное говорит явно не в пользу домашнего обучения — изучать любую новую для себя область непросто, а уж если она требует особенного усердия, самодисциплины, а новые знания не всегда обеспечивают немедленный прогресс, то учиться самостоятельно становится очень тяжело. Тем не менее, в программирование нередко приходят именно этим путем – придется только уделять больше внимания следующим моментам:
Читать больше книг по теме, чем студенты-программисты
Грег Нойштеттер (Greg Neustaetter), старший управляющий в Egnyte (американская компания-разработчик ПО), говорит, что в случае самообучения придется действительно много читать, дабы заполнить те пробелы, которым обычно уделяют внимание на студенческой скамье.
Действительно, далеко не все студенты прочитывают рекомендованную к изучению литературу по каждому курсу – и все равно приобретают необходимые знания за счет лекций, повторения материала на практических занятиях и общения с сокурсниками. У новичка-одиночки такой возможности часто нет, поэтому придется обращаться к книгам. В частности, Грег Нойштеттер рекомендует в первую очередь прочесть книги по дискретной математике, шаблонам проектирования и проектированию алгоритмов.
Активно искать коллег и собратьев для обмена знаниями
Книги — это хороший источник информации, однако люди – все же существа социальные, поэтому мы хорошо усваиваем информацию, полученную от другого человека. В случае университета этим человеком выступает преподаватель. При обучении «на дому» ментора приходится искать самостоятельно. При этом он, скорее всего, не будет объяснять все темы и читать лекции (если только это не преподаватель онлайн-курса), но поможет составить «план обучения» и посоветует, на что стоит обратить особое внимание.
Такое общение важно не только для того, чтобы получить новые знания, но и чтобы не забросить обучение в целом. Новичок-одиночка, столкнувшись со сложностями, имеет гораздо больше шансов забросить обучение, чем его коллега-студент. Поддержку других программистов, а иногда и желание не подвести их не стоит сбрасывать со счетов при самообучении – они бывают крайне важны. На помощь в данном случае может прийти Хабр и его сообщество разработчиков, а также другие ресурсы и форумы, на которых у новичка есть возможность найти ответ на вопрос и поделиться своим мнением.
Самостоятельно продумывать практическую работу: и серьезную, и игровую
Больше усилий придется вкладывать и в практику. Здесь программисты советуют сразу начинать работу над осмысленным проектом и не придавать серьезного значения «упражнениям ради упражнений» (к сожалению, еще не во всех университетах студентов ориентируют на интересные практические проекты – этого программист, обучающийся сам, может избежать). Плюс – это положительно скажется на мотивации: возможность видеть, как развивается ваше собственное приложение, не даст заскучать.
Новичкам (всех возрастов) удержать внимание поможет также самообучение в игровом формате. Хорошими представителями своего жанра являются CodinGame и Code Combat, в которых игрок управляет персонажами, прописывая строки кода с командами. Несколько других интересных ресурсов можно найти по ссылке.
Что может дать обучение в университете
Обучение в университете тоже имеет свои особенности – разумеется, оно отнимает больше времени и сил. Какую бы форму вузовского обучения вы ни выбрали, для начала придется выдержать конкурс, пройти вступительные испытания и (в случае очного обучения) практически ежедневно посещать университет, что не всегда удобно, в особенности тем, кто хочет сменить профессию и параллельно работает.
Прибавьте к этому жесткий график, сессии, не всегда интересные предметы и множество других обязательных к выполнению задач – казалось бы, игра не стоит свеч. Однако в университетах с сильным ИТ-профилем есть немало возможностей, недоступных тем, кто учится самостоятельно:
Информация подается более структурированно
В вузах студентам с первых дней начинают давать фундаментальные знания в выбранной области и «прививают» понимание структуры дисциплины (например, будущим программистам в Университете ИТМО преподают дисциплину «Парадигмы программирования»). Такой подход практикуют во многих мировых университетах, в том числе в американском MIT.
Далеко не каждый новичок в программировании способен самостоятельно выстроить программу обучения подобным образом – в итоге некоторые важные разделы упускаются из-за того, что оказываются слишком скучными или (на данном этапе обучения) неприменимыми на практике. Четкая и структурированная подача материала, в том числе и не ориентированного на практику, может показаться недостаточно интересной, но она дает «кумулятивный эффект» – фундаментальные знания в комплексе помогают впоследствии быстрее осваивать новые практические дисциплины.
Разумеется, подобного эффекта можно добиться и обучаясь дома. Однако в этом случае программисту-новичку придется постоянно делать непростой выбор между тем, что можно использовать сразу же на практике, и «фундаментом» – в условиях, когда мотивировать себя приходится самостоятельно, вторая категория часто остается без внимания.
Можно быстрее наладить контакт с практикующими специалистами
Далее, когда базис усвоен, со студентами начинают работу преподаватели, приглашенные из различных компаний. Они ведут практические занятия, разбирая проблемы, с которыми сталкиваются в своей профессиональной ежедневной деятельности. В частности, Университет ИТМО сотрудничает с такими компаниями как Mail.ru, Яндекс, JetBrains, VisualSVN и другими. Начиная с определенного этапа обучения, студенты могут проходить практику в этих компаниях, где выполняют реальные «боевые задачи».
Это помогает получить наиболее полное представление о специфике работы и современных технологиях, используемых «на производстве». Согласно проведённым исследованиям, студенты, посещающие только классические лекционные курсы, в полтора раза чаще проваливают экзамены. Стратегии же активного обучения оказываются очень эффективными, поскольку подход направлен на постоянное взаимодействие обучаемых и преподавателей посредством прямых и обратных связей и повышение степени мотивации и эмоциональности обучаемых.
Доступны сложные коллективные модели обучения
Еще одна популярная методика, использующаяся в университетах — это сетевое обучение, основанное на идеях децентрализованной учебной деятельности. В этом случае речь идёт об управляемой коммуникации посредством использования методик, требующих активной самостоятельной работы и взаимодействия учащихся.
Примером подобного подхода может быть методика изучения физики, используемая Эриком Мазуром. Она называется «преподавание учащимися» (Peer Instruction) и предполагает вовлечение студентов в активную деятельность по изучению концепций и теорий с последующим объяснением их своим сверстникам.
Практика и теория эффективно дополняют друг друга
Как было сказано выше, компьютерные науки являются постоянно развивающейся областью, причем областью больше практической, чем теоретической. В связи с этим простого чтения лекционных материалов оказывается недостаточно. И если при домашнем обучении новичку приходится придумывать задачи самостоятельно, чтобы не потерять мотивацию и не скатиться к копированию готовых упражнений, то в университете эта работа (формирование не только полезной, но и интересной практической части) лежит на плечах преподавателя.
Конечно, многое в этом случае зависит от того, кто ведет курс, однако у профессионалов достаточно преимуществ – при необходимости, они могут изменить часть практической работы по просьбе студента (чтобы тот мог реализовать интересный именно ему проект), не упустив важных деталей. Кстати, оценить возможности подобного обучения с преподавателем может сейчас любой желающий – примером такой ориентированной на практическую работу учебной программы является курс Университета ИТМО «Программирование и разработка веб-приложений», который доступен онлайн.
Студенты в рамках этого курса занимаются созданием веб-ресурса на Django — небольшой информационной системы и приложения к ней. Дмитрий Штенников, автор и доцент кафедры Компьютерных образовательных технологий Университета ИТМО, рассказывает слушателям, как его делать, а студенты стараются его повторить. При этом, чтобы не возникало бездумного копирования, слушатели постепенно получают новую информацию в течение всего курса, а затем улучшают свой проект с помощью ранее полученных знаний.
Конечно, с развитием открытого онлайн-образования, подобные курсы и проекты все чаще становятся доступны всем желающим. Но пока число MOOC относительно невелико, и они покрывают не все дисциплины, доступные в вузах, полностью перейти на MOOC-обучение вряд ли получится – скорее это возможность освежить какие-то знания или приобрести новые навыки «поверх» имеющегося фундаментального образования.
Что в итоге
Итак, получить необходимые для программиста знания и навыки возможно и «на дому» – однако придется проявить твердость духа и иметь серьезную мотивацию, кроме того, необходимо будет самостоятельно формировать учебный план и балансировать между сугубо практическими навыками, которые помогут прямо сейчас, и фундаментальными знаниями, полезными при обучении в целом.
Студентам вузов с сильной ИТ-составляющей проще: им придется пожертвовать свободой учиться «когда удобно и где удобно», но взамен они приобретают больше структурированных фундаментальных знаний, могут заручиться поддержкой профессионалов и с университетской скамьи перейти в штат крупной ИТ-компании.
Есть определённые задачи, при решении которых университетские знания приходятся весьма кстати. «Пару раз за свою карьеру я сталкивался с проблемами, которые не смог бы разрешить без полученных в университете знаний, — рассказывает программист Натан Марц (Nathan Marz). — Одна из таких ситуаций — составление алгоритмов для работы распределённых систем. Мне требовалось прописать формальное доказательство, чтобы подтвердить их работоспособность». Сами алгоритмы, о которых говорит Натан, легли в основу системы Storm.
Однако не стоит полагать, что, даже поступив в университет, можно оставить в стороне самообразование. Эти навыки невероятно важны для будущих программистов хотя бы в силу того, что информационные технологии сейчас развиваются очень быстро.
При этом, несмотря на то, что современные представления об образовании меняются, многие работодатели и специалисты (в том числе в ИТ-сфере) все еще обращают внимание на диплом – в той или иной мере. Например, Марк Цукерберг недавно решил все-таки получить степень. А в IT-компаниях (в частности, в Google) проще попасть на собеседование с дипломом о высшем образовании в области компьютерных наук. Однако на самом собеседовании все же придется показывать свои знания наравне с остальными соискателями — здесь поблажек не будет.
Как стать IT-специалистом без техобразования: две позиции, с которых можно начать
IT Manager компании Linxdatacenter
Карьеру в ИТ можно делать сегодня во многих отраслях. ИТ-вакансии на старте предполагают крайне либеральные требования к уровню и профилю подготовки. В некоторых случаях достаточно диплома о среднем образовании или степени младшего специалиста. IT Manager компании Linxdatacenter Илья Ильичев рассказывает, как проникнуть в мир «больших ИТ».
В последние годы численность девелоперов ПО увеличивается в среднем на 2,5-3 млн каждые три года, что наглядно демонстрирует приведенный ниже график.
По данным IDC, DQYDJ, Evans Data Corporation.
Это хороший знак: ИТ-профессии по-прежнему на пике спроса, и начать технологическую карьеру, даже если вам сейчас 35-40 лет, еще совсем не поздно — при условии должной целеустремленности.
С учетом того, что далеко не все желающие — математически одаренные люди, хорошей новостью для них будет то, что некоторые ИТ-профессии вообще не требуют профильного образования. Именно с них стоит начать свое вхождение в отрасль.
Чаще всего в качестве таких точек входа сегодня называются позиции тестировщика (QA-специалиста) и специалиста технической поддержки/ младшего системного администратора.
Рассказываем об особенностях этих профессий и перспективах, которые они открывают.
QA-инженер
Специалист по тестированию софта, или QA-инженер (Quality Assurance — обеспечение качества), выявляет ошибки и дефекты в работе программного продукта. Принцип простой: чем раньше баги обнаруживаются и устраняются, тем лучше показатель time to market продукта, то есть срок его выхода на рынок.
Традиционно эту профессию отличает низкий порог вхождения: нужно базовое представление о процессе разработки ПО, техническое или специфическое ИТ-образование — плюс, но необязательное требование.
Еще нужно иметь представление об основных принципах работы разных видов программных продуктов — веб-сайтов, мобильных приложений, ИТ-систем, инструментов.
Личные качества: критическое мышление, въедливость, умение анализировать и детально изучать информацию, нестандартный подход (нужно не просто найти ошибку, но и определить условия, при которых она возникает).
Обязательные знания: нужно знать, как устроен процесс тестирования, что такое тест-дизайн и тестовая документация, иметь навыки работы с TMS-системой (Test Management System). Звучит внушительно, но на самом деле научиться ориентироваться в этом не так сложно. Обязателен английский на приличном уровне.
Где обучаться: вузы тестировщиков не готовят, для освоения этой профессии нужно пройти обучение на специальных курсах или внутри компании.
Небольшая подборка курсов по QA:
Перспективы: на современном рынке у опытного QA-специалиста хорошие возможности продолжить развитие карьеры в таких сферах, как UX-дизайн, управление развитием продуктов, проектирование корпоративной ИТ-архитектуры.
Минусы профессии: первые годы в карьере тестеров крайне тяжелые, зарплата невелика, их ценят не так высоко, как разработчиков. Однако это шанс выковать характер и набор уникальных компетенций для принятия на себя роли лидера.
Специалист технической поддержки / младший системный администратор
Годы идут, а порог вхождения в ИТ через позицию специалиста технической поддержки по-прежнему совершенно не требует специального, например, математического, образования. При желании легко за год-два вырасти до младшего системного администратора. Очень часто крупные компании открывают вакансии стажера ИТ-отдела, это не что иное, как «Специалист технической поддержки / младший системный администратор», но на неполный рабочий день.
Многие ИТ-администраторы именно так начинали свою карьеру. На старте младший сисадмин начинает с первой и второй линий техподдержки — ответы на вопросы пользователей, получение опыта и навыков стрессоустойчивости. Новичков, среди которых встречаются не только технари, но и гуманитарии, обучают более опытные системные администраторы, разрабатывая алгоритмы действий по распространенным сценариям устранения неполадок, настройки.
Личные качества: въедливость, усидчивость, умение добираться до сути вещей, разматывать клубок проблемы до источника ее возникновения. Важны хорошая память и аналитические навыки. Постоянно нужно держать в голове массу знаний, добавлять к ней новые предметные области, уметь творчески их осмысливать и преобразовывать в сумму полезных профессиональных действий.
Очень важны желание развиваться в профессии, работоспособность и готовность постоянно учиться. В ИТ постоянно что-то меняется. Здесь нельзя разово выучить какую-то информацию и сидеть на этих знаниях лет 10. Вариации систем и их комбинации крайне разнообразные, вам точно не придется скучать и довольствоваться однажды изученной системой.
Обязательные знания: конечно, минимальный набор профессиональных знаний для успешной работы сисадмином необходим. Для выпускников профильных вузов будет достаточно знания основ баз данных, принципов устройства ОС (неглубоко, не на уровне архитектора), представления о том, как софт взаимодействует с железом, понимания принципов работы сетей и начальных навыков в программировании и базовых знаний TCP/IP, Unix, Windows.
Знание английского языка — обязательный навык. Пополнять свой багаж знаний лучше из первоисточников, язык ИТ сегодня — это английский.
Для сисадмина важны умение сконцентрироваться на задаче и довести ее до решения, а также мультифункциональность. Сейчас все переплетено: к примеру, и Windows, и Unix, как правило, перемешаны в одной инфраструктуре по разным блокам задач.
В зависимости от специфики работы в конкретной компании от сисадмина может потребоваться умение быстро разобраться в самых неожиданных вещах, быстро встроить в процессы компании какое-нибудь готовое облачное приложение или его API.
Одна из примет времени сегодня — автоматизация, каждый сисадмин приходит к тому, что какие-то процессы проще прописать на уровне скриптов, сокращая ручной труд.
Словом, нужно соответствовать стереотипу #тыжайтишник и уметь работать на результат по любым задачам.
Где обучаться: начать движение к своей первой работе в статусе системного администратора можно буквально на диване с изучения литературы или курсов с экрана смартфона.
Несколько курсов по системному администрированию:
Перспективы: для компетентного и опытного (3-5 лет) сисадмина в современном мире с учетом всех ключевых направлений развития ИТ есть возможность развиваться и расти практически в любой специальности и отрасли.
Можно пойти как в программисты или в Unix-администраторы, так и в сетевые инженеры, стать системным ИТ-архитектором или специалистом по безопасности и даже менеджером проектов.
Если сисадмин выбирает путь развития в направлении системного архитектора, то здесь можно рассчитывать на зарплату не хуже, чем у высшего звена ИТ-руководителей.
Как вариант — можно остаться системным администратором на очень хорошем профессиональном уровне, развиваясь в узкоспециализированной области. Например, работая в компании-облачном провайдере, системный администратор может сфокусироваться на задачах по построению облачной инфраструктуры и виртуализации.
Минусы: существенные объемы нагрузки — в случае серьезного сбоя или масштабного проекта по апгрейду инфраструктуры, развертыванию нового ПО или сети работать придется до победного конца. Некоторые системы критичны для функционирования бизнеса, а это значит, что любые изменения в таких системах тщательно тестируются и производятся на тестовом стенде, согласовываются с другими подразделениями и реализуются строго в нерабочее время. Вы, как врач, целиком несете ответственность за результат.
В некоторых компаниях высока вероятность конфликта с руководством на почве непонимания реальных потребностей ИТ-инфраструктуры и необходимых для их удовлетворения ресурсов. «Тыжсисадмин, придумай что-нибудь». Несмотря на глубоко техническую специализацию, вам придется научиться объясняться с бизнес-менеджерами на понятном им языке.
В крупных компаниях с масштабной ИТ-инфраструктурой на это может накладываться недоукомплектованность штата, рост психологической нагрузки из-за большой ответственности, проблемы с уходом в отпуск.
Однако перечисленные минусы легко перекрываются плюсами и возможностями, которые открывает профессия.
Сисадмин всегда находится на стыке разных предметных областей, эта профессия — конструктор компетенций и навыков для самостоятельной сборки в любой нужной конфигурации, причем с гораздо более развернутыми возможностями, чем в случае QA-специалиста или системного аналитика, из-за большей практической вовлеченности в ИТ на базовом, инфраструктурном уровне.
Здесь вы проходите карьерный путь буквально «от сохи», вручную собирая и настраивая сеть или серверы в компании, разбираясь с запуском 1С и Unix-администрированием.
Эта профессия будет оставаться востребованной неограниченно долго. Все обещания крупных ИТ-вендоров, анонсирующих выпуск «полностью самодостаточных платформ и систем, которые не будут ломаться, будут сами себя обслуживать и чинить», пока далеки от подтверждения практикой.
Альтернативные пути
Можно описать несколько возможных сценариев карьерного роста как для тестировщиков, так и для специалистов службы поддержки.
Менеджер по продукту
Управление циклом развития софтверного продукта особенно хорошо подходит для QA-специалистов. В силу специфики профессии они анализируют работу программного обеспечения, развивая у себя глубокое понимание методологии повышения качества софта. Сегодня на рынке, где спрос на высокофункциональное программное обеспечение особенно важен для коммерческого успеха компаний, наличие этих навыков помогает QA-специалистам добиваться успеха.
DevOps-специалист
Восходящий тренд в области построения ИТ-карьеры с позиции начинающего специалиста — все хайповые digital-направления: робототехника и автоматизация (RPA), ИИ и Big Data. Наиболее очевидный сценарий карьерного развития здесь — DevOps. Сейчас эта профессия в тренде, и те, кто не успел туда зайти, имеют шанс сделать это лишь на протяжении 3-5 следующих лет.
Это человек, который постоянно доводит до ума ИТ-инфраструктуру компании, разбираясь, почему код разработчиков заработал на одной версии библиотеки, а на другой — не заработал.
DevOps автоматизирует различные алгоритмы по развертыванию и тестированию продукта на on-premises или облачных серверах, помогает выбрать и сконфигурировать архитектуру ИТ-компонентов. Он может что-то «напрограммировать» и прочитать чужой код, но это не его основная функция.
Тестеры ПО получают здесь преимущество, так как уже в целом понимают процесс разработки. Это может сделать их хорошими менеджерами по выпуску релизов или по контролю стабильности функционала, а также инженерами по автоматизации. DevOps требует целостного подхода к разработке и развертыванию приложений через более частую, быструю и качественную генерацию и проверку кода. Разработчики часто не имеют последнего навыка, но он всегда есть у QA-профессионалов.
Customer experience/User experience специалист
Как QA-профессионалы, так и специалисты службы поддержки в своей работе фокусируются на пользовательском опыте и приобретают все большую рыночную ценность по мере того, как бизнес повышает роль этого компонента в своих приложениях и системах. Волей-неволей они приучены смотреть на любой продукт или приложение глазами пользователя.
ИТ-архитектор
Для успешного построения корпоративной ИТ-архитектуры необходимы такие качества, как внимание к деталям и стремление выработать максимально непредвзятую, независимую оценку ИТ-продукта. Скрупулезность и способность учитывать взаимосвязь множества компонентов решения, вписывая их в общую картину — критически важные навыки для ИТ-архитектора, который отвечает за разработку архитектуры ИТ-систем.
ИТ-менеджер
Навыки хорошего ИТ-специалиста широкого профиля (network, Linux, Windows, security, IT methodology and management), широкий технологический кругозор, отличные практические навыки в области ИТ, критическое мышление и способность учитывать массу нюансов в рамках «большой картины» очень помогают в управлении ИТ.
Здесь приходится принимать решения, основанные на риске: оценить вероятность того, что это изменение не вызовет новые проблемы, провести изменение в соответствии с ITIL. На какие топ-10 из 100 вещей, о которых я беспокоюсь, действительно нужно потратить свое время?
Как найти подходящее решение в рамках ИТ-стратегии и при этом уложиться в выделенный бюджет? Чем один программный продукт лучше другого, сколько стоят его внедрение и поддержка? Open source или коммерческий продукт? Заключили ли мы контракт на поддержку с правильной компанией или у нас есть компетенции и время внутри отдела? Готова ли наша ИТ инфраструктура к прохождению полномасштабного регулярного аудита на соответствие ISO 27001? Готова ли инфраструктура к регулярным атакам и проверкам на безопасность? Разработан ли план DRC и каково время восстановления сервиса? Утверждены ли регламенты для политик по ИТ-безопасности, все ли сотрудники прошли обучение и ознакомление с ними?
Не отказывайте себе в тяге узнать что-то новое, не забудьте научить себя применять методы критического мышления. Вам предстоит просеять тонны маркетинговых анонсов и найти то, что подойдет вашей компании наилучшим образом.
Системный аналитик
Отдельно стоит остановиться на такой профессии, как системный аналитик. Системные аналитики — это классические «технари», которые глубоко понимают, как работает ИТ-отрасль, и им платят за то, чтобы они делились этими знаниями с компаниями. Они изучают, как бизнес использует оборудование и программное обеспечение, облачные платформы, весь спектр новых цифровых технологий (ИИ, Big Data, блокчейн), и дают рекомендации по улучшению имеющихся систем и/или по внедрению новых.
Анализ — только часть работы таких специалистов, они еще участвуют в разработке и внедрении новых информационных систем.
Типичные обязанности такого специалиста включают в себя исследование новых технологий и оценку их стоимости и выгод от внедрения; тесное сотрудничество с другими специалистами, заинтересованными сторонами и менеджерами компании для понимания их потребностей и возможностей их удовлетворения ИТ-средствами.
Сюда же можно отнести планирование апгрейда существующих информационных систем для повышения их эффективности, проектирование новых или замена старых систем.
Личные качества: аналитический склад ума, умение общаться с сотрудниками различных уровней и понимать их потребности, считывание контекста и специфического языка разработчиков, инженеров и бизнес-специалистов — работа во многом состоит в «переводе» с языка заказчиков на язык девелоперов, сетевых специалистов, коммуникабельность и стрессоустойчивость.
Обязательные знания: системные аналитики действуют в основном в качестве консультантов, поэтому они должны быть знакомы с широким спектром ИТ-направлений. Им обычно не нужно участвовать в написании кода, непосредственном внедрении компонентов, установке новых компьютеров или других технических задачах.
Любой компетентный системный аналитик — своего рода Lego-конструктор навыков, комбинируя которые в нужной пропорции и конфигурации, можно решать различные задачи цифровой трансформации бизнеса или целой отрасли.
Системному аналитику необходимо глубокое знание пула доступных и актуальных информационных технологий, платформ, инструментов, принципов построения корпоративной ИТ-архитектуры, работы сетей, менеджмента в корпоративной сфере.
Где обучаться: большинство таких специалистов имеют высшее образование в области, связанной с ИТ. Поскольку эти аналитики активно вовлечены в бизнес-составляющую работы компании, им может быть полезно пройти курсы в сфере business operations или получить специальность в области менеджмента информационных систем.
Перспективы: набор функций системного аналитика в каждой компании серьезно варьируется, что обуславливает широкий спектр дальнейших карьерных возможностей.
Минусы профессии: высокий уровень стресса в случае возникновения разногласий с клиентами по поводу деталей проекта, необходимость преодолевать внутреннее сопротивление пользователей ИТ-систем в компании по поводу внедряемых изменений, часто — ненормированный рабочий день из-за «приграничной» природы специальности: приходится постоянно переключаться на побочные смежные задачи и нагрузка возрастает.
Как и во всех стремительно развивающихся отраслях, развитие карьеры ИТ-специалиста зависит прежде всего от его способностей, амбиций и готовности постоянно осваивать новые знания. ИТ-сфера открывает массу возможностей, главное здесь — найти интересный для себя путь.
Фото на обложке: Shutterstock/nikkimeel
Первое изображение в тексте предоставлено автором






