Come lasciare la scienza per l'informatica e diventare tester: il racconto di una carriera

Come lasciare la scienza per l'informatica e diventare tester: il racconto di una carriera

Oggi ci congratuliamo per le vacanze con le persone che ogni giorno si assicurano che ci sia un po' più di ordine nel mondo: i tester. In questo giorno GeekUniversity del gruppo Mail.ru apre la facoltà per coloro che vogliono unirsi alle fila dei combattenti contro l'entropia dell'Universo. Il programma del corso è strutturato in modo tale che la professione di “Software Tester” possa essere padroneggiata da zero, anche se in precedenza hai lavorato in un campo completamente diverso.

Pubblichiamo anche la storia della studentessa di GeekBrains Maria Lupandina (@mahatimas). Maria è una candidata di scienze tecniche, specializzandosi in acustica. Attualmente lavora come tester di software per una grande società di ingegneria che sviluppa software per istituzioni mediche.

Nel mio articolo voglio mostrare la possibilità di un cambiamento di carriera piuttosto drastico. Prima di diventare tester non avevo molti contatti con l'informatica, tranne i momenti necessari per il mio lavoro precedente. Ma sotto la pressione di una serie di fattori, descritti in dettaglio di seguito, ho deciso di lasciare il campo scientifico per dedicarmi all'informatica pura. Tutto ha funzionato e ora posso condividere la mia esperienza.

Come tutto ha avuto inizio: tecnologia più scienza

Dopo essermi laureato in ingegneria biomedica, ho trovato lavoro presso un'impresa industriale come ingegnere di laboratorio. Questo è un lavoro piuttosto interessante; le mie responsabilità includevano la misurazione e il monitoraggio dei parametri dei prodotti dell'azienda, nonché delle materie prime nelle diverse fasi della produzione.

Volevo diventare un buon specialista, quindi mi sono gradualmente immerso nelle tecnologie di produzione e ho imparato le specialità correlate. Ad esempio, quando se ne è presentata la necessità, ho studiato la metodologia per condurre analisi chimiche per il controllo della qualità dell'acqua, utilizzando come fonti gli standard governativi e le normative di settore. Successivamente insegnai questa tecnica ad altri assistenti di laboratorio.

Allo stesso tempo, stavo preparando la mia tesi di dottorato, che ho discusso con successo. Essendo già candidato, sono riuscito a ricevere una grossa sovvenzione dalla Fondazione russa per la ricerca di base (RFBR). Allo stesso tempo, sono stato invitato all'università come insegnante per 0,3 di paga. Ho svolto lavori con una sovvenzione, sviluppato programmi di studio e materiali metodologici nelle discipline per l'università, pubblicato articoli scientifici, tenuto conferenze, condotto pratiche, sviluppato quiz e test per il sistema di e-education. Mi è piaciuto molto insegnare, ma purtroppo il contratto è terminato e così anche la mia carriera di impiegata universitaria.

Perché? Da un lato volevo continuare il mio percorso scientifico, diventando, ad esempio, assistente professore. Il problema è che il contratto era a tempo determinato e non è stato possibile prendere piede all'università: sfortunatamente non è stato offerto loro un nuovo contratto.

Allo stesso tempo ho lasciato l’azienda perché ho deciso che qualcosa doveva cambiare; non volevo davvero passare tutta la vita a lavorare come ingegnere di laboratorio. Semplicemente non avevo un posto dove crescere professionalmente, non c'erano opportunità di sviluppo. L'azienda è piccola, quindi non c'era bisogno di parlare di carriera. Alla mancanza di prospettive di carriera si aggiungono salari bassi, una ubicazione scomoda dell'impresa stessa e un aumento del rischio di infortuni nella produzione. Ci ritroviamo con tutta una serie di problemi che dovevamo semplicemente tagliare, come un nodo gordiano, cioè sciogliere.

Dopo il mio licenziamento, sono passato al pane gratis. Quindi, ho sviluppato progetti personalizzati in ingegneria radiofonica, ingegneria elettrica e acustica. In particolare, ha progettato antenne paraboliche a microonde e sviluppato una camera acustica anecoica per studiare i parametri dei microfoni. C'erano molti ordini, ma volevo comunque qualcosa di diverso. Ad un certo punto ho voluto provare a diventare un programmatore.

Nuovi studi e freelance

In qualche modo una pubblicità per i corsi GeekBrains ha attirato la mia attenzione e ho deciso di provarlo. Per prima cosa ho seguito il corso “Fondamenti di programmazione”. Volevo di più, quindi ho seguito anche i corsi di “Sviluppo Web”, e questo è stato solo l'inizio: ho imparato HTML/CSS, HTML5/CSS3, JavaScript, dopodiché ho iniziato a imparare Java nel “Programmatore Java" Studiare è stata una grande sfida per le mie forze, non perché il corso in sé fosse difficile, ma perché spesso dovevo studiare con un bambino in braccio.

Perché Java? Ho letto e sentito più volte che questo è un linguaggio universale che può essere utilizzato, ad esempio, nello sviluppo web. Inoltre, ho letto che conoscendo Java, puoi passare a qualsiasi altro linguaggio in caso di necessità. Questo si è rivelato vero: ho scritto il codice in C++ e ha funzionato, nonostante non fossi andato troppo a fondo nelle basi della sintassi. Tutto ha funzionato con Python, ho scritto un piccolo parser di pagine web al suo interno.

Come lasciare la scienza per l'informatica e diventare tester: il racconto di una carriera
A volte dovevo lavorare in questo modo: mettere il bambino in uno zaino ergonomico, dargli un giocattolo e sperare che questo fosse sufficiente per completare l'ordine successivo.

Non appena ho acquisito una certa conoscenza ed esperienza di programmazione, ho iniziato a soddisfare gli ordini come libero professionista, quindi ho scritto un'applicazione per la contabilità delle finanze personali, un editor di testi personalizzato. Per quanto riguarda l'editor, è semplice, ha alcune funzioni di base per la formattazione del testo, ma fa il suo lavoro. Inoltre, ho risolto problemi di elaborazione testi, inoltre mi sono occupato dell'impaginazione delle pagine web.

Vorrei sottolineare che lo studio della programmazione ha ampliato le mie capacità e i miei orizzonti in generale: non solo posso scrivere programmi personalizzati, ma anche realizzare progetti per me stesso. Ad esempio, ho scritto un piccolo ma utile programma che ti permette di scoprire se qualcuno sta rovinando i tuoi articoli su Wikipedia. Il programma analizza la pagina dell'articolo, trova la data dell'ultima modifica e, se la data non corrisponde alla data dell'ultima modifica dell'articolo, ricevi una notifica. Ho anche scritto un programma per calcolare automaticamente il costo di un prodotto così specifico come la manodopera. L'interfaccia grafica del programma è scritta utilizzando la libreria JavaFX. Ovviamente ho usato il libro di testo, ma ho sviluppato l'algoritmo da solo e per implementarlo sono stati utilizzati i principi OOP e il modello di progettazione mvc.

Essere freelance va bene, ma lavorare in ufficio è meglio

In generale, mi è piaciuto essere un libero professionista, perché puoi guadagnare soldi senza uscire di casa. Ma il problema qui è il numero di ordini. Se ce ne sono tanti, va tutto bene con i soldi, ma ci sono progetti urgenti con i quali dovevi stare seduto fino a tarda notte in modalità emergenza. Se ci sono pochi clienti, senti il ​​bisogno di soldi. I principali svantaggi del freelance sono orari irregolari e livelli di reddito incoerenti. Tutto ciò, ovviamente, ha influito sulla qualità della vita e sullo stato psicologico generale.

Si è giunti alla conclusione che l'occupazione ufficiale è ciò che aiuterà a sbarazzarsi di questi problemi. Ho iniziato a cercare posti vacanti su siti specializzati, ho sviluppato un buon curriculum (per il quale ringrazio i miei insegnanti - mi sono spesso consultato con loro su cosa dovrebbe essere incluso nel curriculum e cosa è meglio menzionare nella comunicazione personale con un potenziale datore di lavoro). Durante la ricerca ho completato compiti di prova, alcuni dei quali erano piuttosto difficili. Ho aggiunto i risultati al mio portfolio, che alla fine è diventato piuttosto voluminoso.

Di conseguenza, sono riuscito a ottenere un lavoro come tester in un'azienda che sviluppa sistemi informativi medici per automatizzare il flusso di documenti nelle istituzioni mediche. Un'istruzione superiore in ingegneria biomedica, oltre alla conoscenza e all'esperienza nello sviluppo di software, mi hanno aiutato a trovare un lavoro. Sono stato invitato per un colloquio e alla fine ho ottenuto il lavoro.

Ora il mio compito principale è testare la forza delle applicazioni scritte dai nostri programmatori. Se il software non supera il test, deve essere migliorato. Controllo anche i messaggi degli utenti del sistema della mia azienda. Abbiamo un intero dipartimento che lavora per risolvere vari problemi e io ne faccio parte. La piattaforma software sviluppata dalla nostra azienda è stata implementata in ospedali e cliniche; se sorgono difficoltà, gli utenti inviano una richiesta per risolvere il problema. Stiamo esaminando queste richieste. A volte scelgo io stesso il compito su cui lavorerò e talvolta mi consulto con colleghi più esperti sulla scelta dei compiti.

Dopo che l'attività è stata assicurata, inizia il lavoro. Per risolvere il problema scopro l'origine dell'errore (dopotutto c'è sempre la possibilità che la causa sia un fattore umano). Chiariti tutti i dettagli con il cliente, formulo una specifica tecnica per il programmatore. Una volta che il componente o il modulo è pronto, lo collaudo e lo implemento nel sistema del cliente.

Sfortunatamente, la maggior parte dei test deve essere eseguita manualmente, poiché l’implementazione dell’automazione è un processo aziendale complesso che richiede una seria giustificazione e un’attenta preparazione. Tuttavia, ho acquisito familiarità con alcuni strumenti di automazione. Ad esempio, la libreria Junit per testare un blocco utilizzando l'API. Esiste anche il framework gemello di ebayopensource, che permette di scrivere script che simulano le azioni dell'utente, molto simile a Selenium, che viene utilizzato sul web. Inoltre ho imparato il framework Cucumber.

Il mio reddito nel mio nuovo lavoro è raddoppiato rispetto al freelance, ma in gran parte grazie al fatto che lavoro a tempo pieno. A proposito, secondo le statistiche di hh.ru e altre risorse, lo stipendio di uno sviluppatore a Taganrog è di 40-70 mila rubli. In generale, questi dati sono veri.

Il posto di lavoro è dotato di tutto il necessario, l'ufficio è spazioso, ci sono molte finestre, c'è sempre aria fresca. Inoltre c'è una cucina, una macchinetta del caffè e, ovviamente, dei biscotti! Anche la squadra è grandissima, non ci sono assolutamente aspetti negativi in ​​questo senso. Ottimo lavoro, colleghi, di cos'altro ha bisogno un programmatore di test per essere felice?

Separatamente vorrei sottolineare che l'ufficio dell'azienda si trova a Taganrog, la mia città natale. Ci sono parecchie aziende IT qui, quindi c'è spazio per espandersi. Se lo desideri puoi trasferirti a Rostov: lì ci sono più opportunità, ma per ora non ho intenzione di trasferirmi.

Quali sono le prospettive?

Finora mi piace quello che ho. Ma non mi fermerò ed è per questo che continuo a studiare. Disponibile: un corso su JavaScript. Livello 2”, appena avrò più tempo libero inizierò sicuramente a padroneggiarlo. Ripeto regolarmente i materiali che ho già trattato, inoltre guardo lezioni e webinar. Oltre a questo, sto partecipando a un programma di tutoraggio presso GeekBrains. Pertanto, per gli studenti che hanno completato con successo i corsi e completato i compiti a casa, è disponibile l'opportunità di essere mentori per altri studenti. Il mentore risponde alle domande e aiuta con i compiti. Per me questa è anche ripetizione e consolidamento del materiale trattato. Nel tempo libero, quando possibile, risolvo problemi utilizzando risorse come hackerrank.com, codeabbey.com, sql-ex.ru.

Sto anche seguendo un corso sullo sviluppo Android tenuto da insegnanti ITMO. Questi corsi sono gratuiti, ma se lo desideri puoi sostenere un esame a pagamento. Vorrei sottolineare che il team ITMO detiene il campionato mondiale nelle competizioni di programmazione.

Alcuni consigli per chi è interessato alla programmazione

Avendo già avuto una certa esperienza nello sviluppo, vorrei consigliare a chi ha intenzione di dedicarsi all'IT di non precipitarsi a capofitto in piscina. Per diventare un buon specialista, devi essere appassionato del tuo lavoro. E per fare questo, dovresti scegliere la direzione che ti piace davvero. Fortunatamente, non c'è nulla di complicato in questo: ora su Internet ci sono molte recensioni e descrizioni su qualsiasi area di sviluppo, linguaggio o framework.

Bene, dovresti essere preparato per un processo di apprendimento costante. Un programmatore non può fermarsi: è come la morte, anche se nel nostro caso non è fisica, ma professionale. Se sei pronto per questo, vai avanti, perché no?

Fonte: habr.com

Aggiungi un commento