Come passare dalla scienza all'IT e diventare tester: la storia di una carriera

Come passare dalla scienza all'IT e diventare tester: la storia di una carriera

Oggi celebriamo le persone che si prendono cura di rendere il mondo un po' più ordinato, i tester. In questo giorno, GeekUniversity di Mail.ru Group apre un dipartimento per coloro che vogliono unirsi alla lotta contro l'entropia dell'universo. Il programma del corso è strutturato in modo tale che la professione di "Tester di software" possa essere appresa da zero, anche se in precedenza si è lavorato in un campo completamente diverso.

Pubblicando anche la storia di una studentessa di GeekBrains, Maria Lupandina (@mahatimas). Maria è una candidata in scienze tecniche specializzata in "Acustica". Attualmente lavora come tester di software in una grande azienda ingegneristica che sviluppa software per strutture sanitarie.

Nel mio articolo voglio mostrare la possibilità di un cambiamento abbastanza radicale di carriera. Prima di diventare tester, non avevo avuto molte interazioni con le tecnologie informatiche, se non per quelle necessarie al mio precedente lavoro. Ma a causa di una serie di fattori, di cui parlerò in dettaglio più avanti, ho deciso di lasciare il campo scientifico per dedicarmi totalmente all'IT. Ce l'ho fatta, e ora posso condividere la mia esperienza.

Come è iniziato tutto: tecnologia e scienza

Dopo aver completato l'università con una laurea in "ingegneria biomedica", sono stata assunta come ingegnere di laboratorio in un'azienda industriale. È un lavoro piuttosto interessante, le mie responsabilità includevano la misurazione e il controllo dei parametri dei prodotti dell'azienda, nonché delle materie prime in diverse fasi della produzione.

Volevo diventare una buona professionista, quindi mi sono immersa gradualmente nelle tecnologie di produzione e ho acquisito competenze in settori affini. Ad esempio, quando si era resa necessaria, ho appreso la metodologia per eseguire analisi chimiche per il controllo della qualità dell'acqua, utilizzando come fonti gli standard nazionali e le normative di settore. In seguito ho insegnato questa metodologia ad altri laboratori.

Contemporaneamente, preparavo la mia tesi di dottorato, che ho poi difeso con successo. Essendo già diventata dottore, sono riuscita a ottenere un grande finanziamento dal Fondo Russo per le ricerche fondamentali (RFBR). In quel periodo mi hanno invitata a insegnare all'università con un contratto part-time. Ho lavorato su progetti di ricerca, sviluppato piani di studio e materiali didattici per le materie universitarie, pubblicato articoli scientifici, tenuto conferenze, condotto pratiche e sviluppato esami e test per il sistema di educazione elettronica. Insegnare mi piaceva molto, ma purtroppo il contratto è scaduto e la mia carriera come dipendente universitaria si è interrotta.

Perché? Da un lato, volevo continuare il mio percorso nella scienza, diventando ad esempio un docente. Il problema era che il contratto era a tempo determinato e non sono riuscita a stabilizzarmi all'università — purtroppo non mi è stato proposto un nuovo contratto.

Così, mi sono dimessa dall'azienda, perché ho deciso che era necessario cambiare, non volevo dedicare tutta la vita a lavorare come ingegnere di laboratorio. Semplicemente non avevo possibilità di crescita professionale; non c'erano opportunità di sviluppo. L'azienda era piccola, quindi non si poteva parlare di carriera. A tutto ciò si aggiungeva uno stipendio modesto, una scomoda posizione dell'azienda e un alto rischio di infortuni sul lavoro. Tutto ciò ha comportato un insieme di problemi che ho dovuto semplicemente tagliare, come il nodo gordiano, ovvero — dimettermi.

Dopo la mia dimissione, ho intrapreso un lavoro autonomo. Ho sviluppato progetti su richiesta nel campo della radioelettronica, dell'elettricità e dell'acustica. In particolare, ho progettato antenne paraboliche a microonde e sviluppato una camera acustica silenziata per studiare le caratteristiche dei microfoni. Ho avuto molti ordini, ma desideravo qualcos'altro. Un giorno ho voluto mettere alla prova le mie abilità come programmatrice.

Nuovi studi e freelance

Un giorno ho visto un annuncio per i corsi di GeekBrains e ho deciso di provare. Ho iniziato con il corso "Fondamenti di programmazione". Ho voluto di più, quindi ho seguito anche i corsi di "Sviluppo web", e questo era solo l'inizio: ho imparato HTML/CSS, HTML5/CSS3, JavaScript, dopo di che ho iniziato a studiare Java nei corsi "Programmatore Java". L'apprendimento è stata una grande sfida — non perché il corso fosse difficile, ma perché spesso dovevo studiare con il bambino in braccio.

Perché scegliere Java? Ho sentito e letto più volte che è un linguaggio universale, utilizzabile, ad esempio, per lo sviluppo web. Inoltre, ho letto che conoscendo Java si può facilmente passare a qualsiasi altro linguaggio se necessario. Questo si è rivelato vero: ho scritto codice in C++ e ha funzionato, nonostante non mi fossi immersa troppo in dettaglio nel sintassi di base. Ho avuto lo stesso successo con Python, creando un piccolo parser di pagine web.

Come passare dalla scienza all'IT e diventare tester: la storia di una carriera
A volte ho dovuto lavorare in questo modo: mettere il bambino in un marsupio ergonomico, dargli un giocattolo e sperare che bastasse per completare un altro incarico.

Non appena ho acquisito una certa base di conoscenze e esperienza nella programmazione, ho cominciato a prendere incarichi come freelance. Così ho sviluppato un'app per la gestione delle finanze personali e un editor di testo su richiesta. L'editor è semplice, ha alcune funzioni di base per il formato del testo, ma svolge bene il suo compito. Inoltre, ho affrontato compiti di elaborazione del testo e ho lavorato anche al layout di pagine web.

Voglio sottolineare che lo studio della programmazione ha ampliato le mie possibilità e la mia visione complessiva: non solo posso scrivere programmi su richiesta, ma lavoro anche su progetti per me stessa. Ad esempio, ho scritto un piccolo, ma utile programma che permette di sapere se qualcuno modifica i tuoi articoli su Wikipedia. Il programma esegue il parsing della pagina con l'articolo, trova la data dell'ultima modifica e, se la data non corrisponde a quella in cui hai modificato per l'ultima volta il tuo articolo, ricevi una notifica. Ho anche creato un programma per calcolare automaticamente il costo di un bene così specifico come la manodopera. L'interfaccia grafica del programma è stata realizzata con la libreria JavaFX. Certo, ho utilizzato un manuale, ma ho sviluppato l'algoritmo da sola, e per la sua realizzazione sono stati utilizzati i principi di OOP e il modello di progettazione MVC.

Il freelance va bene, ma l'ufficio è meglio.

In generale, mi è piaciuto essere freelance: si può guadagnare senza uscire di casa. Ma c'è un problema con la quantità di incarichi. Se ce ne sono molti, la situazione finanziaria è buona, ma ci sono progetti urgenti che richiedono di lavorare fino a tardi in modalità emergenza. Se i clienti sono pochi, si sente la necessità di guadagnare. I principali svantaggi del freelance sono l'orario di lavoro irregolare e il reddito instabile. Tutto questo ha un impatto sulla qualità della vita e sullo stato psicologico generale.

È arrivata la consapevolezza che un lavoro ufficiale è ciò che può liberarmi da questi problemi. Ho cominciato a cercare offerte di lavoro su siti specializzati, ho sviluppato un buon curriculum (ringrazio i miei insegnanti: ho spesso chiesto loro consiglio su cosa includere nel curriculum e cosa era meglio menzionare nella comunicazione diretta con potenziali datori di lavoro). Durante la ricerca, ho completato test di valutazione, alcuni dei quali erano piuttosto difficili. Ho aggiunto i risultati al mio portfolio, che alla fine è diventato abbastanza corposo.

Alla fine, sono riuscita a trovare un lavoro come tester in un'azienda che sviluppa sistemi informativi medici per automatizzare il flusso di documenti negli ospedali. A farmi ottenere l'impiego hanno contribuito il mio diploma in ingegneria biomedica e le mie conoscenze ed esperienze nello sviluppo software. Mi hanno invitato a un colloquio e alla fine ho ottenuto il lavoro.

Ora il mio compito principale è testare le applicazioni scritte dai nostri programmatori. Se il software non supera il test, occorre migliorarlo. Inoltre, verifico i messaggi degli utenti del sistema della mia azienda. Un intero dipartimento si occupa della risoluzione dei problemi, e io ne faccio parte. La piattaforma software sviluppata dalla nostra azienda è implementata in ospedali e cliniche, e se sorgono difficoltà, gli utenti inviano richieste di risoluzione dei problemi. Queste richieste noi le esaminiamo. A volte scelgo autonomamente il compito su cui lavorare, altre volte mi consulto con colleghi più esperti su quali task affrontare.

Dopo che il task è stato assegnato, inizia il lavoro. Per risolvere il problema, scopro le cause dell'errore (perché c'è sempre la possibilità che la causa sia un errore umano). Dopo aver chiarito tutti i dettagli con il committente, formulo un documento di specifiche tecniche per il programmatore. Quando il componente o il modulo è pronto, lo testo e lo implemento nel sistema del cliente.

Sfortunatamente, la maggior parte dei test deve essere effettuata manualmente, poiché l'implementazione dell'automazione è un processo aziendale complesso che richiede una seria giustificazione e una notevole preparazione. Tuttavia, ho avuto modo di familiarizzare con alcuni strumenti di automazione. Ad esempio, la libreria Junit per testare un qualche blocco tramite API. Inoltre, c'è il framework twin di ebayopensource, che consente di scrivere script che simulano le azioni dell'utente, molto simile a Selenium, usato nel web. Inoltre, ho imparato il framework Cucumber.

Il mio reddito nel nuovo lavoro è raddoppiato rispetto al freelance, grazie soprattutto al fatto che lavoro a tempo pieno. Inoltre, secondo le statistiche di hh.ru e altre risorse, il salario medio di uno sviluppatore a Taganrog varia tra i 40.000 e i 70.000 rubli. In generale, questi dati sono realistici.

Il posto di lavoro è attrezzato con tutto il necessario, l'ufficio è spazioso, ci sono molte finestre e l'aria è sempre fresca. Inoltre, c'è una cucina, una macchina per il caffè e, naturalmente, biscotti! Il team è fantastico, non ci sono punti negativi da questo punto di vista. Un buon lavoro, buoni colleghi, cosa potrebbe volere di più un programmatore-testatore per essere felice?

Vorrei sottolineare che l'ufficio dell'azienda si trova a Taganrog, la mia città natale. Qui ci sono molte aziende IT, quindi ci sono opportunità per crescere. Se desiderato, si può trasferirsi a Rostov — lì ci sono più opportunità, ma al momento non prevedo di trasferirmi.

E ora?

Per ora mi piace ciò che ho. Ma non ho intenzione di fermarmi — per questo continuo a imparare. In programma ho un corso su 'JavaScript. Livello 2', e non appena ho più tempo libero, sicuramente inizierò. Ripasso regolarmente il materiale già studiato e guardo video e webinar. In aggiunta a questo, partecipo a un programma di mentorship su GeekBrains. Così, per gli studenti che hanno completato con successo i corsi e hanno consegnato i compiti, c'è la possibilità di diventare mentor per altri studenti. Il mentor risponde alle domande e aiuta con i compiti. Per me è anche un modo per ripassare e consolidare il materiale appreso. Nel tempo libero, quando è possibile, risolvo compiti su risorse come hackerrank.com, codeabbey.com, sql-ex.ru.

Sto anche seguendo un corso di sviluppo Android tenuto da docenti dell'ITMO. Questi corsi sono gratuiti, e se desiderato, è possibile sostenere un esame a pagamento. Vorrei sottolineare che il team dell'ITMO detiene il primo posto nel mondo per le competizioni di programmazione.

Alcuni consigli per chi è interessato alla programmazione

Già con un certo grado di esperienza nello sviluppo, voglio consigliare a coloro che pianificano di entrare nel campo IT di non tuffarsi a capofitto. Per diventare un buon professionista, è necessario avere passione per quello che si fa. Per questo motivo, è importante scegliere un ambito che piace davvero. Fortunatamente, oggi su internet ci sono molte recensioni e descrizioni relative a qualsiasi area di sviluppo, linguaggio o framework.

E vale la pena essere pronti a un processo di apprendimento continuo. Un programmatore non può fermarsi — sarebbe come morire, anche se non in senso fisico, ma professionale. Se siete pronti a questo, perché non andare avanti?

Fonte: habr.com

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