Разница квалификации разработчиков в Украине и США
Стало интересно какая разница знаний и умений у наших разработчиков по сравнению тех, что работают на западе, и есть ли она вообще?
Если конкретнее, то чем условный наш джуниор/мидл/сеньйор отличается от их.
38 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівwww.reddit.com/...roid_app&utm_source=share
Если под «западом» имеются в виду крупные технохабы типа SF/NY/London/Amsterdam, то однозначно средний уровень инженеров там будет выше чем у нас, просто потому что эти локации притягивают топовые таланты со всего континента/мира, в том числе из Украины. Кроме того, развитая экономика западных стран позволяет «пиценосцам» реализоваться в других профессиях и в инженерию чаще идут люди, которым это реально нравится и получается. Все свитчеры, которых я тут знаю, реально горят профессией — даже знаю людей, которые «дауншифтнулись» в программирование из более сытых позиций в финансах и трейдинге. Ещё разницу вносит возможность мощного раннего старта карьеры в крутых компаниях через бекдор в виде интернатуры. В Украине этого вообще нету (академия Епама — это не торт).
Еще стоит отметить разницу в типичном бекграунде там и тут. Например, я заменил, что на западе у людей чаще более сфокусированный доменный опыт, в то время как у наших он диверсифицированный за счёт работы в аутсорсинге (что и хорошо и плохо).
На западе мне часто приходится видеть резюме людей, которые всю карьеру работают, например, в финтехе или в adтехе или ещё в чем то. И они супер глубокие доменные эксперты, но при этом имеют целый веер технологий, в которых они очень среднячки, потому что они учили на месте то, что нужно было для их текущей роли в домене.
При этом у нас наоборот — человек скорее будет богом .Net, строя карьеру на технологии и берясь за любое направление и домен, но глубоко не зная ни один. Что напишут в Jira, то и накодит хоть с закрытыми глазами. Поэтому наши инженеры часто смотрят на оных с запада как на «ламеров», которые «плавают» в технологиях. Но наши технобоги чаще буду искать инженерное решение для неинженерных проблем, что считается очень джуниорским качеством и может стоит очень дорого для компании.
Можно пример «инженерное решение для неинженерных проблем» и какое при этом правильное «неинженерное решение для неинженерных проблем» и почему вообще Ит-инженеры должны искать «неинженерное» решение?
потому что большинство продуктовых компаний решают проблемы пользователей, а не занимаются написанием лучшего в мире кода
Бобер все написал про фаанги. Думаю, примерно то же в американских стартапах, с той лишь разницей, что там нет квот на начальном этапе. В непрофильных, но именитых конторах обычно все намного хуже. Туда устраиваются
по блатублагодаря нетворкингу или по критериям, которые мало коррелируют с тем, что нужно для того, чтобы быть успешным в этой роли. В итоге, люди с профильным образованием пишут код, который ты ожидаешь разве что от человека прошедшего курсы «Стань профессионалом в С++ за две недели». А миддлы и синьоры вообще не видят проблем с многократной дупликацией кода, однообразных наборах условных операторов в разных методах и т.п.Сам часто думаю про це. Чесно кажучи, я майже ніколи не знав рівні девелоперів звідти.
Але в цілому різниця в тому, що наші розробники більше підковані по технічній частині, а їх по soft skills, знання бізнесу, керуванню процесами, і мені навіть здається, що їхнє ставлення до ІТ більш професійне.
Якщо наш розробник хоче більше заглибитися в проект, працювати над якимись технічними плюшками, то вони більше бізнес-орієнтованi, намагаються зрозуміти бізнес замовника, пропонувати ідеї щодо поліпшення продукту в цілому.
Июни/мидлы:
Английский получше будет.
Ещё готовность и способность писать код/решать задачу на любом языке и любом фреймворке, впервые это видя. Получается средненько, но это можно понять только если хорошо разбираться в выбранной технологии.
Практически полное отсутствие экспертов в каком-то языке или фреймворке.
На уровне сеньор+ сравнивать уже особо нечего: на первый план выходит способность продавать/продавливать идеи, строить доверительные отношения с манагерами, планировать проекты, координировать команды, помогать коллегам расти, быть go-to-person по разным техническим вопросам (тут в первую очередь важно владение историческим контекстом).
Все очень относительно. Там «звания» дают скорее за карьерные успехи, чем за профессионализм.50-летний бородатый техно-гуру ее подчиненный. Что бы продвигаться — я заметил что они любят «прыгать» по проектам. Если ты несколько лет сидишь на одном проекте и он на тебе держится — ты безынициативный. А продвигается тот, кто сразу прыгает на новый проект как только он начинается. Потому что если он «выстрелит» — то есть шанс «засветиться» перед топами. То есть у них для карьерного роста нужно уметь себя «показывать», а не просто делать работу лучше других.
Работал как аутстаф в команде фул-тайм сотрудников известной ИТ компании из топ 10 в Долине. С одной стороны они нанимают в команду интернов — студентов или выпускников ВУЗов (Стенфорда, MIT и т.д), иногда даже иностранных ВУЗов. На ДОУ были статьи как устроится на стажировку в FAANG. Так вот: эти интерны обычно знают теорию ООП, паттерны на отлично + не теряются при виде сложных математических формул или ИИ моделей.
С другой стороны: многие сотрудники среднего уровня (особенно индийского или афро-американского происхождения) с трудом понимают когда пишешь им про патерны или инверсию зависимостей. Они редко применяют интерфейсы и не понимают зачем делать реализацию приватной.
Встречались мне и реальные бородатые синьоры возрастом постарше меня, которые единственные знают систему вдоль и поперек и на которых все держится. Некоторые при этом являются авторами книг, ведут свои блоги и выступают на конференциях.
Насколько я понял у них «звания» дают не за технические решения или знания — а за умение делать «бизнес велью» ну и «торговать лицом». Поэтому какая-нибудь индийская женщина до 30 вполне может быть тимлидом и руководителем проекта, при этом
У нас в Украине лычки «джуниор/мидл/сеньйор» настолько относительны — что тяжело сравнивать даже между украинскими компаниями.
Но я бы сказал что синьоры с моей галеры (особенно постарше, а не 23х летние) — вполне на уровне ведущих девелоперов из FAANG (собственно многие уже туда и переехали), но не дотягивают до их гуру (которые пишут книги и разрабатывают языки). Рядовые девелоперы из FAANG — скорее уступают нашим мидлам. Подозреваю что там многие по «квотам» или по блату (индусы, например, любят помогать «своим»), потому что очень много инострано-американцев, а «европеодных» — меньшинство. И с пониманием ООП, СОЛИД или теории БД у не-белых в среднем как-то не очень (возможно у них это не учат). Хотя опять же — в среднем: там легко можно найти индуса или китаянку которые работают архитектами и строят огромную, нагруженную микросервисную архитектуру в облаках.
Наш средний — точно намного хуже! Потому что средний будет если сложить вместе немногих настоящих программистов и всех вайтишников и откровенных разгильдаев, которых на галеры наняли «для массовки». 80% тех, кого у нас набирают на галеры в серьезные западные компании не взяли бы даже трейни. А если бы как-то и взяли то выше джуна они бы не выросли. Потому что там другой рынок — там сотрудник должен доказывать свою ценность, а не просто задом стул греть.
Почитайте блоги тех, кто устроился работать в FAANG — там помимо работы еще принято контрибютить в опенсорс, вести техно-блоги, изучать новые технологии и предлагать какие-нибудь улучшения или прототипы. То есть надо самому стремится сделать что-то, что бы тебя заметили. Накидывать заплаты просто так (что бы не сбежал) там никто не будет. Ну и, как я уже неоднократно писал — там все «инженеры»: то есть должны уметь писать на любых языках и технологиях, которые надо в этот момент. Есть бизнес задача — инженер должен сам уметь сделать и фронтенд, и бэкенд, и базу, и развернуть, еще и ИИ прикрутить.
Путаница потому, что мидл не равен среднему девелоперу! На галере на одного мидла 2 — 3 джуна + еще несколько трейни. Поэтому если взять «среднюю температуру по больнице» (сложить 1 мидла и 3х вайтишников и разделить) — то нашим девелоперам далеко до средних сотрудников в западных компаниях. Там дураков не держат от слова вообще.
А вот если брать наших мидлов и их мидлов (рядовых девелоперов) — то наши будут повыше потому что учились в технических ВУЗах, потому что их на собесах спрашивали про СОЛИД и патерны и потому что у многих опыт участия в больших проектах на аутсорсе.
Никогда не понимал все эти солид и паттерны: они описаны так как будто мы за все хорошое и против всего плохого, никакой конкретики, зато на собесе можно ответить что сингл-респонсибилити очень важно, но границ этому сингл-респонсибилити никто не рисует. и так по каждой букве.
Хз, может это только мое видение, а всем другим все понятно, хотя я не представляю как там может быть все понятно.
С этим как с пожарной безопасностью: пока не загорится ты даже не задумываешься насколько горючии у тебя зановески, мебель, работает ли сигнализация, есть ли вообще шланги и вода в гидранте, где пожарная лестница...
Но если хоть раз загорелось — то ты потом сразу и огнетушитель купишь, и проходы от хлама освободишь и будешь на каждый китайский удлинитель с подозрением смотреть.
Зачем нужны солид, патерны, бест практики можно понять только поныряв в чужой спагетти-код большого ентерпрайз проекта. Когда становится понятно что там «сам черт ногу сломит» и что-то найти невозможно то возникает вопрос «а как сделать по-другому, что бы можно было разобраться без боли и страданий»? И вот тут девелопер начинает
искать Богазадумываться о простых «кирпичиках» и слабой связности.Давайте продолжу аналогию с пожарной безопасностью:
солид говорит что должно что-то быть от пожара (и что бы предотвращать пожар)
НО, куда ставить лестницы, куда ложить огнетушители, где вешать карты и датчики пойми сам.
Именно поэтому и считаю что без практики не придет понимание этих больших букв, так что полазить в коде все равно нужно будет.
Я ЗА слабую связность, но на сколько она слабой должна быть? На сколько маленькими должны быть кирпичики? и тд тп, объяснения этих букв не дают. Следовательно: бесполезно.
А то что от пожара что-то должно быть это очевидно и то что кто-то говорит об этом не поможет мне построить хорошую пожарную безопасность.
Ну так в этом и есть сложность работы девелопера! Нигде не написана пошаговая инструкция как сделать правильную архитектуру. Это вам не панельные многоэтажки. Потому что проекты все разные!
Есть набор советов, примеров, принципов — все они, естественно, абстрактные. Что бы понимать как их применять — нужна практика, все верно! Именно поэтому синьором не становятся за год просто прочитав умные книжки про патерны.
Тут соглашусь с Вами)
Но тем не менее, врядли мне поможет, что кто-то мне скажет, что лучше бы что-то от пожара прикрутить ибо это очевидно.
А у нас это зайчики
Позор
Низзя
Бо батраки
А они прорабы
visibility
У меня, конечно, нет большого опыта, а значит и большой выборки. Но так, из небольшой выборки и общих предположений об отсутствии значительных физиологических различий, сделаю вывод, что и здесь и там люди в среднем отличаются мало.
Есть, конечно, некоторые культурные различия, но на уровень сеньйорности или джуновости они влияют примерно никак. Хотя, разделения на свой/чужой никто не отменял, и к своим, относятся, конечно, более снисходительно. Поэтому если ты свой, то и уровень твой будет выше в глазах своих. Ну а софт-скилы помогают «стать своим».
Больше ничем условный «наш» от условного «их» не отличается, хотя, конечно, рад послушать генетиков, нейрофизиологов и прочих специалистов, если они здесь есть ;)
Всем известно, что сеньер из гугла интервью в ипам на мидла не пройдет, какие еще могут быть вопросы о квалификации.
Мне казалось, что IDE давно изобрели. Или ты про equals и иже с ними, про которые джун/трейни вполне себе узнает минут за 10 на первом же код ревью (если сам не догадается во время написания кода подсмотреть документацию)?
Сам часто задаюсь этим вопросом, когда смотрю код некоторых заокеанских миддлов и иногда синьоров
Мне казалось у них скилл повыше должен быть.
Мне тоже так казалось
Спасибо, кэп, что все объяснил.
разработчики сша погоняют офшоры ака
сами трындят больше
больше развиты софт скилы и лучше знают английский
Насколько я знаю, у них в 2 раза больше лет опыта нужно. То есть, синьор это 10+ лет
Кол-во лет опыта конечно важный аргумент, но тоже не всегда отображает скилл специалиста.
но засчитывается колледж
У вас у заголовку «США», а в тексті «захід», хоча і США дуууже різі, а Захід як такий і поготів.
Але з точки зору флудогенерації рішення вдале, саме за найбільш розмитих умов і буде найбільше розмов. Перший, нах!