[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Sasha Ivanova", "author_type": "self", "tags": ["\u043f\u0438\u0441\u044c\u043c\u043e_\u0432_\u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e","python","\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","\u043a\u0443\u0431\u0430"], "comments": 62, "likes": 50, "favorites": 17, "is_advertisement": false, "section_name": "default", "id": "18375" }
Sasha Ivanova
39 518

Письмо в редакцию: Как я учился писать на Python в стране без интернета — на Кубе

Разработчик Алехандро Самора прислал в редакцию vc.ru письмо с рассказом о том, как он изучал программирование на Python на Кубе — в стране без интернета — и как ему удалось перебраться в Аргентину и найти работу.

Привет, меня зовут Алехандро, мне 30 лет и я — кубинский программист. Понимаю, что это звучит почти как «зимбабвийский ученый». Я из маленького поселка Пуэрто Падре, на востоке нашего райского острова. Моя история началась с того, что за пару лет до поступления в университет, году в 2002, я увидел в кино компьютеры и они мне очень понравились.

Это была «Матрица». Я не понял, что именно за навороченные технологии там показывают, но догадался, что это как-то связано с математикой. Мне всегда хорошо давалась математика, я даже олимпиады какие-то выигрывал. Но вот незадача — я обожаю математику, но это практически нулевой шанс сделать карьеру, найти вменяемую работу. Если ты математик — то дорога только в репетиторы или учителя. Математик — это ярлык и оковы на всю жизнь.

Так что я понял, что хотел бы работать с крутыми компьютерами. Решил быть программистом и для начала поступил в универ. Восточный университет, Universidad Oriental, город Сантьяго, у меня очень удачно там дядя жил. На весь остров только три университета с факультетом программирования. Когда я поступил, о кодинге не знал ровным счетом ничего.

Я в курсе, что про кубинский интернет ходят самые страшные слухи. И это почти всё правда. Он как бы есть… но его как бы и нет. Проверить Facebook — квест.

Первое — он медленный. Второе — покрытие нулевое. Но самое главное — он очень, очень дорогой. Он практически недоступен. Это только для богатых. Час интернета стоит $2. Есть некоторые места, где правительство раскинуло в парках платный Wi-Fi. Хватает отправить электронное письмо. $2 — это дорого. Среднюю зарплату на Кубе сейчас чуть повысили, но я, например, получал меньше $20 в месяц.

Я не жалуюсь. Как пришел Рауль Кастро, первое, что начало улучшаться — это интернет, а до 2014 года мы иногда могли поймать высокоскоростной интернет Соединенных Штатов через спутник. Радио, телевидение, например, использует спутник Штатов. Я как-то подрабатывал в телецентре и там видел, что бывает более быстрый интернет.

Как мы живем на $20 в месяц? О, мы самодостаточны, в нашем раю все есть. Хотя импортируем тоже, например, молоко. Коров-то нет, на острове нет пастбищ, нет больших рек. Коров запрещено убивать из-за молока для детей, его не хватает, приходится импортировать.

Все думают, что Куба живет за счет экспорта табака и рома. На самом деле мы живем за счет интернациональных миссий, в основном медицинских. А экспортируем да, табак. Ром. Сахар. Никель ещё вам же и продаем. Раньше Союз у нас весь сахар скупал.

Мёртвое железо и неизведанный Python

Первый компьютер у меня появился в 2003 году. Он был настолько б/у, что не понимаю, как он вообще работал. Intel 486. Это был ноутбук, но не такой как сейчас, а еще те старые чемоданы. И на нем был Windows 3.1. Маме его всучили на рынке подержанных вещей. Потом, в 2004 году, перед университетом тетя подарила мне другой. Pentium 2. Разница с 486 была огромная. Я смог туда поставить Windows 98. И Starcraft. К сожалению, когда я попытался добавить оперативки, компьютер сдох. Там было 128 МБ, только Windows 98 и работала. Мне подарили слот памяти, я его поставил, и компьютер умер.

Так что я постигал свою учёную степень в компьютерных науках в университетской лаборатории. Там были Pentium 3 и 4. Защитил «модный» диплом по мультимедиа. Скрипт написал для зоопарка, с животными, клетками, со стрелочками «вы находитесь здесь».

Когда выпустился, обнаружил, что на кубинском рынке разработчики не нужны. Меня готовили к научной карьере, пришлось преподавать. Я был вполне счастливым доцентом в провинциальном универе, работал за 20 баксов, учил студентов, а на выходные гонял домой.

А транспорт — это отдельная история. Это не так, как здесь, что в любой момент приезжаешь на автовокзал и садишься на автобус. Видели, может, в интернете картинки: грузовик, а к нему автобус прицеплен? Так и есть. Еще много ваших советских машин. Медикам давали, у нас «Лада» была. Интересно, те квадратненькие у вас еще производятся?

Бонусом в университете был интернет. Ужасно медленный. Страницы загружались только текстовые.

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

Про Python из моих знакомых никто не знал. Я нашел список рассылок по разработке, нашел рассылку сообщества Python в Аргентине и подписался. И стал всех теребить: а как это делается на Python, а как это? А потом я случайно вылетел из университета, и потерял контакт.

Тогда я познакомился с женой, подыскал подработку в медцентре. И тут началась фрустрация. Я был отравлен кодингом, я скучал по нему. Со своим новым электронным адресом медцентра подписался заново на «Python Аргентина». И иногда мечтал, присматривал в рассылке, куда нужен программист Python. В Розарио не нужен, в Буэнос-Айрес не нужен, туда не надо, туда не надо. Причем я еще вообще ничего не понимал, чуть-чуть кодил детские вещи.

Резюме на коленке

Смотрел я на эту тусовку, и все казалось невозможным, очень стеснялся. Но потом мне пришла в голову идея составить резюме. Я и сделал, на коленке, в нем были только места учебы и никакого опыта работы. И стал рассылать по всем местам. Никто особо не отвечал. Разослал штук 20, и внезапно несколько человек мне ответили. Некоторые даже положительно! Но когда узнавали, что я на Кубе, говорили: «Извини, чувак, нам нужно, чтоб ты был здесь».

Никто особо меня не слушал. Но я задумался — если на такое резюме на коленке мне начинают отвечать, то что будет, если я хоть немножко себя спозиционирую? Это была моя мечта — попасть хоть в какую-нибудь компанию как программист Python.

Как-то раз, читая рассылку, я увидел, что один парень повесил репост из своего LinkedIn. Требуется разработчик Python в Германию. Но в публикации не было никаких контактов, ни имени рекрутера, ничего. Ну я ему и написал: «Слушай, а ты не мог бы мне дать контакт кого-нибудь по этой вакансии в Германии?».

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

Тогда как раз начинался чемпионат по футболу (отборочные 2013 года), и я решил снова написать аргентинцу про футбол — я знаю, что там все сходят с ума по футболу. А он мне ответил, что ничего не знает про футбол, он как девочка. Но диалог поддержал. Все по почте. Мы немного пообщались и, видимо, я спросил, как дела в Аргентине с Python. Тот сказал, что все круто, работы много, и «ты мог бы стать частью команды». У меня сердце замерло. Правда, что ли, есть возможность? В каком-нибудь проекте? Особо не рассчитывал, но спросил, какие проекты делают. Тот пригласил меня в чат.

Пришлось рассказывать, что на Кубе чат — немыслимая роскошь. Хотя ситуация с интернетом уже улучшалась, и одна контора в городке установила интернет более-менее хороший. Так что когда он меня пригласил в чат, я подумал, почему бы и нет? Может быть, из этого что-то получится? Я взял из заначки $2 и пошел чатиться с Пабло, попросил его, чтоб мы поговорили по IRC-каналу.
На одном из каналов по Python в Аргентине мы создали беседу. Вот так состоялся наш первый контакт. Он мне предложил фриланс. Сказал, чтоб я что-нибудь придумал, чтоб он смог мне заплатить, потому что на Кубу переводы отправлять нельзя. Я не мог поверить своему счастью.

Он мне сказал: «Слушай, я тут работаю с одним приложением, давай я тебе пришлю свой код, а ты разберись». Это был как бы не тест, но я понял, что это тест. Он писал большое приложение для скрапинга, баз данных, и предложил провести аудит. И прислал мне код. А Python отлично работает при наличии интернета… Но без интернета — кошмар.

Нужно было установить библиотеки. Я не знал, куда их ставить. Интернет $2 в час. Я должен был так или иначе инсталлировать приложение. Скачал код, но не мог, конечно, платить каждый раз два доллара. Так что я ходил по тем немногим местам, учреждениям, где был интернет, и просил их одолжить мне на секунду. И так по строчкам я скачал нужное. И тут началось смешное, потому что у меня стоял Django, а Пабло писал на Lisp. Когда я пытался поставить что-то, у меня ничего не получалось, в том числе из-за версии операционной системы.

Забыл важную часть. Мой отчим работал в Венесуэле — первый в семье, кто попал заграницу — медбратом. Венесуэла вообще-то тоже не первый мир, но по сравнению с Кубой у них было все в порядке. Когда мой отчим поехал, Уго Чавес был еще живой. Не Бразилия, конечно, но выглядело нормально, по крайней мере, с Кубой не сравнить. Так что отчим мне смог сделать такой подарок. Lenovo. И я туда поставил Ubuntu, был очень счастлив, но для обновления нужен был интернет. И не просто интернет, а нормальный, для загрузки пакетов обновлений.

Плюс я вообще ничего не знал на Python, тем более, чтобы писать что-то в офлайне. Залез я туда, а там Lisp. Я подумал, как же я сделаю все это с библиотеками, которые вообще не соотносятся? После долгих плясок с бубном я все-таки запустил приложение. И смог разобраться в коде, смог написать Пабло все свои комментарии. Он, кажется, был очень впечатлен, но не ими, и спросил меня: «Ты что, все это сделал без интернета?»

Потом мы придумали, как получать деньги на Кубе через левую мексиканскую карточку. И нашли некую швейцарскую контору, через которую можно было это обналичить. Платили мне по сравнению с остальным миром копейки, но на Кубе я был богат. Первый раз в жизни немного расслабился. В любом случае, это не из-за денег. Это опыт. Делая эту работу, я всему научился. Хотя и не хватало, чтоб свалить с Кубы. Еще тогда моя мама уехала врачом в Венесуэлу, и я остался на хозяйстве, за домом смотреть.

Смазываю лыжи

Я думал про отъезд в Эквадор, там много кубинцев. Потом умер Чавес, и в Венесуэле все стало совсем плохо. Выбрали Мадуро, и начался весь этот кошмар с насилием на улице и прочее, мама моя тоже попала под разборки. Худший этап был, и им с отчимом пришлось возвращаться. Когда они вернулись, я попросил одолжить мне на билет в Эквадор. Она одолжила — я еще не вернул, кстати.

Она мне одолжила на билет, документы и на первое время в стране. Не сутки, конечно, чуть больше — скажем, на месяц. И вот я узнаю, что в Эквадоре все плохо, кубинцев больше не особо принимают, никуда не берут. Да и понятно, в основном же уехали нелегалы, не профессионалы. Так что решил подождать и туда не рваться.

В общем, я продолжал сидеть в своем медцентре, это была самая низкооплачиваемая работа, но был интернет, так что я подрабатывал на Пабло.

Я немного начал смотреть цены на авиабилеты, визовые темы. В Аргентину мне выходил самый дорогой билет, и все выходило самое дорогое, мне хватало прямо впритык. Ну и я подумал — что меня ждет в Аргентине? Я там, разумеется, никого не знал, кроме Пабло, которого не разу не видел. Когда я ему сказал, что хотел бы уехать в Эквадор, он позвонил мне на Кубу, дозвонился на мобильный, оставил мне контакт аргентинского программиста, который живет в Эквадоре. А когда я сказал ему, что решил не ехать, и его так очень-очень аккуратно спросил, что он думает, если бы я приехал в Аргентину, есть ли у меня шанс там зацепиться.

И он сказал: да без проблем, приезжай! Цена вопроса 500 долларов (примечание: в то время в Аргентине был черный рынок доллара, можно было получить двойную цену за зеленые бумажки).
Для визы нужен был счет в банке. Мы нашли гамбургский банк, нам пришлось через прокси заходить, чтоб зарегистрироваться, банк не пускал ни кубинцев, ни аргентинцев, и мне пришлось зарегистрироваться под вымышленным именем — кстати, русским. Придумали имя с такими же инициалами, Александр Зайцев. И с Кубы я через прокси зарегистрировал счет в Гамбурге. Правда, я как-то раз забыл включить прокси, и мне тут же заблокировали счет, написали: «Вы находились в стране, которая не авторизована для транзакций». Карта Payoneer на Кубе не ходит.

Пришлось каким-то образом разыскать кубинца, который живет в Буэнос-Айресе, и он мне все рассказал, кому приплатить, как заезжать, что с документами, как потом получить разрешения. Можно было заезжать как турист и оставаться. В Аргентине если смог заехать, считай, смог и остаться. Но нужна была туристическая виза. Я попросил приглашение у Пабло, собрал документы и пошел в консульство. Неудобный был вопрос в анкете, где мы с Пабло познакомились? Пабло вспомнил, что он был на Кубе в каком-то лохматом году. Написали, что так и познакомились. Я трясся. Но вышел консул и дал мне эту визу.

Все это время я программировал и собирал деньги.

Как я первый раз увидел Facebook

У меня была виза и билет до Кордобы с пересадкой в Панаме. Смешно было, как я приехал. Пабло меня должен был встретить, но не встретил, потому что перепутал день. Я прилетел, а меня никто не встречает. Черт, я первый раз за границей, выхожу из аэропорта и никого. У меня почти паническая атака случилась.

Ха! Столько всего происходит. Жду в Панаме свой самолет в Кордобу

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

У меня был один рюкзак, даже не чемодан. Таксист, наверное, подумал, что я какой-то криминальный. Поменял $20 в аэропорту по безумному курсу и смог уехать в хостел. В хостеле пришлось просить расплатиться после, потому что был выходной и обменники не работали. В этом хостеле я первый раз в жизни подключился к интернету на нормальной скорости (ноябрь 2015 года).

В хостеле был компьютер, вот я сажусь за него, захожу в Facebook. Первый раз в жизни он грузится быстро. На Кубе мне всегда приходилось грузить мобильную версию. Я офигел. Настоящий Facebook!

Первым делом я написал своей семье, что жив, потом обновил статус, что я в Кордобе. И комментирует Пабло — какого черта я здесь делаю, ведь он меня завтра ждал. Ладно, зато я успокоился. Я здесь, я жив, я что-то съел и провалился в сон.

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

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

Пабло пригласил в свою компанию на сбор программистов. Я пошел весь в эмоциях, что я познакомлюсь с кодерами, потому что на Кубе нас буквально горстка. А я всегда так мечтал быть в сообществе программистов.

Пабло был организатор. Он мне и говорит: давай, выступай. Я напугался, стал отказываться — как я буду выступать перед программистами? Но тем не менее, на том компьютере в хостеле сделал презентацию в Powerpoint, поставил название «Сообщество Python на Кубе». В количестве одного человека, да.

У меня крутило живот от страха, но я рассказал историю, как я кодил без интернета, и всем очень понравилось. А потом ко мне подошел человек. Это был партнер компании. Он сначала спрашивал, что я собираюсь делать, я ответил, что еще не знаю, может, учиться. Он поглядел на меня и сказал: «Знаешь, наверное, здесь есть место для тебя». Меня пособеседовали с ведущим программистом. Я честно сказал — это знаю, это никогда не видел. Был уверен, что меня не возьмут. Но через пять дней мне написал этот партнер и сказал, что меня берут. Мне сделали небольшой тест по английскому, я, кстати, не знал, могу ли я общаться в живую, никогда не пробовал.

Компания называется Machinalis, они развивают machine learning здесь, в Аргентине. Не могу рассказать, что именно мы делаем, я подписал соглашение о неразглашении. Софт. Это клево. Даже рабочую визу мне сделают. Хоть и платят мало. Я живу в квартире Пабло, а он в Голландии, его позвали в Booking. Сказал, что предупредит меня, если соберется возвращаться. Сдал мне квартиру свою пока. 18 января 2016 я начал работать. У меня был один контакт, и я выжал из него все. Я счастлив, с меня хватит социалистического рая.

#Письмо_в_редакцию #python #программирование #Куба

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления