«Программист с дипломом не более трушный, чем самоучка»
18- 11.10.2024, 14:08
- 6,508
Белорус рассказал, как работает в английском Microsoft.
Федор Сазанавец — программист-самоучка, у него нет диплома по Computer Science. И тем не менее он работает в Microsoft, живет в Великобритании, пишет книги и курсы по программированию, а еще курирует обучение в буткэмпах в США. Он считает, что разработчику не нужен диплом о высшем образовании, — чем вызывает на себя гнев дипломированных программистов. Издание devby.io поговорило с Федором о том, как он строил карьеру в IT.
«Мне казалось, когда они закончат учиться, на рынке программистов будет больше, чем вакансий»
— Компьютеры мне нравились с детства — в основном из-за игр. У меня был клон Sinclair Zx Spectrum — с клавиатурой, которая подключалась к телевизору и к «кассетнику».
В компьютере был встроенный язык Basic, и я писал на нем простенькие игрушки: памяти было около 47 кБт, если я правильно помню, — ничего особенного не напрограммируешь. И даже небольшая программка загружалась с кассетного магнитофона на компьютере минут пять.
…В 2001 году мы с родителями переехали в Великобританию — мне тогда было 15 лет. Я закончил один класс школы и два класса колледжа. Потом поступил в университет — в качестве специализации выбрал Environmental Biology, а затем закончил еще и магистратуру по Environmental informatics.
Хотя в названии курса есть слово «информатика», но мое обучение с этим связано было косвенно. Нас учили использовать разные компьютерные системы для физической географии и экологии — а не писать код.
Вы спросите, почему я выбрал биологию, а не программирование. В моем окружении почти все выбрали Computer Science и что-то подобное, и мне почему-то казалось, что, когда они закончат учиться, на рынке будет очень много программистов — гораздо больше, чем вакансий. Вот таким я был наивным!
«Складские рабочие в ночную смену зарабатывали больше»
Работу по специальности по окончании университета я нашел в течение полугода. Она была связана с использованием геоинформационных систем для моделирования риска наводнений. В Великобритании это больная тема — особенно в 2012 году, когда я только начал работать: в тот год в результате наводнений в разных регионах страны были затоплены сотни улиц и домов.
Работа мне нравилась. Но очень не нравилась зарплата — в то время средняя британская зарплата составляла порядка 25 тысяч фунтов (32,6 тысячи долларов) в год, у меня же было — 18,5 тысячи фунтов (24,1 тысячи). Как-то я узнал, что складские рабочие в ночную смену зарабатывают больше, чем я, — а ведь им не потребовалось оканчивать магистратуру.
…Как я начал программировать — расскажу: моя компания была немного связана с технологиями, и у нас была команда разработчиков. Так получилось, что я с ними подружился — и начал понемногу помогать. В процессе учился. Один из коллег стал моим ментором — он подсказывал мне, что надо изучить, освоить.
Сначала я делал простые вещи — баги фиксил, потом более сложные штуки стал писать. А позже меня перевели в другой офис, где разработчиков не было. И я все больше и больше занимался именно программированием, писал на языке Visual Basic .NET.
Но зарплату мне никто не повышал — хотя я и разговаривал с начальством на эту тему (после оплаты аренды и коммуналки у меня оставалось на жизнь 170 фунтов (222 доллара) до конца месяца — что вообще ни о чем). Поэтому однажды я просто написал в резюме, что умею кодить, — и отправил его в «свободное плавание». Мне начали звонить работодатели — и я ушел. Зарплату сразу же получил в два раза выше.
«Я очень быстро выучил C#, SQL»
Хоть моя новая компания была и небольшой, она не только производила свой софт и продавала его, но также предоставляла услуги по его модификации под конкретные задачи других предприятий — в основном трейдинговых и хедж-фондов.
В то время удаленка не была еще повсеместно принята. И получилось так: когда я ехал на собеседование из Рединга в Гилфорд, путь в офис занял у меня 30 минут. А потом дорога туда и обратно по «пробкам» в час пик занимала до трех часов. Меня это не устраивало — столько времени впустую. Из-за этого я и ушел.
Я очень быстро выучил C#, SQL. Уходил я уже в CGI, которая входит в десятку самых больших консалтинговых компаний.
…Тут вышла интересная история: я подался в новую компанию, потому что их офис находился недалеко от моего дома. На интервью честно признался, почему ушел из предыдущей компании: «ездить далеко — три часа в обе стороны». Но на второй день работы мне сказали: «У нас нет проектов в этом офисе — мы отправим тебя в другой…» И вот если раньше я ездил в Гилфорд, то сейчас мне нужно было ездить через Гилфорд — еще дальше… (смеется).
И тем не менее я проработал там 1,5 года, потому что в этой компании было заведено так: если ты не работаешь в офисе, куда оформлен по контракту, — тебе оплачивают расходы на дорогу и плюс платят за время, проведенное в дороге. И два часа туда и два часа обратно уже не казались мне потраченными впустую — ведь мне за них платили.
«Сошлись 2 фактора: что я довольно известен был в .NET-среде и в Microsoft видели мои книги»
В Microsoft сами предложили мне работу.
А история такая: мне было мало работать программистом — где-то с 2018 года я начал производить контент: вел блог, опубликовал курсы — сначала на Udemy, а потом и на других площадках.
Известное среди программистов издательство Packt увидело мои курсы на Udemy и предложило «халтурку» — я записывал для них обучающие видео. А потом они предложили сделать книгу.
И я написал книгу. А пока ждал, пока ее опубликуют, подумал, а не написать ли мне еще одну — самостоятельно, без посредников. И сделал.
Я постил свои фото с книгой в LinkedIn — и один из самых быстрорастущих стартапов Калифорнии Empower — предложил мне работать на них удаленно. Просто потому что кто-то у них увидел мой пост с книгой — «а нам такие нужны».
Мне нравилось работать там: стартап позволял сотрудникам трудиться откуда угодно — я два месяца провел на Бали. Но удручало, что некоторые встречи были совершенно неудобны для меня по времени — потому что у меня заканчивался рабочий день, когда у них только начинался. Чаще всего эти встречи проходили в полночь по британскому времени.
…Из-за этого я начал задумываться об уходе. Тут-то мне и позвонил рекрутер:
«В Microsoft на проекте как раз рядом с тобой требуются люди. Мы видели, что ты Microsoft MVP (это награда, которую дают людям, которые вносят существенный вклад в продвижение технологии Microsoft) и ты работаешь на Empower», — то есть сошлись два фактора: что я довольно известен в .NET-среде и что эти люди видели мои книги.
Так я и оказался в Microsoft.
«По описанию в Amazon — ад, а не собеседование»
Мне сказали, что собеседование со мной было упрощенным — всего в два этапа.
Впрочем, я и сам это знаю: за три года до этого мне предлагали работу в Microsoft в Дублине — и я проходил собеседование, «как для всех», но… не прошел!
Во второй раз у меня было довольно простое техническое интервью и просто разговор — как behavior-интервью.
Стандартный же процесс в Microsoft — это когда тебе сначала дают тестовое задание на платформе Codility (это что-то вроде LeetCode), а далее до пандемии человека приглашали в офис Microsoft, и там он проходил четыре этапа — один за одним — в течение дня, на каждый этап по 45−50 минут плюс небольшой перерыв между этапами.
Свой цикл собеседований в Microsoft я проходил в пандемию — поэтому он был онлайн. И там, насколько я помню, было три разных технических интервью — довольно сложных… Но не таких сложных, как в Amazon.
Дело в том, что меня приглашали в Amazon и расписали заранее, из чего будет состоять собеседование. А дальше я поговорил со знакомыми, которые там работали, и они рассказали, как там. По описанию — ад, а не собеседование.
В Microsoft тебе просто дают технические задачи довольно адекватные. Человек, который практикует LeetCode постоянно на уровне medium, справится с их решением.
В Amazon же на интервью всегда есть человек — эта должность называется bar raiser, — задача которого убедиться, что ты лучше, чем 50% работников компании. Это колоссальное давление!
Но я отказался от интервью в Amazon не из-за этого, а потому что мои знакомые, которые там уже работали, озвучили зарплату, которую там платят, — и это не выше, чем было у меня. А еще, получи я оффер, должен был бы ездить в лондонский офис, а это час в одну сторону.
Плюс в Amazon есть такая вещь, как to be on call: раз в 4 недели каждый разработчик должен быть доступен 24/7. Сотрудников на дежурстве могут поднять среди ночи — и заставить фиксить проблемы. У нас же в компании такого не было. Поэтому решил, что овчинка не стоит выделки.
В Microsoft я пишу код на .NET — подробности, конечно, раскрывать не могу. Мы разрабатываем систему, которая переносит большое количество данных, связанных с климатом и погодными изменениями, — так что можно сказать, что я работаю по специальности (смеется). Ирония судьбы!
«В Америке не терпят отговорок, даже если они адекватные. А в Британии ответят: окей!»
Сначала я жил в Рединге, а сейчас — в Брэкнелле (это городок юго-западнее Лондона). Он находится посреди кластера IT-компаний. И зарплаты там почти такие же, как в столице (не считая FAANG и хедж-фондов, где платят больше).
Рядом с Брэкнеллом есть сосновый лес, что для Англии большая редкость, — и мне это напоминает Беларусь. Здесь я начал бегать, хотя раньше у меня это не получалось, — и делаю это с удовольствием, потому что вокруг настолько красиво и воздух свежий.
Это очень зеленый, тихий город — без столичной суеты, тут под окнами птицы поют. Но если нужно, я сажусь на поезд, и через час я на станции «Ватерлоо» — в самом центре Лондона.
В столице много финансовых компаний — трейдинговых и хедж-фондов. И это понятно: Лондон держится на том, что там есть биржа, а многие местные IT-компании обслуживают лондонскую биржу.
А так, в принципе, как везде: среднестатистические компании создают софт для разных индустрий.
Отношение к работе спокойное. Если мы сравним с Америкой, то там, например, не терпят отговорок, даже если они адекватные: у тебя не получается что-то заделиверить до дедлайна — и у тебя есть на то веские причины. В США скажут: «Ох, опять эти извинения!» А в Британии ответят: «Окей!» — это считается нормальным, если только ты не начинаешь этим злоупотреблять и вся твоя работа не состоит из таких отговорок.
«Никто не стремится быстро погасить ипотеку — это невыгодно»
Север нельзя сравнивать с югом Англии — это как будто бы уже другая страна.
Когда я жил на севере (в Скриптоне), я платил 370 фунтов (483 доллара) в месяц за съем квартиры с двумя комнатами и залом. Но когда я переехал на юг, мне пришлось выложить 700 фунтов (914 долларов) за небольшую студию. Вот так отличаются цены на аренду жилья. В Лондоне сейчас одна комнатка стоит почти 1000 фунтов (1300 долларов) в месяц.
Так что цены зависят от региона. Зарплаты — тоже. Я не буду называть сумму, которую получаю, скажу, что она шестизначная.
Налог в Великобритании прогрессивный: если у тебя доход до 12 тысяч фунтов (15,6 тысячи долларов) в год — ты не платишь совсем ничего. Тот, кто зарабатывает от 12 до 50 тысяч фунтов (до 65,3 тысячи долларов), проходит первый пороговый налог — он платит 20% от того, что зарабатывает сверх 12 тысяч в год.
После 50 тысяч тебе приходится платить уже 40%. А если твой годовой доход доходит до 125 тысяч фунтов (163,3 тысячи долларов) — ты будешь платить уже 45% (а еще после 100 тысяч фунтов (130 тысяч долларов) дохода у тебя уменьшается тот первый порог в £ 12 тысяч).
Что еще: люди, которые работают как контрактники, ищут способы, как платить меньше налогов. Есть разные схемы: например, мой коллега открыл фирму и трудоустроил туда свою неработающую жену, насчитывает ей минимальную зарплату — и налог за это не платит.
Здесь мало кто покупает квартиры — у всех дома. Покупать их до недавнего времени было очень выгодно, так как здесь ипотека маленькая. Те, кто взял сейчас, платят от 6 до 8%, но, например, еще недавно ставка центробанка была около 1% — и все платили 2% за ипотеку. И это значительно меньше, чем ты бы платил за аренду.
Никто не стремится погасить ипотеку — это невыгодно. Например, я этого точно не буду делать: у меня еще старый процент — 2%, я его зафиксировал.
Я смотрю, сколько стоят дома на моей улице — они выросли в цене намного больше, чем тот процент по ипотеке, который я заплатил и еще заплачу. Поэтому я не вижу смысла расставаться с деньгами сразу. Ипотеку здесь обычно берут на 25−30 лет.
Но уж если очень хочется, то лет за десять сеньор-разработчик погасит ипотеку (может быть, за пять). Зависит опять же от региона: в каком-нибудь Брэдфорде, где дома можно найти меньше чем за 100 тысяч фунтов, — там можно и за пару лет выплатить ипотеку. Особенно если условный разработчик только живет в Брэдфорде, а работает удаленно на лондонскую компанию. На юге Англии ему будет тяжелее, потому что здесь дома стоят около 300−500 тысяч фунтов (392−653,4 тысячи долларов), но тоже подъемно.
«Какое-то время я даже не упоминал в своем резюме, какое у меня образование. И никто не спрашивал»
Федор часто пишет в Threads о том, что в IT можно прийти, минуя университет, и что высшее образование в принципе программисту не нужно, — и за это сталкивается с хейтом (в основном от разработчиков из постсоветских стран).
В Европе никто не считает программиста с дипломом более «трушным», чем самоучку. Какое-то время я даже не упоминал в своем резюме, какое у меня образование. И никто не спрашивал. Обычно в вакансиях в Британии пишут: degree or equivalent, и под вторым они понимают опыт в этой профессии — и если он есть, то уже не так важно, в какой области у тебя образование.
Сам я в роли нанимателя тоже обращаю внимание на 2−3 места работы или читаю описание, что они делали. Вниз — туда, где написано, какое у них образование, — даже не пролистываю. И другие люди делают так же — я точно это знаю.
У меня есть знакомый разработчик из Украины — без специального образования делает отличную карьеру здесь. Я постоянно работаю с американцами, а помимо этого помогаю университетам и буткэмпам в США создавать образовательный контент — и ни в Америке, ни в Англии я не видел разницы между программистами с дипломами и без оных.
Университет не дает каких-то секретных знаний — ты можешь обучиться с помощью интернета, а все, что программист практикует, можно практиковать на любом компьютере.
Все знания есть в книгах и в интернете, а не только в головах двух-трех избранных (то есть преподавателей). И даже курсы таких топовых университетов, как MIT, есть на YouTube и на Coursera — бери и учись! Мне кажется, просто некоторым разработчикам обидно, что они потратили столько лет на то, на что тратить было не обязательно.
Кстати, ради интереса я посмотрел программу одного из ведущих техвузов Беларуси — не буду говорить какого. Вы тоже можете взять и сравнить с программой любого европейского университета — там куча предметов, которые вам как специалисту не понадобятся вообще никогда в жизни.
Всесторонние развитие — ну, может быть. Но я давно преподаю, а также менторю разработчиков — и знаю: что человек не использует, он забывает. Так же как я сейчас не вспомню биологию, которую когда-то изучал.
Но я согласен с одним: самообучающемуся программисту нужен ментор, иначе ему будет сложно понять, что ему понадобится, а что — нет. Без поддержки можно зайти в тупик. И это плюс структурированного обучения — как в вузах. Но, с другой стороны, буткэмпы дают то же самое.
Финальное. Чему учиться джунам?
Я бы порекомендовал изучать C# и .NET. В начале своего пути я думал: может, мне посмотреть Java или какие-то другие языки и платформы, но на C# было много вакансий, а после 2016 года — еще больше. Также вы не ошибетесь, если возьмете JavaScript — этот язык очень востребован.