Привет, я Алексей. Стал программистом в 29 лет. Сегодня у меня 4 года стажа, я работаю удаленно на английскую компанию, мой оклад привязан к фунту стерлингов и приблизительно в 10 раз больше средней ЗП по стране. Впервые с программированием я столкнулся… в 29 лет, когда начал учиться кодить.

Предыстория


Я закончил университет по специальности тележурналистика. На последнем курсе пошел работать на ТВ и провел там 6 лет. Последние годы работал на иранский телеканал IRINN. Самостоятельно организовывал рабочий процесс, в основном работал из дома — монтировал видео, писал текст, когда нужно — ездил на съемки. Уже тогда меня соблазнил формат фриланса. Главными преимуществами для меня было отсутствие строгого графика, приоритет на выполнении задачи, а не количестве времени проведенного в офисе, отсутствие начальства, уровень ЗП.

В 2014 году мой контракт с IRINN закончился. Возвращаться на украинские телеканалы желания не было. Отталкивали и зарплата и необходимость работать в офисе. Решил искать для себя новую нишу. В активных поисках я провел следующие 2 года. Я попытался организовать свою продакшн студию. Позже продавал товары на eBay, покупая их на Aliexpress. Сегодня это называется дропшипинг, тогда я об этом не знал. Однако мою лавочку быстро прикрыли, когда официальный представитель Desigual обратился к eBay с жалобой о продаже подделок. Затем я занимался поставками бриолина в барбершопы. Все это время для меня одним из главных приоритетов была возможность работать удаленно.

О программировании я впервые задумался, когда мой близкий друг переучился в iOS разработчика. Будучи гуманитарием, как и я, он меня сильно этим удивил. Все стереотипы о программистах в моей голове не позволяли мне понять это событие. «Как можно СТАТЬ программистом» — недоумевал я. Ими рождаются, ну или на крайний случай, в них превращаются в университете. И тут Саша, еще вчера пресс-секретарь, говорит мне, что стал программистом…
Однако он очень быстро меня соблазнил этой, непостижимой на тот момент для меня, профессией. Высокие зарплаты, возможность работать удаленно из любой точки мира и сильная страсть к работе. Звучало волшебно.

image

Обучение


Я решил тоже стать iOS разработчиком. В обучении я пошел по протоптанной Сашей дорожке. Это, выложенные в свободный доступ, видео записей лекций университета Стэнфорд.
Начал с курса CS106a Programming Methodology. Это вводный курс в программирование, никакой подготовки или особых знаний не требуется. Обучение проходит на языке Java. Именно там я познакомился с основами, главными паттернами и понятиями. Курс, конечно, старенький — 2008го года, но его ведет очень колоритный преподаватель Мехран Сахами. Он сильно повлиял на первые впечатления от обучения и программирования в принципе. Лекции смотрятся на одном дыхании. Преподавание и материалы на английском языке. Когда я закончил курс, то стал прилично быстрее читать и воспринимать англоязычную информацию.

Дальше был курс CS106b Programming Abstractions (на языке С++). Он оказался значительно сложнее. В CS106a обучение проходило в веселой форме, мы программировали робота или создавали социальную сеть с интерфейсом. CS106b изучал такие сложные вещи, как рекурсия, алгоритмы поиска и сортировки и никакого интерфейса. Мне это было значительно менее интересно и я остановился на половине программы.

После этого я пошел на оффлайн курсы «iOS с нуля». Мне нужно было общение с реальным ментором. Будучи уже подготовленным в какой-то степени, мне было легко учиться. В будущем преподаватель (парень на 5 лет младше меня) стал моим партнером в компании и мы до сих пор общаемся и даже работаем на одного работодателя.

Отсюда совет начинающим — заводите знакомства в самом начале — это вам сильно поможет. Идите на курсы, на встречи, везде, где можно познакомиться с разработчиками вашего профиля.

Затем был еще один оффлайн курс «iOS для продвинутых». Параллельно я проходил курс Стэнфорда Developing iOS 9 Apps with Swift. Это, пожалуй, лучшее, что можно найти в интернете по изучению iOS и Swift. Правда курс не рассчитан на новичков и уже устарел. Мне же повезло, на тот момент курс еще не был окончен. Лекции выливались в сеть по мере того как их снимали в аудитории Стэнфорда. Фактически, я учился вместе со студентами. Я делал домашние задания и сверял результаты на специальных форумах.

Сегодня, к сожалению, самые свежие лекций касаются iOS 11, которая также устарела.
Был еще в процессе обучения неполный курс на Udemy (около $10), значительного впечатления он не произвел на меня.

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

Первая работа


Первую работу (хоть и интерном) я получил на 6-ой месяц со старта обучения. Я посетил встречу Сocoa Heads для разработчиков под Apple. Эти встречи проходят по всему миру стараниями местных сообществ разработчиков. Там я знакомился с людьми и просил совета по трудоустройству. Мне порекомендовали обратиться к одному из спикеров. Оказалось, компания, в которой он работал, искала Джуна iOS на роль интерна. Мне предложили работать за опыт на реальном проекте и менторство. Я согласился. И не прогадал, в течение 4х месяцев я получил огромный опыт. Команда оказалась очень сильной и я прилично вырос. В последний месяц работы там, я начал размещать резюме и прошел первое же собеседование, на которое меня пригласили. Мне предложили $700 в месяц за фултайм в офисе. На новой работе я проработал 2 недели и меня позвал в стартап мой преподаватель с офлайн курсов на $1000 в месяц. И все это через 10 месяцев после начала обучения.

Своя компания


После работы в стартапе, мы с преподавателем (Иваном) решили начать свое дело — аутсорс разработку. У нас был опыт поиска разработчиков, заказы время от времени поступали. Казалось, что это следующий логичный шаг. К тому же, у меня были амбиции и я не хотел быть просто наемным программистом. Мне было 30 и я считал, что раскачиваться времени у меня уже нет — нужно брать быка за рога. Мы придумали название компании, сделали сайт, собрали несколько разработчиков, готовых подключиться при заходе заказа. И начали постепенно разработку. Заказы шли от прошлых клиентов Ивана, частично искали на Upwork. Но это были мелкие задачи и я активно пытался продвигать нас в LinkedIn. Мы были нацелены получать заказы в Европе и, по возможности, в Штатах. С этой целью я открыл компанию в Эстонии через e-residence, чтобы клиентам было проще с нами вести дела. Однако, за те пару лет, что компания просуществовала, ни одной транзакции через эстонскую компанию так и не прошло.

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

image

В итоге


С конца 2018 я работаю на английскую компанию. Причем попал я туда при удивительных обстоятельствах. После закрытия своей компании я начал рассылать активно свое резюме исключительно на американские и европейские сайты для поиска работы удаленно. Однако откликов и собеседований почти не было. В итоге, я пошел работать в офис. Через полгода со мной связались из американской компании. Они искали на удаленку разработчика, сказали, что я отправлял им резюме. Я прошел собеседование. Мне предложили почти в 3 раза больше, чем я на тот момент получал.

Еще через год эта американская компания получила инвестиции под проект, на котором я работал. Для этого стартапа отдельно зарегистрировали компанию в Лондоне, куда и переехал весь менеджмент.

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

Главные выводы, которые я сделал пройдя этот путь:

  • В самом начале важно заводить знакомства. С менторами, преподавателями, студентами. В будущем именно эти люди могут вам помочь с карьерой.
  • В самом начале стоит ориентироваться не на ЗП, а на команду, с которой можно быстро расти.
  • Цените себя высоко. Не важно, что у вас мало опыта. Не важно, что большая конкуренция. Я всегда игнорировал вакансии с малой ЗП, всегда желал больших сумм. И достойная работа меня сама нашла. Тут может быть компромисс только с сильной командой.
  • Учитесь. Постоянно. Тут, кроме того, что я Капитан Очевидность, добавить нечего.
  • Английский язык это must have. Это возможности и это уровень разработчика. Это доступ к информации и т.д. и т.п.

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