
Oggi festeggiamo le persone che ogni giorno si prendono cura di portare un po' più di ordine nel mondo: i tester. In questo giorno, GeekUniversity di Mail.ru Group per coloro che vogliono unirsi ai combattenti contro l'entropia dell'Universo. Il programma del corso è strutturato in modo che la professione di "Tester del Software" possa essere appresa da zero, anche se in precedenza si è lavorato in un settore completamente diverso.
Pubblicando anche la storia della studentessa di GeekBrains Maria Lupandina (). Maria è dottore di ricerca in "Acustica". Attualmente lavora come tester di software in una grande azienda di ingegneria che sviluppa software per le strutture sanitarie.
Nel mio articolo voglio mostrare la possibilità di un cambiamento piuttosto marcato di carriera. Prima di diventare tester, non avevo molta familiarità con le tecnologie informatiche, salvo le situazioni necessarie per il mio lavoro precedente. Ma, sotto la pressione di diversi fattori, di cui parlerò in dettaglio di seguito, ho deciso di lasciare il campo scientifico per entrare nel puro IT. È andata bene e ora posso condividere la mia esperienza.
Come è tutto iniziato: tecnologia più scienza
Dopo aver completato l'università in "ingegneria biomedica" sono stata assunta in un'azienda industriale come ingegnere di laboratorio. È un lavoro abbastanza interessante; le mie responsabilità includevano la misurazione e il controllo dei parametri dei prodotti dell'azienda, oltre a quello delle materie prime nelle diverse fasi della produzione.
Desideravo diventare un buon specialista e quindi mi sono immersa gradualmente nelle tecnologie di produzione, acquisendo competenze in discipline affini. Ad esempio, quando è sorto il bisogno, ho studiato la metodologia per eseguire analisi chimiche per il controllo della qualità dell'acqua, utilizzando come fonti gli standard nazionali e i regolamenti di settore. Successivamente, ho insegnato questa metodologia ad altri tecnici di laboratorio.
Contemporaneamente, stavo preparando la mia tesi di dottorato, che ho sostenuto con successo. Essendo già diventata dottore di ricerca, sono riuscita a ottenere un grande finanziamento dal Fondo Russo per la Ricerca Fondamentale (RFBR). In quel periodo, mi hanno invitato come docente all'università con un contratto part-time al 30%. Realizzavo lavori per il progetto finanziato, ho sviluppato piani di studio e materiali metodologici per le discipline universitarie, pubblicavo articoli scientifici, tenevo lezioni, conducevo laboratori, creavo controlli e test per il sistema di istruzione elettronica. Insegnare mi piaceva molto, ma, sfortunatamente, il contratto è scaduto e anche la mia carriera come dipendente universitario è finita.
Perché? Da un lato, volevo continuare il mio percorso nella scienza, ad esempio diventando professore associato. Il problema era che il contratto era a tempo determinato e non sono riuscita a stabilizzarmi all'università: purtroppo non mi è stato offerto un nuovo contratto.
In quel momento, ho deciso di lasciare l'azienda, poiché ho capito che dovevo cambiare qualcosa; non volevo trascorrere tutta la vita a lavorare come tecnico di laboratorio. Non avevo alcuna possibilità di crescita professionale, poiché non c'era spazio per lo sviluppo. L'azienda era piccola, quindi non si parlava di carriera. A questo si aggiungevano un basso stipendio, una posizione scomoda dell'azienda e un'elevata pericolosità dell'ambiente di lavoro. Si formava così un complesso di problemi che dovevo semplicemente risolvere, come il nodo di Gordio, ovvero – lasciare il lavoro.
Dopo aver lasciato, sono passata a lavori autonomi. Così, ho sviluppato progetti su commissione in radioelettronica, ingegneria elettrica, acustica. In particolare, ho progettato antenne paraboliche a microonde e sviluppato una camera acustica silenziata per studiare le caratteristiche dei microfoni. C'erano molti ordini, ma desideravo comunque qualcosa di diverso. A un certo punto, ho avuto voglia di provare le mie forze come programmatore.
Nuovi studi e lavoro freelance
Un giorno ho visto un annuncio dei corsi di GeekBrains e ho deciso di provare. Inizialmente ho seguito il corso "Fondamenti di Programmazione". Volevo di più, quindi ho seguito anche il corso 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 "L'apprendimento è stata una grande sfida per le mie forze — non perché il corso sia difficile, ma perché spesso dovevo studiare con un bambino in braccio.
Perché proprio Java? Ho spesso sentito dire che è un linguaggio universale, utilizzabile, ad esempio, nello sviluppo web. Inoltre, ho letto che conoscendo Java si può passare a qualsiasi altro linguaggio, se necessario. Questo si è rivelato vero: ho scritto codice in C++ e ha funzionato, anche se non mi ero immersa troppo a fondo nelle basi della sintassi. Bene anche con Python, con il quale ho realizzato un piccolo parser per pagine web.

A volte dovevo lavorare in questo modo: mettere il bambino nello zaino ergonomico, dargli un giocattolo e sperare che fosse sufficiente per completare il tuo ordine.
Appena ho acquisito un certo bagaglio di conoscenze e esperienza nella programmazione, ho iniziato a prendere ordini come freelance. Così ho scritto un'applicazione per la gestione delle finanze personali, un editor di testo su richiesta. Per quanto riguarda l'editor, è semplice, ha alcune funzioni principali per la formattazione del testo, ma fa bene il suo lavoro. Inoltre, ho risolto problemi di elaborazione del testo e mi sono occupata di impaginazione di pagine web.
Voglio sottolineare che studiare programmazione ha ampliato le mie possibilità e prospettive in generale: non solo posso scrivere programmi su richiesta, ma mi occupo anche di progetti per me stessa. Ad esempio, ho scritto un piccolo ma utile programma che consente di scoprire se qualcuno sta danneggiando i tuoi articoli su Wikipedia. Il programma analizza la pagina dell'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. Inoltre, ho scritto un programma per il calcolo automatico del costo di un prodotto specifico come la forza lavoro. L'interfaccia grafica del programma è realizzata con la libreria JavaFX. Certo, ho usato un testo di riferimento, ma ho sviluppato l'algoritmo da sola, utilizzando principi di OOP e il modello di progettazione MVC.
Il freelance va bene, ma l'ufficio è meglio.
In generale, mi è piaciuto essere un freelance, poiché posso guadagnare senza uscire di casa. Ma qui c'è il problema con il numero di ordini. Se ce ne sono molti, va tutto bene dal punto di vista economico, ma ci sono progetti urgenti che richiedono di lavorare fino a tardi in modalità d'emergenza. Se ci sono pochi clienti, si sente il bisogno di denaro. I principali svantaggi del freelance sono l'orario di lavoro non regolare e il livello di reddito instabile. Tutto ciò ha ovviamente influito sulla qualità della vita e sullo stato psicologico generale.
È arrivata la consapevolezza che un'occupazione ufficiale è ciò che aiuterà a liberarsi dai problemi menzionati. Ho iniziato a cercare offerte di lavoro su siti specializzati, ho sviluppato un buon curriculum (grazie agli insegnanti, con i quali spesso mi sono consultata su cosa includere nel curriculum e cosa sarebbe stato meglio menzionare durante l'incontro con il potenziale datore di lavoro). Durante la ricerca, ho completato delle prove, alcune delle quali erano piuttosto complesse. I risultati li ho aggiunti al portfolio, che alla fine è diventato abbastanza consistente.
Alla fine, sono riuscita a trovare lavoro come tester in un'azienda che sviluppa sistemi informatici medici per automatizzare il flusso documentale nelle strutture sanitarie. A trovare lavoro mi hanno aiutato la laurea in "ingegneria biomedica", oltre alle conoscenze e all'esperienza nello sviluppo di software. Sono stata invitata a un colloquio e alla fine ho ottenuto il lavoro.
Attualmente, il mio compito principale è verificare la robustezza delle applicazioni scritte dai nostri programmatori. Se il software non supera il test, è necessario apportare modifiche. Inoltre, controllo i messaggi degli utenti del sistema della mia azienda. Un intero dipartimento lavora per risolvere vari problemi, e io sono parte di esso. La piattaforma software sviluppata dalla nostra azienda è implementata in ospedali e cliniche. Se sorgono problemi, gli utenti inviano richieste per risolverli. Queste richieste le esaminiamo. A volte scelgo io stessa quale compito affrontare, mentre altre volte consulto colleghi più esperti riguardo alla scelta dei compiti.
Una volta che il compito è assegnato, inizia il lavoro. Per risolvere il problema, indago l'origine dell'errore (dopotutto, c'è sempre la possibilità che la causa sia un errore umano). Chiedendo al cliente tutti i dettagli, preparo un documento tecnico per il programmatore. Una volta che il componente o il modulo è pronto, li testo e li implemento nel sistema del cliente.
Sfortunatamente, la maggior parte dei test deve essere eseguita manualmente, poiché implementare l'automazione è un processo aziendale complesso che richiede giustificazioni solide e una preparazione accurata. Tuttavia, ho familiarità con alcuni strumenti di automazione. Ad esempio, la libreria Junit per testare un 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 utilizzato nel web. Inoltre, ho imparato a usare il framework Cucumber.
Il mio reddito nel nuovo lavoro è raddoppiato rispetto al freelance, grazie soprattutto al fatto che lavoro a tempo pieno. A proposito, secondo le statistiche di hh.ru e altre fonti, lo stipendio di uno sviluppatore a Taganrog varia tra 40.000 e 70.000 rubli. In generale, questi dati corrispondono alla realtà.
Il luogo di lavoro è attrezzato con tutto il necessario, l'ufficio è spazioso, ci sono molte finestre e aria fresca. Inoltre, c'è una cucina, una caffettiera e, naturalmente, biscotti! Anche il team è fantastico, non ci sono aspetti negativi da questo punto di vista. Un buon lavoro, buoni colleghi, cosa può desiderare di più un programmatore-tester per essere felice?
Voglio sottolineare che l'ufficio dell'azienda si trova a Taganrog, la mia città natale. Ci sono molte aziende IT qui, quindi c'è spazio per crescere. Se lo si desidera, si può trasferirsi a Rostov — lì ci sono più opportunità, ma al momento non ho piani di trasferimento.
Cosa succede dopo?
Per ora mi piace ciò che ho. Ma non ho intenzione di fermarmi, quindi continuo a studiare. Ho in programma un corso su "JavaScript. Livello 2", e appena avrò più tempo libero inizierò sicuramente a impararlo. Ripasso regolarmente i materiali già trattati, oltre a guardare lezioni e webinar. Inoltre, partecipo a un programma di mentorship su GeekBrains. Così, per gli studenti che hanno completato con successo i corsi e hanno consegnato i compiti, è disponibile la possibilità di diventare mentori per altri studenti. Il mentore risponde a domande e aiuta con i compiti. Per me è anche un modo per ripassare e consolidare i materiali. Nel mio tempo libero, quando ne ho la possibilità, risolvo problemi su risorse come ,,.
Sto anche seguendo un corso di sviluppo Android tenuto dai docenti dell'ITMO. Questi corsi sono gratuiti, e se si desidera, è possibile sostenere un esame a pagamento. Vorrei sottolineare che il team dell'ITMO detiene il primato mondiale nelle competizioni di programmazione.
Alcuni consigli per chi è interessato alla programmazione
Avendo già esperienza nello sviluppo, voglio consigliare a chi pianifica di entrare nel settore IT di non tuffarsi a capofitto. Per diventare un buon professionista, bisogna essere appassionati del proprio lavoro. E per questo è fondamentale scegliere un settore che piace davvero. Fortunatamente, non è difficile: ora in rete ci sono un sacco di recensioni e descrizioni su qualsiasi campo dello sviluppo, linguaggio o framework.
E bisogna essere pronti a un apprendimento costante. Un programmatore non può fermarsi: sarebbe come una condanna a morte, anche se nel nostro caso non fisica, ma professionale. Se sei pronto a questo, allora andiamo, perché no?
Fonte: habr.com
