Алена — разработчик, которая доказала: география не решает. Родилась в маленьком северном городе, училась заочно, и однажды, «просто так» отправив резюме, оказалась в Москве. Уже 8 лет она работает в крупной IT-компании, осваивает новые технологии и уверена: в IT есть место даже гуманитариям. Алена рассказывает, как войти в IT без престижного диплома, почему учиться важно и стоит ли повально отдавать детей на курсы программистов.
Hello, World!
Из Инты в IT
— Алёна, давай начнем с самого простого: чем ты занимаешься? Можно сказать, что ты работаешь в IT?
— Я разработчик программного обеспечения. Да, можно сказать, я работаю в IT «во весь рост».
— Недавно пересматривала сериал, поэтому как в «IT Crowd» спрашиваю: «А что такое IT?»
— Это сфера информационных технологий. И это не только «компьютерщики»: в IT полно ролей - дизайнеры, аналитики, тестировщики, технические писатели. И не всем обязательно техническое образование: гуманитарии тоже находят свое место, например, в аналитике, техписе, дизайне, документации.
— Как ты из маленькой Инты оказалась в Москве, да еще и в крупной компании?
Bug или Feature?
Как случайно стать тестировщиком. Или не случайно?
— И тебя позвали… на тестировщика?
— Да, я даже не знала, что есть такая профессия. Но это оказался самый удачный вход: профессионального командного опыта разработки у меня тогда не было, а знаний, чтобы тестировать, уже хватало. Внутри я быстро поняла, как все устроено, подтянула инструменты, прошла курсы и начала аккуратно «завоевывать право» перейти в разработку. На это ушло два года.
— Расскажи про свое образование.
— Простое: заочное обучение в коммерческом вузе в Ухте, специальность - инженер-системотехник. Параллельно работала инженером-программистом второй категории. Профильные предметы преподавали хорошо: программирование, базы, сети — всё, что нужно. Ценно и то, что была возможность сразу применять знания в работе.
Loading… адаптация
Первые полгода в мегаполисе и в open space
— Что оказалось самым сложным при переезде?
— Вообще было сложно. Во-первых, сам переезд: из маленького города в большой. До этого мой «московский маршрут» ограничивался поездкой от вокзала до аэропорта и всё. А тут огромный город, непонятно, как здесь перемещаться, что и как работает.
Плюс большая фирма, большой коллектив, всё по-другому. Офис в формате open space, а не уютные «кабинетики в садике», как у нас. Люди другие. И самое сложное - оставить всё в Инте и приехать туда, где у тебя нет никого близкого.
Первые недели было много звонков домой: вечером нужно было всё рассказать, выслушать, поделиться. И ещё непонимание, как вообще устроена эта компания, как «положено» работать. Первые две недели были особенно тяжёлыми: ловила себя на мысли «Всё, нет, зря я это затеяла. Поеду-ка я обратно. Что я тут делаю?»
Но потом пришло понимание: на самом деле ничего невыполнимого нет. Все необходимые знания у меня были. Нужно было только освоить одно специфическое ПО для автоматизированного тестирования, по сути, такую же программу, как и многие другие. Освоила быстро. И поняла: раз знания есть, значит, можно расти дальше.
— Сколько заняла адаптация?
— Примерно полгода — и к городу, и к компании.
No Hands Needed
Кнопки сами себя не нажмут… или нажмут?
— Что делал тестировщик в твоем случае?
— В начале работы мне нужно было придумывать и описывать сценарии тестирования. Сейчас я уже не понимаю, зачем меня вообще на это назначили — ведь главное в моей роли было другое: писать автотесты.
Автотест — это специальная программа, которая сама, без участия человека, проверяет, что после изменений в продукте ничего не сломалось.
Как это работает: я придумываю сценарий, например, какую ситуацию нужно проверить. Пишу автотест, который «нажимает кнопки» в нужном порядке, как это сделал бы человек. Программа сверяет результат с эталонным.
Если всё совпало - отлично. Если что-то пошло не так, фиксируется ошибка. Дальше я разбираюсь, в чём дело: возможно, разработчики изменили логику работы, и тогда нужно доработать сам тест; либо действительно что-то сломалось, тогда я завожу ошибку на исправление для разработчика.
Кроме того, тестировщик проверяет уже найденные ошибки. Их источники бывают разные: автотесты, жалобы от пользователей или сообщения от коллег. Разработчик исправляет проблему, а я проверяю, что теперь всё работает и ошибка больше не повторяется.
Есть и ещё одна важная часть работы - приёмка новых задач. Когда разработчик что-то делает, он передаёт результат тестировщику. Я проверяю его по сценарию, убеждаюсь, что всё работает, а затем пишу на эту задачу автотест, чтобы в будущем можно было быстро проверить, что ничего не сломалось.
Level Up
Как из тестировщика вырастить разработчика
— А дальше переход в разработку?
— Переход в разработчики был сложным моментом. У нас никто не сидит и не ждёт, чтобы заметить: «О, ты можешь, давай мы тебя повысим». Может, в каких-то компаниях так и есть, но не у нас. Если чего-то хочешь, должен сам этого добиться и прийти к этому.
Я шла маленькими шагами. Сначала просила: можно ли мне исправлять небольшие ошибки и отдавать их на проверку разработчикам. Это я «выбила». Потом пошла дальше. Прошла курсы по разработке и поняла: если сейчас не перейду в разработчики, всё снова затрётся в голове, и обучение окажется напрасным. Пришлось ускорить разговоры с руководством.
Сначала мне дали небольшой объём работы. Я им занялась, и первая задача оказалась, как я считаю, вполне успешной и на ожидаемом уровне.
А потом настала пандемия. Пришлось перестраиваться: мы всегда ходили в офис, удалёнки не было. А тут полностью перешли на дистанционную работу. Это было сложновато: коллег рядом нет, просто так не подойдёшь, не спросишь. Всё приходилось налаживать по-новому.
Дальше начали увольняться коллеги, и мне стали передавать их задачи. Так я набрала новые области. Потом появился новый программный продукт, и мне тоже дали задачи по нему. Теперь я работаю сразу на два продукта - и там, и там.
Рост по навыкам в разработке идёт постоянно. И самое приятное, что потолка пока не видно. Есть куда расти, и вокруг такие коллеги, что думаешь: «Боже, какие умнейшие люди!» Когда есть такие ориентиры, понимаешь: у меня ещё столько всего впереди.
Это даёт ощущение, что не нужно бегать по компаниям, искать что-то другое. Здесь есть всё: ты не достиг потолка, не превратился в человека, который только указывает другим, что делать, считая себя самым умным. До такого мне ещё, возможно, и не доработать.
Всегда есть у кого учиться, к чему стремиться. И, я считаю, впереди ещё огромный-огромный путь.
— То есть рост у вас не вертикальный?
— Почти весь — горизонтальный. Руководителей мало, и это другая деятельность. Мне предлагали «чуть-чуть управленческого», но я не хотела уходить от программирования. У нас даже руководитель отдела пишет код. Можно реализоваться как специалист, не всем быть менеджерами.
— Было ли еще раз желание «все бросить»?
— Нет. Кризис был один, когда назрел переход в разработку. Я прямо сказала: если не получится, пойду куда-то еще за практикой и, возможно, вернусь. Руководство пошло навстречу: «Давай, пробуй». Получилось. И все равно до сих пор страшно, что где-то не дотягиваю. Но это и держит в тонусе.
Keep Calm and Fix Bugs
Релакс по-айтишному: исправляем ошибки под блюз
— Как проходит твой день?
Такая «нудятина» занимает примерно 15% рабочего времени. Если бы было 75% — уже бы задумалась о смене работы.
Debug & Dragons
Как уточка, пистолет и викинг помогают писать код
— Разработчик – творческая профессия?
— Да, особенно когда не по шаблону. Есть «кодеры», которые просто набивают по четкому ТЗ, и есть задачи, где надо придумать.
Don’t Panic, Check Twice
Почему внимательность спасает код
— Какие навыки развивала, когда стала разработчиком?
— Да, знаешь, у меня тоже раньше была нехорошая привычка: сделал «как-то», заработало и ладно. А потом выяснилось, что гораздо быстрее перепроверить себя несколько раз: так, сяк, ещё раз.
Если есть сомнение, его либо нужно убрать, проверив, либо признать, что оно не просто так, и есть вероятность, что что-то пойдёт не так. Важно быть внимательным и честно спрашивать себя: «Ты уверен, что всё именно так?» Потому что бывает, что исправил одну ситуацию, а в другой появляется новая ошибка.
Лучше потратить время и продумать, где ещё может «выстрелить». Если сам не можешь быстро проверить, лучше написать тестировщику: «Перепроверь ещё вот здесь». Так будет спокойнее. Раньше у меня было наоборот: быстрее-быстрее, всё исправила и к следующему. А потом всё возвращалось в тройном размере, и я сидела, разгребала, думая: «Господи, лучше бы я сразу потратила время».
— То есть маленькая проблемка могла вырасти в большую?
— Да, именно так. Исправил ерунду, а в итоге поломалось что-то глобальное. Поэтому лучше остановиться, подумать и проверить.
— Получается, внимательность ты в себе развивала?
— Да, внимательность. И ещё умение смотреть шире: видеть, чего ещё касается эта ошибка. Не только саму проблемную строчку, но и всё вокруг. Это тоже внимательность.
— Это ведь непросто.
— Да. И ещё нужно побороть лень: не торопиться «закрыть» задачу и перейти к следующей, а зависнуть на минуту и подумать.
— Я всё думаю над твоей фразой про умение смотреть, как маленькая деталь может повлиять на целую систему.
— Именно так. Это сложно, и у меня в голове тоже не всегда укладывается. Но я пришла к тому, что мало просто найти и исправить ошибку. Нужно посмотреть, кто привнёс эту строчку кода и что он делал. Возможно, он уже исправлял другую ошибку, и сделал так специально. Нужно учитывать и его изменения, и свои правки. То есть важно понять контекст: это просто ошибка или часть другой задачи. Поэтому я считаю это очень важным навыком
Patch Notes: Education Edition
Как курсы DevOps прокачали кругозор
— Продолжаешь учиться?
— В 2022 году я поняла, что у меня есть пробелы в технологиях и инструментах, и решила закрыть их, поступив на курсы DevOps. Это специалист между администратором, который настраивает среду, и разработчиком, который пишет код. DevOps автоматизирует процессы, подключает инструменты, запускает проверки, чтобы всё работало быстро и удобно.
Я выбрала двухгодичную программу в онлайн-школе. До этого никогда не работала с Linux, а там мы его изучали, вспомнили сети, прошли много новых инструментов. В работе мне это напрямую не нужно, но теперь я понимаю, как всё устроено. Это не было карьерным шагом, скорее вклад в общий кругозор.
У нас в отделе есть свой DevOps-инженер, и я рада, что не приходится совмещать эту роль с разработкой - слишком разная специфика. Но теперь я лучше понимаю, кто и что делает, и могу выстраивать взаимодействие эффективнее.
Особенно это пригодилось, когда мы начали работать над новым продуктом. В команде много людей, владеющих современными инструментами, и благодаря курсам я чувствую, что тоже «говорю с ними на одном языке» и могу работать и со старым продуктом, и с новым.
MythBusters: IT-издание
Можно ли за полгода стать крутым айтишником?
— Сейчас в рекламе IT-школ часто звучит: «Был делопроизводителем в садике, станешь великим IT-специалистом и будешь зарабатывать миллионы». Насколько это реально? Можно ли за полгода или даже за два года, без опыта программиста, освоить IT и начать хорошо зарабатывать? Есть ли у тебя примеры успешных переходов?
— Честно? Лично я не видела, чтобы это работало так, как обещают. Да, у меня есть коллега, который раньше был рабочим и пришёл в IT, но я не наблюдала сам процесс его перехода. Успешных примеров «с нуля за пару лет» я не встречала.
Я считаю, что просто пройти курсы и ожидать, что сразу возьмут на высокооплачиваемую работу — нереально. Даже если ты уже состоявшийся специалист в другой сфере, нужно быть готовым, что при переходе в IT доход сначала снизится.
Если бы я сама захотела уйти в DevOps, я бы пошла на меньше оплачиваемую позицию и снова нарабатывала опыт. DevOps в среднем зарабатывают меньше разработчиков, а до высоких зарплат в этой роли нужно ещё дорасти.
— Что точно не стоит делать новичкам?
Не тратьте сразу большие деньги на дорогие курсы, если вы даже не понимаете базовые термины. Начните с самообразования: определите, куда хотите попасть, изучите вакансии и требования к ним, освойте базу самостоятельно. Когда у вас уже будет понимание и первые навыки, курсы станут логичным следующим шагом. Ищите точки входа, которые ближе к вашему опыту, например тестирование, а потом растите в нужном направлении.
В IT редко смотрят на дипломы, важен опыт и умение решать задачи. На собеседовании дадут тестовое задание: справились - отлично, нет - диплом не поможет.
Реальный путь в IT начинается не с покупки курса, а с самостоятельного погружения, практики и постепенного наращивания опыта.
Introvert’s Paradise?
Почему IT не всегда тихий уголок
— IT — «рай» для интровертов?
— Частично. Разработчик не общается с пользователями, но коммуникации всё равно нужны: митинги, коллеги, баг-репорты, интеграции с другими командами и даже внешние встречи. Письменно общаться уметь нужно. А вот консультанты как раз много говорят с пользователями — это отдельный мир.
AI is Coming?
Какие роли в IT рискует «съесть» искусственный интеллект
— Я сейчас увлеклась искусственным интеллектом: пишу небольшие программки с помощью ChatGPT — совсем простые генераторы. Но ведь ИИ уже умеет частично писать код. Не боитесь ли вы, разработчики, что профессия исчезнет?
—Пока рано говорить, что программисты исчезнут. Но я вижу, как сейчас массово стремятся «отдать детей в IT», и, возможно, это не лучшая идея, потому что к тому моменту, когда они выйдут на рынок, всё может кардинально измениться. Было уже так, помнишь, как в 90-е и 2000-е массово готовили экономистов и юристов? В итоге многие пошли работать продавцами, потому что специалистов оказалось слишком много.
С программированием та же история: оно становится проще. Раньше писали всё на низкоуровневых языках, прописывали каждую деталь. Сейчас достаточно написать пару строк, и всё работает. Дальше, скорее всего, важнее будет умение правильно ставить задачу искусственному интеллекту, а не самому строчить код.
Поэтому, если ребёнку действительно интересно - отлично. Но насильно учить его, например, Java, можно только отбить желание. А вот эта мода «всех в IT», на мой взгляд, больше вредна, чем полезна.
— Как думаешь, какие профессии в IT могут исчезнуть с развитием искусственного интеллекта?
— Если посмотреть, как всё развивается, то в зоне риска могут оказаться техписы (технические писатели), уже есть самодокументируемый код, а при подключении ИИ можно получать адекватное описание прямо из программы.
Также под ударом часть техподдержки. Уже сейчас многие колл-центры работают через ботов, а к живому специалисту переводят только в сложных случаях. Если ИИ будет подключён к базе известных ошибок и задач, он сможет сразу выдать готовое решение или сообщить, что оно уже запланировано. В итоге целые уровни поддержки могут просто исчезнуть.
— А какие профессии через 5–10 лет, наоборот, станут востребованнее?
— Хотелось бы самой чётко понимать, в какую сторону развивать навыки. Возможно, в техническую — ведь для работы всего этого нужны вычислительные мощности, а значит, должно развиваться и техническое «железо». Соответственно, будут востребованы все отрасли, связанные с его производством, включая добывающую промышленность. По крайней мере, до тех пор, пока не появятся роботы, которые смогут добывать ресурсы самостоятельно.
Но в целом мне пока сложно однозначно представить будущее: всё меняется очень быстро. Поэтому идея массово отдавать детей на программирование кажется сомнительной. На 100% уверена, что это не сработает.
From Spaghetti to Symphony
Как превратить хаотичный код в стройную мелодию
— Что хотелось бы знать о профессии заранее?
— Наверное, то, что мне потом пришлось развивать — умение смотреть на задачу глобально.
Начинала я с уроков информатики, в которых вообще ничего не понимала. Был этот Бейсик, какие-то «ракушки» надо было рисовать. Помню, паника: что это вообще такое? Пришла к папе и говорю: «Пап, я не понимаю этот код». Он сказал: «Попробуй нарисовать сама, не смотри на код, напиши свой». Я сделала ракушку, и она получилась, но поставили 4, потому что это был не тот код, который предполагался.
У меня тогда было отношение «сделать как-нибудь». Может, код и работал, но он был неэффективный. Программа могла заработать у одного пользователя, но при тысяче пользователей всё бы упало, зависло и работало медленно. Нужно было разбираться, а я писала так, чтобы просто заработало: переменные называла как попало, один и тот же кусок кода копировала по 500 раз.
Сейчас понимаю: важно писать код красиво, оптимально, понимать, почему именно так нужно делать, и в чём плюсы такого подхода. Тогда я часто закрывала глаза на эти вещи. Возможно, если бы с самого начала относилась иначе, быстрее пришла бы к нужному уровню.
Paintbrush ≠ Keyboard
Творчество в IT — не живопись, а логика.
— Кому ты точно не советуешь идти в IT?
— Если говорить про технические направления, где именно программируют, то я бы не советовала слишком творческим людям, которые не знают, чего хотят, быстро скучают, не могут сосредоточиться и постоянно отвлекаются: «Мне скучно, это не могу, это меня убивает, пойду посплю или потанцую».
— То есть необязательным людям?
— Да, именно. Мне даже сложно общаться с теми, кто сильно «творческий» в классическом понимании. Кажется, что в технических вещах им просто не место: им скучно, а их мозг не заточен под такую работу.
— Творчеству творчество рознь, да?
— Да. В программировании элемент творчества есть, но это совсем другое творчество, не как в искусстве. Здесь, например, нужно придумать, куда поставить кнопку, или как составить сценарий работы программы. Это не живопись и не литература. Поэтому творчество в IT сильно отличается от творчества в других областях.
Pascal > Assembler
Блиц, уточки и примадонны разработки
— Так, слушай, у меня остался блиц. Коротенькие вопросы, на которые можно ответить очень-очень быстро. Их 10 штук.
— Я уже нервничаю. Когда очень быстро, я сразу начинаю нервничать.
1. Твоя первая строка кода. Помнишь, что это было?
— CLS, наверное, в Basic, если мы вообще про первое программирование — очистка экрана.
2. Кем ты мечтала стать в детстве?
— Первым делом мечтала быть поваром.
3. Одна книга или фильм, которые повлияли на твой профессиональный путь?
—Не сказать, чтобы повлияли напрямую, что я посмотрела или прочитала и пошла что-то делать, но мне очень откликается фильм «Фрида» про Фриду Кало. Путь, несмотря ни на что, несмотря на боль и все остальные неприятности, идти своим путём. И свою боль выплёскивать в искусство.
4. Дополнительный вопрос по фильмам и книгам: «Матрица» - это супер?
— Да.
5. Сколько кофе - это нормально? Кофе пьёшь?
— Пью. Не очень много. Правда, недавно купила кофемашину и стала пить больше. Обычно только утром — свой чёрный-чёрный горький кофе. Но теперь иногда в обед пью молочный капучино. И всё, много не пью.
— Два, в общем, да?
— Два, да.
6. Баг в пятницу вечером исправишь или сделаешь вид, что не заметила?
— А вечером, прямо перед концом рабочего дня? Ну… я его оставлю на понедельник. Мы же не выпускаемся, так что просто отложу исправление. Сделать вид, что не увидела, — нет, я так не делаю.
7. Три вещи, без которых не обходится твой рабочий день? Уточки?
— Уточки, да. Обед, конечно же. Перерыв — в офисе это значит попить чаю или кофе, обсудить насущное. Пошутить с коллегой — обязательно. У меня есть коллега, с которым мы обмениваемся шутками, жалуемся, когда кто-то не понял шутку, и довольные собой возвращаемся к работе.
8. Есть ли у тебя профессиональный кумир?
— Да, мой начальник. Я не понимаю, как человек может столько работать в разных направлениях и всё помнить, всё знать. И есть ещё один коллега, не руководитель, тоже разработчик. Немножко капризный, но он такие вещи изобретает… Я бы хотела быть его подмастерьем. Когда изучаю его механизмы, думаю: «Как это к тебе пришло в голову?» Когда он меня хвалит, я радуюсь, хоть он и вредный. Но это без злобы, просто у нас такая «примадонна».
9. Если бы ты могла мгновенно освоить любой IT-навык, что бы выбрала?
— Писать оптимальный код. Чтобы никаких тормозов, всё идеально, и никогда не пришлось разбираться, почему что-то тормозит.
10. Если бы твою работу экранизировали, это был бы триллер, комедия или драма?
— Комедия. Типа IT Crowd. Если ещё записывать всё, что я думаю, это точно будет комедия. А если почитать наш чат с коллегой — можно сразу публиковать.
11. Если бы ты была языком программирования, то каким и почему?
— Пусть я буду Паскалем. Он достаточно понятный, дружелюбный, не вызывает ужаса. Все могут с ним работать.
— А какой язык у тебя вызывает ужас?
— Ассемблер.
ПОСТСКРИПТУМ: