usa

валим отсюда?!\\ (бессистемные заметки о поиске работы за рубежом)

крис касперски, no-email

ton-rai-plai-dee (bad beginning good ending)

тайская пословица

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

Обычно, на программистских форумах в разделе «о работе» постоянно задается один и тот же вопрос «какие языки/технологии наиболее востребованы здесь и там? что в первую очередь следует изучать?». Начнем с того, что язык — это вообще-то средство выражения мысли и применительно к программированию, с одним только знанием языка на работу берут только кодеров, которые тупо кодят то, что им скажут. Кодер — это не программист. Это как писарь и писатель, и если писатель говорит «сократить период постинга», то писарь так и пишет, а ведь мог бы слегка оптимизировать текст, заменив его на «пишите почаще».

Программист должен знать не только язык, но и определенную предметную область, решая поставленные задачи, за каждой из которых стоит если не научное исследование, то по крайней мере инновация. Конечно, от рядового программиста не стоит ждать существенного улучшения «движка» программы распознавания речи или машинного перевода. Этим занимаются научные работники, результатами которых и «кормятся» программисты, ну а кодерам программисты передают уже четко сформулированные задачи, реализация которых не требует специфических познаний. Достаточно разбираться во всем зоопарке готовых библиотек и помнить какую из них и когда следует применить.

Вот, скажите, какие банальные мысли автор высказывает. Это же всем и так известно! Хм, но ведь на форумах прежде всего спрашивают о языках, что изначально загоняет человека в стойло кодера, а «там» наши кодеры никому не нужды и гораздо более востребованы индусы с азиатами, потому что едят мало, кодят много (хоть и криво), неприхотливы и т. д. Причем, при реорганизации фирмы (а реорганизации там — не редкость), кодеры (особенно иноземные) «вылетают» в первую очередь. Потом, правда, к фирме приходит понимание, что кодить все-таки надо и она вновь открывает кучу вакансий, но… как только индусы вместе с азиатами (и небольшим количеством «счастливчиков» из России) съедают весь бюджет, они снова возвращаются в родные пенаты.

Более того, позиционируя себя как C# кодера (например), вы вынуждены конкурировать с толпой юниоров, едва осиливших книжку «C# for dummies» и соорудивших из кучи готовых компонентов какое-то подобие чего-то как бы работающего. А сказать, что вы крутой кодер, имеющий более чем десятилетний опыт работы с C#,вы не можете, потому как .NET платформе еще нет десяти лет, а если говорить об _опыте_ (работы), то из этого срока необходимо выбросить несколько лет, ушедших на _обучение_ (чтение книг, стандартов, написание первых неработающих программ). Скажите — пять лет и вам поверят с бооольшой натяжкой. Три года звучат намного более реалистично, но сколько еще таких же как вы? И сколько тех, кто приврал в резюме? А к тому моменту, когда у вас _действительно_ появится опыт работы с C#, весьма велика вероятность, что мода на него схлынет, Microsoft забросит .NET (кстати говоря, разные версии которой _уже_ страдают хронической несовместимостью) и C# станет чем-то вроде MFC.

Это не значит, что учить C# не нужно. Почему же? Учите себе на здоровье. Только вероятность найти работу выше юниора (особенно за рубежом) достаточно невелика, хотя юниором можно устроиться в любой момент пространства-времени: от столицы от уездного города. И с возможностью карьерного роста.

Достаточно многие люди проскакивают эту стадию, изучая язык дома или параллельно с другой работой, создавая программы, которые реально нужны им самим. А знание языка (неважно какого) в совокупности с определенной предметной областью это уже программист, но никак не кодер. Программисты — довольно ценный продукт, подобный винам с многолетней выдержкой и здесь уже можно рассчитывать на индивидуальный подход, существенно упрощающий процедуру трудоустройства. Распознать программиста можно с первого взгляда: перечень языков программирования у него идет в самом конце резюме и часто огранивается одним-двумя языками, хотя программист может более или менее сносно изъясняться на добром десятке из них (например, я указал всего лишь Си и x86-ассемблер, поскольку я слишком хорошо знаю Си++, чтобы понять, что в действительно я его ни хвоста не знаю). Зато список предметных областей стоит первом месте и потенциальный наниматель сразу видит с кем он имеет дело.

Так уж сложилось, что автор этих строк обладает довольно редкой профессией, если не сказать «экзотичной». У меня хорошо получается дизассемблировать программы, реконструируя исходный алгоритм, чуть хуже выходит с разработкой защитных механизмов, но определенные наработки в этой области все-таки есть, хотя коммерчески успешных проектов (реально внедренных и действующих) совсем немного. Казалось бы, на что тут можно претендовать?! Тем не менее, на хлеб с маслом хватает, а черная икра — это такая гадость, что ей только в тюрьме кормят.

Узких специалистов всегда немного (и чем уже предметная область, тем их меньше) и стандартные рыночные отношения здесь не работают, ибо рынок подразумевает наличие спроса и предложения. А какой спрос на тех, кто знает дизассемблер? Даже названия для такой профессии не придумано. Кадровые агентства не рассылают резюме о их найме, фирмы не открывают вакансий. Компания Secunia (secunia.com) на своем сайте прямо так и пишет, что вакансий нет, но мы всегда рады рассмотреть предложения от специалистов (http://secunia.com/hardcore_disassembler_and_reverse_engineer/).

И вот неожиданно выяснилось, что одной крупной корпорации, имеющей десятки филиалов в Европе, Азии (и даже на Украине), требуется человек, умеющий писать скрипты, плагины и процессорные модули для IDA-Pro, то есть как раз то, что у меня получается лучше всего. А фирме (имя которой вы наверняка знаете, хотя из соображений конфиденциальности, пусть это будет, хм, ну, например, «Acme Corp») легче (и дешевле) перетащить готового специалиста из России в Сан-Франциско, чем «вырастить» (то есть обучить) своего собственного.

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

Прежде, чем погружаться в пучину дискуссий и философских рассуждений, не имеющих отношения к реальности и лежащих в той же плоскости, в которой находятся диспуты о соотношении бога и церкви, скажу сразу: с опытом _работы_ свыше пяти лет и хотя бы парой тройкой коммерчески успешных проектов, диплом не спрашивают, а если и спрашивают, то только потому, что есть такой путь в резюме, но о резюме мы еще поговорим.

Высшее образование (при всех его достоинствах и недостатках) это не показатель. Известно большое количество людей с красным дипломом, не написавших после окончания ВУЗ'а ни одной строки кода и вообще не сумевших устроится в жизни. Известно и большое количество людей, окончивших вечернюю школу и занимающихся любимым делом, приносящим деньги, покрывающие все текущие расходы, запросы и потребности. Такие про себя говорят: мы зарабатываем столько, сколько требуется. Работы сейчас — море, только успевай. Хочется денег (чтобы слетать на Кенары или купить новый объектив для камеры) — без проблем! Впряжемся, напряжемся и заработаем. Надоели тропические острова с пальмами, а объективы не умещаются на полке?! Вольемся в менее прибыльный (бесприбыльный, убыточный), но зато по-настоящему интересный проект.

А стоит ли вообще поступать в ВУЗ? Это очень индивидуальный вопрос и ответить на него можно так же, как ответил мудрец, к которому пришел самец, то есть юнец, вопрошающей: а не жениться ли ему?! Нет, не женись, потому что иначе бы ты не спрашивал. Извлечь пользу из ВУЗ'а, конечно, можно, но в IT-сфере наличие высшего образования не является обязательным условием, а диплом (даже красный) вообще ничего не гарантирует, правда, его отсутствие до некоторой степени затрудняет трудоустройство в США, но, во-первых, на США свет клином не сошелся, во-вторых, не такое это уж и серьезное затруднение, а, в-третьих, программирование — дисциплина изначально ориентированная на решение проблем. Вот и пусть программист без ВО решает задачу: как ему устроится на работу, не имея диплома, но имя голову на плечах.

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

«Отмазок» же можно придумать великое множество. Почему у меня нет ВО? Не было денег на учебу, например. От негативного слова «самоучка» лучше отказаться, сказав, что всему научился благодаря тому, что бок-о-бок работал с талантливыми программистами (тут главное, не переврать, иначе могут попросить озвучить имена талантов). Конечно, врать нехорошо, но нужно различать вранье и манипулирование фактами. В конечно счете, главное, вызвать расположение работодателя, а в этом намного больше психологии, чем программирования, хотя хорошие работодатели расположены «по умолчанию», а от плохих лучше держаться подальше. Главное — не отчаиваться и упорно продвигаться к цели — через тернии и неудачи. Конечно, сейчас мне легко писать эти строки. Сейчас, когда у меня, случается, бывает по несколько человек со степенями в подчинении, на вопрос о дипломе можно просто рассмеяться, а при возникновении трений даже использовать это как козырный аргумент: «вот у вас диплом, вы и думайте, а я пока пойду покурю».

А что бы изменилось, будь у меня диплом? История не знает сослагательного наклонения, моя жизнь могла пойти совсем другим путем и отсутствие необходимости доказывать (родителям, ну и не в последнюю очередь себе), что человек без диплома тоже имеет право на существование с высокой степенью вероятности «осадила» бы меня на какой-нибудь работе вообще не связанной с компьютерами (поступал то я на радиофизика) и… так бы я и остался в своем селе, которое очень люблю (вот такая любовь к моей маленькой родине), а говорить о карьере программиста в селе, до которого Интернет докатился только в конце 90х… это даже не смешно.

По моим наблюдениям, люди с дипломами гораздо более спокойны и выдержаны. А вот люди без такового — рвутся, мечутся и… рано или поздно находят свое место в жизни. Или не находят. Тут уж как кому повезет.

Ох, уж эти визы… гадость редкостная. Но без этой гадости никуда из своей страны. Что такое виза? Это документ, обеспечивающий _возможность_ въезда в страну (для отдыха или работы), но не дающий никаких гарантий. Грубо говоря, если у вас есть виза, то ваша кандидатура будет рассмотрена и в случае положительного решения соответствующих организаций (во всех странах они разные), дан «зеленый» свет.

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

Но вот США — совсем другое дело. С визами там полный кошмар. Хотя их тоже можно понять. Открой границы — и на следующий день на одного американца будет приходится по меньшей мере сотня чужестранцев. Количество желающих работать на звездно-полосатый флаг с каждым годом все растет, а вот квоты на визы не увеличиваются. Кстати о визах.

Самая популярная виза — H-1B, выдаваемая носителям специальных знаний (например, программистам) с правом работы в США на срок до трех лет (с возможностью продления до шести). Желательным (но не обязательным!) требованием является наличие высшего образования, соответствующего как минимум степени бакалавра. Если же высшего образования нет, придется доказывать наличие знаний тем или иным образом (например, участием в известных проектах). Кстати, наши дипломы (даже «международного» образца) все равно необходимо заверять, так что отсутствие «корочки» — не преграда.

Естественно, коль скоро речь зашла о «специальных знаниях» (цитирую официальный документ: «H-1B classification applies to persons in a specialty occupation which requires the theoretical and practical application of a body of highly specialized knowledge requiring completion of a specific course of higher education»), то кодеры отпадают сразу. Никакая компания не станет выписывать их в штаты — проще поручить эту работу азиатам или индусам, на территории стран которых построено множество техноцентров. Кстати говоря, запрос на выдачу H-1B визы оформляет работодатель. Самостоятельно подать прошение нанимаемый работник не может. Следовательно, работодателя необходимо искать, находясь в России, или любой другой стране с облегченным визовым режимом. И этот работодатель должен быть настолько заинтересован в вашей персоне, чтобы заняться нудной юридической волокитой. И чем же этих буржуев можно заинтересовать? Либо теми знаниями/навыками, в которых они нуждаются и, будучи не в состоянии удовлетворить свою нужду на месте, соглашаются принять специалиста из России, а иногда не просто соглашаются, но и предлагают ему любые условия. Но чаще всего интерес обуславливается экономическим фактором. Русскому программисту можно практически ничего не платить, выживая из него все соки, заставляя человека работать буквально на износ, подрывая здоровье, так, что после трех лет работы он, с полным психическим и физическим истощением, расшатанными нервами, становится отработанным жмыхом и выдворяется в Россию, где вместо поиска работы ищет санаторий. Есть ли смысл «валить» в штаты только затем, чтобы отдать им все, что ты имеешь, не получив ничего взамен?! Хорошую работу и здесь можно найти…

Итак, первая большая проблема H-1B виз — необходимость подтверждения своих навыков и поиски работодателя, заинтересованного в них. Кажется, при отсутствии знаний — дело труба, но при большом желании поработать на дядю Сэма можно отправиться в бодишоп (body-shop – дословно «магазин тел»), но не чтобы совершить покупку, а… продать самого себя. В рабство. Владелец болишопа берет на себя все заботы по вашему трудоустройству в обмен на определенный процент от зарплаты (иногда очень даже значительный). Для многих программистов — это практически единственный путь, однако… минусов у него столько, что тут не статью нужно писать, а целую монографию, так что вдаваться в подробности мы не будем. Зачем нагонять негатив, когда его и без того хватает?!

Вторым (и основным) недостатком H-1B виз являются жестокие квоты, ограничивающие число желающих, причем за последние два года число желающих превысило квоты в первый же день подачи заявлений (по традиции начинающийся с 1 апреля, в день смеха) и потому пришлось проводить лотерею. Кому-то повезло, а кому-то нет. И хотя есть надежды на изменение ситуации, на данный момент въезд в США по H-1B визе совершенно бесперспективен, т. к. независимо момента подачи прошения на выдачу визы придется ждать 1 апреля, а потом (если счастливый билет выпал кому-то другом), держать вакансию открытой целый год без всякой гарантии, что «не повезло в первый раз, — повезет в другой». И какой же работодатель будет держать вакансию все это время? Ну, Secunia (и подобные ей), может и будут, т. к. все равно официально открытых вакансий у них нет и они ловят всех специалистов, попавших в поле зрения, но какой _специалист_ (а мы говорим о специалистах) будет коротать _годы_ в ожидании визы?! Америка это, конечно, круто, но кушать хочется даже по ночам. Ладно, устраиваемся на временную работу в России (или другой стране, где с визами все не так жестоко), и… надолго зависаем там, ибо, как говорят философы: ничто так не постоянно, как временное. Проработав год-другой на одном месте, так уж захочется вновь играть в лотерею?!

компаниякол-во H-1B виз полученных 2006
Microsoft3117
IBM1130
Oracle Corporation1022
Cisco828
Intel828
Motorola760
Qualcomm533
Yahoo347
Hewlett-Packard333
Google328

Таблица 1 TOP10 хайтек компаний и количество H-1B виз, полученных ими в 2006 году (по данным http://en.wikipedia.org/wiki/H-1B)

Впрочем, ограничение на квоту можно обойти двумя путями. Первое (самое честное). Устроиться в организацию, на которую квоты не распространяются, и к которым главным образом относятся научно-исследовательские институты и бесприбыльные организации. Касательно институтов — туда, понятное дело, берут в основном научных сотрудников различных степеней «тяжести» и простые программисты (особенно без диплома) могут устроиться разве через прочные дружеские или родственные связи.

Бесприбыльных организаций в США столько, что… а скольким из них требуются программисты?! Даже если организация не занимается разработкой очередного клона Linux'а, то ей явно требуется кто-то, кто может «нарисовать» сайт, а современные сайты, как известно, представляют собой грандиозные сооружения и легче нанять «русского туземца», чем покупать готовый «темплейт», выказывания за него чемодан денег, а потом еще один — за «заточку» сайта под профиль фирмы. Но бесприбыльная организация потому и называется бесприбыльной, что балансирует на грани самоокупаемости, что естественным образом отражается на уровне зарплат, а сменить место работы нельзя. Для этого необходимо либо получить грин-карту, которую дают далеко не всем, или же выиграть «настоящую» H-1B визу в очередной лотерее, устроившись в коммерческую фирму.

заведениекол-во H-1B виз, полученных в 2006
University of Michigan437
University of Illinois434
University of Pennsylvania432
Johns Hopkins University School of Medicine432
University of Maryland404
Columbia University355
Yale University316
Harvard University308
Stanford University279
University of Pittsburgh275

Таблица 2 TOP10 учебных заведений и количество H-1B виз, полученных ими в 2006 году (по данным http://en.wikipedia.org/wiki/H-1B)

Второй (нечестный) путь обхода. Устраиваемся на удаленную работу. Чисто формально устраиваемся, чтобы фирма могла объяснить за что вам платят зарплату, а реально вы будете работать по туристической визе, которая не запрещает находится на территории коммерческих фирм. А находится там все равно придется, поскольку далеко не всю работу можно выполнить удаленно. Выносить исходные тексты за пределы фирмы — да кто это разрешить?! Конечно, работа по туристкой визе — махинация, граничащая с нарушением закона, но все-таки остающаяся в его рамках. Естественно, крупные фирмы в такие игры не играют, а мелкие (испытывающие острую нужду в опытных сотрудниках) могут разориться прежде, чем успеют расплатиться или просто банально «кинут», поскольку, судиться вы все равно не сможете, а у них нет репутации, которую можно запятнать.

Кроме H-1B визы еще есть O-1 визы, предназначенные для людей, обладающими экстраординарными способностями. Нобелевские лауреаты, например, или звезды мировой эстрады. Или… писатели. В самом деле, имея признанные публикации в специализированных областях, вполне реально претендовать на получение O-1 визы. О квотах (в силу ограниченного количества экстраординарных людей) тут, понятное дело, речь не идет.

А еще варианты есть?! Если вы не играете в азартные игры и не обладаете мировой известностью, самый простой путь — трансфер в США по L-1B визе, выдаваемой тем, кто за последние три года отработал по меньшей мере 365 дней в филиале фирме, имеющей штаб-квартиру в США или же материнской фирме, имеющей дочернее подразделение в штатах. Понятное дело, что для программистов первый вариант наиболее предпочтителен. Сейчас, в эпоху рассвета оутсортинга практически каждая более или менее крупная фирма имеет сеть филиалов в Азии, Индии (т. е. странах с облеченным визовым режимом). Отдельные филиалы есть в России и на Украине.

#компанияштаб-квартираосновной дочерний филиалкол-во полученных L-1 виз
1 Tata Mumbai, India India 4887
2 Cognizant Technology Solutions New Jersey India 3520
3 IBM Armonk, New York USA 1237
4 Satyam Hyderabad, India India 950
5 Wipro Bangalore, India India 839
6 Hindustan Computers Ltd. (HCL) Noida, India India 511
7 Deloitte & Touche LLP New York, New York USA 512
8 Patni Computer Systems Mumbai, India India 440
9 Intel Corporation Santa Clara, California USA 394
10 Kanbay Chicago, Pune, Hyderabad, and Chennai India 329
11 Honeywell International Morristown, New Jersey USA 320
12 Hewlett Packard Palo Alto, California USA 316
13 Infosys Bangalore, India India 294
14 Accenture Hamilton, Bermuda ??? 291
15 Caritor San Ramon, California India 231
16 Schlumberger Technology Corp Netherlands Antilles? 214
17 Oracle Corporation Redwood Shores, California USA 176
18 Syntel Troy, Michigan India 171
19 PricewaterhouseCoopers New York, New York USA 168
20 Microsoft Redmond, Washington USA 169

Таблица 3 TOP20 компаний и количество полученных L-1B виз в 2006 году (по данным http://en.wikipedia.org/wiki/L-1_visa)

Из двух вариантов, приемлемых для меня (O-1 и L-1B), последний выглядит намного более соблазнительным. Фирма имеет филиал в Азии, к которой автор этих строк весьма неравнодушен и совсем не против, выражаясь образным языком, «потуссоваться» там некоторое время, расширив сознание своего жизненного опыта и получив массу впечатлений. С другой стороны, исследовательский центр находится в Сан-Франциско и компания весьма заинтересована в моем скорейшем появлении. Как говориться, время — деньги, а азиатском филиале для меня занятие все равно найти…

Впрочем, решением обозначенных вопросов главным образом занимается наниматель, а нанимаемому остается только ждать (с правом настаивать на том или другом варианте, но вот будет ли его голос принят во внимание или нет — сложно сказать).

Информацию об остальных визах можно почерпнуть с официального сайта: http://travel.state.gov/visa/temp/types/types_1271.html

Слово «программист» в качестве указателя профессии прижилось только в русском языке. В цивилизованном мире принято указывать кто есть кто и чем он собирается заниматься. В грубом приближении «программистские» должности укладываются в следующую лестницу: Intern/Trainee → Junior Engineer → Engineer → Senior Engineer → Expert/Architect.

Что конкретно она означает? На вершине находятся эксперты (часто независимые) и архитекторы. Эксперт понятие растяжимое. Это может быть, например, «гуру по Си++», знающий все его особенности, консультирующий сотрудников и составляющий рекомендации по стилю программирования, которых должны придерживаться кодеры и программисты. Эксперт не просто владеет языком. Он превосходно знает Стандарт и все (или большинство) нестандартных расширений и особенностей реализации тех или иных языковых возможностей в конкретных компиляторах, что позволяет ему оградить программистов от использования потенциально опасных конструкций, превратно понимаемых некоторые компиляторами или вообще никак не понимаемых.

Архитектор проектирует весь проект или какую-то его часть. Например, если фирма разрабатывает брандмауэр, то тут нужен как минимум один архитектор и три эксперта — первый знает все сетевые протоколы, второй — все типы удаленных атак, третий — всевозможные локальные атаки на брандмауэр со стороны зловредных приложений. Естественно, все три эксперта (вместе с архитектором) могут сочетаться в одном лице, но такое бывает редко и не слишком-то приветствуется, поскольку локальные и удаленные атаки _слишком_ различны по своей природе.

Понятное дело, что архитекторы — это выдающиеся конструкторы, имеющие богатый практический опыт и до 35 лет соваться на эту должность… только людей смешить. Хотя, формальных ограничений по возрасту нет и в небольших фирмах архитектором может быть и 25-летний юнец. С экспертами в этом смысле все намного проще, поскольку, в отличии от архитекторов, им достаточно владеть узкой предметной областью, но владеть ей очень хорошо.

Senior Engineer это тот же архитектор только рангом пониже. Ему дают задачу без объяснения как ее решать. Естественно, «решать» не как в институте. Тут можно не только справочники, библиотеки сторонних разработчиков, но и целые институты подключить. Теоретически. А практически, имеется такое понятие как бюджет и запрет на использование чужих продуктов, которые проще и надежнее написать самостоятельнее, чем купить. В принципе, большинство работодателей, ищущих программистов за пределами своей страны, ищут именно Senior Engineer'ов, экспертов и архитекторов. Простых Engineer'ов хватает в Индии, Азии, да и на местах их немало. То есть, если вас спросят на что вы претендуете, называйте по меньшей мере Senior Engineer'а, впрочем, могут и не спросить, а все решить за вас, по итогам собеседования/интервью.

Если же работодатель предлагает должность простого Engineer'а, то это ничего не значит! Различие между простым Engineer'ом и Senior Engineer'ом не выбито на камне и тут все зависит от специфики конкретной фирмы, но в общем случае, работа Engineer'а предполагает меньшую ответственность и надежду на получение четно формализованной задачи, впрочем, без углубления в технические детали, которые Engineer должен решать сам (на то он и инженер), т. е. Engineer находится намного ближе к кодеру, чем к программисту и во многих случаях действительно является кодером.

Junior Engineer и особенно Intern/Trainee — однозначно не программистские должности, это чистые кодеры. Иногда приходится слышать, что, дескать, Junior Engineer — «инженер с испытательным сроком». Ничего подобного! Испытательный срок, конечно, никто не отменял, но если вас берут как Senior Engineer, то и испытывать будут соответствующим образом. А на должность юниора иностранца могут взять только разве что из сострадания к русскому народу, при устройстве через бодишоп или из-за хронической нехватки кадров. Все три случая указывают на отвратительный менеджмент и потому пользоваться ими категорически не рекомендуется. Слухи, что в больших компаниях очень строгая субординация и необходимо пройти всю эту лестницу от начала до конца ничем не обоснованы. Во-первых, как уже говорилось, иностранных специалистов (именно специалистов, а не дешевую раб. силу) нанимают на должность от Senior Engineer и выше. Во-вторых, если человек от природы кодер (кодит с ошеломляющей скоростью и при этом без ошибок, но не может решить задачу, пока ему не скажешь как), то на должности Senior Engineer'а ему просто нечего делать.

А вот архитектор или эксперт по безопасности может вообще не уметь программировать и программу «hello, world» писать в обнимку со справочником. Но кого это волнует?! Эти люди решают совсем другие проблемы. Далеко не все кодеры становятся инженерами и карьерный рост тут не причем. У каждой профессии запах особый и должности всякие важны и нужны!

Прежде, чем писать свое резюме разумно почитать чужие, которые в наши дни можно встретить на любом сайте по трудоустройству. Там же обычно лежат и статьи, написанные по всей видимости теми, кто только и занимается, что пишет резюме, но так и не может написать то единственное, что дойдет до цели и подействует.

Кто-то настоятельно рекомендует отказаться от страдательного залога, изобилие которого в английском языке действительно выглядит противоестественно и напрягает читателя, которому легче отправить такое резюме в корзину, чем насиловать мозги. Однако, не стоит бросаться и в другую крайность. Попробуйте избавиться от страдательного залога во фразе «I was born» (естественно, в резюме такое вообще не встречается, а сразу указывается возраст, — если его хочется указать).

Другие странные личности авторитетно заявляют, что американцы не любят слова «to participate» и, дескать, лучший вариант перевода «принимал участие [в проекте]«это «to take /to have/ part in smth». Интересно, с чего бы это американцам не любить «participate», если его можно встретить даже в титрах американских фирмах — типа при участии студии такой-то.Другой вопрос, что понятие «принимал участие» слишком растяжимое. Автор этих строк вполне может сказать, что принимал участие в огромном количестве проектов, включая Windows. И это правда. Была у меня переписка с одним парнем из Microsoft, в которой мы обсуждали загрузчик PE-файлов и его глюки, часть из которых была найдена им, часть — мной, в результате чего составленный общими усилиями баг-репорт был передан в нужный отдел, а мне в качестве награды возвращен крохотный участок исходного кода, где исправлена одна из ошибок и упомянуто мое имя, точнее ник. Ну и в чем моя заслуга? Ошибки в Windows обнаруживаются регулярно. Особенно много их вылавливают разработчики линкеров, упаковщиков исполняемых файлов, создатели вирусов и т. д. Дает ли это им право/чувство сопричастности? Естественно, нет. И потому слова «принимал участие» в какую форму их не облеки — это просто информационный мусор. Если принимал — конкретизируй!

Личные местоимения. Английский ими вообще грешит, и начинающие переводчики макула… простите, литературы рождают перлы типа «он вытащил из своего кармана…». Ага, было бы очень странно если бы он что-то вытащил из чужого. Но в английском личные местоимения играют примерно ту же роль, что синонимы в русском языке — когда не знаем как правильно пишется такое-то слово, используем синоним. В английском же артикли представляют проблему не только для тех, кто знает его со словарем, но и для самих носителей языка и потому, чтобы не напрягать корректора, лучше избавиться от них, используя личные местоимения, которые в контексте английского языка смотрятся вполне естественно, а вот обилие «Я» в резюме раздражает. Вот на этот случай и существуют редуцированные (т. е. сокращенные) формы и вместо «I have more than 15 years of software engineering and reverse engineering experience…» пишите просто «Over 15 years of software engineering…», а вместо «I was working for…» просто «Working for», поскольку было бы странно, если бы вы в своем резюме описывали кого-то еще.

И самый главный совет. Не пишите резюме!!! Обычно работодатели на сайтах в разделе «Careers» и в постах на специализированных форумах дают контактный адрес Senior Recruiter'аили другого лица, отвечающего за подбор кадров. Senior Recruiter — это человек, а не машина и потому первое письмо можно писать в форме не имеющей с резюме ничего общего. Вот только пугать его не надо. В смысле говорить, что вы из России. У меня, например, это прозвучало в десятом по счету письме, когда моей персоной уже заинтересовались, но при всей тактичности делового человека Senior Recruiter так и не смог скрыть своей растерянности и еще письма три переспрашивал: а точно ли из России? Это не шутка?! Но вообще-то я не лукавил. Письма отправлял со своего домашнего почтового сервера с доменным именем, оканчивающимся на .ru, плюс мой английский. До сих пор удивляюсь, как он принял меня за американца. А еще кто-то говорит, что моим английским только пионеров пугать.

Ладно, не в этом дело. Переписка, конечно, хорошее дело, но должно быть и резюме. А как его писать?! Честно говорю Senior Recruiter'у, что, вы, наверное, будете смеяться, но резюме никогда не писал и даже не представляю как оно должно выглядеть. Прошу дать образец. Дает! Читаю… Сердце ойкает. Не то!!! Резюме на 90% состоит из перечисления предыдущих мест работы, всяких наград и призов еще со времен школьных олимпиад. Мне же особо и похвастаться нечем, особенно с учетом того, что большинство проектов проходили под NDA, включающим в себя запрет на разглашение самого факта проведения такого проекта данной фирмой. В общем, тупик. Написал свой вариант и отослал безо всякой надежды на успех. Да и какой там мог быть успех, когда длинная колонка «education» со списком кучи учебных заведений и курсов по сертификации ужалась до лаконичного «have no one».

Какого же было мое удивление, когда Senior Recruiter возвратил мне существенно переработанный вариант резюме, полностью переформатированный и уже не содержащий никаких ссылок ни на образование, ни на что другое, чего у меня нет и перечисляющий только то, что есть. Говорит, что вот слегка (это он называет слегка!!!) исправленный и улучшенный вариант, высланный вам на одобрение и утверждение. Мораль: не занимайтесь чепухой и предоставьте писать резюме профессионалам. В конце концов это _их_ работа, они умеют ее делать и делают намного лучше тех, кто пишет резюме от случая к случаю или не пишет вообще.

Но самое интересное впереди. Начали меня спрашивать за языки. А вот с языками у меня еще хуже, чем с образованием. Сказал, что знаю только Си и x86-asm (хотя на самом деле, более или менее сносно изъясняюсь на Си++, DELPHI, Perl, начал учить Python и C# и уже вовсю программирую на них, но… одно дело программировать, используя некоторое подмножество освоенных языковых возможностей, а другое _знать_ весь язык целиком). Были и другие вопросы, на которые приходилось отвечать: нет, не знаю, не сталкивался, первый раз слышу, ой, а это мне вообще реально не по зубам.

И что же — по результатам собеседования мне назначают интервью по телефону с конкретным специалистом, причем довольно крупным таким специалистом, если даже не сказать широко известным (кстати, заочно мы были знакомы — я исследовал его разработки, а он — читал мои книги). Извините за выражение, но от такого поворота событий я реально офигел. Разве не логично, что после ~90% негативных ответов меня следовало похоронить, закопав в землю на три метра. Так ведь нет! Вопросы задавались вовсе не для того, что бы «завалить», а просто выяснить области в которых может работать человек, чтобы решить каким образом его выгоднее всего использовать. Лично мне (как уже говорилось выше) предложили писать скрипты/плагины для IDA-Pro, что не требует глубоких знаний Си++ и прочих технологий программирования, зато требует знания самой IDA-Pro. И как раз таких специалистов фирме и не хватает. А по Java, высшей математике и криптографии — у них уже имеется полностью укомплектованный штат, свободных вакансий нет и в обозримом будущем не предвидеться. Так что, попытка претендовать на владение вышей математикой никак бы не изменила статус-кво (все равно, мне предложили бы обслуживать IDA-Pro), зато первая же проверка моих «знаний» математики вылилась бы в вопрос «а IDA-Pro вы тоже так хорошо знаете?!»

И вот телефонное интервью. Проблема в том, что я как Му-Му. Все понимаю, но ничего не говорю. Английский со слуха — это у меня без проблем. Фильмы без перевода, Интернет радио — все это давно пройденный этап. Но одно дело — знать как произносятся слова, и совсем другое — уметь их произносить. Короче, мы болтали минут с полчаса, обсуждая самые различные и неожиданные аспекты: от форматов CD/DVD и отличий MPEG-1/MPEG-2/MPEG-4, до виртуальных машин, обфускаторов, особенностей написания драйверов под Windows, Linux, BSD и т. д. Своего собеседника я понимал без проблем, но вот он меня (как выяснилось из дальнейшей переписки), не то, чтобы совсем не понимал… скоре, просто догадывался, разбирая только отдельные слова и ключевые термины.

Вывод: не стоит бояться, что вас не поймут или «приговорят» за плохой английский без суда и следствия (хуже своего разговорного английского я ничего представить не могу). Если в человеке заинтересованы — все будет ОК. К тому же, как выяснилось, интервью поводится вовсе не для проверки знаний и оно совсем не похоже на экзамен. Вопросов по существу таки и не задали, позже объяснив это тем, что гораздо важнее определить как себя ведет собеседник — погружается ли в глубокую задумчивость, начинает ли лепетать: нам такое не задавали, мы такое не проходили или же не позволяет застать себя врасплох.

Какую из двух фирм выбирать: маленькую или большую? И какие принципиальные отличия между ними? Первое, что приходит на ум: план работы крупной фирмы расписан менеджерами лет на пять вперед и попытка проявить инициативу как правило давится на корню, потому как менеджеры страшно не любят брать на себя ответственность и рисковать, а всякая инновация — это всегда риск, причем весьма значительный. И зачем менеджеру создавать себе лишние проблемы? Оправдывайся потом в случае неудачи. А так всегда можно сказать, что задача была спущена сверху и мы решили ее надлежащим образов в установленный срок (ну или не совсем в срок, но все-таки решили), а то, что задание было изначально бредовым — ну так мы не уполномочены выносить такие заключения. Чем вы там наверху думали?!

Небольшие фирмы намного охотнее идут на риск и иногда ставят на карту все имеющиеся у них резервы. Неудача означает крах, удачасулит резкий взлет. Реализовать свои амбициозные идеи легче всего именно в мелкой фирме. К тому же… мелкие фирмы очень любят расплачивается не деньгами, а… акциями, которые вызовут смех на бирже и вообще ничего не стоят. Я тоже могу выпускать акции, если сильно захочу. Ну и что? А то — если мелкая фирма однажды станет большой и могучей, то все, кто был в ней с самого начала (когда акции летали налево и направо), автоматически превратятся в миллионеров. Естественно, если фирма свернет свою деятельность, то акции уйдут в мусорное ведро.

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

мне дают зарплату за то, что хожу на работу. а если еще и работаю, то премию.

© Юрий Никитин

И какой русский человек не любит обсуждать законы, которые он не читал, читать не собирается, но совершенно уверен, что законы написаны так, как ему это кажется, исходя из логики, здравого смысла и веры в справедливость. Между тем, купить КЗоТ (или нарыть электронную версию в Интернете) однозначно стоит, потому как почитав обозначенный документ, стандарты на языки программирования (написанные на буржуйском языке) можно прямиком отправлять в топку — за ненадобностью.

Краткий ликбез. Уволить человека, знающего законы и умеющего отстаивать свои права, намного дороже, чем терпеть его присутствие на работе и платить зарплату (вместе с премией) за имитацию бурной деятельности или даже за отсутствие таковой. Если не брать в расчет управленческий персонал, то рядовые кодеры вообще ни за что не отвечают. Вот и пускай кодят как умеют, а работает ли программа или нет — за это у руководства голова болит. Штрафовать за ошибки в коде или срыв плана КЗоТ не позволяет. Можно, правда, лишить премии, но! это необходимо _обосновать_ с учетом кучи подзаконных актов. Кодер _всегда_ может сослаться на плохое руководство, отсутствие четкой постановки задачи и т. д. А знаете ли вы, что за увольнение беременной женщины в _уголовном_ кодексе предусмотрена специальная статья? Руководители фирм до сих пор на свободе только потому, что большинство наших граждан законов не читали, а свои права отставить в суде не приучены.

Конечно, если фирма выплачивает сотруднику минимальный оклад плюс процент от продаж, то чисто теоретически у него создается мотивация работать хорошо и кодить с утра до полуночи, потому как — не будет продукта, не будет продаж, не будет и денег, но практически такая схема работает только в небольших фирмах, а по мере роста штатов дает сбой, ибо оценить вклад каждого сотрудника в общее дело, назначив ему соответствующий процент, нереально сложно, да и плевал он на фирму и на этот процент. Маленький винтик большой машины _никак_ не влияет на объемы продаж. Какая разница сколько строк кода он напишет за день и сколько багов уйдет в релиз?! Успех всего мероприятия в целом зависит в первую очередь от бригады маркетинга, везения и реакции конкурентов.

Другими словами, в России есть _реальная_ возможность ходить на работу только затем, чтобы слушать музыку (в наушниках, конечно) и лениво водить пальцами по клавиатуре. И получать за это зарплату. Пусть только попробуют не платить или (страшно сказать) выгнать с работы. Им же самим дороже выйдет.

А вот «свалив» за рубеж, там… ага! правильно! Там наш КЗоТ отдыхает, и приходится работать, вкалывая по полной программе, кодируя за троих, а получая за одного без всякой правовой поддержки со стороны государство, позволившего вам приехать в «их» страну только затем, чтобы улучить положение своих рабочих и бизнесменов, а потому надеяться, что «там» вас ждет райская жизнь право не стоит, а то с разочарования можно и с моста сигануть, до конца жизни расплачиваясь с бригадой спасателей и врачей из скорой помощи.