Всем привет, меня зовут Дядиченко Григорий и чем я только ни занимался. Сегодня хочется рассказать о своём пути в айти. Но цель статьи даже не в том, чтобы "рассказать историю". Я скорее хочу рассказать некоторые мысли о том, как лучше развивать свою карьеру в IT и некоторые советы, чтобы расти быстрее, чем средний специалист.  "Работать надо х***. Работать." (с) Big Russian Boss Собственно почему я могу об этом говорить? Я бывал и в аутсорсе, и в крупных компаниях, и в фрилансе, и в стартапах, и даже работодателем. За последние 8 лет у меня сложился довольно уникальный опыт работы. Начал я работать в 2014 году в конце второго курса университета. У меня конечно профильное образование и вуз мне что-то дал, но скорее значительно позже, чем на самом старте. Просто меня часто спрашивают "нужно ли профильное образование в IT?" - может быть полезно, но не необходимо. Многие разработчики учились даже на гуманитарных дисциплинах. Математика нужна в определённом спектре задач, но это далеко не все задачи в IT. Так вот, начал я работать совмещая с учёбой. Причём получилось забавно. Многие хотят попасть в игровую индустрию, а я попал туда совершенно случайно. Важный совет всем джунам. Закидывайте резюме везде, куда можете дотянуться. С позиции джуниора на работу идти нужно не "куда хочется", а "куда возьмут". Дальше будет лучше, но на старте — это самая выгодная стратегия. И вот собственно меня взяли в игровую индустрию. В начале ещё стоит сделать небольшую ремарку. Многие студенты (я ещё помню, сам таким был) мечтают попасть на стажировки в корпорации. В Яндекс, в Касперский или типа того. И помня правило "идём туда, куда возьмут" — это не лучшее место работы для старта как раз. Но об этом позже. Собственно первым местом работы у меня была компания под названием Nekki. Там было классно, иногда бывали "кранчи" (до того, что будет дальше тем кранчам далеко), но было интересно. Я в основном занимался сборкой интерфейсов и т.п. Плюс работы в относительно крупной компании — можно посмотреть "как делают взрослые". В целом это будет связано со следующим советом. Да простит меня весь HR. Менять работу — это очень важно. Первое, и самое важное — вам нужна насмотренность проектов. В рамках одной работы в более менее крупной компании вы замыкаетесь в своём спектре задач.  В крупной компании чаще всего работа, к сожалению, не мотивирует к обучению. Да, работодатель часто даёт возможности для обучения, оплачивает курсы и т.п. И ребята, которые этими возможностями пользуются, или просто учатся фоном, тоже довольно круты. Но в том же аутсорсе сама работа вас заставляет изучать тонны различной информации. Вчера проект был "игра на стенд", сегодня "маска с дополненной реальностью и неиронным фильтром под стилистику Ван Гога". Это конечно больше про минус в старте в крупной компании, так как я с первой работы ушел, потому что у меня было ощущение, что я уже "всё знаю" и просто выполняю таски.  Что же касается насмотренности. Переходя между разными компаниями вы смотрите, как работают разные команды, как организованы проекты, причины почему они так организованы и т.п. Вы просто начинаете больше знать о том "а как бывает", что очень важно. В IT не существует серебряной пули для всего, определённые технологии подходят для каких-то задач лучше, для каких-то хуже, но в целом лучше иметь насмотренность, чтобы знать что так можно и какие у этого плюсы и минусы. Это не все причины смены работы, по крайней мере если вы не решили "остепениться там, где вам всё нравится". На уровне сеньора уже работу можно и не менять. Но ещё одной важной причиной является зарплата. Периодически меняя работу до сеньор уровня по зарплате вы вырастете быстрее. И тут уже играет роль обратная сторона монеты маленьких компаний. Возможно вы действительно, скажем за пол года, выросли и стоите дороже в рамках своих компетенций, но часто маленькая компания просто не сможет достать из кармана достаточно денег, так как у неё их нет. Как работодатель, я часто понимал, что условно справедливо (и давал рекомендации), что человек уходит в корпорацию на х2-х3, потому что я по своей схеме бизнеса не условный Сбер и не могу платить столько. И не потому что мне жалко, а так как одна функция в приложениях крупных корпораций за месяц зарабатывает больше, чем я со своей студией за всё время. Либо же у проекта есть бюджет, и его не готовы расширить, хотя вы действительно стоите этих денег, потому что их нет. Причин на самом деле бывает много никак не связанных с вами. Но рынок есть рынок, и я скорее говорю с точки зрения личной выгоды вас, как сотрудника. Бывает много других причин и нюансов, но пока я считаю эту стратегию выигрышной. С первой работы я ушёл где-то через год с повышением зарплаты х1.5. Рынок ИТ был тогда не таким диким, как сейчас, что джун может на мидла скакануть в х2.5 от зп. Между этим был небольшой эпизод инди, пару довольно странных мест работы. И после ушёл я собственно в стартап. И тут следующий совет. Немаловажным при устройстве на работу является ваша мотивация. Я был одним из двух кандидатов прошедших финальный отбор, и мы прошли оба. Так как (как я узнал позже) я написал компании, что мне очень понравилась их идея и очень хотелось у них работать. Просто я попал в другой отдел. Да и на тему мотивации есть другая история, как я прошёл 3 этапа отбора на должность в одной крупной игровой студии, но на последнее задание откровенно забил. И вероятно поэтому не прошёл. В стартапе было интересно, задачи были разноплановые, всё приходилось делать быстро. Он был вообще не про игры, так что это был совершенно новый опыт. Я был хотя и мидлом, но единственным Unity разработчиком на проекте. Так что всё училось по ходу и самостоятельно. То что в стартапе или аутсорсе код пишется на выбросить — это не совсем так. Это зависит от стадии или типа проекта. В основном все всё равно стараются писать адекватный код. И вот в стартапе я впервые почувствовал вкус настоящего "кранча". Это были лайтовый, сутки без сна, так как с утра показ важным инвесторам, а у нас не работала одна важная фича. Но показ прошёл успешно, и я уснул в пуфике в офисе.Стартап с точки зрения обучения штука классная, хотя опять-таки немного ограниченная, но там ты в любом случае человек оркестр. По сути там я научился работать с технологиями трекинга, с VR, с AR, настраивать оборудование, строить локации (периодически приходилось участвовать в монтаже) и это был супер полезный опыт. Чтож, в стартапе я провёл год, потом случился один из рисков любого стартапа — перебои с финансированием, чего я во-первых, по жизненной ситуации себе не мог позволить, во-вторых, у меня уже был оффер на настоящего сеньора в другую крупную игровую студию KamaGames. И хотя я считаю её прекрасным местом работы, но после стартапа мне просто не хватало драйва. Важно всегда помнить, что испытательный срок нужен не только для того, чтобы оценить сотрудника, но и для того, чтобы сотрудник оценил компанию, так что по окончанию испытательного я ушёл в закат. А точнее я ушёл в фриланс. Искать работу мне как-то не хотелось, да и в целом я давно хотел попробовать побыть Unity разработчиком на вольных хлебах. К тому моменту у меня было отложено немного денег, так что я считал, что на старте даже треть моего оклада была бы успехом. На дворе был 2016 год. Но я считаю что мне дико повезло потому что на фрилансе я уже во второй месяц зарабатывал х2 от своей прошлой зарплаты. Так как у меня был опыт во всех профильных технологиях, я к тому моменту уже написал несколько статей на хабр, запустил несколько своих открытых репозиториев + я был организатором Unity Moscow Meetup. Поэтому довольно быстро на меня вышли ребята из выставочной индустрии, для которой я обладал максимально релевантным опытом. По поводу фриланса советы будут довольно простые. Самый главный и банальный — сначала надо поработать в офисе. Работа в офисе даёт представление о том, как правильно выстроить процессы работы, как писать нормальный код. Почему нужно писать нормальный код. Сейчас уже как работодатель заказываю много работ на фрилансе. И чистого фрилансера без офисного опыта видно сразу. С ними могут эффективно работать профильные заказчики типа меня, а вот если работать с непрофильными высока вероятность, что это перерастёт в ненужные конфликты и задачи не будут сделаны. Второй совет, ваши контакты должны быть везде. Просто везде. Я очень мало получал заказов с бирж и больше работал с заказчиками напрямую, но однажды на бирже меня нашли ребята из сбербанка, с которыми мы в дальнейшем сделали много проектов. Потому что мои контакты были на всех биржах, хоть я там и не сидел. Это действительно важно, и часто я встречаю такую проблему правда с художниками и моделерами. Когда всё классно, портфолио подходит, а контактов — нема. В качестве фрилансера я провёл 2 года, там уже кранчи были серьёзнее, но оплачиваемые всегда, так что было весело. В какой-то момент на фрилансе мне показалось, что я достиг потолка и хотелось чего-то нового. Поэтому в 2018 году я начал делать проекты "под ключ" и собирать свою команду. Я привлёк партнёра (очень крутой менеджер и человек по настройке процессов), и мы начали работать. И вот тут я узнал, что такое жертва настоящий кранч. 4 дня без сна, на кофеине в смеси с энергетиками и пуэром. Я спал максимум 20 минут в день. Своя студия у меня просуществовала до пандемии, я работал 10 часов+ 7/0 и очень много понял в бизнесе, в том какие вопросы и задачи стоят перед работодателями и так далее. Это был очень полезный опыт. Плюс я был в своей студии ещё и техническим директором, по всем проектам. В максимуме в студии работало 10 сотрудников, и могу сказать одно. Разработчику стоит идти в бизнес, если ему понравится сам бизнес, как процесс. Конечно без этой главы я бы сейчас не имел офферов на позицию технического директора в достаточно крупные компании, по крайней мере так рано. Но работать и выполнять задачи в разы проще, чем управлять студией. Всех пугают зарплаты и т.п. Но суть на самом деле не в этом. Тебе никто не ставит задачи, ты их всегда придумываешь сам. По сути позиция уровня С про тоже самое чаще всего (CTO, CEO и тому подобные) Но работая хоть сеньором, хоть лидом, ты просто решаешь задачи которые ставят перед тобой, что на несколько голов проще. Помимо ответственности за сотрудников. После того как студию пришлось закрыть, я на время возвращался в фриланс. Мне конечно предлагали работу, да и до сих пор периодически предлагают, но я не готов никуда пойти, так как люди просто потратят деньги. Я довольно быстро уйду, так как мне будет банально скучно. Сейчас же, когда я восстановился я занимаюсь техническим продюсированием проектов. Самая ближайшая аналогия из кино. Компании приходят ко мне с задачей, я составляю бюджет, подбираю команду и вместе с ней реализую проект. Что позволяет это делать дешевле средней студии, хотя конечно подбирать каждый раз команду под каждый проект бывает проблематично. Но мне повезло, что есть ряд крутых ребят, которые со мной работают. Для меня это некий баланс между драйвом, интересом и трудностью работы. Так как одна из проблем зарплат и студии, как и любого бизнеса с операционными расходами — остановка значит смерть. В текущей работе все мои обязательства ограничиваются проектом, за что платится невозможностью масштабироваться так, как это может делать студия или бизнес. Плюс я веду небольшой блог. Если резюмировать все советы: Джуном идти на работу туда, куда берут На старте карьеры периодически меняйте компанию. Большему научитесь и по зарплате выгоднее. Стартапы/аутсорс на старте лучше корпов. Быстрее научитесь и вырастите. На фриланс стоит идти после офиса И как-то в общую нить повествования не попал ещё один совет. Не бойтесь на старте джуном ходить по куче собеседований. На каждом собеседовании я узнавал и записывал какие пробелы в знаниях мне надо закрыть. Допустим на самом старте, хотя я уже работал на работе, я не смог ответить на вопрос: "что такое стек и куча?", что сейчас кажется забавным. Я конечно выполнял коммерческие задачи и без этого знания, но благодаря этому вопросу я начал глубоко вкапываться в сборщик мусора, фрагментацию памяти и многие другие вопросы. Слава богу, пока в IT спрос высокий у вас не "один единственный шанс". На собеседования можно ходить чуть ли не каждый день.Я понимаю, что у каждого свой карьерный путь и возможно мой опыт и мои советы подойдут не всем, но я могу рассказать историю только со своей колокольни. И надеюсь она кому-то пригодится на его карьерной дороге. За свою карьеру я пока успел сделать или поучаствовать в разработке 52 коммерческих проектов, если вдруг кому-то интересно. Всем спасибо за внимание!  Master of Unity3D