0
Pavel V – Technical Recruiter & .NET Developer в Toptal
TECH

История

Итак, у вас и у вашего партнера появилась замечательная бизнес-идея. Верно? Вы постоянно добавляете в уме все новые и новые возможности. Вы регулярно спрашиваете у потенциальных клиентов их мнение, и все они без ума от вашей идеи. Окей, значит людям это нужно. На этом можно даже заработать денег. И единственная причина, по которой люди до сих пор этим не пользуются: вы не реализовали свою идею. Пока не реализовали.

И наконец, в один прекрасный день вы решили: «Сделаем это!». И вот вы уже пытаетесь разобраться как реализовать бизнес-логику своего приложения, ту киллер-фичу, которая будет двигать продукт вперед. У вас есть идея как это сделать, и вы знаете, что способны на это.

Печальное окончание истории, которое суть начало, потому что есть решение
0
Pavel V – Technical Recruiter & .NET Developer в Toptal
TECH

Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под Питоном? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

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

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

В этом посте я начну с нуля и пройдусь по разным реализациям Питона, а закончу подробным введением в PyPy, за которым, по моему мнению, будущее языка.
0
Pavel V – Technical Recruiter & .NET Developer в Toptal
КОРПБЛОГИ

Сегодня я живу в замечательном городе Сан-Франциско. У меня есть работа, которую я люблю, работа, о которой мечтал много лет. Всё в данный момент видится таким лёгким… но так было не всегда.

Как все начиналось

Я родился в Сан-Педро-Сула, небольшом городке в северо-западном регионе Гондураса. Стал программировать, когда мне было 12 лет. А началось все с BASIC. Однажды я играл в видеоигру, и она вылетела с ошибкой. Когда я увидел экран, заполненный кодами ошибок и сообщениями, меня это заинтриговало, и я начал изучать некоторые команды BASIC, что в итоге привело к покупке нескольких книг по программированию на Clipper, Turbo Pascal, C, C++, и т.д. Это было здорово. Все время я проводил программируя все, что вздумается: никаких временных ограничений (кроме школы, которая была не отнимала столько времени, сколько полноценная работа) или обязательств взрослой жизни.

file

Несколько лет спустя, когда мне было 15, у отца были проблемы с каким-то дрянным бухгалтерским софтом. Я сказал ему, что мог бы сделать версию лучше, не отдавая себе отчёта, во что ввязываюсь (я никогда даже не видел SQL базы данных). Так что я купил еще несколько книг и принялся за работу. (Примечание. Это было во времена, когда интернет не был так распространён, как сегодня: я жил в стране третьего мира, а интернет появился, примерно, в конце 1997 года, через 5 лет после того как я занялся программированием).

Мечты и амбиции

Я помню, как сказал себе: “Хочу быть компьютерным инженером”. Конечно, я и не догадывался, что включает в себя это понятие, но я знал, что люблю компьютеры (я говорю о тех старых медленных компьютерах с квадратными зелеными мониторами, с DOS – ужасно, конечно, особенно теперь, когда у нас есть все эти новые крутые операционные системы).

Так что, как наивный двадцатисчемтолетний, я решил, что хочу иммигрировать в США: конечно, это долгий и тернистый путь.

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

Так что, как наивный двадцатисчемтолетний, я решил, что хочу иммигрировать в США: конечно, это долгий и тернистый путь.

В то время мой отец управлял аудиторской фирмой, и у них стали появляться проблемы с бухгалтерским софтом. Разработчик был упрям и не рвался помогать, так что мой отец начал искать альтернативы. Он хотел, чтобы я вышел на требуемый уровень в качестве программиста, поэтому отправился в местный университет – единственное место, где можно было приобрести продвинутые книги по программированию и получить все необходимое. Это был новый мир для меня: у меня появился один из новых (в то время) компьютеров с зеленым экраном, с 5 МГц процессором, памятью объемом 256 КБ и 10 Мб жёстким диском. В нем были те старые механические диски, каждое движение которых были отчетливо слышны. Клавиатура была механической и каждое нажатие клавиши было приятным на слух. Ускоренная перемотка вперед на 10 лет, и я всё ещё работаю над тем же аудиторским программным обеспечением. Однако теперь я продаю его клиентам: это софт с интерфейсом для Windows, SQL базами данных и возможностью взаимодействия с интернетом.

Банкротство

В то время, я решил бросить школу и создать свою собственную компанию. Я работал с отцом, в каком-то роде: мы делили заработок от дохода, который приносил аудиторский софт (хоть это и была моя идея и исполнение, он вложил много времени обучая меня бухгалтерскому учёту). Таким образом, мы разделились: он продолжал продажи текущей версии программы, а я ушел, чтобы работать над созданием новой. Но, как я вскоре осознал, бизнес по разработке программного обеспечения в Гондурасе – не простая задача: клиенты не хотят платить за ваши услуги, и они всегда считают разработку программного обеспечения относительно простой задачей, поскольку она не требует взаимодействия с физическим продуктом; часто, они не видят значимости в программном обеспечении, потому что оно не приносит быстрой прибыли, и все это делает его еще менее продаваемым.

Что касается бизнеса, я нанял несколько лучших студентов (которых я нашел вернувшись в колледж). Но со временем я принял на себя слишком много ролей: генерального директора, бухгалтера, контролера, агента клиентского сервиса и поддержки, руководителя проекта, и (мою любимую) разработчика. Я хотел просто писать код, но это стало слишком сложно, так как все эти роли стали меня тяготить. В конце концов, это привело к проблемам – наши клиенты не платили вовремя, и мы изо всех сил пытались найти новые проекты: когда у вас уникальные специалисты, они хотят, чтобы им хорошо платили, и мы платили хорошо, в то время как наши клиенты вели себя не так, как ожидалось. Кроме того, пребывание в стране третьего мира сводило к нулю любой инвестиционный интерес. Я должен был предвидеть это и преследовать другую бизнес-модель, но я был слишком занят, пытаясь справиться со всеми ролями. В конечном счете компания разорилась, а я остался с кучей долгов, разъярёнными сотрудниками, и неприятным ощущением внутри. Нужно было начинать все с нуля.

IPhone SDK

file

150 000 платных загрузок спустя я понял, что не ошибался.

Самое главное – это победа после поражения и то, чему мы учимся на своих ошибках. Новое начало – пугающая перспектива, нужно переосмыслить все, но это то, что я был обязан сделать. Моя жена помогла мне пережить те трудные времена, именно она подтолкнула меня к деятельности, в способности к которой я сомневался. Так что я начал работать над своим аудиторским софтом снова, исключив расходы на маркетинг, в таком виде это было слишком сложно для продвижения. Доход был мизерный, а я должен был помогать семье. Мне пришлось изменить тактику. Примерно в то же время Apple представила iPhone SDK. Для меня это была новая рискованная платформа, к тому же я был новичком в Mac. (Мой переход на Mac начался с iPhone и Hackintosh, который позволил мне попробовать OS X без затрат на дорогую машину). Некоторые мои друзья смеялись и полностью игнорировали меня, когда я сказал, что собираюсь стать разработчиком для iPhone, но я искренне верил, что можно заработать с помощью App Store. 150 000 платных загрузок спустя я понял, что не ошибался, хотя, конечно, эти цифры сами по себе не дают полной картины: экономика App Store сложна, и вам, действительно нужно вкладывать в свой продукт и находить клиентов чтобы окупить затраты. Для этого вам нужна команда. Поэтому, даже если мое приложение прекрасно работало, оно не было настолько стабильным (с точки зрения бизнеса), чтобы я продолжал разработку самостоятельно. Несмотря на это, я доказал себе на что способен, так что в одно прекрасное утро я проснулся и сказал себе, что наконец иммигрирую в США.

Я выяснил, что иммиграция в США – нелегкая задача. Наверное, самый простой способ – получить Green Card через члена семьи, но самым близким вариантом был мой брат, который родился в США, однако жил с нами в Гондурасе и не мог ходатайствовать ни о ком, так как не работал в то время. И даже если бы у него была такая возможность, процесс мог бы затянуться на 15 лет (Примечание: братья и сестры имеют наименьший приоритет по спонсорству Green Card в сравнении с другими семейными отношениями). Моим решением было создать компанию в США. У меня был друг, который мог стать инвестором, и мы начали создавать iPhone и IPad игры. На бумаге все выглядело замечательно, но, естественно, экономика App Store могла опровергнуть наши доводы. Вскоре нам потребовалось больше денег – мой друг не ожидал этого. Наконец мы опубликовали одно приложение (второе было на стадии разработки, но так и не было закончено из-за финансовых проблем). Вновь все выглядело мрачно. Я решил использовать то, что мне казалось последним ресурсом: работать на американскую компанию.

Получение работы

Это тяжело – оказаться нанятым американской компанией будучи за рубежом. Я подал резюме на несколько позиций, но первой проблемой было то, что мне требовалось сменить место жительства, что, в свою очередь, требовало ходатайства и спонсорства по рабочей визе от работодателя. Процесс был дорогим с точки зрения времени (до года, если виза недоступна сразу) и деньги (то есть, юридические издержки). Вместо этого я начал искать работу через сайт фриланса. В принципе, это хороший сервис. Но, во-первых, вам нужно заслужить доверие, что довольно сложно. Есть также куча разработчиков, у которых запросы ниже среднего, просто для того, чтобы оказаться замеченными: по этой причине трудно найти хорошую оплату. В конце концов я решил взять только один проект на 8-часовой рабочий день.

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

После того, как Toptal принял меня в свою сеть разработчиков, я был поставлен в лист ожидания. Как только клиент проявлял интерес к конкретному разработчику, он проводил интервью этого кандидата (как собеседование на любую нормальную работу), чтобы убедиться, что тот подходит. Перед первым интервью я сильно нервничал. Все началось с объяснения заказчиком того, что ожидается от меня, а также от проекта в целом, и бесконечных вопросов, чтобы увидеть, всё ли я понял. Интервью шло не так хорошо, как я надеялся, поскольку вопросы становились более конкретными и техническими. Они в итоге наняли кого-то другого. Вспоминая позже, я понял – здорово, что они не захотели меня: через неделю я проходил собеседование с той компанией, которая в конечном счете стала моей полноценной работой.

Я подготовился серьёзнее к следующему интервью, которое пошло так, как я предполагал: мы говорили больше о моем опыте в качестве разработчика, и компания ознакомилась с моим подходом к решению проблем. Три дня спустя, у меня был подписан контракт, и я начал работать для этого нового клиента через Toptal.

Я работал на Life360 через Toptal как минимум 9 месяцев. Их флагманский продукт – приложение для определения местоположения членов семьи, но изначально я работал в одиночку в паре сторонних проектов: первое – приложение для оповещения о землетрясениях, второе – полицейский сканер. В течение нескольких месяцев мой рабочий процесс по большей части состоял из получения высокоуровневых требований от Life360, отправки обратно макетов и вопросов и внесении их пожеланий в приложения. И этот цикл повторялся несколько раз. Я связывался с дизайнером и несколькими сотрудниками Life360 (в компании в то время их было всего пять или шесть), но у меня было много независимости. Работа из дома давала чувство свободы: не нужно долго добираться до работы, и я создал обстановку без отвлекающих факторов.

Вскоре я заметил, что всё глубже и глубже втягиваюсь в команду – с этими двумя первоначальными проектами я доказал свою ценность, скажем так. К декабрю меня спросили, не хочу ли я присоединиться к команде и работать на полную ставку в Сан-Франциско – я охотно согласился, и они стали оформлять документы. К январю я посещал ежедневные скрам-встречи (виртуально, так как я все еще был в Гондурасе), описывая свой предыдущий рабочий день и мои задачи на предстоящий. Мой рабочий процесс стал более организованным, я стал более вовлечён в работу с компанией.

Переезд

Это было осуществление мечты. Я провел большую работу для американской компании, и уже был на пути к переезду, но до сих пор оставалось несколько препятствий. Во-первых, я не получил высшее образование. Хотя это и не является строго необходимым для работы на техническую компанию сегодня, вам всё же нужна степень бакалавра, чтобы претендовать на визу H-1B. Так что мне пришлось закончить обучение. Это был крупный шестимесячный проект, но у меня было достаточно времени, чтобы сделать это.

Хотя это и не является строго необходимым для работы на техническую компанию сегодня, вам всё же нужна степень бакалавра, чтобы претендовать на H-1B визу.

Адвокат подал документы 1 апреля, день, когда начинается обработка виз H-1B (во время подачи документов, он указал диплом как «в процессе», так как визы H-1B ограничены, а документацию можно досылать позже). Я закончил свой проект в срок, сходил на выпускную церемонию и получил диплом.

С этого момента, прежде всего, компания, которая вас нанимает должна быть очень открытой и очень терпеливой. Процесс оформления визы начинается в апреле, а если вы попадете под вариант первоочередной обработки, то получите ответ от миграционной службы США через две недели. После этого вам все равно придется пройти интервью, и на этом этапе вам все еще может быть отказано в визе, но если все пойдет хорошо, вы сможете въехать в США после 1 октября через шесть месяцев после даты подачи заявки, не раньше. Это означает, что вы не можете работать в этой компании, пока вы не получите H-1B визу, что может стать проблемой: компания должна найти путь для удаленной работы, пока они ждут, когда визу активируют. В моем случае, компания решила нанять меня как внештатного разработчика, оплачивая работу как профессиональные услуги, не нарушив ни иммиграционного ни трудового законодательства.

Я полетел в Сан-Франциско 1 октября 2012 года. Цель, которую я выхаживал сколько вообще себя помню, наконец достигнута.

 


Оригинал статьи: The H-1B: An iOS Developer's Journey from Honduras to Silicon Valley. Aвтор: Carlos Hernandez (Objective-C разработчик в Toptal). Перевод Рахим Давлеткалиев

0
Pavel V – Technical Recruiter & .NET Developer в Toptal
КОРПБЛОГИ

Компания Toptal предлагает опытным разработчикам и дизайнерам UI/UX с хорошим английским удаленную работу с оплатой в долларах США в проектах наших клиентов (США, Европа, и т.п.). Набор идет постоянно.

У нас уже трудятся несколько тысяч первокласных инженеров со всего мира на проектах наших клиентов в данную минуту. Присоединяйтесь!

Мы работаем по следующей схеме:
— мы тщательно отбираем кандидатов (процедура отбора ниже), что обеспечивает нам отличных программистов
— мы тщательно отбираем заказчиков, что обеспечивает для наших программистов отличные проекты
— мы платим разработчику в долларах США по подписанному нами контракту (банковский перевод, paypal или payoneer)
— мы всегда на связи с нашими разработчиками и готовы помочь решить любой вопрос, так как мы хотитм, чтобы у разработчиков голова болела только по поводу разработки.

Условия:
— Достойный рэйт. Мы платим в долларах США. Рейт как правило выше офисных зарплат. Мы всегда готовы выслушать Ваши пожелания.
— Необходимо владеть разговорным английским. На нем идет вся коммуникация — и на проекте, и в проецссе отбора.
— Проекты: либо фултайм (40 часов/неделю), либо парт-тайм (20 часов/неделю). Бывают проекты с почасовой оплатой (реже)
— Работа либо индивидуальная, либо в команде заказчика и/или в команде из разработчиков Toptal.
— При неудачной попытке можно пробовать опять через некоторое время (с того этапа, где закончили).

Процедура отбора кандидатов (схема):
Регистрация на нашем сайте
— Первичный звонок в skype (5-10 минут). Проверка английского.
— Онлайн тест на кодирование (3 задания, 90 минут). Проходной балл набирается достаточно просто. Можно потренироваться на Codility.
— Основное техническое интервью (около часа). Проходит в Skype. Требуется подготовить Вашу IDE, показать свой экран, выполнить задания «в прямом эфире», ответить на технические вопросы.
— Тестовый проект в оффлайне и последующим показом результатов также в Skype. На него требуется обычно полтора-два дня. Срок выполнения 2 недели.
— Далее идет подготовка вашего профиля, подписание контракта и подбор наиболее подходящего проекта.
— Если не проходите какой-то этап, можно будет пробовать снова (после подготовки) по этой схеме.

Вопросы / FAQ:
— Можно задать Дмитрию — [email protected] или skype: pavlovdmitry.
— Если возникли какие-то проблемы при взаимодействии с Toptal, не стесняйтесь связаться со мной. Я обязательно помогу разобраться и решить проблему. Готов ответить на любые вопросы. Пожалуйста, обращайтесь.
— Требуются только разработчики и дизайнеры UI/UX. Работы для других специалистов у нас пока нет. Если Вы хотите попробовать свои себя в качестве программиста, необходимо будет пройти общую процедуру отбора (см. выше).
— Toptal работает с компаниями партнерами, предоставляющими своих разработчиков. Разработчики компании партнера проходят ту же процедуру отбора (см. выше) и последующей работы, как если бы они напрямую обратились в TopTal. Разница в этом случае заключается в том, что вся финансовая часть проходит мимо разработчиков между TopTal и руководством компании-партнера. Иными словами, мы не отдаем проект на аутсорс, скорее мы берем у вас людей для работы. Если такой сценарий Вас устраивает заявку можно оставить здесь

Ждем вас!

© 2008–2021 ЗАО «Дев Бай Медиа»
Перепечатка материалов dev.by возможна только с письменного разрешения редакции.
При цитировании обязательна прямая гиперссылка на соответствующие материалы. Пишите на [email protected].