
Spesso ricevo domande su come avviare una carriera nel settore IT, e i miei concittadini - i nigeriani - sono i più curiosi. Non esiste una risposta universale per la maggior parte di queste domande, ma credo che delineare un approccio generale per entrare nel mondo IT possa essere utile.
È necessario sapere programmare?
La maggior parte delle domande che ricevo da chi desidera entrare nell'IT in Nigeria riguardano proprio l'apprendimento della programmazione. Penso che la ragione stia in due aspetti:
- Essendo io stesso uno sviluppatore, è comprensibile che le persone cerchino il mio consiglio in merito.
- Lavorare con il codice è una delle opportunità di carriera più attraenti nel settore IT al giorno d'oggi, almeno qui da noi. Molti pensano che oltre a questa opzione non ci siano altre possibilità. Aggiunge curiosità il fatto che i programmatori e i loro manager abbiano i salari più elevati nell'industria a livello globale.
A mio giudizio, è importante rendersi conto che non è necessario dedicarsi specificamente alla programmazione e aspirare a diventare, come si suol dire, un "tecnico". Ritengo che chiunque possa apprendere la programmazione e lavorarci a livello professionale con il giusto impegno, ma forse questo non è ciò di cui hai bisogno.
Nel settore IT ci sono molte altre strade professionali da considerare. Di seguito esprimerò alcune mie riflessioni su alcune di esse e analizzerò quanto possano essere promettenti per una persona che vive in Nigeria.
Non si tratta nemmeno di un elenco completo di professioni alternative che non hanno a che fare con la programmazione. Tuttavia, parlerò anche della mia esperienza come programmatore - se sei venuto qui per quello, salta al paragrafo "E per quanto riguarda la programmazione?".
Opzioni di lavoro non legate alla programmazione
Design
Il design è un concetto piuttosto ampio nel settore IT, ma di solito quando le persone mi pongono domande sul design si riferiscono a UI o UX. Questi due aspetti comprendono anche una vasta gamma di fenomeni - includono tutto ciò che riguarda le sensazioni visive, tattili e persino uditive generate durante l'interazione con un prodotto.
Nelle grandi organizzazioni, soprattutto quelle con un ecosistema tecnologico ben sviluppato, i compiti relativi a UI e UX sono suddivisi tra specialisti. Un designer - di solito iniziato come generalista - si occupa solo delle icone, mentre un altro si concentra solo sulle animazioni. Tale specializzazione non è comune in Nigeria, poiché l'industria non ha ancora raggiunto la maturità necessaria per la sua diffusione. Qui è più probabile trovare generalisti che svolgono qualsiasi compito legato a UI e UX.
In realtà, è piuttosto comune che i designer si occupino anche di front-end. Ma ora la situazione sta cominciando a cambiare. Sempre più aziende stanno diventando abbastanza prospere da poter assumere specialisti, permettendo così a intere squadre di lavorare sul design dei prodotti. Tenendo conto di tutto ciò, acquisire semplicemente le competenze di un designer e limitarsi a questo è una strategia valida per costruire una carriera nel mercato nigeriano.
Gestione progetti
I project manager sono richiesti praticamente in qualsiasi settore, quindi puoi provare a sfruttare l'esperienza e le conoscenze acquisite in un altro settore per avere successo nell'IT. Naturalmente, è importante tenere presente che alcune di queste potrebbero non essere più rilevanti, e i manager devono comprendere anche i dettagli tecnici del progetto che gestiscono. Ma se pensi di avere una buona capacità di gestionare le persone, stabilire dialoghi e ideare schemi di lavoro efficaci, considera questa opzione.
Marketing e sviluppo commerciale
Lo sviluppo commerciale è anche un concetto piuttosto vago. Nelle aziende tecnologiche, è compito di alcuni dipendenti assicurarsi che un progetto mostri qualche forma di crescita - che si tratti dell'aumento del numero di abbonati, di ordini, di visualizzazioni pubblicitarie o di qualsiasi altro indicatore che rifletta il valore fondamentale del prodotto. In questo processo sono coinvolte le più diverse competenze: promozione del prodotto, design, raccolta di statistiche, comunicazione scritta e orale, gestione di progetti e così via.
Supporto utenti
Questo ruolo attira raramente l'attenzione delle persone che cercano di intraprendere una carriera nell'IT. Spiego questo perché, in generale, le persone che lavorano nel supporto in settori non tecnologici guadagnano poco. Questo fatto è, a sua volta, una conseguenza del fatto che le organizzazioni nigeriane non attribuiscono grande importanza all'assistenza clienti e non vi investono - nella nostra cultura è radicata la massima «».
Tuttavia, ultimamente ho iniziato a notare che l'atteggiamento nei confronti del supporto e degli investimenti in esso sta cambiando - almeno questo cambiamento è evidente nell'ecosistema tecnologico. Le giovani aziende hanno capito che i nigeriani possono anche arrangiarsi, ma per il business è migliore e più redditizio fornire ai clienti il massimo supporto possibile. Ma anche al di là di questa tendenza, nella prossima sezione citerò un'altra ragione per cui è opportuno considerare una carriera nel supporto tecnico e in altri settori correlati.
Uscire dal mercato nigeriano
Un enorme vantaggio che ci offre Internet è che cancella i confini tra i paesi, almeno per quanto riguarda il lavoro e la collaborazione. Il fatto che le proprie competenze in tutti i settori elencati (e in molti non elencati) possano essere esportate lavorando da remoto significa che non siamo limitati dalla domanda di designer, lavoratori del digitale e manager solo in Nigeria.
Ci sono diversi modi per accedere al mercato internazionale:
- Lavoro da remoto come freelance. Esistono piattaforme create per questo scopo specifico - , , e altre. Io stesso ho lavorato come freelance su Gigster per più di due anni. Anche molti altri professionisti nigeriani vi lavoravano - non solo come sviluppatori, ma anche come project manager e designer.
- Lavoro remoto a tempo pieno. Ci sono startup in tutto il mondo i cui fondatori cercano persone senza preoccuparsi dei fattori geografici. Questo è chiaramente testimoniato da siti di offerte di lavoro come .
- Uscita dal paese. A mio avviso, questo è il percorso più difficile, almeno nel nostro stato. Viaggiare all'estero per noi non è semplice, considerando quanto bisogna riorganizzare e pagare per ottenere un visto e un permesso di soggiorno, specialmente se il paese non è africano. Ma c'è un vantaggio: non è necessario ambire necessariamente a uscire dall'Africa. In Sudafrica, Kenya, Ghana e in altri paesi ci sono molte aziende interessate ad assumere. Tuttavia, bisogna ammettere che al di fuori del continente ci sono sia maggiore domanda che salari più alti.
Scelgo per me il lavoro remoto per due motivi:
- È praticamente l'opzione ideale sia per il datore di lavoro che per il dipendente. Un dipendente solitamente pensa: «Ho studiato tutto ciò che riguarda il supporto tecnico online per due anni, e loro mi offrono 25.000 naira». D'altra parte, il datore di lavoro, che si trova a migliaia di chilometri di distanza, riconosce le sue competenze ed è disposto ad assumerlo per motivi economici - probabilmente costerà meno che assumere persone della propria regione. Non suona molto bene, ma in realtà non è così spaventoso. I valori assoluti non mostrano sempre come il livello salariale influisca sulla qualità della vita di una persona. Bisogna considerare il costo della vita nelle regioni corrispondenti. Potrebbe risultare più vantaggioso essere uno sviluppatore con uno stipendio di 40.000 dollari da remoto a Ibadan che guadagnare 100.000 dollari e vivere a San Francisco.
- Se guadagni in un'altra valuta e spendi in Nigeria, porti beneficio all'economia locale.
E per quanto riguarda la programmazione?
Qui la questione più urgente è: «Cosa studiare esattamente?». Le parole «scrivere codice» coprono così tanto che è difficile non sentirsi sopraffatti dall'informazione. Ci sono molti linguaggi e strumenti di programmazione che possono essere utilizzati in vari modi. Per i principianti, e ancor di più per coloro che sono autodidatti, di solito sembra di essere bombardati da ogni parte.
«Impara JavaScript, ma non confonderlo con Java, sebbene Java sarebbe comunque utile se desideri lavorare sulla parte server per Android, comunque, per la parte server e Android JavaScript va bene, ma è originariamente progettato per i browser. Avrai anche bisogno di HTML, CSS, Python, Bootstrap (ma Bootstrap non serve a nulla... o sì?) React, Vue, Rails, PHP, Mongo, Redis, Embedded C, Machine Learning, Solidity e così via».
La buona notizia è che è possibile evitare questa confusione. L'anno scorso ho scritto , dove spiego i concetti di base (la differenza tra backend e frontend, e tra client e server), che vengono spesso discussi dai programmatori — almeno da quelli che si occupano di sviluppo web o app mobili.
Ecco alcuni consigli:
1. Pensate a quale prodotto vorreste creare. Capire cosa esattamente dovreste apprendere sarà più semplice se provate a immaginare il risultato finale. Forse volete scoprire come creare un'app di gestione delle spese su Android. Magari avete sempre pensato a quanto sarebbe fantastico scrivere il codice per un blog personale invece di usare soluzioni pronte come WordPress o Medium. Oppure, potrebbe non piacervi come appaiono e funzionano attualmente le banche online.
Non importa se qualcun altro ha già realizzato ciò che avete in mente. Non è rilevante che nessun altro lo utilizzi oltre a voi. Non è importante se l'idea vi sembra stupida o irrealizzabile. Serve solo come punto di partenza. Ora potete andare su Google e cercare 'come scrivere codice per un blog'.
Un'altra opzione per trovare un punto di partenza è pensare a chi vorreste diventare. 'Voglio lavorare nel machine learning'. 'Voglio essere uno sviluppatore iOS'. Questo fornirà anche formulazioni che potrete cercare: 'corsi di machine learning'.
2. Apprendimento frazionato. I primi passi da un punto di partenza lasciano anche una sensazione di totale confusione. La ragione è che creare un blog da zero, ad esempio, richiede la conoscenza di diversi linguaggi e strumenti. Ma all'inizio non dovreste preoccuparvi di questo.
Continuiamo con l'esempio del primo punto. Quindi, ho cercato su Google 'come scrivere codice per un blog' e ho trovato un articolo di mille parole che includeva termini come HTML/CSS, JavaScript, SQL, e così via. Inizio prendendo la prima parola che non capisco e cerco informazioni usando richieste come 'che cos'è HTML&CSS', 'studiare HTML&CSS'.
3. Apprendimento focalizzato. Concentratevi. Mettete da parte il superfluo per il momento e iniziate dalle basi. Familiarizzate con i concetti di HTML&CSS (o ciò che vi riguardava) nel modo più approfondito possibile, fino a quando non sentite di aver compreso. Studiare i fondamenti può essere difficile perché non capite come tutto ciò si applica nella pratica. Non fermatevi. Col tempo tutto si chiarisce.
Una volta che avete terminato con il primo termine sconosciuto, potete passare al prossimo — e così via all'infinito. Questo processo non finisce mai.
Impariamo a imparare
Ecco, avete deciso di mettere alla prova le vostre capacità nel settore IT. Ora resta da capire come superare alcuni ostacoli:
- Trovare tempo per lo studio e risorse con materiali
- Affrontare il fattore Nigeria, cioè tutte le nostre inefficienze, che rendono qualsiasi azione cinquanta volte più difficile
- Raccogliere i fondi che intendiamo utilizzare per tutto ciò
Ad essere sinceri: non ho risposte esaustive su ogni punto. La questione delle risorse è particolarmente critica, perché... beh, siamo in Nigeria. Se volete competere a livello globale, le vostre condizioni sono significativamente peggiori rispetto ai concorrenti. La maggior parte delle persone del posto non ha nemmeno accesso a un computer, forniture elettriche ininterrotte e internet stabile. Personalmente, non disponevo di tutti e tre quando ho iniziato la mia carriera, e la mia situazione era ancora lontana dal peggiore.
La maggior parte delle risorse che elencherò di seguito si riferiranno ai temi della programmazione — è quello in cui sono più esperto. Ma simili piattaforme sono facilmente ricercabili anche per altri ambiti.
Internet è tutto per voi.
Se avete già accesso costante a internet o potete permettervelo facilmente, allora è fantastico. Se no, usate al massimo il tempo in cui potete accedere alla rete. Non è l'ideale — principalmente perché vi priva della possibilità di trovare immediatamente risposte alle domande che sorgono — ma è possibile esercitarsi a scrivere codice per la maggior parte offline, dopo aver scaricato i programmi necessari e i materiali didattici.
Ogni volta che avevo l'opportunità di accedere a internet (ad esempio, in ufficio dove facevo uno stage, o su quella panchina vicino all'ostello per studenti di dottorato all'Università di Lagos, dove potevo prendere il Wi-Fi), facevo quanto segue:
- Scaricavo tutti i file necessari per installare e configurare i programmi
- Scaricavo libri, documenti PDF, videoguide che poi studiavo offline.
- Salvavo pagine web. Se trovi un tutorial che non riesci a visualizzare subito, salva l'intera pagina sul computer. Risorse come offrono un pacchetto completo di materiali.
Il traffico mobile è diventato una delle mie principali voci di spesa. Gestirlo in modo oculato è fondamentale, specialmente se intendi condividere Wi-Fi con un computer — è un'abilità che va sviluppata. Fortunatamente, negli ultimi anni i prezzi del traffico sono scesi.
Ma dovrò pagare per libri, tutorial e corsi?
In realtà, no. In rete ci sono una miriade di risorse gratuite. propone un piano gratuito. Su tutti i corsi, tranne i nano-corsi, non costano nulla. Molti contenuti a pagamento sono stati ripubblicati su YouTube. Su e ci sono anche numerosi materiali gratuiti. E questi sono solo alcuni dei migliaia di risorse disponibili su internet.
Non si può negare: il contenuto a pagamento è spesso di qualità superiore. Ora, di certo, ho smesso di approvarlo in modo tempestivo, ma in passato ho piratato libri e video che non potevo permettermi.
E infine, lo strumento più potente a tua disposizione è Google. Ho appena scalfito la superficie di quell'iceberg di risorse che puoi trovare lì. Basta cercare ciò che ti serve — e probabilmente lo troverai.
Codice e design — solo su computer
Se ne hai già uno, ottimo. Se no, dovrai preoccuparti di procurartelo. Ma c'è una buona notizia: all'inizio non hai bisogno di nulla di troppo sofisticato, specialmente se intendi occuparti di sviluppo web. Ecco alcune specifiche che andranno bene:
- Processore da 1.6 GHz
- RAM da 4 GB
- Disco rigido da 120 GB
Qualcosa di simile può essere acquistato per circa 70.000 naira, anche meno se compri di seconda mano. E no, non hai bisogno di un MacBook.
Circa sei anni fa, ho studiato sviluppo su WordPress e per questo dovevo prendere in prestito un laptop HP da un amico quasi ogni giorno. Ho imparato a memoria i giorni e gli orari in cui aveva lezione all'università e quando andava a letto — potevo usare il computer solo in quel periodo.
Certo, queste raccomandazioni non sono valide per tutti — alcune persone non possono investire 70.000 naira tutto in una volta, altri non hanno amici con laptop e la volontà di prestarli. Ma è fondamentale trovare un modo per accedere a un computer.
Se non intendi lavorare con design o codice, allora uno smartphone è un'ottima alternativa per apprendere gli argomenti necessari. Ma, naturalmente, con un computer è più comodo.
Se hai accesso al computer solo occasionalmente, nei periodi intermedi puoi utilizzare app mobili, che sono molto pratiche per assorbire informazioni on the go. Molte di esse offrono la possibilità di imparare anche offline.
- , sono buone opzioni per imparare a programmare in mobilità.
- Google ha lanciato una simpatica app , che ti permette di sviluppare competenze di digital marketing.
- è un'app che consente di guardare video di Khan Academy offline.
Sono sicuro che, cercando meglio, si può ampliare questa lista.
Dove cercare aiuto
Non è necessario affrontare tutte le difficoltà da solo. Ecco alcune risorse dove puoi ricevere supporto nell'apprendimento:
- : La piattaforma Andela forma specialisti di livello mondiale e li remunera. La durata del programma è di quattro anni, durante i quali non solo imparerai, ma anche realizzerai prodotti reali per aziende tecnologiche in tutto il mondo, il che ti offre un'esperienza molto preziosa.
- : La scuola Lambda forma sviluppatori qualificati in nove mesi che trovano subito lavoro, e non dovrai pagare nulla finché non trovi un impiego. Ora Lambda ; collaborano con la scuola Paystack, (qui lavoro io), Cowrywise, CredPal e altre aziende locali. Il primo gruppo è già chiuso, ma sono sicuro che l'anno prossimo annunceremo un nuovo.
- . Il famoso sviluppatore frontend e co-fondatore della mia azienda BuyCoins ogni anno paga per un corso nano di qualsiasi livello su Udacity per una donna. Questo è particolarmente allettante perché il loro programma non si limita alla programmazione: ci sono anche discipline di business e digital. Ora non vengono accettate domande, ma si sta preparando una seconda edizione.
- : un programma gratuito in cui le donne imparano a programmare sotto la guida di mentori. Qui puoi apprendere non solo a lavorare con il codice, ma anche a creare e gestire startup con il supporto di fondatori esperti.
Altri consigli
- Dedica del tempo all'apprendimento e alla pratica ogni giorno.
- Cerca attivamente ciò di cui hai bisogno. Da qualche parte su internet sicuramente esiste. Quindi, cerca.
- Se l'elettricità spesso salta, migliora la tua capacità di gestire le batterie del telefono e del computer al massimo. Io collego sempre i caricatori alla prima occasione – mi sono abituato a pensare in modo paranoico che, quando torno a casa, potrei non trovare luce.
- Non appena raggiungi un livello in cui non hai dubbi sulla tua capacità di padroneggiare qualsiasi concetto e argomento, cerca un lavoro a contratto — questo ti costringerà a capire a fondo le cose. A questo punto, non ha molta importanza quanto ti pagano, considera qualsiasi somma come un piacevole bonus.
- Esci nel mondo. Fai sapere alle persone che sei seriamente intenzionato. Questo può essere fatto in vari modi: crea un sito web personale, partecipa a conversazioni con altri sviluppatori, unisciti a gruppi sui social media, scrivi post nei blog.
- Non arrenderti.
Fonte: habr.com
