Часть 4. Карьера программиста. Junior. Заход во фриланс

    Продолжение рассказа «Карьера программиста».

    Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов.

    В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов программирования. Был 2006-ой год. Я начинал учебу на 4-ом курсе университета, но родители и девушка недвусмысленно мне намекали, чтобы я искал работу. Да я и сам хотел. Поэтому пройдя пару собеседований на должность препода курсов и не снискав там удачи, я уже было ринулся осваивать «1С: Бухгалтерию». С багажом в десятки прочитанных книг и сотней написанных программ на С++/Delphi и Java — я от безнадеги начал учить 1С.

    Но к моему счастью, кабельный интернет уже «завезли» в наш город, и можно было попытать счастья дав объявление о поиске работы на сайтах. Имея почту на mail.ru и нередко туда заходя, я нашел для себя раздел объявления и написал там про весь свой богатый опыт в области разработки ПО. Я уже писал в прошлой части, что первые десять ответов на мое объявление, были в духе — «напиши Гейтсу». А вот 11-ым, был парень, который развернул мою судьбу на 180 градусов, так же, как в свое время это произошло на первом занятии на курсах программирования.

    Мне в ящик упало письмо, примерно такого содержания:

    Здравствуйте Денис,
    Меня зовут Самвел, и я директор компании OutsourceItSolutions.
    Мы заметили ваше объявление, о поиске работы разработчиком на mail.ru. Готовы рассмотреть вашу кандидатуру. Предлагаю поговорить более подробно по ICQ — 11122233.

    С уважением
    Самвел,
    Генеральный директор,
    OutsourceItSolutions


    Подобный официоз и овер-деловой стиль продолжался на всем пути нашего сотрудничества. Как говорят на Западе, у меня были «mixed feelings». С одной стороны, человек предлагает работу, и вроде бы не тот шлак, который был у нас в городе. С другой, было ничего неизвестно об этой компании, чем она занимается и какие условия предлагает. Разумеется надо было действовать, пока терять было нечего. Мы быстро связались в ICQ, Самвел задал мне несколько вопросов, и предложил встретиться для подписания документов для начала работы. Вопросы от него были общими и касались в основном моих скилов и опыта.

    Вроде таких: «На чем пишите?», «Что можете показать?», итд. Никаких «Чем отличается абстрактный класс от интерфейса» — не было. Тем более задачек в духе “перевернуть массив”.

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

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

    Самвел заикался о том, что если у меня есть друзья с IT-навыками, то можно привести их с собой. Что между строк читалось, как «берем всех без разбору». Мало кто согласился из моих одногруппников, а точнее это один из десяти опрошенных. Ирония в том, что те девятеро, у которых были важные дела, вроде пивнухи или Counter-Stirke по сетке, через время тоже попали к Самвелу или прошли через него.

    Так вот, согласившийся парень по имени Серега, пошел разведывать со мной, что за бизнес у этого человека, и посмотреть на перспективы. Серега всегда впрягался в любой блудняк, когда я ему что-то предлагал. Я часто фонтанировал идеями, вроде сделать соц.сеть для поиска работы, и Серега подключался, хотя бы в качестве консультанта. Кстати, в 2006-ом году LinkedIn только развивался, а за пределами Штатов вообще не было ничего подобного. И потенциально, правильно реализованная идея такой соц.сети, могла быть продана сегодня за 26 млрд.$.

    Но вернемся к встрече с Самвелом. Я понятия не имел, что меня ждет впереди, и на каких условиях мы будем работать. Единственное, что меня интересовало это — буду ли я получать свои заветные 300$/мес., и если уж повезет, то используя стек технологий, которые я знал.

    Мы договорились встретиться в людном месте, возле стадиона. Рядом с нами в ряд стояли лавочки и было шумно. Это место, недалеко от центра промышленного города, больше подходило для распития бутылки пива, чем подписания контракта на новую работу в компании OutsourceItSolutions в лице генерального директора по имени Самвел.

    Поэтому первым вопросом к нему было: «А что, офиса у вас нет?». Самвел замялся, и отведя глаза, ответил, что пока нет, но планируем открывать.

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

    Еще больше не понимая о чем речь, мне пришлось кивнуть. Еще минут пять, я судорожно искал в тексте ключевые слова, такие как «штраф», «кредит», «обязан», «в случае невыполнения». Убедившись, что ничего такого нет — поставил свою подпись. Напомню, что со мной был Серега, для моральной поддержки и поиска новых возможностей заработка для себя. Также не понимая, что он подписывает — повторил это действие за мной. Мы перекинулись еще парой слов с Самвелом. Опять про мои навыки и опыт. Спросил, знаю ли я PHP?

    Вот с чем-чем, а с PHP очень редко работал. Поэтому сказал, что знаю Perl. На что Самвел надменно выкинул — «Та, Perl — это прошлый век». Хотя век только начался…

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

    На следующий день прилетело письмо, в котором мне выдавался «корпоративный email», ссылка на мой личный профайл и инструкции как его заполнять. Также образец заполненного профайла самого Самвела.

    Думаю в этом месте стоит рассказать, что это за компания OutsourceItSolutions. Компании как таковой — юридически не существовало. Был очень слабый сайт с вырвиглазным дизайном тех лет и гендир. Самвел. Вероятно сидящий в трусах и майке перед монитором у себя дома. Он же был веб-разработчиком, на чем и делал основной доход с рейтом в 20$/час. Я раньше пересекался с его отцом, который занимался тем же самым, чем занялся Самвел. А именно искал студентов старших курсов IT-специальностей, которых можно было зарядить для заказов на Запад. Обычный самодельный аутстаф.

    Так вот Самвел, был зарегистрирован на фриланс-бирже oDesk (который сейчас Upwork), с самого ее появления в 2004 году. Разумеется, у него уже был прокачанный профайл, куча скиллов, и ясное понимание, как работать с зарубежными заказчиками.

    Также пойдя по стопам отца, он открыл свое agency на oDesk. Туда он приводил, таких как я, и брал процент с каждого заработанного часа. На тот момент у него числилось порядка 10-15 человек в agency. Последний раз, когда я туда заглядывал, количество «IT-специалистов» перевалило за сотню.

    Вернусь к своему рабочему заданию — заполнить профайл на oDesk. Как вы поняли, Самвел привел меня во фриланс. Это была единственная возможность что-то заработать в то время и в том месте, моими знаниями. Мне повезло. Как и большинству моих друзей, которые пошли во фриланс вслед за мной. Сейчас у большинства из нас по 10-12 лет опыта в IT, фрилансе, удаленке. Не все так преуспели из нашей группы, но это отдельная тема.

    Увидев в верху oDesk-профиля двадцатым болдом надпись 8$/hr, я быстро начал перемножать эту цифру на сорокачасовую рабочую неделю, потом на 160 часов в месяц. И насчитав в итоге 1280$, испытал радостную эйфорию. Я сразу прикинул, сколько мне нужно будет времени, чтобы купить подержанный ВАЗ-2107, который стоил порядка 2000$. С еще большим энтузиазмом я бросился заполнять профайл и писал в него все, что происходило и возможно будет происходить.

    В графе Other Experience написал, что неплохо играю в футбол и был капитаном команды. За что Самвел тактично намекнул, что этот экспириенс — не в тему и нужно его удалить. Потом я начал проходить тесты на oDesk'e. Это такое себе занятие, и даже если твоя фамилия — Страуструп, то не факт, что по С++ ты получишь высший бал. Вопросы писались то ли индусами, то ли другими фрилансерами так, что в них было полно неоднозначностей, а порой и ошибок. Позже, oDesk выслал мне эти вопросы с ответами, и попросил сделать ревью тестов. Я нашел как минимум 10 ошибок и неправильно поставленных формулировок.

    Но тем не менее. За тест по Delphi 6 — я получил 4.4 из 5, что было для меня достижением. А по С++ и вовсе медальку «first place», что как-бы означало — сам сатана не смог пройти этот тест до сих пор. Это было следствием моих усилий по изучению стандарта и написанию компилятора. Поэтому, даже с пустым профайлом, у меня уже было конкурентное преимущество перед другими фрилансерами.

    Мой профайл в 2006 году
    Мой oDesk-профайл в 2006-2007 годах

    Надо сказать, что в 2006 году, oDesk.com — это было такое уютненькое место, где 2 раза в день появлялись посты, в разделе Desktop Software Development. На них отвечало 3-5 человек, в основном из Восточной Европы. И с пустым портфолио, можно было выхватить хороший проект. В общем — конкуренции не было, и так и случилось. Я получил первый проект достаточно быстро.

    Где-то в течение недели-двух, Самвел слал заявки на работу, по моей нише. Потом сказал, чтобы я слал сам — шаблоны заявок у меня есть.

    Первые клиенты


    По иронии судьбы, моим первым клиентом на oDesk'e, стал студент из Америки, с задачей подобной той, что я решал нашим студентам за чебурек. В районе 10 вечера, ко мне в Yahoo Messenger постучался первый клиент. Я немного занервничал, ведь чувствовал, что был на пороге чего-то важного. И от этого заказа зависит будущее. В любом случае, как почти у любого нормального человека, который выходит на работу в первый день. Да еще и не работав до этого.

    Этот парень-заказчик, скинул мне вордовский файл, с подробным описанием задачи до мелочей. Примерами ввода-вывода и оформлением кода. Качество требований было на порядок выше нашего. Несмотря на ночь за окном, я бросился писать задачу, чтобы сегодня же ему выслать. Мне важно было получить первый положительный отзыв. Затем последовал стандартный вопрос клиента — «сколько займет решение задачи?». Я прикинул, что делов тут часа на 3, плюс час, чтобы все отполировать, протестировать.

    Получается 4 и по традиции умножаем на 2, в случае форс-мажоров и любителей доделок. Отвечаю: “8 часов, завтра скину решение”.

    На деле же, я закончил к двум ночи. А в Западной части США было еще светло. Поэтому накрутив в трекере 5 часов, я отправил решение своему первому клиенту-студенту из Америки.

    На следующий день, было много радости и благодарностей от этого парня. В отзыве он написал, какой я замечательный и что сделал все за 5 часов вместо заявленных 8. Вот она — лояльность клиента. Я бы конечно сделал и за бесплатно, лишь бы мне пошли долгосрочные заказы. Но какова была моя радость, когда мне на счет поступило целых 40$. Не 2$ от наших студентов, а целых 40! За ту же самую работу. Это был квантовый скачок.

    Долгосрочный клиент


    Время шло, мне попадалась разная мелочь, которая все равно давала заработок выше среднего по городу. Я только вникал в суть происходящего. Говорить нужно было на английском, причем бегло. Хоть я и учил язык в школе и универе, но другое дело native-speaker. Особенно если это американец. Тогда была популярна программа Magic Gooddy, которая переводила целые предложения.

    Еще и синтезатор речи встроенный. Это сильно помогало, хоть и качество перевода было в стиле Равшана и Джамшуда.

    magic-Goody
    Magic Gooddy — программа, которая помогала вести диалог с первыми клиентами

    Однажды я отправил заявку на работу, где нужно было написать плагин для Internet Explorer, который собирает данные из соц.сети MySpace. На сегодняшний день оба проекта — пережиток прошлого. А в 2006-ом — это был мейнстрим. Никто не думал, что фейсбук выстрелит, а MySpace совсем затухнет. Также никто не пользовался Хромом, т.к. его еще не было. А плагины для Firefox — не были популярны. В Штатах доля IE была в разы больше других браузеров. Поэтому, ставка у заказчика была верная, только с таймингом он отстал лет на 5.

    Что ж, мне дали тестовое задание на пару сотен долларов, написать плагин, который логирует все события происходящие в IE.

    Как это делать — я понятия не имел. В универе нас этому не учили, заказов таких не было. Пришлось идти искать на любимый rsdn.ru (StackOverflow тоже не было кстати) и искать по ключевикам “IE, плагин”. Какова была моя радость, что какой-то другой программист сделал заготовку того, что было написано в моем ТЗ. Скачав исходники, натянув на них окошко для вывода логов событий браузера, я отправил задачу на проверку.

    Через полчаса, пришел ответ — «I am very happy! This is exciting work! Let's continue cooperate!».
    То есть, человек остался доволен и горит желанием продолжать на почасовой основе. Что для меня было удивительно, он предложил со временем поднять мой рейт с 10$ до 19$. Я действительно очень старался, но мне не хватало опыта ведения проекта в одиночку. И Andy (так звали клиента) старался мотивировать меня то деньгами, то рассказами как он ищет инвестора. При всем при этом, Andy — это как раз тот человек, который дал мне уверенность, что на фрилансе можно зарабатывать, и очень неплохо. Он же дал мне возможность уйти от Самвела, и завести индивидуальный профайл, чтобы не платить лишние проценты за просто так.

    В общей сложности, я проработал с Andy больше года. Все его требования, задумки и идеи, я воплощал в С++ коде. Он же рассказывал мне, как бегает по инвесторам, для масштабирования проекта. Приглашал несколько раз к себе в Америку. В общем у нас сложились дружеские отношения.

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

    Это было 2 случая, из более чем 60-ти, которые ничем хорошим не закончились. Менталитет такой. И это тема отдельного поста.

    Так вот, зарабатывая как местный олигарх на проекте Andy, я уже приезжал заканчивать университет на своей собственной новой машине.

    Мне казалось, что впереди, все дороги передо мной были открыты. Я верил, что мы таки найдем инвестиции под этот проект, а я буду в нем как минимум Team Lead.

    Но не все так гладко в этом бизнесе. Получив диплом специалиста, я со своей девушкой поехал на море, отдохнуть-повеселиться. Тут-то Andy и подсунул мне свинью. Пока я релаксировал — он закрыл контракт, а когда я попросил объяснить в чем причина, то он неохотно ответил, что денег нет, все тлен и в проекте куча багов. Поэтому исправляй этот список из сотни багов за пару сотен, и посмотрим что дальше будет. Крутой поворот, однако. Конечно это не компания Dropbox, которая закрыла Mailbox за 100млн.$, но дальнейшие действия были не совсем ясны.

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

    Я же начал поиск нового клиента на oDesk, что давалось с трудом. В хороших доходах, стабильности и рейтах — есть один недостаток. Они расхолаживают. Если вчера я мог заработать 600$ за неделю, добавив пару фич. То «сегодня», с новым клиентом, за эти же 600$ мне нужно выполнить бóльший объем работы, попутно вникнув в инструменты клиента, инфраструктуру, команду, предметную область и в целом специфику общения. В начале карьеры — это непросто.

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

    В следующей части планируется рассказ про глобальный и локальный кризис, уровень Middle, первый завершенный крупный проект, который увидел свет и про запуск своего стартапа.

    Часть 5. Кризис. Middle. Первый релиз >>
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      +3
      Читается легко и увлекательно, не хуже предыдущих частей.
      И просто полезно такое узнавать, конкретный практический опыт.
        +1

        Интересная статья, хотелось бы увидеть продолжение

          +1
          Прочитал с удовольствием. Буду надеяться на продолжение!
            –2

            Извините, но эта статья полна сказочных странностей. Как багажом в десятки прочитанных книг и сотней написанных программ на С++/Delphi и Java и для кого тогда были эти программы. Я годами оттачиваю c++ и алгоритмы а тут человек уже к 4ому курсу типо отточил судя по тексту ну три первых комментатора чуть ли не под копирку

              0
              Я годами оттачиваю c++ и алгоритмы а тут человек уже к 4ому курсу типо отточил
              Про СиПл не скажу, не специалист. Но сам давно пишу на JS, однако всё время чувствую недостаток подготовки, несмотря на десятки прочитанных книг и т.д. При этом видел (формальных) джуниоров, которые за год набирали уровень выше моего. Обидно, но все люди разные, всегда найдётся тот, кто в чём-то талантливее. А уж если с ранней юности начал чем-то подобным заниматься…
                +1
                Как багажом в десятки прочитанных книг и сотней написанных программ на С++/Delphi и Java и для кого тогда были эти программы

                Почитайте вторую и третью часть, там описывается, что с 8-9 класса, он постоянно изучал книги по программированию (и даже кратко описал какие). Это 7 лет времени, вполне достаточно времени даже для сотни прочитаных книг.
                Сотня программ это как считать, если считать каждую учебную/хобби программу/алгоритм/hello world/лабораторную, то к окончанию института можно и тысячи насчитать.

                Я годами оттачиваю c++ и алгоритмы а тут человек уже к 4ому курсу типо отточил

                Автор вроде явно сказал, что к 4ому курсу он отточил на уверенного Junior'а. Вроде должно быть очевидно, что Senior'а от Junior'а отличает вовсе не вызубренные особенности языка или количество вызубренных алгоритмы/патернов (как раз, Junior может лучше пройти тесты вроде «определение 4 нормальной формы базы данных»).
                  0
                  Ну собственно поэтому я извинился, так как не понял состыковок в виде нескольких языков программирования и сотни программ, я посчитал их завершенными цельным и проектами и тут 1с
                    +1
                    А вы все-таки прочитайте 3 часть, человек написал собственный компилятор C++ и делал лабы для доброй половины города по всем языкам ПО подряд в течении четырех лет.
                  +1
                  Да, вам выше ответили, где и как я набирался опыта. А также подробно расписано в предыдущих главах. Но тем не менее, я был джуном. Книги и проекты — это хорошо, но когда дело дошло до большого проекта — стало сложновато.
                  Про комментарии — сказать нечего. Я благодарю этих людей, за то что поддерживают и кому-то эти посты полезны. Это вдохновляет писать дальше.
                    +1
                    Тогда еще раз извините, вы действительно молодец
                  +1
                  Прочитал все части на одном дыхании. Жду продолжения!
                    +1
                    До сих пор работаете через Upwork? Как работа в 2006 и в 2019 — отличается?

                    Спасибо за статью, очень крутой опыт!
                      0
                      Смотря в чем отличие искать. Если в количестве заказов и фрилансеров — то с нескольких тысяч в 2006-ом, до нескольких миллионов в 2019-ом. Соотв. на один хороший заказ, может быть по 50-100 заявок. Из них 90 из чайных республик.
                      Частота постов по веб-разработке 1-5 минут, тогда как в 2006 можно было пол дня прождать нового job post'a. Постараюсь об этом подробно рассказать в следующих сериях.
                      Вам спасибо за отзыв!
                      +1
                      Замечательная статья, отлично подходит для плавного погружения в работу после долгих праздников. Жду продолжения!
                        +1
                        Круто!!!
                          +1
                          Отличный цикл статей, благодарю, кое какие книги начал изучать.
                          Пишите дальше, очень интересно читать.
                            +1
                            Огромное спасибо, читается очень легко и увлекательно, тоже начинал свою карьеру (я системный администратор) в 2000-х годах, правда первое время ставил «Винду» за пиво, чинил компы, клал сети, правда жалею что в то время вообще не увлекался программированием, а только недавно начал. Тоже как и вы учился в колледже потом заканчивал университет правда по специальности ВТ и ПО. Поставил бы вам плюс в карму, да не могу.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое