Найти тему
Мысли на ночь

Что ждёт новичка в IT

Оглавление

Дисклеймер

Описываемые мной впечатления и опыт — субъективны. Мои заметки - не план к действию. Мне хотелось поделиться своими наблюдениями, поднять ряд проблем для дискуссии и обсуждения. Надеюсь, статья возымеет некоторую пользу, развеет часть ложных ожиданий об it или просто потешит интерес. Спасибо!

Вступление

Начну с того, что познакомился с программированием в 8-9 классе, начинал с простеньких задачек на языке Паскаль и поверхностного обзора HTML-разметки на уроках информатики. Мне было мало, и я продолжил самостоятельно - поэтому на первых курсах в институте (а у меня была компьютерная специальность) программирование давалось мне без лишних усилий. В институте я расширял свой "инструментарий" отчасти из интереса, отчасти из-за надобности выполнять лабораторные, практические, курсовые работы или выполнять какой-либо фриланс. Мой первый и короткий опыт работы "не как фрилансера" начался как раз на 3-4 курсе. Первую серьёзную работу я получил уже после института. Это краткое резюме я пишу, чтобы уточнить, 3 года в IT (даже больше) - это опыт работы именно в компаниях. Согласен, срок не очень серьёзный, однако за суммарных три с лишним года я успел поработать в стартапе (3-4 курс), в одной небольшой компании и двух куда более хорошо известных и крупных, в одной из которых я и продолжаю работать на текущий момент!

Итак, что же я заметил:

1. Отдайте предпочтение крупным IT компаниям или компаниям с крупным IT подразделением.

Первую свою серьёзную работу я получил в небольшой компании (около 150 человек) не из IT сектора. Наш штат программистов состоял из 4-5 человек. В таких компаниях часто приходится быть и тестировщиком и аналитиком, и разбираться в предметной области проекта... и бэк и фронт тоже само собой... Почти нет времени на рефакторинг и очень много легаси кода. А ещё может появиться хайлоад, нейронки, машинное зрение. Как говорится: "Куда Бог пошлёт...". Естественно, факт отсутствия этих знаний в резюме ничего может не играть)) И это отчасти плюс, но...

Через некоторое время столкнувшись с однокурсницей (которая начала свой старт в программировании куда позже), я узнал, что её ЗП junior(а) почти в два раза больше моей. И для меня это было грустно. Она прошла собеседование в крупную IT компанию, рассматривать которую я даже не решался.

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

Потом вы узнаете, что в крупных компаниях есть такие плюшки, как ДМС, уроки английского, кухня с печенками, фруктами и кофе... больший коллектив, корпоративы пышнее ("спасибо" корона). Очень приятные плюсы)

2. Собеседования - это навык!

-2

Ваше эмоциональное состояние на момент собеседования очень сильно влияет на успех или неуспех прохождения. Я прошёл много собеседований. До сих пор проваливаю собеседования при отборе на проект. Бывает! И это досадно! Особенно, если это второе или третье по счёту собеседование.

Однако! Успокойтесь! Далеко не всегда дело в низкой стоимости ваших знаний и навыков! И вряд ли вы такие никчёмные!

Расскажу про себя. Я испытываю очень крупный мандраж на собеседованиях до сих пор! Не такой сильный, как на первых порах, но всё-таки! Может быть я и не умный!!! Однажды я завалил собеседование на ооочень элементарном вопросе вроде, сколько будет дважды два. Только в таких ситуациях чувствуешь, как мандраж давит на мозги, и ты отсеиваешься на простых вопросах.

Как правило, ваш интервьюер не нагнетает и относится понимающе, учитывает роль стресса. Но вообще, не всегда так. Ваш интервьюер может специально нагнетать по разным причинам. Я допускаю, что в этом есть смысл, но иногда это переходит границы. Собеседование может быть откровенно нелепым, интервьюер задаёт вопросы и сам на них отвечает... Чувствуется некое самоутверждение... "А я вот знаю, а ты не знаешь....". Иногда интервьюер сыплет всякими аббревиатурами и сокращениями паттернов и видов архитектур, а по приходе на проект видишь код, неимоверно далёкий от оных - закостыленный легаси. Думается, и на кой чёрт!? Периодически вас быстрее-быстрее прогоняют через 3-4 человек разных специальностей.

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

Чётких советов, как справляться со стрессом перед собесом дать не смогу! Это индивидуально! И тут я не лучший советчик.

3. Junior, Middle, Senior - понятия относительные!

-3

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

Бывает, что человек уже давным-давно сидит на проекте и не развивается. Ему всё привычно! Он знает каждый закоулок и каждый костыль! Он становится краеугольным камнем этого проекта! Он привык работать со старым узким и невостребованном стеком. Он сеньор только на своём проекте! Тут сложно упрекать человека именно в непрофессионализме.

Но всё-таки, попадая в новые команды, встречаешь совсем разных по мышлению, внимательности, сообразительности, навыкам и виртуозности людей. Иной раз приходишь к мысли, что тот или иной junior куда более развит, чем middle, видишь, как junior исправляет ошибки "senior"(a). Причин, что и почему так происходит масса.

Проработав 3 года, я очень стесняюсь сказать, что я мидл. Как минимум, поправляю, что начинающий. Но тем не менее я встречал сеньоров, которых можно сравнить с джунами. (Нууу, одного точно. Это был исключительный случай.) Но в целом да... Рамки между мидлами и сеньорами, мидлами и джунами несколько условны. И многое зависит от профессиональных планок компании. Думаю, тут уже стоит дать слово нашим HR(ам). Они смогут и поболее рассказать. Но, естественно, это обидно - ведь речь идёт о разнице в зарплате весьма приличной!

4. Расплыться по стеку умом!

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

Будьте готовы что, представляясь на собеседовании как бэкэнд разработчик и получив вопрос о наличии какого-либо опыта во фронтэенде, вас посадят целиком на фронтенд. Имеете знакомство с React? Ха... Будьте готовы начать учить устаревшую версию Ангуляр или новый Вью, или влезть в какой-либо наидревнейший js. Также будьте готовы сунуть нос и в мобильную разработку, и в тестирование, и в девопс и т.д. и т.п.. Необходимо вспомнить, что разработчики ПО требуются во всех отраслях: медицина, горнодобывающее дело, банкинг... Со всеми премудростями придётся разбираться на месте. Такова доля программиста - успевать за новыми трендами и постоянно чувствовать себя новичком. Подобная картина, преимущественно, в вышеназванных крупных аутсорсинковых компаниях. В продуктовых компаниях ваш стек более менее постоянен и отрасль не меняется. Часть разработчиков выбирает данный вариант.

5. Часть менеджеров - не программисты!

-4

Оказавшись в первый раз на большом проекте, я увидел большую систему с группами разработки, отвечающими каждая за свой модуль, армией аналитиков и менеджеров! Подумал - вот это дааа!

Через какое-то время потребовалось отчитаться о состоянии одной задачи нашему менеджеру (добрый дядька, кстати) и я, по обыкновению, начал описывать технические детали и нюансы. Он вслушивался и честно интересовался тем, что я говорил, но всё таки прервал меня и извинительно объяснился: "...Сразу скажу, я не программист...". Далее я очень часто встречал менеджеров, которые не были программистами. Не смею назвать их плохими менеджерами. Но всё-таки, некоторый мой шаблон был сорван...

Я до сих пор считаю, что менеджер-программист имеет немалые преимущества: оценка времени, большее понимание людей, которыми он руководит, отсутствие ряда стереотипов о работе своих подопечных, представление о привычках программистов думать и работать и т.д. и т.п.. Некоторые менеджеры очень часто не понимают разработчиков и их оценки работы и задач в ряде случаев похожи на шуточный вопрос про то, как быстро 9 женщин успеют родить одного ребёнка... Хотя, может, я не полностью представляю работу менеджера со своей колокольни.

6. Смена работы - хорошая прибавка в зарплате!

Очень сложно понять, сколько стоишь и насколько востребован, проносясь по проектам и стекам или долгое время работая на поддержке легаси кода. Очень страшно показаться наглым, попросив прибавку, показаться пустышкой. А ещё цены меняются, рынок и спрос на тех или иных разработчиков поднимается. Может быть, что в компании нет проектов на стеке, на котором ты бы мог работать за большую плату. Очень часто - эта разница в оплате может быть существенной. Один год в компании, да на проекте с легаси кодом не очень располагает, чтобы на тебя взглянули, как на спеца уровнем выше. И мне кажется, что новичок в IT может нехило прибавить (раза в 2) в зарплате простым переходом в другую компанию... Учитывая это и большую драку за кадры, резюме разработчиков с большим списком компаний выглядят всё менее странно. Хотя менеджеры постоянно и заявляют, что можно запрашивать пересмотр каждые полгода - год, я всё-равно подозреваю, что пересмотр будет не такой существенный. Кто знает, как оценят тебя на текущем месте и какой будет пересмотр, но офер с конкретной суммой от другой компании будет железным аргументом.

7. Нужна ли математика?

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

Заключение

Я привёл первые семь пунктов. Это маловато, но статья уже раздувается. На самом деле, это далеко не всё. У меня есть ещё ряд наблюдений и личных открытий. Допишу их в следующей статье, если увижу интерес!