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. Se 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 compito 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.
- 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.
- 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à))
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 . Gli 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).
- 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 .
- 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. Gli 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.
- 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 .
- responsabile tecnologico ;
- guida della squadra ;
- sviluppatore full-stack : devi imparare il frontend ;
- architetto della soluzione ;
- consulente tecnico ;
- riqualificarsi e passare a un'altra specialità.
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. Tipicamente, 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.
- 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.
- 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.
- Responsabile QA : il leader del QA nel team;
- riqualificarti e passare a un'altra specialità, ad esempio diventare uno sviluppatore frontend o backend .
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. In 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.
- 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.
- Comando QA ;
- riqualificarsi e passare a un'altra specialità.
GO TO FULL VERSION