Entrare nell'IT: l'esperienza di uno sviluppatore nigeriano

Entrare nell'IT: l'esperienza di uno sviluppatore nigeriano

Spesso mi vengono poste domande su come iniziare una carriera nel settore IT, soprattutto dai miei connazionali nigeriani. È impossibile dare una risposta universale alla maggior parte di queste domande, ma mi sembra comunque che delineare un approccio generale al debutto nell'IT possa essere utile.

È necessario sapere come scrivere il codice?

La maggior parte delle domande che ricevo da coloro che desiderano entrare nel mondo dell'IT in Nigeria riguardano specificamente l'apprendimento della programmazione. Penso che il motivo risieda in due circostanze:

  • Anch'io sono uno sviluppatore, quindi è logico che le persone chiedano il mio consiglio su questioni correlate.
  • Lavorare con il codice è oggi l'opportunità di carriera più interessante nell'IT, almeno qui. Molte persone pensano che non ci siano altre opzioni oltre a questa. Aggiungendo benzina sul fuoco, i programmatori e i loro manager hanno gli stipendi più alti del settore in tutto il mondo.

Secondo me, è importante rendersi conto che non è necessario impegnarsi nel codice e sforzarsi di diventare, come dice l’espressione generalmente accettata, un “tecnico”. Sono dell'opinione che chiunque possa imparare a programmare e farlo professionalmente con sufficiente impegno, ma forse non ne hai bisogno.

Ci sono anche molti altri percorsi di carriera nel settore IT che vale la pena considerare. Di seguito esprimerò i miei pensieri su alcuni di essi e analizzerò quanto siano promettenti dal punto di vista di una persona che vive in Nigeria.

Questo non è ancora un elenco completo delle professioni alternative non direttamente correlate alla scrittura di codice. Parlerò però anche della mia esperienza come programmatore: se sei venuto qui per questo scorri fino alla sezione “E la programmazione?”

Opzioni per lavorare come non programmatore

disegno

Il design è un concetto abbastanza ampio nell'IT, ma di solito quando le persone mi fanno domande sul design, parlano di UI o UX. Questi due aspetti includono anche una vasta gamma di fenomeni: tutto ciò che riguarda le sensazioni visive, tattili e persino uditive che sorgono quando si interagisce con un prodotto rientra in essi.

Nelle grandi organizzazioni, soprattutto quelle con un ecosistema tecnologico ben sviluppato, le attività di UI e UX sono frammentate in specialisti specializzati. Alcuni designer - di solito iniziano come generalisti - si occupano solo delle icone, altri si occupano solo delle animazioni. Questo grado di specializzazione è insolito in Nigeria: il settore non ha ancora raggiunto la maturità necessaria per diffondersi. Qui è più probabile trovare generalisti che svolgono attività relative a UI e UX.

In effetti, non sono rari anche i designer che svolgono anche un lavoro front-end part-time. Ma ora la situazione comincia a cambiare. Sempre più aziende stanno avendo abbastanza successo da permettersi di assumere specialisti, in modo che interi team lavorino sulla progettazione del prodotto. Sulla base di tutto ciò che è stato detto, padroneggiare semplicemente la professione di designer e limitarsi a quella è una strategia completamente funzionante per costruire una carriera nel mercato nigeriano.

Gestione del progetto

I project manager sono necessari in quasi tutti i campi di attività, quindi puoi provare a utilizzare l'esperienza e le conoscenze acquisite in un altro settore per avere successo nell'IT. Naturalmente, bisogna tenere conto del fatto che alcuni di essi risulteranno irrilevanti, per non parlare del fatto che il manager deve comprendere anche i dettagli tecnici del progetto che sta conducendo. Ma se pensi di essere bravo a gestire le persone, costruire dialoghi e elaborare piani di lavoro efficaci, considera questa opzione.

Marketing e sviluppo aziendale

Anche lo sviluppo del business è un concetto molto vago. Nelle aziende tecnologiche, questo viene fatto dai dipendenti che si assicurano che il progetto mostri un qualche tipo di crescita, che si tratti di un aumento del numero di abbonati, del numero di ordini, di visualizzazioni di annunci o di qualsiasi altro indicatore che rifletta il valore fondamentale che il il prodotto porta. In questo processo sono coinvolte un'ampia varietà di competenze: promozione del prodotto, progettazione, raccolta statistica, comunicazione orale e scritta, gestione del progetto e così via.

Assistenza clienti

È meno probabile che questo ruolo attiri l'attenzione delle persone che desiderano costruire una carriera nel settore IT. Attribuisco questo al fatto che, in generale, le persone che svolgono lavori di supporto in settori non tecnologici sono sottopagate. Questo fatto, a sua volta, è una conseguenza del fatto che le organizzazioni nigeriane non attribuiscono molto valore o non investono nell’assistenza al cliente – una massima profondamente radicata nella nostra cultura: “uscire in qualche modo'.

Tuttavia, ultimamente ho notato un cambiamento nell’atteggiamento nei confronti del supporto e degli investimenti in esso, almeno nell’ecosistema tecnologico. Le giovani aziende si sono rese conto che i nigeriani potevano uscire, ma per gli affari è meglio e più redditizio fornire ai clienti la massima assistenza possibile. Ma anche mettendo da parte questa tendenza, nella prossima sezione fornirò un altro motivo per cui dovresti prendere in considerazione una carriera nel supporto tecnico e in altri campi correlati.

Espansione oltre il mercato nigeriano

L’enorme vantaggio che Internet ci offre è che cancella i confini tra i paesi, almeno per quanto riguarda il lavoro e la cooperazione. Il fatto che tu possa esportare le tue competenze in tutte queste aree (e in molte altre no) mentre lavori da remoto significa che non siamo limitati dalla domanda di designer, lavoratori digitali e manager nella stessa Nigeria.

Esistono diversi modi per entrare nel mercato internazionale:

  • Lavoro a distanza per freelance. Esistono piattaforme create per questo scopo specifico − Toptal, gigster, Upwork e altri. Io stesso lavoro come freelance su Gigster da più di due anni. C'erano anche molti altri specialisti nigeriani che lavoravano lì, non solo come sviluppatori, ma anche come project manager e designer.
  • Lavoro da remoto a tempo pieno. Ci sono startup sparse in tutto il mondo i cui fondatori cercano persone indipendentemente dai fattori geografici. Ciò è chiaramente evidenziato da siti di lavoro come Remoto|OK.
  • Lasciare il paese. Dal mio punto di vista, questo è il percorso più difficile, almeno nel nostro Stato. Viaggiare all’estero non è un compito facile per noi, considerando quante cose dobbiamo fare e pagare per ottenere il visto e il permesso di vivere all’estero, soprattutto se il Paese non è africano. Ma c’è un vantaggio: in linea di principio non è necessario spingersi oltre l’Africa. Ci sono molte aziende interessate ad assumere in Sud Africa, Kenya, Ghana e altri paesi. Bisogna però ammetterlo: fuori dal continente sia la domanda che i salari sono più alti.

Scelgo di lavorare da remoto per due motivi:

  1. Questa è quasi un'opzione ideale sia per il datore di lavoro che per il dipendente. Il dipendente di solito ha questo pensiero: "Ho passato due anni a imparare tutto sul supporto tecnico online e mi stanno offrendo 25 naira". D'altro canto, un datore di lavoro situato a migliaia di chilometri di distanza apprezza le sue capacità ed è disposto ad assumerlo per ragioni finanziarie - molto probabilmente gli costerà meno del lavoro di persone della sua stessa regione. Non sembra molto, ma in realtà non è così spaventoso. I valori assoluti non sempre forniscono un quadro di come i livelli salariali influiscono sulla qualità della vita di una persona. È necessario tenere conto del costo della vita nelle rispettive regioni. Potrebbe essere più redditizio essere uno sviluppatore remoto da 000 dollari a Ibadan piuttosto che guadagnare 40 dollari e vivere a San Francisco.
  2. Se guadagni denaro in un’altra valuta e lo spendi in Nigeria, stai avvantaggiando l’economia locale.

E la programmazione?

La domanda più urgente qui è: “Cosa studiare esattamente?” Le parole “scrivere codice” coprono così tanti argomenti che è difficile non lasciarsi sopraffare e sentirsi sopraffatti dalle informazioni di notte. Esistono molti linguaggi e strumenti di programmazione che possono essere utilizzati in vari modi. I principianti, e soprattutto gli autodidatti, di solito si sentono bombardati da tutti i lati.

"Master JavaScript, non confonderlo con Java, anche se Java sarebbe carino anche se vuoi lavorare con il lato server su Android, tuttavia, JavaScript va bene anche per il lato server e Android, ma è stato originariamente progettato per browser. Avrai bisogno anche di HTML, CSS, Python, Bootstrap (ma Bootstrap non va bene... o no?), React, Vue, Rails, PHP, Mongo, Redis, Embedded C, Machine Learning, Solidity e così via. "

La buona notizia è che questo tipo di confusione può essere evitato. L'anno scorso ho scritto guida, dove spiego i concetti più basilari (in che modo il backend differisce dal frontend e la parte client dal server), che vengono spesso ascoltati dai programmatori, almeno da quelli coinvolti nello sviluppo web o nelle applicazioni mobili.

Ecco un paio di suggerimenti:

1. Pensa a che tipo di prodotto vorresti creare. Sarà più facile capire esattamente cosa dovresti padroneggiare se provi a immaginare il risultato finale. Potresti voler sapere come creare un'app per il monitoraggio delle spese su Android. Potresti aver pensato a lungo a quanto sarebbe bello scrivere tu stesso il codice per il tuo blog personale invece delle soluzioni già pronte di WordPress o Medium. O forse non sei soddisfatto dell'aspetto e del funzionamento attuali dell'online banking.

Non importa che qualcun altro abbia già realizzato ciò che ti sei prefissato come obiettivo. Non importa che nessun altro lo userà tranne te. Non importa se l'idea sembra stupida o irrealistica ai tuoi occhi. Questo è solo per darti un punto di partenza. Ora puoi andare su Google e cercare “come codificare un blog”.

Un altro modo per trovare un punto di partenza è pensare a cosa vorresti diventare esattamente. "Voglio fare machine learning." "Voglio diventare uno sviluppatore iOS." Questo ti darà anche frasi che puoi cercare su Google: "corsi di machine learning".

2. Padronanza frazionata del materiale. Anche i primi passi dal punto di partenza lasciano una sensazione di completa confusione. Il motivo è che creare un blog da zero, ad esempio, richiede la conoscenza di numerosi linguaggi e strumenti. Ma all'inizio questo non dovrebbe disturbarti.

Continuiamo con l'esempio dal primo punto. Quindi, ho cercato su Google "come scrivere codice per un blog" e mi sono imbattuto in un articolo di mille parole che includeva termini come HTML/CSS, JavaScript, SQL e così via. Comincio prendendo la prima parola che non capisco e inizio a cercare informazioni attraverso domande come “cos’è HTML&CSS”, “impara HTML&CSS”.

3. Focalizzare la formazione. Messa a fuoco. Lascia da parte tutto ciò che non è necessario per ora e inizia dalle basi. Familiarizza con il concetto di HTML e CSS (o qualunque cosa tu abbia) il più a fondo possibile finché non senti di averlo capito. Può essere difficile studiarne i rudimenti perché non si capisce come tutto questo venga applicato nella pratica. Divieto di sosta. Con il tempo tutto diventa più chiaro.

Dopo aver terminato con il primo termine incomprensibile, puoi passare a quello successivo e così via all'infinito. Questo processo non finisce mai.

Imparare ad imparare

Quindi, hai deciso di cimentarti nell'IT. Ora dobbiamo solo capire come aggirare alcuni colli di bottiglia:

  • Trova il tempo per la formazione e le risorse con i materiali
  • Far fronte al fattore Nigeria, cioè a tutte le nostre mancanze che rendono qualsiasi azione cinquanta volte più difficile
  • Prendi i soldi che intendiamo spendere

Sarò onesto: non ho risposte esaurienti a ogni punto. La questione delle risorse è particolarmente acuta perché... beh, siamo in Nigeria. Se vuoi diventare globale, le tue condizioni sono molto peggiori di quelle dei tuoi concorrenti. La maggior parte della gente del posto non ha nemmeno accesso a un computer, a una fornitura elettrica ininterrotta o a una connessione Internet stabile. Personalmente, non li avevo tutti e tre quando ho iniziato la mia carriera, e non ero ancora nella situazione peggiore.

La maggior parte delle risorse che elenco di seguito riguarderanno argomenti di programmazione: è qui che sono più esperto. Ma siti simili possono essere facilmente cercati su Google per altre aree discusse.

Internet è tutto per te

Se hai già un accesso costante a Internet o te lo puoi permettere facilmente, allora va tutto alla grande. In caso contrario, sfrutta al massimo il tempo che hai a disposizione per accedere a Internet. Questo non è l'ideale, soprattutto perché ti priva della capacità di trovare immediatamente le risposte alle domande, ma puoi principalmente esercitarti a programmare offline, dopo aver scaricato i programmi e i materiali didattici necessari.

Ogni volta che ho avuto l'opportunità di andare online (ad esempio, nell'ufficio dove ho svolto il tirocinio, o su quella panchina vicino all'ostello dei laureati dell'Università di Lagos dove puoi avere il Wi-Fi), ho fatto quanto segue:

  • Scaricato tutti i file necessari per l'installazione e la configurazione dei programmi
  • Ho scaricato libri, documenti PDF, video tutorial, che ho poi studiato offline
  • Pagine Web salvate. Se vedi un tutorial che non hai tempo di vedere mentre sei in movimento, salva l'intera pagina web sul tuo computer. Risorse come freeCodeCamp offerta repository con un set completo di materiali.

Il traffico mobile è diventato una delle mie spese principali. Gestirlo saggiamente, soprattutto se prevedi di distribuire il Wi-Fi al tuo computer, è un'abilità che deve essere sviluppata. Fortunatamente, i prezzi del traffico sono diminuiti negli ultimi anni.

Ma dovrò pagare libri, tutorial e corsi?

Non proprio. Ci sono un sacco di risorse gratuite su Internet. Codecademy offre un piano gratuito. SU Udacity tutti i corsi tranne i nanolivelli non costano nulla. Gran parte dei contenuti a pagamento sono stati ricaricati su Youtube. SU Coursera и Khan Academy Ci sono anche molti materiali gratuiti. E queste sono solo alcune delle migliaia di risorse disponibili su Internet.

Non si può negare che i contenuti a pagamento siano spesso di qualità superiore. Ora, ovviamente, ho smesso di approvarlo in modo tempestivo, ma una volta ho piratato libri e video per i quali non avevo abbastanza soldi.

E infine, lo strumento più potente a tua disposizione è Google. Ho appena toccato la punta dell'iceberg delle risorse che si possono trovare lì. Cerca semplicemente ciò di cui hai bisogno e molto probabilmente sarà lì.

Codice e design - solo sul computer

Se ce l'hai già, bene. In caso contrario, dovrai preoccuparti di ottenerlo. Ma la buona notizia è che all'inizio non avrai bisogno di nulla di troppo sofisticato, soprattutto se hai intenzione di dedicarti allo sviluppo web. Queste caratteristiche sono abbastanza adatte:

  • Processore 1.6GHz
  • RAM 4 GB
  • Disco rigido da 120 GB

Qualcosa del genere può essere acquistato per circa 70 naira, ancora più economico se lo acquisti di seconda mano. E no, non hai bisogno di un MacBook.

Circa sei anni fa stavo imparando lo sviluppo di WordPress e quasi ogni giorno dovevo prendere in prestito il laptop HP di un amico per farlo. Ho imparato a memoria in quali giorni e orari aveva lezione all'università e quando andava a letto: a quell'ora potevo usare solo il computer.

Naturalmente, queste raccomandazioni non sono adatte a tutti: alcuni non saranno in grado di sborsare 70 naira in una volta, altri non hanno amici con un laptop e desiderano prenderlo in prestito. Ma è di fondamentale importanza trovare almeno un modo per accedere al computer.

Se non hai intenzione di lavorare con il design o il codice, uno smartphone è un'ottima alternativa per apprendere gli argomenti di cui hai bisogno. Ma, ovviamente, è più conveniente con un computer.

Se disponi di un computer solo periodicamente, nel frattempo puoi utilizzare applicazioni mobili che rendono molto comodo assorbire informazioni mentre sei in movimento. Molti di loro offrono l'opportunità di studiare offline.

  • Codecademy Vai, Py - buone opzioni per l'apprendimento del codice in modalità mobile
  • Google ha rilasciato una bella app Primer, con il quale puoi sviluppare le tue capacità di marketing digitale
  • KA Lite è un'applicazione che ti consente di guardare i video di Khan Academy offline.

Sono sicuro che se diamo uno sguardo più attento, questo elenco può essere ampliato.

Dove cercare aiuto

Non devi superare tutte le difficoltà da solo. Ecco alcune risorse che ti aiuteranno nella tua formazione:

  • Andela: La piattaforma Andela produce specialisti di livello mondiale e allo stesso tempo li paga. La durata del programma è di quattro anni e durante questo periodo non solo imparerai, ma realizzerai anche prodotti reali per aziende tecnologiche di tutto il mondo, il che fornisce un'esperienza molto preziosa.
  • Pilota della Lambda School Africa: la scuola Lmyabda forma in nove mesi sviluppatori qualificati che trovano subito lavoro e non ti prenderanno una sola naira finché non trovi un lavoro da qualche parte. Ora Lambda divenne disponibile in Africa; Paystack collabora con la scuola, Comprare monete (dove lavoro), Cowrywise, CredPal e altre aziende locali. Il primo set è ormai chiuso, ma l’anno prossimo, ne sono sicuro, ne annunceremo uno nuovo.
  • Borsa di studio dell'IA. Famoso sviluppatore front-end e co-fondatore della mia azienda BuyCoins Ire Aderinokun Ogni anno paga qualsiasi corso di livello nano su Udacity per una donna. Ciò è particolarmente allettante perché il loro programma non si limita alla programmazione: include anche il digitale e altre discipline aziendali. Al momento le domande non vengono accettate, ma sono in corso i lavori per preparare la seconda iterazione.
  • Risciacqua: un programma gratuito in cui le donne imparano a programmare con i mentori. Qui puoi imparare non solo come lavorare con il codice, ma anche come creare e gestire startup con il supporto di fondatori esperti.

Più suggerimenti

  • Dedica del tempo allo studio e alla pratica ogni giorno.
  • Cerca attivamente ciò di cui hai bisogno. Sicuramente è là fuori da qualche parte su Internet. Quindi continua a cercare.
  • Se la corrente si interrompe frequentemente, migliora la tua capacità di gestire al massimo le batterie del telefono e del computer. Continuo a collegare il caricabatterie alla prima occasione: sono così abituato ai pensieri paranoici che quando torno a casa potrebbe non esserci luce.
  • Una volta raggiunto un livello in cui puoi sentirti sicuro della tua capacità di padroneggiare qualsiasi concetto o argomento, prova a trovare un lavoro a contratto: ti costringerà a comprenderli a fondo. In questa fase, non importa quanto vieni pagato, considera qualsiasi somma come un bel bonus.
  • Vai nel mondo. Fai sapere alle persone che fai sul serio. Ciò può essere ottenuto in molti modi: creare un sito Web personale, impegnarsi in conversazioni con altri sviluppatori, unirsi a gruppi sui social network, scrivere post sul blog.
  • Non arrenderti.

Fonte: habr.com

Aggiungi un commento