Вхід до IT: досвід нігерійського розробника

Вхід до IT: досвід нігерійського розробника

Мені часто ставлять питання про те, як розпочати кар'єру у сфері IT, і насамперед мої співвітчизники — нігерійці. На більшість цих питань неможливо дати універсальну відповідь, але все-таки мені здається, якщо я намічу загальний підхід до дебюту в IT, це може виявитися корисним.

Чи обов'язково вміти писати код?

Більшість питань, які я отримую від бажаючих потрапити до IT в Нігерії, стосуються саме навчання програмування. Думаю, причина криється у двох обставинах:

  • Я сам розробник, тому цілком логічно, що люди шукають моєї поради з відповідних питань.
  • Робота з кодом — найпривабливіша з кар'єрних можливостей в IT на сьогоднішній день, принаймні тут. Багато хто думає, що крім неї інших варіантів взагалі немає. Підливає олії у вогонь і те, що у програмістів та їхніх керівників найвищий рівень зарплат в індустрії по всьому світу.

На мій погляд, важливо усвідомлювати, що необов'язково братися саме за код і прагнути стати за загальноприйнятим виразом «технарем». Я дотримуюся думки, що освоїти програмування та займатися ним на професійному рівні при належному старанні може будь-хто, але, можливо, вам це просто не потрібно.

У IT є багато інших кар'єрних шляхів, про які теж варто задуматися. Нижче я висловлю свої міркування про деякі з них і розберу, наскільки вони є перспективними з погляду людини, яка живе в Нігерії.

Це ще не повний перелік альтернативних професій, які не мають прямого відношення до написання коду. Однак про свій досвід роботи саме програмістом я теж говоритиму — якщо ви прийшли сюди за цим, перегляньте до розділу «А як же програмування?».

Варіанти роботи не-програмістом

Дизайн

Дизайн - досить широке поняття в IT, але зазвичай коли люди задають мені питання про дизайн, йдеться про UI або UX. Ці два аспекти теж включають широке коло явищ — під них підпадає все, що стосується зорових, дотикових і навіть слухових відчуттів, які виникають при взаємодії з продуктом.

У великих організаціях, особливо в тих, де добре розвинена екосистема технологій, завдання UI та UX подрібнюються під вузьких спеціалістів. Якийсь дизайнер – зазвичай він починав як універсал – відповідає лише за іконки, інший займається лише анімацією. Подібний ступінь спеціалізації нехарактерний для Нігерії — індустрія ще досягла зрілості, необхідна її поширення. Тут ви скоріше знайдете універсалів, які виконують будь-які завдання, пов'язані з UI та UX.

Насправді навіть дизайнери, які за сумісництвом займаються і фронтендом, — нерідке явище. Але зараз ситуація починає змінюватись. Все більше компаній стає досить успішним, щоб дозволити собі наймати фахівців, так що над дизайном продуктів працюють цілі команди. Виходячи зі всього сказаного, просто освоїти професію дизайнера і цим обмежитись — цілком робоча стратегія для побудови кар'єри на нігерійському ринку.

Управління проектами

Менеджери проектів потрібні практично у будь-якій сфері діяльності, так що можете спробувати використати досвід та знання, напрацьовані в іншій індустрії, щоб досягти успіху в IT. Зрозуміло, треба враховувати, що якісь із них виявляться неактуальними, не кажучи про те, що менеджер повинен розуміти і технічні деталі проекту, який веде. Але якщо ви вважаєте, що вам добре виходить керувати людьми, вибудовувати діалог і вигадувати ефективні схеми роботи, розгляньте цей варіант.

Маркетинг та розвиток бізнесу

Розвиток бізнесу – теж дуже розмите поняття. У технологічних компаніях їм займаються співробітники, які стежать за тим, щоб проект показував якесь зростання — чи то зростання кількості передплатників, чисельності замовлень, переглядів реклами чи будь-яких інших показників, що відображають ту основну цінність, яку несе в собі продукт. У цьому процесі задіяні найрізноманітніші навички: просування продукту, дизайн, збір статистики, комунікація в усному та письмовому вигляді, управління проектами тощо.

Підтримка користувачів

Ця роль найрідше привертає увагу людей, які прагнуть збудувати кар'єру в IT. Я пояснюю це тим, що, загалом, люди, які працюють у підтримці у сферах, не пов'язаних з технологіями, отримують мало. У свою чергу, цей факт є побічним наслідком тієї обставини, що нігерійські організації не надають великого значення допомоги клієнтам і не вкладають у неї кошти — у нашій культурі міцно вкоренилася максима.викручуйся як-небудь».

Однак останнім часом я став помічати, що ставлення до підтримки та інвестування в неї почало змінюватися — принаймні це зрушення спостерігається в технологічній екосистемі. Молоді компанії зрозуміли, що нігерійці, можливо, і викрутяться, але для бізнесу краще і прибутково забезпечувати клієнтам максимум можливої ​​допомоги. Але навіть якщо залишити осторонь цю тенденцію, у наступному розділі я назву ще одну причину, чому варто задуматися про кар'єру в техпідтримці та інших пов'язаних галузях.

Вихід за межі нігерійського ринку

Величезною перевагою, яка дає нам Інтернет, є те, що він стирає кордони між країнами, принаймні щодо роботи та співпраці. Та обставина, що свої навички у всіх перерахованих сферах (і багатьох не перерахованих) можна експортувати, працюючи віддалено, означає, що ми не обмежені попитом на дизайнерів, працівників діджитал-сфери та менеджерів власне в Нігерії.

Є цілий ряд методів вийти на міжнародний ринок:

  • Віддалена робота на фрілансі. Існують платформи, які створювалися для цієї конкретної мети. Топтал, Gigster, Upwork та інші. Сам я фрілансіл на Gigster більше двох років. Там же працювало чимало інших фахівців з Нігерії — не лише розробниками, а й менеджерами проектів та дизайнерами.
  • Дистанційна робота на повний день. По всьому світу розкидані стартапи, фундатори яких шукають людей без огляду на географічні фактори. Про це свідчать сайти вакансій на кшталт Remote | OK.
  • Виїзд із країни. На мій погляд, це найважчий шлях принаймні в нашій державі. Поїздки за кордон для нас — непроста справа, враховуючи, скільки потрібно переробити і оплатити, щоб отримати візу і дозвіл жити за кордоном, особливо якщо країна не африканська. Але є один плюс: за межі Африки можна, в принципі, не прагнути. У ПАР, Кенії, Гані та інших країнах вистачає компаній, зацікавлених у наймані. Втім, треба визнати: за межами континенту і попит, і зарплати вищі.

Я вибираю для себе віддалену роботу з двох причин:

  1. Це практично ідеальний варіант і для роботодавця, і співробітника. У співробітника зазвичай такий хід думки: "Я два роки навчався в Інтернеті всьому, що стосується техпідтримки, а вони пропонують мені 25 000 найр". З іншого боку, роботодавець, який знаходиться за тисячі кілометрів, цінує його вміння і має найняти саме його з фінансових міркувань — це, швидше за все, обійдеться йому дешевше, ніж праця людей з його власного регіону. Звучить не дуже, але насправді це не так уже й страшно. Абсолютні значення не завжди дають картину того, як рівень зарплати впливає якість життя людини. Потрібно враховувати вартість життя у відповідних регіонах. Можливо, виявиться вигідніше бути розробником із зарплатою 40 000 доларів на віддаленні в Ібадані, ніж заробляти 100 000 доларів і жити в Сан-Франциско.
  2. Якщо ви заробляєте гроші в іншій валюті і витрачаєте їх у Нігерії, то користуйтеся місцевою економікою.

А як же програмування?

Тут найгостріше стоїть питання: «Що саме вивчати?». Слова «писати код» охоплюють стільки всього, що ночі складно не розгубитися і відчути себе перевантаженим інформацією. Є безліч мов і інструментів програмування, які можна використовувати різними способами. Початківцям, а тим більше самоучкам, зазвичай здається, що їх обстрілюють з усіх боків.

«Освій JavaScript, тільки не плутай з Java, хоча Java теж би непогано, якщо хочеш працювати з серверною частиною на 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 тисяч найр, у когось немає друзів з ноутбуком і бажанням його позичати. Але важливо знайти будь-який спосіб отримати доступ до комп'ютера.

Якщо ви не плануєте працювати з дизайном чи кодом, тоді смартфон — чудова альтернатива для вивчення потрібних тем. Але, звичайно, з комп'ютером зручніше.

Якщо комп'ютер з'являється лише періодично, то в проміжках можна використовувати мобільні програми, з якими дуже зручно засвоювати інформацію на ходу. Багато хто з них надає можливість навчатися і в офлайн-режимі.

  • Codecademy Go, Py — добрі варіанти, щоб освоювати код у мобільному режимі
  • Google випустили симпатичну програму Праймери, за допомогою якого можна розвивати навички дідждитал-маркетингу
  • KA Lite - Додаток, який дозволяє дивитися відеоролики від Khan Academy в офлайн-режимі.

Впевнений, що, якщо краще подивитися, цей список можна розширити.

Де шукати допомогу

Необов'язково долати всі складнощі на самоті. Ось кілька ресурсів, де вам допоможуть із навчанням:

  • Andela: Платформа Andela готує фахівців світового рівня, і при цьому ще й платять їм Тривалість програми — чотири роки, і протягом цього часу ви не тільки навчатиметеся, а й робитимете реальні продукти для технологічних компаній з усього світу, що дає дуже цінний досвід.
  • Lambda School Africa Pilot: школа Лмябда за дев'ять місяців готує вмілих розробників, які моментально знаходять роботу, причому з вас ні найри не візьмуть, поки не влаштуєтеся кудись. Зараз Лямбда стала доступною і в Африці; зі школою співпрацюють Paystack, Купити монети (Тут працюю я), Cowrywise, CredPal та інші місцеві компанії. Перший набір зараз вже закритий, але наступного року, впевнений, ми оголосимо новий.
  • Стипендія від IA. Знаменитий фронтенд-розробник та співзасновник моєї компанії BuyCoins Ірі Адеринокун щороку оплачує для однієї жінки будь-який курс нанорівня на Udacity. Це особливо привабливо, тому що їхня програма не вичерпується програмуванням: там є також діджитал та інші бізнес-дисципліни. Наразі заявки не приймаються, але ведеться робота над підготовкою другої ітерації.
  • Пересплеск: безкоштовна програма, де жінки освоюють програмування під керівництвом наставників Тут можна навчитися не тільки працювати з кодом, але також створювати стартапи та керувати ними за підтримки досвідчених засновників.

Інші поради

  • Виділяйте час для навчання та практики щодня.
  • Активно шукайте те, що вам потрібно. Десь в інтернеті воно точно є. Тож шукайте.
  • Якщо електрику часто вимикають, прокачайте своє вміння керуватися акумуляторами телефону та комп'ютера до максимуму. Я досі встромляю зарядки за першої ж нагоди — до того звик до параноїдальних думок, що коли прийду додому, світла там може не виявитися.
  • Як тільки ви досягнете рівня, де можете не сумніватися у своїй здатності освоїти будь-які концепти та теми, спробуйте знайти роботу за контрактом - вона змусить вас розібратися в них до кінця. На цьому етапі немає великого значення, скільки вам платять, розглядайте будь-які гроші як приємний бонус.
  • Виходьте у світ. Дайте людям зрозуміти, що ви серйозно налаштовані. Цього можна досягти різними способами — зробіть особистий вебсайт, розмовляйте з іншими розробниками, приєднуйтесь до груп у соцмережах, пишіть пости в блоги.
  • Не здавайтесь.

Джерело: habr.com

Додати коментар або відгук