JavaRush /Java Blog /Random-IT /Pausa caffè #55. 4 suggerimenti per trovare una comunità ...

Pausa caffè #55. 4 suggerimenti per trovare una comunità di sviluppatori. 5 abilità inaspettate che un programmatore principiante deve padroneggiare

Pubblicato nel gruppo Random-IT

4 suggerimenti per trovare una comunità di sviluppatori

Fonte: Honeypot Uno dei fattori che aiuta gli sviluppatori nel loro sviluppo professionale è la comunità a cui appartengono. Se non hai ancora trovato il tuo, non preoccuparti! In questo articolo ti dirò come farlo. Gli esseri umani non sono fatti per essere soli. È attraverso la capacità di cooperare per raggiungere un obiettivo comune che l’umanità ha raggiunto il progresso. Un ottimo esempio di tale collaborazione è la comunità degli sviluppatori. A differenza di altri settori professionali, gli sviluppatori interagiscono tra loro molto spesso e gran parte della loro vita è in qualche modo connessa alle comunità che creano attorno a loro. Se sei uno sviluppatore ma non hai ancora trovato la tua community, non disperare. Puoi unirti a uno di loro in qualsiasi fase della tua carriera.Pausa caffè #55.  4 suggerimenti per trovare una comunità di sviluppatori.  5 abilità inaspettate che un programmatore principiante deve padroneggiare - 1

1. Scopri di cosa hai bisogno

Prima di tuffarti nell'abisso online per trovare la tua comunità di sviluppatori, dovresti capire esattamente di cosa hai bisogno e cosa stai cercando. Ogni fase della carriera professionale di uno sviluppatore ha i propri interessi e differenze. Se stai imparando Java, difficilmente troverai le informazioni che cerchi nella comunità Python e viceversa.

2. Cerca le comunità locali

Jessica, un membro del team di programmazione Ember, vive a Berlino. Fortunatamente per lei, la città offre molte opportunità di fare rete con altri sviluppatori locali. "Ho avuto molta esperienza nelle riunioni di gruppi professionali e ho fatto parte per molto tempo della Open Technology School, che aiuta le persone a imparare di più sulla tecnologia." La ragazza ha partecipato a seminari e gruppi co-educativi e l'ha trovato molto utile per un principiante. “Sono stato supportato da altri studenti e ho ricevuto tutoraggio gratuito. Si potrebbe dire che mi ha dato un senso di responsabilità, mi ha aiutato a venire regolarmente alle adunanze e mi ha incoraggiato a studiare da solo”. Per trovare la tua comunità locale, Jessica suggerisce di cercare su Google. Se vivi in ​​una grande città, probabilmente non avrai problemi a trovare comunità di programmazione locali a cui unirti. Tuttavia, può succedere che alcuni di questi gruppi sui social network non siano più attivi o non vi pubblichino messaggi da molto tempo. In queste situazioni, non aver paura di chiedere direttamente se sta succedendo qualcos'altro nella comunità. Mostrare interesse è sempre apprezzato.

3. Trova una comunità online

Ci sono numerosi vantaggi nell’incontrare altri sviluppatori di persona. Ma se il tuo accesso alle comunità locali è limitato, sei quasi sicuro di trovare un'alternativa online. Potresti già lavorare con vari framework o tecnologie che hanno le proprie community dedicate su Discord o Slack. Questo è adatto sia per l'assistenza nel lavoro che per trovare ispirazione per nuovi progetti, idee e persino per partecipare a progetti aperti.

Ecco alcuni posti dove trovare la tua comunità online

dev.to . Secondo le loro stesse parole, "l'industria del software fa affidamento sulla collaborazione e sull'apprendimento in rete" e dev.to fornisce uno spazio in cui gli sviluppatori possono incontrarsi e aiutarsi a vicenda, che si tratti di aspetti tecnici della codifica, consigli di carriera o supporto e motivazione generali. #sviluppatori su Slack . Dovrai rispondere ad alcune domande per avere accesso a questo canale, ma una volta entrato riceverai tutto il supporto e i consigli di cui hai bisogno :) Hashnode . Scrivi un articolo su qualsiasi argomento di programmazione desideri e interagisci con la comunità più ampia. Questo è un ottimo modo per rimanere in contatto con altri sviluppatori. Donne che programmano . È un luogo di supporto per le donne nel settore tecnologico, dove troveranno risorse di programmazione e uno spazio aperto per condividere idee. Reddit . Esistono molti subreddit per ogni nicchia di codifica; dai un'occhiata ad alcuni dei più attivi: r/programming , r/java , r/python , r/javascript , r/reactjs e r/cscareerquestions . Circoli degli sviluppatori su Facebook . L’obiettivo principale è quello di creare comunità organizzate a livello locale in cui gli sviluppatori possano “ottenere strumenti gratuiti per sviluppare nuove competenze, idee e far avanzare la propria carriera”. Trova la tua community su Facebook, tutte le discussioni sono attualmente online.

4. Trova una comunità open source

Partecipare a una comunità open source può essere una parte importante del tuo sviluppo professionale. Essere un membro attivo della comunità open source significa non solo contribuire, ma anche partecipare a eventi e conferenze, incontrare altri, trovare mentori e creare reti. Oltre alle competenze acquisite nella comunità open source (sia tecniche che non tecniche), la partecipazione ad essa dà un senso di appartenenza ai programmatori al di fuori del lavoro quotidiano. Nella comunità open source c'è la sensazione unica di lavorare su qualcosa di grande e, per molti versi, quel lavoro rappresenta un contributo significativo. Ti stai chiedendo da dove cominciare? Pensa a quali progetti open source ti piacciono e inizia da lì: può essere semplice come trovare e correggere un errore di battitura nel codice. È importante solo iniziare da qualche parte.

Conclusione

Il livello di supporto e incentivi per l'autosviluppo che uno sviluppatore riceve nella comunità professionale è estremamente elevato. Fortunatamente, l'accesso alle comunità di sviluppatori è ovunque, che si tratti di un gruppo di social media locale o di una grande risorsa online dedicata a un linguaggio di programmazione. La cosa principale è trovare ciò che fa per te.

5 abilità inaspettate che un programmatore principiante deve padroneggiare

Fonte: Codeburst Il mio percorso per diventare uno sviluppatore autodidatta è stato lungo e difficile. A volte, ricordando tutti gli ostacoli e le delusioni che ho incontrato, mi chiedo se valesse la pena iniziare in questo modo. E ora posso dire che ne è valsa la pena. Per quelli come me, che hanno iniziato da zero, la curva di apprendimento è stata molto ripida. Ma sono fiducioso che, a lungo termine, i benefici supereranno lo sforzo necessario per conquistare questa montagna. Naturalmente, questo vale solo se ti piace ciò che stai imparando. Mi ci sono voluti diversi anni per capire che un buon sviluppatore deve essere in grado di fare molto di più che limitarsi a scrivere codice in modo rapido e semplice. Molti principianti non si rendono conto che acquisire competenze di sviluppo richiede qualcosa di più della semplice capacità di scrivere ed eseguire un programma. Quindi, ecco altre cinque competenze oltre alla programmazione di cui ogni aspirante sviluppatore avrà sicuramente bisogno!Pausa caffè #55.  4 suggerimenti per trovare una comunità di sviluppatori.  5 abilità inaspettate che un programmatore principiante deve padroneggiare - 2

1. Utilizza strumenti di collaborazione

Molte popolari piattaforme di programmazione autodidattica si concentrano sulla sintassi del linguaggio e sulle strutture dei dati. Alcuni consentono agli studenti di creare progetti di base da zero. Diciamo una semplice app per giochi o elenchi di attività. Queste lezioni sono preziose per iniziare ad acquisire competenze di programmazione, ma non simulano l'ambiente di lavoro reale che incontrerai in futuro. Gli sviluppatori lavorano insieme su progetti di grandi dimensioni e talvolta uno sviluppatore può lavorare su più codebase contemporaneamente. Il lavoro di squadra spesso implica l'utilizzo di strumenti come Fogli di calcolo Google o Invision. I team di sviluppo dispongono di un proprio set standard di strumenti di collaborazione. La mia azienda, come decine di migliaia di altre aziende negli Stati Uniti, utilizza GitHub. Non dimenticherò mai il giorno in cui i miei colleghi mi hanno fatto conoscere GitHub. Per prima cosa mi hanno detto di aprire il terminale del mio computer (non avevo idea di avere qualcosa del genere sul mio computer). Poi i miei colleghi hanno iniziato a scrivere cose senza senso in questa finestra misteriosa sul mio schermo. Queste parole senza senso si sono rivelate magiche, come riempire diverse cartelle del mio computer con tutti i tipi di file pieni di codice. Poi hanno parlato di "rami" e "lanugine", qualcosa di "remoto". E sembrava che letteralmente tutte le parole iniziassero con il prefisso "git". Sapevo che parlavano inglese, ma il significato delle loro parole non mi era chiaro. Se sei un principiante che non ha mai scritto codice con altri sviluppatori, dovrai imparare il linguaggio e gli strumenti di collaborazione. Questo può sembrare complicato, soprattutto se non hai mai aperto il prompt dei comandi. Ma col tempo diventerà un'abitudine.

2. Registrazione e gestione degli errori

Diciamo che hai già imparato a collaborare con altri programmatori e il tuo codice viene inviato in produzione. Quando qualcosa che hai scritto viene utilizzato da migliaia o addirittura milioni di utenti, è una sensazione davvero emozionante. Ma una volta arrivato a questo punto, imparerai a tue spese che gli errori imprevisti nel codice si verificano continuamente. Ad esempio, la variabile che hai creato non ha mai ricevuto un valore. Ora stai chiamando un metodo con un valore null e il tuo programma non sa cosa farne. Si verifica un errore e ora l'utente non ha più accesso a quella fantastica pagina che hai creato. Quando provi il programma, tutto sembra corretto, quindi potresti anche non notare il problema. Questo particolare errore può verificarsi solo il 5% delle volte, ma per il 5% di 100.000 utenti è significativo. Devi imparare come registrare, gestire e anticipare gli errori nel tuo codice: queste sono competenze assolutamente essenziali per uno sviluppatore. Sì, la capacità di anticipare i problemi è un istinto che si sviluppa con il tempo e l'esperienza. Ma è importante che un principiante ricordi che gli errori sono parte quasi integrale dello sviluppo. Sapere come proteggere il tuo codice utilizzando diversi tipi di registrazione degli errori può farti risparmiare molti grattacapi in futuro, soprattutto quando ti viene assegnato il compito di eseguire il debug. Può anche aiutare a identificare problemi che non sapevi nemmeno di avere. Oggi abbiamo accesso a vari strumenti di registrazione dei bug che semplificano il monitoraggio delle vulnerabilità in una base di codice. Uno dei miei preferiti è Sentry, che ti consente di vedere quando si è verificato per la prima volta un problema e con quale frequenza si verifica. Da menzionare anche Logentries, Rollbar e Instabug. Esistono programmi che monitorano dati e problemi a livello di sistema, come New Relic e Datadog. Probabilmente incontrerai alcune combinazioni di questi programmi nella tua carriera di sviluppatore e vale la pena imparare a usarli.

3. Testare la copertura

Come ho detto prima, affinare le tue capacità di programmazione non è solo scrivere codice. Devi assicurarti che il tuo codice sia comprensibile agli altri sviluppatori e quando qualcuno lo apre due anni dopo, quella persona dovrebbe essere in grado di riprenderlo rapidamente e iniziare ad apportare modifiche. La logica che scrivi dovrebbe essere comprensibile e riutilizzabile per gli anni a venire. Ma a volte la tua logica sarà complessa e non potrà essere semplificata. Forse a causa della complessità della logica aziendale. Forse per mancanza di tempo. La realtà è che le scadenze a volte ti costringono a prendere decisioni tecniche tutt’altro che ideali. E non sarai sempre in grado di definire chiaramente tutti i casi d’uso prima di iniziare a lavorare. Un modo per mantenere il codice sicuro è scrivere test per accompagnare le modifiche. La maggior parte dei linguaggi di programmazione dispone di pacchetti di test aggiuntivi che è possibile installare. Ad esempio, per Ruby utilizziamo Rspec e per React utilizziamo spesso Jasmine. Esistono diversi tipi di test, inclusi test unitari (per testare piccole parti di logica) e test di integrazione (per test di flusso end-to-end). Molto spesso, per poter essere inviato al codebase comune, il codice deve superare l'intera suite di test. Una volta che impari a scriverli, aggiungi "sicurezze" che impediscono a modifiche future di sovrascrivere accidentalmente le funzioni che hai scritto. La copertura del test aiuta anche a definire il comportamento previsto poiché molti casi di test sono scritti in un inglese semplice. Non so dirti quante volte sono entrato in qualche file scritto diversi anni fa, ho apportato una modifica e ho scoperto che causava il fallimento di una dozzina di test, anche se pensavo di avere una buona comprensione del comportamento previsto . Una volta ho persino rotto una funzionalità che avevo scritto io stesso qualche mese fa. Fortunatamente, i miei test unitari lo hanno immediatamente rivelato. Esaminando le richieste pull, noto che gli sviluppatori spesso non prestano sufficiente attenzione alla copertura dei test, e questo vale sia per le modifiche semplici che per quelle complesse. Sono colpevole anche di questo, soprattutto quando le scadenze sono strette. Ma mi vengono in mente diversi progetti in cui apportare modifiche in un posto ha portato a guasti in altri quattro posti. Ciò ha aumentato il nostro livello di stress e ci ha aggiunto più lavoro, anche se avevamo già fretta di rispettare la scadenza. Tali situazioni avrebbero potuto essere evitate se ci fossimo presi il tempo di scrivere i test unitari in tempo utile. Imparare a scriverli può essere un compito noioso, soprattutto per un nuovo sviluppatore, e scriverli rallenta decisamente il processo di sviluppo complessivo. Ma prima inizi a scrivere i test, meno grattacapi attendono te e il tuo team in futuro.

4. Revisione del codice

Questo punto è legato al primo: lavorare insieme sulle basi di codice. Spesso il processo di apportare modifiche alla codebase si presenta così. Stai scrivendo del codice localmente. Per inviarlo al ramo principale della tua base di codice, crei una richiesta pull (un riepilogo visivo delle modifiche) e altri sviluppatori del tuo team esaminano il tuo codice prima di dare il via libera all'unione. Team diversi hanno requisiti diversi per l'approvazione di una richiesta pull, ma in generale dovresti aspettarti che le tue modifiche vengano sicuramente riviste e implementate da qualcuno. Vale la pena notare che non solo invierai il tuo codice per la revisione, ma rivedrai anche quello di qualcun altro. Imparare a leggere il codice di altre persone è un'abilità importante per uno sviluppatore e dovrebbe essere sviluppata nel corso della carriera. Quando ho iniziato e mi è stato chiesto di esaminare le richieste pull di altre persone, non ho capito bene cosa cercare. All'inizio ho pensato che avrei dovuto cercare i bug. Sono passati alcuni anni e ora considero le revisioni del codice più un controllo di integrità che un'indagine approfondita. In definitiva, è lo sviluppatore che ha inviato la richiesta pull ad essere responsabile della revisione del proprio codice, dell'aggiunta dei test necessari e del contributo sicuro di questo codice al database comune. Non è compito del revisore identificare i problemi nascosti. Al giorno d'oggi, quando rivedo il codice, ne controllo la leggibilità (ad esempio, i nomi di variabili e metodi sono descrittivi), l'organizzazione e la struttura (se il codice può essere organizzato meglio in modo che sia più chiaro a qualcuno che lo vede per la prima volta) . Naturalmente, quanto più si acquisisce familiarità con il codice base, tanto più facile sarà identificare potenziali problemi. Ma puoi iniziare ad acquisire competenze di revisione del codice anche da principiante. Tra le altre cose, questo è anche un buon modo per familiarizzare con gli schemi di codice utilizzati dai colleghi più esperti.

5. Ricerca Google corretta

Nessuno sviluppatore sa tutto sulla programmazione, sul suo linguaggio di programmazione o anche sulla sua base di codice. In precedenza, ero sicuro che tutti tranne me potessero capire immediatamente quali metodi, domande e strategie dovrebbero essere utilizzati in questo o quel caso. Ma più persone incontravo, più mi rendevo conto della frequenza con cui gli sviluppatori cercano su Google le risposte alle loro domande. Anche quelli esperti! Ci sono troppi dettagli nel nostro lavoro da tenere a mente. Ben presto mi fu chiaro che ciò che mi veniva richiesto non era sapere tutto a memoria, ma imparare a cercare correttamente le risposte. Stackoverflow diventerà il tuo migliore amico. È probabile che, se sei bloccato su qualcosa, qualcun altro lo è già stato. Quando si tratta di risolvere un problema, prova a capire esattamente cosa non va, descrivilo a parole e digita quelle parole in un motore di ricerca. Essere in grado di articolare i problemi che affronti ti aiuterà molto più della memorizzazione.

Conclusione

Prima o poi nel tuo percorso di sviluppo software, sei destinato a incontrare delusioni. Non c'è scampo da questo. Ma più utilizzi gli strumenti e le strategie progettati per alleviare queste frustrazioni, più gratificante sarà la tua carriera. Mantieni la rotta e non mollare.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION