JavaRush /Java Blog /Random-IT /Chi è chi nell'IT. Cosa fanno i PM, gli sviluppatori fron...

Chi è chi nell'IT. Cosa fanno i PM, gli sviluppatori frontend e backend e il QA?

Pubblicato nel gruppo Random-IT
EHI! Abbiamo cercato tutti qui perché eravamo interessati a lavorare nel campo IT. Ma invece di esplorare la prima specialità informatica che incontri, forse vale la pena dare un’occhiata all’elenco delle possibili aree di un’azienda IT? Questa è la seconda parte della mia breve recensione. Nella prima abbiamo esaminato specialità come Recruiter, HR, System admin, DBA, DevOps. Oggi esamineremo le specialità che sono la “spina dorsale” di ogni squadra e, di conseguenza, di un progetto. Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 1Se sbaglio qualcosa da qualche parte, non rimproverarmi troppo, ma piuttosto correggimi nei commenti: guardo tutto dal punto di vista di uno sviluppatore Java e forse semplicemente non conosco le sfumature di tutte le specialità.

18:00 - Responsabile del progetto

Il compito di un project manager è pianificare, organizzare, gestire con competenza progetti tecnici e migliorare la comunicazione tra i membri del team per garantire che il lavoro venga svolto senza intoppi e nel modo più efficiente possibile. Questi specialisti devono conoscere le esigenze dei clienti e gli obiettivi che perseguono e coordinare il più possibile le azioni dei dipendenti per portare il progetto alla sua conclusione logica e positiva. Positivo, perché non sempre i progetti possono essere portati a termine con successo per una serie di motivi: interruzione dei finanziamenti, insoddisfazione per il lavoro da parte del cliente, ecc... Il Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 2compito principale del PM è coordinare un gruppo di dipendenti per risolvere problemi tecnici, perché gli sviluppatori non sono sempre persone super socievoli e non possono sempre comunicare in modo competente tra loro, e questo, a sua volta, può solo giocare contro il progetto. Bene, o, ad esempio, lo sviluppatore è rimasto bloccato su qualcosa: potrebbe rimanere seduto a lungo e non sapere come affrontare qualche problema. A tutti noi non piace ammettere che non sappiamo o non possiamo fare qualcosa, e gli sviluppatori lo sono ancora di più. È qui che arriva in soccorso PM , che ti aiuterà a trovare una persona a cui rivolgerti per ulteriori informazioni, o che ha già riscontrato qualcosa di simile. Le responsabilità del PM includono:
  • definizione degli obiettivi generali del progetto;
  • sviluppare piani per raggiungere questi obiettivi;
  • mantenimento delle scadenze del progetto e dei rapporti sullo stato attuale;
  • gestione delle risorse del progetto (dipendenti e attrezzature tecniche);
  • migliorare il coordinamento dell'interazione tra i membri del team di progetto;
  • monitorare l'efficacia del progetto e il rispetto del programma pianificato;
  • condurre valutazioni del rischio per progetti;
  • organizzare vari incontri per discutere obiettivi, progressi attuali, aspetti positivi e negativi del progetto.
Competenze richieste:
  • Inglese Intermedio Superiore e superiore, poiché il PM comunica con il cliente per conto del team;
  • conoscenze tecniche ampie, ma non molto approfondite, in modo da poter capire chi fa cosa, come avviene il lavoro in generale, senza andare troppo in profondità;
  • competenze nella gestione di progetti e dei team coinvolti negli stessi;
  • forti capacità di comunicazione, poiché il lavoro di un PM consiste principalmente nella comunicazione con i membri del team e con il management;
  • capacità di corrispondenza sviluppate. Ad esempio, spesso hai bisogno di inviare lettere all’indirizzo email del cliente per conto di un team o di un’azienda, e nessuno apprezzerà una lettera scritta in modo errato o con errori;
  • una mente analitica che sarà utile per risolvere i problemi che sorgono mentre si lavora su un progetto;
  • capacità di gestione del tempo, il cui utilizzo ti consentirà di mantenere i progetti entro la pianificazione e il budget (dopo tutto, tempo = denaro);
  • capacità di pianificazione delle risorse e dei compiti.
Secondo dou, a Kiev lo stipendio medio di un primo ministro alle prime armi è di 700 dollari . La fascia salariale a Kiev per questi specialisti è di 1200-4500 dollari : tutto dipende dall'esperienza dello specialista e dell'azienda. In chi puoi crescere:
  • delivery manager ( DM ) è una continuazione diretta di PM -a, si trova immediatamente sopra un gruppo di PM e coordina i loro progetti a un livello superiore;
  • program manager : coordina diversi progetti correlati, ma io stesso non capisco davvero la differenza con il DM;
  • direttore tecnico ( CTO ) - direttore tecnico responsabile dello sviluppo dei prodotti e del miglioramento dei loro processi di creazione;
  • amministratore delegato ( CEO ) - amministratore delegato;
  • account manager ( AM ) - responsabile del servizio clienti;
  • riqualificarsi e passare a un'altra specialità))
Se sei interessato alle persone, ti piace comunicare con loro e sei pronto ad assumerti l'onere della responsabilità di un team (o anche più di uno) di sviluppatori, allora questa professione è chiaramente per te.

7. Sviluppatore frontend

Uno sviluppatore frontend è uno sviluppatore responsabile dell'implementazione della parte visiva di un'applicazione che gli utenti vedono e con cui interagiscono in un'applicazione web. Di norma, questi specialisti collaborano con gli sviluppatori Backend che sono responsabili della parte logica (server) dell'applicazione, che continua la parte visiva dell'applicazione creata dagli sviluppatori Frontend . Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 3Gli sviluppatori frontend, come gli sviluppatori backend, sono la spina dorsale dello sviluppo di qualsiasi progetto. Coloro che sostengono i progetti. Dopotutto, qualunque sia l'attività, si basa su normali, per così dire, grandi lavoratori. Quindi gli sviluppatori si comportano come grandi lavoratori. Di norma, ce ne sono molti di più rispetto ai rappresentanti di altre specialità e sono più necessari in qualsiasi progetto. Le responsabilità dello sviluppatore frontend includono:
  • sviluppo di nuove funzionalità e miglioramento di quelle vecchie;
  • refactoring del codice per migliorare le prestazioni, che a volte possono risentirne notevolmente; leggibilità, in modo che altri sviluppatori possano comprendere rapidamente il codice e la sua logica; estensibilità, in modo che in futuro sarà più semplice implementare nuove funzionalità riutilizzando parti di quella vecchia;
  • revisione (revisione) del codice inviato al server. Ad esempio, uno sviluppatore scrive il codice, un altro lo rivede e può restituirlo al primo con commenti su cosa deve essere corretto;
  • comunicazione con clienti e membri del team - sviluppatori sia frontend che backend ;
  • implementazione tecnica del layout grafico UI/UX predisposto dal progettista;
  • monitoraggio delle prestazioni dell'applicazione;
  • correzione di bug (errori).
Gli sviluppatori frontend sono programmatori che hanno studiato layout in HTML , CSS , JavaScript e hanno intrapreso lo studio di un framework specifico, ad esempio Angular o React. Successivamente, diamo un'occhiata alle competenze specifiche necessarie per diventare uno sviluppatore frontend e prendiamo come esempio la direzione Angular . Competenze richieste:
  • Livello inglese - Intermedio ;
  • Comprensione dell'intero processo di sviluppo web (progettazione, sviluppo e implementazione);
  • lavorare con Angular 5+ ;
  • conoscenza di JavaScript , TypeScript , RxJS , Sass , webpack ;
  • capacità di impaginazione ( HTML , CSS );
  • capacità di lavorare con Git ;
  • comprendere i modelli di progettazione;
  • buona conoscenza di Linux .
Secondo dou, a Kiev lo stipendio medio per uno specialista alle prime armi con questo profilo è di 500 dollari . La media generale a Kiev per questi specialisti è di $ 1800-2700 . Ebbene, le cifre più alte possono arrivare anche a sfiorare i 5.000 dollari . Ma devi capire che questi sono casi isolati e riguardano specialisti altamente qualificati. Se ti piace lavorare con la parte tecnica, ma in modo che non ti faccia impazzire con la sua complessità, e allo stesso tempo avere una professione in una direzione popolare, questa specialità potrebbe interessarti. In chi puoi crescere:
  • responsabile tecnico - specialista tecnico (guru) in questo campo;
  • responsabile del team - leader del team di sviluppo (comandante sul campo). Da qui puoi crescere in una direzione manageriale, ad esempio, CTO ;
  • sviluppatore full-stack : uno sviluppatore che possiede sia la parte backend che quella frontend , ovvero devi imparare il backend ;
  • architetto della soluzione - uno specialista che prende decisioni sull'architettura del dispositivo interno e sulle interfacce esterne del prodotto;
  • consulente tecnico - consulente tecnico in alcune tecnologie;
  • riqualificarsi e passare a un'altra specialità.

8.Sviluppatore backend

Sviluppatori backend : creano e migliorano la parte server responsabile della logica aziendale dell'applicazione, che si collega con la parte visiva (interfaccia) dell'applicazione (ad esempio, tramite l' API REST ). La combinazione della parte server dell'applicazione ( Backend ) + la parte visiva dell'applicazione ( Frontend ) forma un'applicazione web con la quale l'utente finale interagisce. Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 4Gli sviluppatori del backend sono responsabili della creazione, della manutenzione, del test e del debug dell'intero backend. Ciò include in genere la logica dell'applicazione principale, l'interazione con i database, l'interazione con varie API e altri processi interni. Uno specialista in questo profilo, oltre alla conoscenza della sintassi del suo linguaggio e dei framework di base, deve avere una conoscenza generale dei database, in particolare quelli relazionali , essere in grado di scrivere test unitari e di integrazione per il suo codice, avere conoscenza dell'application builder - Maven o Gradle , puoi usare Git - ohm Le responsabilità dello sviluppatore backend includono:
  • sviluppo di nuove funzionalità;
  • refactoring del codice;
  • rivedere il codice di altri sviluppatori backend ;
  • scrivere documentazione per aiutare i nuovi sviluppatori backend ,
  • chi si avvicina al progetto capirà velocemente la logica dell'applicazione;
  • correzione di bug;
  • prove di scrittura (unità, test di integrazione);
  • comunicazione con gli altri membri del team.
Come il Frontend , gli sviluppatori del Backend hanno direzioni diverse, ovvero un linguaggio di sviluppo specifico. Ma ovviamente prenderemo come esempio il linguaggio di sviluppo Java. Quindi, quali sono le competenze necessarie per uno sviluppatore Java:
  • Livello inglese - Intermedio ;
  • conoscenza di Java Core : la sintassi del linguaggio Java e un insieme di tecnologie di base;
  • comprensione dell'intero processo di sviluppo web;
  • conoscenza del linguaggio SQL ;
  • conoscenza di database relazionali, come PostgreSQL o MySQL ;
  • capacità di interagire con un database tramite JDBC , Hibernate ;
  • conoscenza dei framework Spring di base (Spring Core, Spring Data, Spring Web) ;
  • conoscenza di Git , Maven ;
  • Competenze in test unitari e di integrazione, ad esempio utilizzando JUnit e Mockito .
Per gli sviluppatori frontend e backend non ho parlato di elevate capacità comunicative. Ovunque scrivono che per questi specialisti sono importanti elevate capacità comunicative, ma questo non è del tutto vero. Sì, è importante comunicare adeguatamente, ma questo è importante in qualsiasi direzione e in qualsiasi altra professione. Ma se lo confronti con un PM o un reclutatore, il cui intero lavoro consiste nella comunicazione, allora per uno sviluppatore avere competenze trasversali (capacità di comunicazione) super sviluppate non è così di fondamentale importanza. Dopotutto, lavorano in codice tutto il giorno e, ad esempio, una volta al giorno partecipano a una sorta di riunione, come una riunione quotidiana, in cui dicono letteralmente un paio di frasi: cosa hanno fatto, cosa stanno facendo, cosa faranno. Ebbene, a volte chiamano i colleghi per discutere alcune questioni tecniche. Pertanto, questa professione è ottima per gli introversi, persone che amano la privacy. Puoi ricevere il tuo compito e lavorarci sopra senza spendere molte ore in chiamate e discussioni poco chiare. Ho anche scritto che il livello di inglese richiesto è Intermedio , poiché da un lato non c'è molta comunicazione con il cliente, ma allo stesso tempo è necessario saper leggere/scrivere in inglese (documentazione, Jira ) ed eventualmente comunicare con gli sviluppatori dalla parte del cliente. I clienti possono chiudere un occhio sull'inglese storto degli sviluppatori: l'importante è che siano forti nello sviluppo. Le opportunità di crescita per il Backend sono le stesse che per gli sviluppatori Frontend:
  • responsabile tecnologico ;
  • guida della squadra ;
  • sviluppatore full-stack : devi imparare il frontend ;
  • architetto della soluzione ;
  • consulente tecnico ;
  • riqualificarsi e passare a un'altra specialità.
Gli stipendi degli sviluppatori backend sono molto piacevoli. Ad esempio, uno sviluppatore Java principiante in media a Kiev può ricevere circa $ 600 . Lo stipendio medio a Kiev per questi specialisti varia tra $ 1950-2850 . Ebbene, per i forti sviluppatori di livello Senior, lo stipendio può raggiungere i 5.000 dollari e oltre. Ma devi capire che questo può essere raggiunto con una grande esperienza alle spalle e il più alto livello di competenze. A scuola sono sempre stato bravo in matematica e fisica, perché mi davano dei mattoncini sotto forma di formule e per risolvere alcuni problemi dovevo costruire una struttura logica con questi mattoncini. Ecco perché mi piace lo sviluppo: lo stesso principio, solo che ci sono molti più mattoni logici e le strutture devono essere costruite in modo più complesso. Se non stai cercando modi semplici e desideri vere sfide, sentiti libero di scegliere questa direzione.

9. Manuale QA

Manual Quality Assurance è uno specialista che lavora per garantire la qualità del prodotto, il cui obiettivo è migliorare il processo di sviluppo dell'applicazione stesso, analizzare la documentazione e, sulla base di essa, identificare errori e imprecisioni nel funzionamento del prodotto. Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 5Tipicamente, la garanzia della qualità, di cui si occupa il Manuale QA , consiste in:
  • condurre valutazioni del rischio;
  • analisi delle specifiche e dei requisiti;
  • generare idee per migliorare la qualità del prodotto;
  • elaborazione di piani di prova;
  • analisi e documentazione dei risultati dei test ottenuti.
Al momento, i test vanno di pari passo con lo sviluppo del software e svolgono un ruolo importante nella creazione di qualsiasi prodotto IT di alta qualità. Ed è proprio così, perché oltre alla funzionalità scritta correttamente, dobbiamo essere sicuri che funzioni correttamente e non contenga più di 100.500 bug. È qui che i test vengono in soccorso, fungendo da sorta di controllo di qualità in modo che solo un prodotto il più snello e raffinato possibile possa superarlo. Le responsabilità del Manuale QA includono:
  • studiare requisiti, specifiche e altra documentazione;
  • visionare e verificare il sistema e le sue caratteristiche tecniche per la conformità alla specifica (elenco dei requisiti);
  • sviluppare strategie e piani di test efficaci;
  • scrivere script di test (casi di test), in base ai quali QA Automation crea test automatizzati;
  • esecuzione manuale di casi di test, analisi dei risultati;
  • in caso di guasti o incongruenze durante i test, è necessario redigere un report, creare attività (creare bug) e inviarle agli sviluppatori per il miglioramento;
  • test di regressione del prodotto;
  • documentare le fasi di test;
  • comunicazione con i team di sviluppo su incoerenze funzionali e bug.
Competenze necessarie per diventare un Manuale di QA :
  • Livello inglese - Intermedio ;
  • buona conoscenza delle metodologie e delle pratiche di garanzia della qualità delle applicazioni;
  • conoscenza dei test di regressione;
  • capacità di documentare gli errori;
  • competenze nella revisione dettagliata dei requisiti software;
  • orientamento tecnico di base;
  • comprendere JSON , XML ;
  • conoscenza base di SQL ;
  • capacità di lavorare con strumenti per l'organizzazione della documentazione di test, ad esempio - Testrail ;
  • attenzione ai dettagli;
  • mentalità critica.
Un'opportunità diretta per la crescita di tale specialista è QA Automation . Per fare questo dovrai imparare un po’. Puoi anche crescere in :
  • Responsabile QA : il leader del QA nel team;
  • riqualificarti e passare a un'altra specialità, ad esempio diventare uno sviluppatore frontend o backend .
A Kiev, lo stipendio medio del Manuale QA per un principiante è di $ 400 . Bene, in media, gli stipendi per questi specialisti sono compresi tra $ 1250-1650 . Per gli specialisti senior più esperti, gli stipendi possono raggiungere i 3.000 dollari e oltre. Questo è uno dei modi più semplici per "entrare nell'IT": puoi iniziare con questa specialità, per poi passare a qualcosa di più complesso o raggiungere le vette della padronanza in quest'area.

10. Automazione del controllo qualità

QA Automation è uno specialista della qualità del prodotto che utilizza vari strumenti software per creare test basati su script scritti personalmente o da QA Manual . L'automazione del QA è qualcosa di simile al livello successivo dopo il Manuale del QA . Se QA Manual esegue tutto manualmente, QA Automation utilizza una sorta di linguaggio di programmazione per scrivere test che controllano il corretto funzionamento della funzionalità dell'applicazione. Questi test vengono in genere eseguiti automaticamente in determinate condizioni: quando l'applicazione viene creata, oppure ogni giorno a una certa ora e così via. Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 6In genere, le responsabilità dell'AQA includono :
  • studiare requisiti, specifiche e altra documentazione;
  • creazione e impostazione di ambienti di test per l'esecuzione di casi di test e script;
  • progettare, creare ed eseguire l'automazione di casi di test (piani di test) utilizzando Selenium in conformità con standard e metodologie di garanzia della qualità definiti;
  • studiare il test manuale dell'applicazione e fornire suggerimenti sulla possibilità di automazione;
  • mantenere aggiornati i casi di test di automazione;
  • scrivere documentazione;
  • mantenere il livello richiesto di copertura dei test;
  • se necessario, aiutarsi con i test manuali. Può eseguire manualmente casi di test e script per prodotti in fase di sviluppo utilizzando strumenti di gestione dei test;
  • partecipazione allo sviluppo, in particolare all'amministrazione del processo di controllo della qualità;
  • comunicazione con i team di sviluppo su incoerenze funzionali e bug.
Il "trucco" principale dei test automatizzati è che i test automatizzati consentono di testare il software molto più velocemente, più spesso e, di conseguenza, accelerare la consegna del prodotto. Innanzitutto, un lavoro di automazione dei test eseguito bene consentirà ai test di essere eseguiti in modo rapido e prevedibile. Ciò a sua volta eviterà situazioni in cui la persona che esegue manualmente i passaggi potrebbe saltare un passaggio o immettere un valore non destinato al test. In secondo luogo, puoi includere test automatizzati nel processo di compilazione ed eseguirli ogni volta che la compilazione viene completata. Questo può essere fatto utilizzando lo strumento CI . In terzo luogo, quando gli sviluppatori modificano alcune funzionalità di un'applicazione, ciò può influenzare una parte completamente diversa del sistema e modificarne anche il comportamento. Ma quando eseguiamo test automatizzati, i cambiamenti nel comportamento di qualsiasi parte del sistema diventeranno immediatamente visibili: questa è un'assicurazione aggiuntiva nel caso in cui ne creiamo tre nuovi risolvendo un bug. Competenze richieste:
  • Livello inglese - Intermedio ;
  • buona conoscenza delle metodologie e delle pratiche di garanzia della qualità;
  • ottima conoscenza della sintassi di un linguaggio (ad esempio Java o JavaScript ), perché i test devono essere scritti in qualcosa;
  • scrivere test automatizzati utilizzando Selenium ;
  • familiarità con CI/CD ;
  • capacità di lavorare con Git ;
  • attenzione ai dettagli;
  • mentalità critica.
Un'opportunità di crescita diretta per AQA è diventare uno sviluppatore del linguaggio di programmazione in cui già scrivi test. Puoi anche diventare:
  • Comando QA ;
  • riqualificarsi e passare a un'altra specialità.
Lo stipendio medio per un principiante dell'automazione del controllo qualità a Kiev è di $ 600 . La media per quest'area è di $ 1.700-$ 2.500 e per gli specialisti di livello senior gli stipendi possono raggiungere i $ 4.000 e oltre. Se hai una mente critica, vuoi scrivere codice, ma non hai “sfide” che a volte possono darti sui nervi e desideri un lavoro più rilassato, dovresti imparare di più su questa professione. Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 7In tutte le specializzazioni, ho elencato l'inglese come competenza richiesta. Ma se non ce l’hai molto bene, non arrabbiarti. Questa non è una frase. Esistono diverse società di prodotti russe e ucraine che reclutano specialisti senza la necessaria conoscenza dell'inglese, poiché le persone non avranno bisogno di comunicare con clienti stranieri (clienti), ma solo all'interno del team. Potrebbe trattarsi, ad esempio, del reparto IT di una banca o di un operatore di telecomunicazioni. Quindi puoi trovare un lavoro senza parlare una lingua, se ne hai il desiderio. E oggi per me è tutto...Chi è chi nell'IT.  Cosa fanno i PM, gli sviluppatori frontend e backend e il QA - 8
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION