Мне часто задают вопросы о том, как начать карьеру в сфере IT, и первую очередь мои соотечественники — нигерийцы. На большинство этих вопросов невозможно дать универсальный ответ, но все-таки, мне кажется, если я намечу общий подход к дебюту в IT, это может оказаться полезным.
Обязательно ли уметь писать код?
Большая часть вопросов, которые я получаю от желающих попасть в IT в Нигерии, касаются именно обучения программированию. Думаю, причина кроется в двух обстоятельствах:
Я сам разработчик, так что вполне логично, что люди ищут моего совета по соответствующим вопросам.
Работа с кодом — самая привлекательная из карьерных возможностей в IT на сегодняшний день, по крайней мере у нас здесь. Многие думают, что кроме нее других вариантов вообще нет. Подливает масла в огонь и то, что у программистов и их руководителей самый высокий уровень зарплат в индустрии по всему миру.
На мой взгляд, важно осознавать, что необязательно браться именно за код и стремиться стать, по общепринятому выражению, «технарём». Я придерживаюсь мнения, что освоить программирование и заниматься им на профессиональном уровне при должном старании может любой, но, возможно, вам это просто не нужно.
В IT есть множество других карьерных путей, о которых тоже стоит задуматься. Ниже я выскажу свои соображения о некоторых из них и разберу, насколько они перспективны с точки зрения человека, живущего в Нигерии.
Это еще не полный список альтернативных профессий, которые не имеют прямого отношения к написанию кода. Однако о своем опыте работы именно программистом я тоже буду говорить — если вы пришли сюда за этим, пролистайте до раздела « А как же программирование?».
Варианты работы не-программистом
Дизайн
Дизайн — довольно широкое понятие в IT, но обычно когда люди задают мне вопросы о дизайне, речь идет о UI или о UX. Эти два аспекта тоже включают в себя обширный круг явлений — под них подпадает все, что касается зрительных, осязательных и даже слуховых ощущений, которые возникают при взаимодействии с продуктом.
В крупных организациях, особенно в тех, где хорошо развита экосистема технологий, задачи UI и UX дробятся под узких специалистов. Какой-то дизайнер — обычно он начинал как универсал — отвечает только за иконки, другой занимается только анимацией. Подобная степень специализации нехарактерна для Нигерии — индустрия еще не достигла зрелости, которая необходима для ее распространения. Здесь вы скорее найдете универсалов, которые выполняют любые задачи, связанные с UI и UX.
На самом деле, даже дизайнеры, которые по совместительству занимаются и фронтендом — нередкое явление. Но сейчас ситуация начинает меняться. Все больше компаний становятся достаточно успешными, чтобы позволить себе нанимать специалистов, так что над дизайном продуктов работают целые команды. Исходя из всего сказанного, просто освоить профессию дизайнера и этим ограничиться — вполне рабочая стратегия для построения карьеры на нигерийском рынке.
Управление проектами
Менеджеры проектов нужны практически в любой сфере деятельности, так что можете попробовать использовать опыт и знания, наработанные в другой индустрии, чтобы преуспеть в IT. Разумеется, нужно учитывать, что-то какие-то из них окажутся неактуальными, не говоря о том, что менеджер должен понимать и технические детали проекта, который ведет. Но если вы считаете, что у вас хорошо получается управлять людьми, выстраивать диалог и придумывать эффективные схемы работы, рассмотрите этот вариант.
Маркетинг и развитие бизнеса
Развитие бизнеса — тоже весьма размытое понятие. В технологических компаниях им занимаются сотрудники, следящие за тем, чтобы проект показывал какой-то рост — будь то рост числа подписчиков, количества заказов, просмотров рекламы или любых других показателей, отражающих ту основную ценность, которую несет в себе продукт. В этом процессе задействованы самые разнообразные навыки: продвижение продукта, дизайн, сбор статистики, коммуникация в устном и письменном виде, управление проектами и так далее.
Поддержка пользователей
Эта роль реже всего привлекает внимание людей, которые стремятся построить карьеру в IT. Я объясняю это тем, что, в общем и целом, люди, работающие в поддержке в сферах, не связанных с технологиями, получают мало. В свою очередь, этот факт является побочным следствием того обстоятельства, что нигерийские организации не придают большого значения помощи клиентам и не вкладывают в нее средства — в нашей культуре прочно укоренилась максима «выкручивайся как-нибудь».
Однако в последнее время я стал замечать, что отношение к поддержке и инвестированию в нее стало меняться — по крайней мере, этот сдвиг наблюдается в технологической экосистеме. Молодые компании поняли, что нигерийцы-то, возможно и выкрутятся, но для бизнеса лучше и прибыльнее обеспечивать клиентам максимум возможной помощи. Но даже если оставить в стороне эту тенденцию, в следующем разделе я назову еще одну причину, почему стоит задуматься о карьере в техподдержке и других связанных областях.
Выход за пределы нигерийского рынка
Огромное преимущество, которое дает нам Интернет — то, что он стирает границы между странами, во всяком случае в отношении работы и сотрудничества. То обстоятельство, что свои навыки во всех перечисленных сферах (и многих не перечисленных) можно экспортировать, работая удаленно, означает, что мы не ограничены спросом на дизайнеров, работников диджитал-сферы и менеджеров собственно в Нигерии.
Есть целый ряд способов выйти на интернациональный рынок:
Удаленная работа на фрилансе. Существуют платформы, которые создавались для этой конкретной цели — Toptal, Gigster, Upwork и другие. Сам я фрилансил на Gigster больше двух лет. Там же работало немало других специалистов из Нигерии — не только разработчиками, но также менеджерами проектов и дизайнерами.
Удаленная работа на полный день. По всему миру разбросаны стартапы, основатели которых ищут людей без оглядки на географические факторы. Об этом явно свидетельствуют сайты вакансий вроде Remote|OK.
Выезд из страны. С моей точки зрения, это самый тяжелый путь, по крайней мере, в нашем государстве. Поездки за рубеж для нас — непростое дело, учитывая, сколько всего нужно переделать и оплатить, чтобы получить визу и разрешение жить за границей, особенно если страна не африканская. Но есть один плюс: за пределы Африки можно, в принципе, и не стремиться. В ЮАР, Кении, Гане и других странах хватает компаний, заинтересованных в найме. Впрочем, нужно признать: за пределами континента и спрос, и зарплаты выше.
Я выбираю для себя удаленную работу по двум причинам:
Это практически идеальный вариант и для работодателя, и для сотрудника. У сотрудника обычно такой ход мысли: «Я два года учился в Интернете всему, что касается техподдержки, а они предлагают мне 25 000 найр». С другой стороны, работодатель, который находится за тысячи километров, ценит его умения и расположен нанять именно его из финансовых соображений — это, скорее всего, обойдется ему дешевле, чем труд людей из его собственного региона. Звучит не очень, но на деле это не так уж и страшно. Абсолютные значения не всегда дают картину того, как уровень зарплаты влияет на качество жизни человека. Нужно учитывать стоимость жизни в соответствующих регионах. Возможно, окажется выгоднее быть разработчиком с зарплатой в 40 000 долларов на удаленке в Ибадане, чем зарабатывать 100 000 долларов и жить в Сан-Франциско.
Если вы зарабатываете деньги в другой валюте и тратите их в Нигерии, то приносите пользу местной экономике.
А как же программирование?
Здесь острее всего стоит вопрос: «Что именно изучать?». Слова «писать код» охватывают столько всего, что ночки сложно не растеряться и не почувствовать себя перегруженным информацией. Есть множество языков и инструментов программирования, которые можно использовать самыми разными способами. Начинающим, а тем более самоучкам, обычно кажется, что их обстреливают со всех сторон.
«Освой JavaScript, только не путай с Java, хотя Java тоже бы неплохо, если хочешь работать с серверной частью на Android, впрочем, для серверной части и Android JavaScript тоже годится, но он изначально заточен под браузеры. Еще тебе нужны будут HTML, CSS, Python, Bootstrap (но Bootstrap же никуда не годится… или нет?) React, Vue, Rails, PHP, Mongo, Redis, Embedded C, Machine Learning, Solidity и так далее».
Хорошая новость: подобной путаницы можно избежать. В прошлом году я написал руководство, где объясняю самые базовые понятия (чем отличается бэкент от фронтенда, а клиентская часть — от серверной), которые сплошь и рядом звучат у программистов — как минимум, у тех, кто занимается веб-разработкой или мобильными приложениями.
Вот пара советов:
1. Подумайте о том, какой продукт вам хотелось бы создать. Понять, что именно вам стоит осваивать, будет проще, если вы попробуете представить конечный результат. Возможно, вам хочется узнать, как сделать приложение для контроля расходов на Android. Возможно, вы давно подумывали о том, как круто бы было самому написать код для личного блога вместо готовых решений от WordPress или Medium. Или, может быть, вас не устраивает, как на данный момент выглядят и работают онлайн-банки.
Неважно, что кто-то, возможно, уже осуществил то, что вы наметили для себя как цель. Неважно, что кроме вас никто не будет этим пользоваться. Неважно, что идея выглядит в ваших глазах глупой или нереалистичной. Это нужно просто для того, чтобы у вас появилась отправная точка. Теперь вы можете пойти в Google и забить «как написать код для блога».
Другой вариант найти стартовую точку — подумать, кем именно вы хотели бы стать. «Хочу заниматься машинным обучением». «Хочу быть разработчиком на iOS». Это тоже даст вам формулировки, которые можно загуглить: «курсы по машинному обучению».
2. Дробное освоение материала. Первые шаги со стартовой точки также оставляют ощущение полной неразберихи. Причина в том, что создание блога с нуля, допустим, требует знания целого ряда языков и инструментов. Но в самом начале вас это не должно беспокоить.
Давайте продолжим с примером из первого пункта. Итак, я забил в Google «как написать код для блога» и наткнулся на статью в тысячу слов, в числе которых оказались термины вроде HTML/CSS, JavaScript, SQL и так далее. Я начинаю с того, что беру первое слово, которое мне непонятно, и начинаю искать информацию через запросы в духе «что такое HTML&CSS», «изучить HTML&CSS».
3. Фокусное обучение. Сосредоточитесь. Оставьте пока все лишнее в сторону и начните с самого базового. Ознакомьтесь с понятием HTML&CSS (или что там у вас было) так основательно, как только сможете, пока не ощутите, что разобрались. Изучать начатки бывает сложно, потому что не понимаешь, как все это применяется на практике. Не останавливайтесь. Со временем все проясняется.
Закончив с первым непонятным термином, можете переходить к следующему — и так до бесконечности. Этот процесс никогда не заканчивается.
Учимся учиться
Итак, вы решились попробовать свои силы в сфере IT. Теперь осталось понять, как обойти некоторые узкие места:
Найти время на обучение и ресурсы с материалами
Справиться с фактором Нигерии, то есть всеми нашими недоделками, из-за которых любое действие становится в пятьдесят раз сложнее
Разжиться деньгами, которые планируем на это все прожигать
Скажу честно: у меня нет исчерпывающих ответов по каждому пункту. Вопрос о ресурсах стоит особенно остро, потому что… ну, мы в Нигерии. Если вы хотите выйти на мировой уровень, условия у вас значительно хуже, чем у конкурентов. У большинства местных нет даже доступа к компьютеру, бесперебойного снабжения электричеством и стабильного интернета. Лично я не располагал всеми тремя, когда начинал свою карьеру, и при этом ситуация у меня была еще далеко не из худших.
Большая часть ресурсов, которые я перечисляю дальше, будет относиться к тематикам программирования — в этом я наиболее подкован. Но подобные площадки легко гуглятся и для других сфер, о которых шла речь.
Интернет — ваше всё
Если у вас уже есть постоянный доступ к интернету или вы легко можете его себе позволить, то все отлично. Если нет, используйте то время, когда получаете доступ к Сети, по максимуму. Это не идеальный вариант — в основном потому, что лишает вас возможности сразу находить ответы на возникающие вопросы — но практиковаться в написании кода по большей части можно и оффлайн, после того как скачаете необходимые программы и учебные материалы.
Всякий раз как у меня появлялась возможность выйти в интернет (например, в офисе, где я проходил интернатуру, или на той скамейке возле аспирантского хостела Университета Лагоса, где можно поймать вайфай), я делал следующее:
Скачивал все необходимые файлы для установки и настройки программ
Скачивал книги, PDF документы, видеотуториалы, которые затем изучал в оффлайне
Сохранял веб-страницы. Если видите туториал, который не успеете просмотреть на ходу, сохраните веб-страницу целиком на компьютер. Ресурсы вроде freeCodeCamp предоставляют репозитории с полным комплектом материалов.
Мобильный трафике стал для меня одной из основных статей расходов. Грамотно им распоряжаться, особенно если планируете раздавать вайфай на компьютер — это навык, который нужно вырабатывать. К счастью, за последние несколько лет цены на трафик стали ниже.
Но мне ведь придется платить за книги, туториалы и курсы?
На самом деле, нет. В Сети есть целая куча бесплатных ресурсов. Codecademy предлагает бесплатный тарифный план. На Udacity все курсы, кроме наноуровней, ничего не стоят. Многое из платного перезалито на Youtube. На Coursera и Khan Academy тоже хватает бесплатных материалов. И это только несколько из тысяч ресурсов, доступных в интернете.
Нельзя не признать: платный контент часто бывает более высокого качества. Сейчас-то я, конечно, своевременно перестал это одобрять, но в свое время пиратил книги и видеоролики, на которые не хватало денег.
Ну и наконец, самый мощный инструмент в вашем распоряжении — это Google. Я еле-еле затронул верхушку того айсберга ресурсов, который там можно обнаружить. Просто ищите то, что вам нужно — и скорее всего, оно там окажется.
Код и дизайн — только на компьютере
Если он у вас уже имеется, то и здорово. Если нет, придется озаботиться тем, чтобы его раздобыть. Но есть хорошая новость: на первых порах вам не понадобится ничего слишком навороченного, особенно если планируете заниматься веб-разработкой. Вот такие характеристики вполне подойдут:
Процессор в 1.6 Ггц
RAM в 4 Гб
Жесткий диск объемом 120 Гб
Нечто подобное можно приобрести где-то за 70 000 найр, даже дешевле, если покупаете с рук. И нет, макбук вам не нужен.
Около шести лет назад я изучал разработку на WordPress и для этого мне приходилось одалживать ноутбук марки HP у друга чуть не ежедневно. Я выучил наизусть, в какие дни и часы у него занятия в университете и когда он ложится спать — пользоваться компьютером я мог только в это время.
Конечно, эти рекомендации годятся не для всех — кто-то не сможет разом выложить 70 000 найр, у кого-то нет друзей с ноутбуком и желанием его одалживать. Но принципиально важно найти хоть какой-то способ получить доступ к компьютеру.
Если вы не планируете работать с дизайном или кодом, тогда смартфон — отличная альтернатива для изучения нужных тем. Но, разумеется, с компьютером удобнее.
Если компьютер у вас появляется только периодически, то в промежутках можно использовать мобильные приложения, с которыми очень удобно усваивать информацию на ходу. Многие из них предоставляют возможность учиться и в оффлайн-режиме.
Codecademy Go, Py — хорошие варианты, чтобы осваивать код в мобильном режиме
Google выпустили симпатичное приложение Primer, с помощью которого можно развивать навыки дидждитал-маркетинга
KA Lite — приложение, которое позволяет смотреть видеоролики от Khan Academy в оффлайн-режиме.
Уверен, что, если посмотреть получше, этот список можно расширить.
Где искать помощь
Необязательно преодолевать все сложности в одиночестве. Вот несколько ресурсов, где вам помогут с обучением:
Andela: Платформа Andela готовит специалистов мирового уровня, и при этом еще и платят им. Продолжительность программы — четыре года, и в течение этого времени вы будете не только учиться, но и делать реальные продукты для технологических компаний со всего мира, что дает очень ценный опыт.
Lambda School Africa Pilot: школа Лмябда за девять месяцев готовит умелых разработчиков, которые моментально находят работу, причем с вас ни найры не возьмут, пока не устроитесь куда-нибудь. Сейчас Лямбда стала доступна и в Африке; со школой сотрудничают Paystack, BuyCoins (тут работаю я), Cowrywise, CredPal и другие местные компании. Первый набор сейчас уже закрыт, но в следующем году, уверен, мы объявим новый.
Стипендия от IA. Знаменитый фронтенд-разработчик и соучредитель моей компании BuyCoins Ире Адеринокун каждый год оплачивает для одной женщины любой курс наноуровня на Udacity. Это особенно заманчиво, потому что их программа не исчерпывается программированием: там есть также диджитал и другие бизнес-дисциплины. Сейчас заявки не принимаются, но ведется работа над подготовкой второй итерации.
Resplash: бесплатная программа, где женщины осваивают программирование под руководством наставников. Здесь можно научиться не только работать с кодом, но также создавать стартапы и управлять ими при поддержке опытных учредителей.
Другие советы
Выделяйте время для обучение и практики каждый день.
Активно ищите то, что вам нужно. Где-нибудь в интернете оно точно есть. Так что ищите.
Если электричество часто отключают, прокачайте свое умение управляться с аккумуляторами телефона и компьютера до максимума. Я до сих пор втыкаю зарядки при первой же возможности — до того привык к параноидальном мыслям, что, когда приду домой, света там может не оказаться.
Как только вы достигнете уровня, где можете не сомневаться в своей способности освоить любые концепты и темы, попытайтесь найти работу по контракту — она заставит вас разобраться в них до конца. На этом этапе не имеет большого значения, сколько вам платят, рассматривайте любые деньги как приятный бонус.
Выходите в свет. Дайте людям понять, что вы серьезно настроены. Этого можно добиться разными способами — сделайте личный вебсайт, вступайте в разговоры с другими разработчиками, присоединяйтесь к группам в соцсетях, пишите посты в блоги.