Ingresso nell'IT: esperienza di uno sviluppatore nigeriano

Ingresso nell'IT: esperienza di uno sviluppatore nigeriano

Spesso ricevo domande su come iniziare una carriera nel settore IT, e i miei compatrioti — i nigeriani — sono i più curiosi. Non esiste una risposta universale a queste domande, ma credo che se delineo un approccio generale per esordire nel settore IT, possa rivelarsi utile.

È indispensabile saper scrivere codice?

La maggior parte delle domande che ricevo da chi desidera entrare nel settore IT in Nigeria riguardano proprio l'apprendimento della programmazione. Credo che la ragione sia due fattori:

  • Essendo io stesso uno sviluppatore, è del tutto logico che le persone cerchino il mio consiglio su questioni correlate.
  • Lavorare con il codice è una delle opportunità lavorative più allettanti nel settore IT oggi, almeno qui da noi. Molti pensano che al di fuori di essa non ci siano altre opzioni. Ad amplificare questa percezione c'è anche il fatto che programmatori e i loro dirigenti hanno i più alti salari nel settore in tutto il mondo.

A mio avviso, è importante rendersi conto che non è necessario occuparsi esclusivamente di codice e ambire a diventare, per usare un termine comune, un "tecnologo". Penso che chiunque possa apprendere la programmazione e praticarla a livello professionale, con l'impegno adeguato, ma forse non è ciò di cui hai realmente bisogno.

Ci sono molte altre strade professionali nell'IT che meritano di essere considerate. Di seguito esprimerò le mie riflessioni su alcune di esse e discuterò quanto siano promettenti dal punto di vista di una persona che vive in Nigeria.

Questa non è ancora una lista completa di professioni alternative che non sono direttamente collegate alla scrittura di codice. Tuttavia, parlerò anche della mia esperienza lavorativa come programmatore — se sei qui per questo, scorri fino alla sezione "E la programmazione?".

Opzioni lavorative per non programmatori

Design

Il design è un concetto piuttosto ampio nell'IT, ma solitamente quando le persone mi fanno domande sul design, si riferiscono a UI o UX. Questi due aspetti comprendono anche un'ampia gamma di fenomeni: includono tutto ciò che riguarda le sensazioni visive, tattili e anche uditive che sorgono nell'interazione con il prodotto.

Nelle grandi organizzazioni, soprattutto in quelle dove l'ecosistema tecnologico è ben sviluppato, i compiti UI e UX vengono suddivisi tra specialisti ristretti. Un designer – di solito inizia come un generalista – è responsabile solo delle icone, un altro si occupa solo delle animazioni. Un simile livello di specializzazione non è caratteristico della Nigeria: l'industria non ha ancora raggiunto la maturità necessaria alla sua diffusione. Qui si trovano piuttosto generalisti, capaci di svolgere qualsiasi compito relativo a UI e UX.

In realtà, anche i designer che si occupano anche di frontend non sono un fenomeno raro. Ma adesso la situazione inizia a cambiare. Sempre più aziende diventano abbastanza di successo da permettersi di assumere specialisti, quindi sono intere squadre a lavorare sul design dei prodotti. Basandosi su tutto ciò, limitarsi ad acquisire semplicemente la professione di designer è una strategia plausibile per costruire una carriera nel mercato nigeriano.

Gestione progetti

I project manager sono necessari praticamente in ogni settore, quindi potete provare a utilizzare l'esperienza e le conoscenze acquisite in un'altra industria per avere successo nell'IT. Ovviamente, è necessario tenere presente che alcune di esse potrebbero non essere rilevanti, per non parlare del fatto che il manager deve comprendere anche i dettagli tecnici del progetto che gestisce. Ma se pensate di essere bravi a gestire le persone, a costruire dialoghi e a ideare schemi di lavoro efficaci, considerate questa possibilità.

Marketing e sviluppo del business

Lo sviluppo del business è una nozione piuttosto vaga. Nelle aziende tecnologiche, è compito dei dipendenti monitorare che il progetto mostri una certa crescita, che si tratti di un aumento nel numero di abbonati, nel numero di ordini, nelle visualizzazioni pubblicitarie o in qualsiasi altro indicatore che rifletta il valore principale che il prodotto porta con sé. In questo processo sono coinvolte le più varie competenze: promozione del prodotto, design, raccolta di statistiche, comunicazione orale e scritta, gestione progetti e così via.

Supporto utenti

Questo ruolo attira raramente l'attenzione delle persone che cercano di costruire una carriera nel settore IT. Spiego ciò con il fatto che, in generale, le persone che lavorano nel supporto in settori non tecnologici guadagnano poco. A sua volta, questo fatto è una conseguenza del fatto che le organizzazioni nigeriane non danno grande importanza all'assistenza clienti e non investono in essa: nella nostra cultura è radicata l'assioma «sbrogliati come meglio puoi».

Tuttavia, ultimamente ho notato che l'atteggiamento nei confronti del supporto e degli investimenti in esso sta cambiando: almeno, questo spostamento è evidente nell'ecosistema tecnologico. Le giovani aziende hanno capito che i nigeriani, forse, possono arrangiarsi, ma per il business è meglio e più redditizio fornire ai clienti il massimo possibile aiuto. Ma anche lasciando da parte questa tendenza, nella sezione successiva citerò un'altra ragione per cui vale la pena considerare una carriera nel supporto tecnico e in altri settori correlati.

Uscire dal mercato nigeriano

Un enorme vantaggio che ci dà Internet è che cancella le barriere tra i paesi, almeno in relazione al lavoro e alla 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, professionisti del digitale e manager esclusivamente in Nigeria.

Ci sono numerosi modi per entrare nel mercato internazionale:

  • Lavoro da remoto come freelance. Ci sono piattaforme create specificamente per questo scopo — Toptal, Gigster, Upwork e altri. Io stesso ho lavorato come freelance su Gigster per oltre due anni. Anche molti altri professionisti nigeriani vi lavoravano, non solo sviluppatori, ma anche project manager e designer.
  • Lavoro da remoto a tempo pieno. In tutto il mondo ci sono startup i cui fondatori cercano persone senza considerare fattori geografici. Questo è testimoniato chiaramente da siti di offerte di lavoro come Remote|OK.
  • L'uscita dal paese. Dal mio punto di vista, è il percorso più difficile, almeno nel nostro stato. Viaggiare all'estero per noi è un compito non semplice, considerando quanto bisogna fare e pagare per ottenere un visto e un permesso di soggiorno, soprattutto se il paese non è africano. Ma c'è un vantaggio: in linea di massima, non è necessario ambire a uscire dai confini dell'Africa. In Sudafrica, Kenya, Ghana e in altri paesi ci sono molte aziende interessate ad assumere. Dobbiamo, però, riconoscere: al di fuori del continente, sia la domanda che gli stipendi sono superiori.

Scelgo per me stesso un lavoro remoto per due motivi:

  1. È praticamente l'opzione ideale sia per il datore di lavoro che per il dipendente. Di solito, il dipendente ha questo pensiero: «Ho studiato per due anni online tutto ciò che riguardava il supporto tecnico, e loro mi offrono 25.000 naira». D'altra parte, il datore di lavoro che si trova a migliaia di chilometri di distanza apprezza le sue abilità e tende a assumerlo proprio per motivi economici: probabilmente, sarà più conveniente rispetto a impiegare persone della sua stessa regione. Non sembra molto allettante, ma in realtà non è così spaventoso. I valori assoluti non sempre danno un'idea di come il livello salariale influisca sulla qualità della vita di una persona. È necessario considerare il costo della vita nelle regioni corrispondenti. Potrebbe rivelarsi più vantaggioso essere uno sviluppatore con uno stipendio di 40.000 dollari in remoto a Ibadan piuttosto che guadagnare 100.000 dollari e vivere a San Francisco.
  2. Se guadagni denaro in un'altra valuta e lo spendi in Nigeria, stai contribuendo all'economia locale.

E riguardo alla programmazione?

Qui la questione è più pressante: «Cosa esattamente studiare?». Le parole «scrivere codice» coprono talmente tanto che è facile sentirsi sopraffatti dall'informazione. Ci sono molti linguaggi e strumenti di programmazione che possono essere utilizzati in modi molto diversi. A chi inizia, e specialmente ai self-taught, spesso sembra di essere bombardati da ogni direzione.

«Impara JavaScript, ma non confonderlo con Java, anche se Java non sarebbe poi così male se vuoi lavorare sulla parte server per Android. Comunque, per la parte server e Android, anche JavaScript va bene, ma è stato originariamente progettato per i browser. Ti serviranno anche 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».

Buona notizia: è possibile evitare simili confusione. L'anno scorso ho scritto guida, dove spiego i concetti più basilari (la differenza tra back-end e front-end, e tra la parte client e quella server), che sono molto comuni tra i programmatori — almeno, tra quelli che si occupano di sviluppo web o di applicazioni mobili.

Ecco un paio di consigli:

1. Pensa a quale prodotto ti piacerebbe creare. Capire cosa esattamente dovresti imparare sarà più facile se provi a immaginare il risultato finale. Forse vuoi sapere come fare un'app per controllare le spese su Android. Forse hai pensato a quanto sarebbe bello scrivere il codice per il tuo blog personale invece di utilizzare soluzioni pronte come WordPress o Medium. Oppure, forse, non sei soddisfatto di come appaiono e funzionano attualmente le banche online.

Non importa che qualcun altro abbia già realizzato ciò che hai in mente come obiettivo. Non importa che nessuno, tranne te, lo userà. Non importa che l'idea ti sembri sciocca o irrealistica. Serve semplicemente come punto di partenza. Ora puoi andare su Google e cercare "come scrivere codice per un blog".

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

2. Apprendimento frazionato del materiale. 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 un certo numero di lingue e strumenti. Ma all'inizio non dovrebbe preoccuparti.

Continuiamo con un esempio dal primo punto. Quindi, ho cercato su Google "come scrivere codice per un blog" e ho trovato un articolo di mille parole, contenente termini come HTML/CSS, JavaScript, SQL e così via. Inizio prendendo la prima parola che non comprendo e cerco informazioni con query del tipo "che cos'è HTML&CSS", "studiare HTML&CSS".

3. Apprendimento concentrato. Concentrati. Metti da parte tutto ciò che è superfluo e inizia con le basi. Familiarizza con il concetto di HTML&CSS (o qualunque cosa tu stia studiando) il più approfonditamente possibile, finché non ti senti a tuo agio. Studiare concetti di base può essere difficile, perché non si capisce come tutto ciò venga applicato nella pratica. Non fermarti. Col tempo, tutto diventa più chiaro.

Una volta che hai affrontato il primo termine difficile, puoi passare al successivo — e così all'infinito. Questo processo non ha mai fine.

Impariamo a imparare

Quindi, hai deciso di provare a mettere alla prova le tue capacità nel settore IT. Ora devi capire come superare alcune difficoltà:

  • Trovare tempo per apprendere e risorse con materiali
  • Farsi carico del fattore Nigeria, cioè di tutti i nostri problemi irrisolti, che rendono qualsiasi azione cinquanta volte più difficile
  • Mettere da parte i soldi che prevediamo di spendere per tutto ciò

A dire il vero, non ho risposte complete per ogni punto. La questione delle risorse è particolarmente pressante, perché... beh, siamo in Nigeria. Se vuoi competere a livello globale, le tue condizioni sono significativamente peggiori rispetto ai concorrenti. La maggior parte delle persone qui non ha nemmeno accesso a un computer, a forniture elettriche affidabili e a una connessione internet stabile. Personalmente, non avevo tutti e tre questi elementi quando ho iniziato la mia carriera, e comunque la mia situazione era ancora migliore di molte altre.

La maggior parte delle risorse che elencherò di seguito riguarderà i temi della programmazione — è in questo campo che ho maggiori competenze. Ma simili piattaforme si possono facilmente cercare anche per altre aree di cui abbiamo parlato.

Internet è tutto per te

Se hai già accesso permanente a Internet o puoi facilmente permettertelo, va tutto bene. Se non è così, sfrutta al massimo il tempo in cui hai accesso alla rete. Non è l'ideale, principalmente perché ti priva della possibilità di trovare immediatamente risposte alle domande, ma puoi comunque esercitarti a scrivere codice per la maggior parte offline, dopo aver scaricato i programmi e i materiali didattici necessari.

Ogni volta che avevo la possibilità di connettermi a Internet (ad esempio, in ufficio, dove ho fatto il tirocinio, o su quella panchina vicino all'ostello per studenti laureati dell'Università di Lagos, dove potevo prendere il wifi), facevo quanto segue:

  • Scaricavo tutti i file necessari per installare e configurare i programmi
  • Scaricavo libri, documenti PDF, video tutorial, che poi studiavo offline
  • Salvavo pagine web. Se trovi un tutorial che non riesci a guardare in movimento, salva l'intera pagina web sul computer. Risorse come freeCodeCamp offrono repository un pacchetto completo di materiali.

Il traffico mobile è diventato una delle mie principali spese. Gestirlo in modo intelligente, soprattutto se prevedi di condividere il wifi con il computer, è un'abilità che bisogna sviluppare. Fortunatamente, negli ultimi anni i prezzi del traffico sono diminuiti.

Ma devo pagare per libri, tutorial e corsi?

In realtà, no. Ci sono una miriade di risorse gratuite online. Codecademy offre un piano tariffario gratuito. Su Udacity tutti i corsi, ad eccezione dei nano-corsi, non costano nulla. Molti contenuti a pagamento sono stati ricaricati su Youtube. Su Coursera e Khan Academy ci sono anche molti 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, naturalmente, ho smesso di approvare questo in modo tempestivo, ma in passato ho scaricato libri e video per i quali non avevo i soldi.

E infine, lo strumento più potente a tua disposizione è Google. Ho appena grattato la superficie di quel ghiacciaio di risorse che puoi trovare lì. Cerca semplicemente ciò di cui hai bisogno e probabilmente lo troverai.

Codice e design — solo su computer

Se lo hai già, allora va bene. Se no, dovrai preoccuparti di procurartelo. Ma c'è una buona notizia: all'inizio non avrai bisogno di nulla di troppo avanzato, soprattutto se intendi dedicarti allo sviluppo web. Caratteristiche come queste andranno più che bene:

  • Processore a 1,6 GHz
  • RAM a 4 GB
  • Hard disk da 120 GB

Qualcosa di simile si può acquistare per circa 70.000 tenge, anche di meno se lo compri di seconda mano. E no, il MacBook non ti serve.

Circa sei anni fa studiavo sviluppo su WordPress e per questo dovevo spesso prendere in prestito un laptop HP da un amico. Memorizzai a memoria i giorni e gli orari in cui aveva le lezioni all'università e quando andava a letto: potevo usare il computer solo in quei momenti.

Certo, queste raccomandazioni non valgono per tutti: qualcuno non può permettersi di spendere 70.000 tenge in una volta, altri non hanno amici con un laptop e la voglia di prestarlo. Ma è fondamentale trovare qualche modo per avere accesso a un computer.

Se non hai intenzione di lavorare con design o codice, allora uno smartphone è un'ottima alternativa per studiare gli argomenti necessari. Ma, ovviamente, è più comodo con il computer.

Se hai accesso al computer solo occasionalmente, nel frattempo puoi utilizzare app mobili, che sono molto comode per apprendere informazioni in movimento. Molte di esse offrono la possibilità di studiare anche offline.

  • Codecademy Go, Py — buone opzioni per apprendere il codice in modalità mobile
  • Google ha rilasciato una simpatica app Primer, che ti permette di sviluppare abilità di marketing digitale
  • KA Lite — un'app che permette di guardare video di Khan Academy in modalità offline.

Sono sicuro che, se si guarda meglio, questo elenco può essere ampliato.

Dove cercare aiuto

Non è necessario affrontare tutte le difficoltà da solo. Ecco alcune risorse che possono aiutarti con l'apprendimento:

  • Andela: La piattaforma Andela forma specialisti di livello mondiale e li paga anche. La durata del programma è di quattro anni, durante i quali non solo studierai, ma realizzerai anche prodotti reali per aziende tecnologiche di tutto il mondo, il che offre un'esperienza molto preziosa.
  • Lambda School Africa Pilot: La scuola Lambda forma sviluppatori abili in nove mesi, pronti a trovare lavoro subito; non si prende alcun costo da voi fino a quando non vi sistemate da qualche parte. Ora Lambda è disponibile anche in Africa; collaborano con la scuola Paystack, BuyCoins (qui lavoro io), Cowrywise, CredPal e altre aziende locali. Il primo corso è già chiuso, ma sono sicuro che l'anno prossimo annunceremo un nuovo.
  • Borsa di studio da IA. Il famoso sviluppatore front-end e co-fondatore della mia azienda BuyCoins Ire Aderinokun paga ogni anno per una donna qualsiasi corso di livello nano su Udacity. Questo è particolarmente allettante perché il loro programma non si limita alla programmazione: ci sono anche discipline digitali e di business. Ora non si accettano candidature, ma si sta lavorando per preparare una seconda edizione.
  • Resplash: un programma gratuito dove le donne apprendono la programmazione sotto la guida di mentori. Qui puoi imparare non solo a lavorare con il codice, ma anche a creare startup e gestirle con il supporto di imprenditori esperti.

Altri consigli

  • Dedica tempo all'apprendimento e alla pratica ogni giorno.
  • Cerca attivamente ciò di cui hai bisogno. Da qualche parte in internet è sicuramente disponibile. Quindi, cerca.
  • Se l'elettricità viene spesso interrotta, migliora la tua abilità di gestire batterie di telefono e computer al massimo. Ancora oggi collego i caricabatterie non appena si presenta l'opportunità — mi sono abituato a pensare in modo paranoico che, quando torno a casa, potrebbe non esserci elettricità.
  • Una volta raggiunto un livello in cui non dubiti della tua capacità di comprendere qualsiasi concetto e tema, cerca di trovare un lavoro a contratto — ti costringerà a comprendere tutto fino in fondo. A questo punto non ha molta importanza quanto ti pagano, considera qualsiasi somma come un piacevole bonus.
  • Esci e fai sapere alla gente che sei serio. Puoi farlo in vari modi — crea un sito web personale, partecipa a conversazioni con altri sviluppatori, unisciti a gruppi sui social network, scrivi post sui blog.
  • Non mollare.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster