Wie man von der Wissenschaft in die IT wechselt und Tester wird: die Geschichte einer Karriere

Wie man von der Wissenschaft in die IT wechselt und Tester wird: die Geschichte einer Karriere

Heute gratulieren wir den Menschen, die täglich dafür sorgen, dass die Welt ein bisschen mehr Ordnung hat – den Testern. An diesem Tag eröffnet GeekUniversity von Mail.ru Group eine Fakultät für diejenigen, die sich den Reihen der Kämpfer gegen die Entropie des Universums anschließen wollen. Das Kursprogramm ist so gestaltet, dass man den Beruf „Software-Tester“ von Grund auf erlernen kann, selbst wenn man zuvor in einem ganz anderen Bereich gearbeitet hat.

Wir veröffentlichen auch die Geschichte der GeekBrains-Studentin Maria Lupandina (@mahatimas). Maria ist Doktorin der technischen Wissenschaften mit dem Schwerpunkt „Akustik“. Derzeit ist sie Software-Tester in einem großen Ingenieurbüro, das Software für medizinische Einrichtungen entwickelt.

In meinem Artikel möchte ich die Möglichkeit eines ziemlich drastischen Karrierewechsels aufzeigen. Bevor ich Tester wurde, hatte ich nicht viel Kontakt mit Informationstechnologien, abgesehen von den Aspekten, die für meine frühere Arbeit notwendig waren. Doch unter dem Druck verschiedener Faktoren, über die ich im Folgenden ausführlich berichten werde, entschloss ich mich, den wissenschaftlichen Bereich zu verlassen und in die reine IT zu wechseln. Es hat geklappt, und jetzt kann ich meine Erfahrungen teilen.

Wie alles begann: Technologie trifft Wissenschaft

Nach dem Abschluss der Universität im Bereich „biomedizinische Technik“ begann ich als Laboringenieur in einem Industrieunternehmen zu arbeiten. Es war eine ziemlich interessante Arbeit, zu meinen Aufgaben gehörten das Messen und Überwachen der Produktparameter des Unternehmens sowie der Rohstoffe in verschiedenen Phasen der Produktion.

Ich wollte ein guter Fachmann werden, deshalb vertiefte ich mich allmählich in die Produktionstechnologien und erlernte angrenzende Berufe. Zum Beispiel, als es notwendig wurde, erlernte ich die Methode zur Durchführung chemischer Analysen zur Qualitätskontrolle von Wasser, wobei ich als Quellen staatliche Standards und branchenübliche Vorschriften nutzte. Später brachte ich diese Methode anderen Laboranten bei.

Gleichzeitig bereitete ich meine Doktorarbeit vor, die ich erfolgreich verteidigte. Nachdem ich bereits Doktorandin war, gelang es mir, einen großen Zuschuss von der Russischen Stiftung für Grundlagenforschung (RFBR) zu erhalten. Zur gleichen Zeit wurde ich als Dozentin an die Universität mit einem Teilzeitumfang von 0,3 geladen. Ich arbeitete an den Projekten des Zuschusses, entwickelte Lehrpläne und methodische Materialien für die Fächer an der Universität, publizierte wissenschaftliche Artikel, hielt Vorlesungen, leitete Praktika und entwickelte Prüfungen sowie Tests für das elektronische Bildungssystem. Das Unterrichten machte mir große Freude, aber leider endete der Vertrag und meine Karriere als Mitarbeiterin der Universität ebenfalls.

Warum? Einerseits wollte ich meinen Weg in der Wissenschaft fortsetzen, zum Beispiel als Dozentin arbeiten. Das Problem war, dass der Vertrag befristet war, und ich es nicht schaffte, mich an der Hochschule zu etablieren — ein neuer Vertrag wurde mir leider nicht angeboten.

Gleichzeitig kündigte ich bei der Firma, weil ich entschied, dass ich etwas ändern musste, denn mein ganzes Leben als Ingenieurin im Labor zu verbringen, wollte ich nicht. Mir fehlte einfach die Möglichkeit, mich beruflich weiterzuentwickeln, und ich hatte dort keine Wachstumschance. Die Firma war klein, so dass man nicht von einer Karriereleiter sprechen konnte. Zu den fehlenden Karriereaussichten kam ein niedriger Lohn, der ungünstige Standort des Unternehmens und die hohe Unfallgefahr in der Produktion. Das ergab ein ganzes Problemkomplex, den ich einfach durchschneiden musste, wie den gordischen Knoten, das heißt — ich musste kündigen.

Nach der Kündigung ging ich auf freie Arbeiten über. So entwickelte ich auf Auftrag Projekte in der Radiotechnik, Elektrotechnik und Akustik. Insbesondere entwarf ich paraboloide Mikrowellenantennen und entwickelte eine gedämpfte akustische Kammer zur Untersuchung der Parameter von Mikrofonen. Es gab viele Aufträge, aber ich wollte dennoch etwas anderes. Eines schönen Tages wollte ich versuchen, meine Fähigkeiten als Programmiererin auszuprobieren.

Neue Ausbildung und Freelancing

Eines Tages fiel mir eine Werbung für die Kurse von GeekBrains ins Auge und ich beschloss, es auszuprobieren. Zuerst absolvierte ich den Kurs „Grundlagen der Programmierung“. Ich wollte mehr, also machte ich auch die Kurse „Web-Entwicklung“, wobei das erst der Anfang war: Ich erlernte HTML/CSS, HTML5/CSS3, JavaScript, nach dem ich begann, Java in den Kursen „Java-ProgrammiererDas Lernen war eine große Herausforderung für meine Kräfte – nicht weil der Kurs kompliziert ist, sondern weil ich oft mit einem Kind auf dem Arm lernen musste.

Warum gerade Java? Ich habe immer wieder gehört, dass es eine universelle Sprache ist, die man beispielsweise in der Webentwicklung verwenden kann. Außerdem habe ich gelesen, dass man, wenn man Java kennt, auf jede andere Sprache umsteigen kann, wenn es notwendig wird. Das hat sich als wahr herausgestellt: Ich habe Code in C++ geschrieben, und er hat funktioniert, obwohl ich nicht zu tief in die Grundlagen der Syntax eingetaucht bin. Das Gleiche galt für Python, ich habe ein kleines Webseiten-Parser-Tool damit geschrieben.

Wie man von der Wissenschaft in die IT wechselt und Tester wird: die Geschichte einer Karriere
Manchmal musste ich so arbeiten – das Kind in die Tragehilfe setzen, ein Spielzeug geben und hoffen, dass das ausreicht, um den nächsten Auftrag auszuführen.

Sobald ich ein gewisses Wissen und Programmiererfahrung hatte, begann ich Aufträge im Freelancing zu erledigen. So habe ich eine App zur Verwaltung persönlicher Finanzen und einen Texteditor auf Bestellung geschrieben. Was den Editor betrifft, er ist einfach, hat einige grundlegende Funktionen zur Textformatierung, erfüllt aber seinen Zweck. Außerdem habe ich Textverarbeitungsaufgaben gelöst und mich mit dem Layout von Webseiten beschäftigt.

Ich möchte betonen, dass das Lernen von Programmierung meine Möglichkeiten und meinen Horizont insgesamt erweitert hat: Ich kann nicht nur Programme auf Bestellung schreiben, sondern arbeite auch an Projekten für mich selbst. Zum Beispiel habe ich ein kleines, aber nützliches Programm geschrieben, das erkennt, ob jemand meine Artikel auf Wikipedia verändert. Das Programm parst die Seite mit dem Artikel, findet das Datum der letzten Änderung und wenn das Datum nicht mit dem Datum übereinstimmt, an dem ich meinen Artikel zuletzt bearbeitet habe, erhalte ich eine Benachrichtigung. Außerdem habe ich ein Programm für die automatische Berechnung der Kosten für so ein spezifisches Produkt wie Arbeitskraft geschrieben. Die grafische Benutzeroberfläche des Programms wurde mit der JavaFX-Bibliothek erstellt. Natürlich habe ich ein Tutorial verwendet, aber den Algorithmus habe ich selbst entwickelt, und zur Umsetzung wurden Prinzipien der objektorientierten Programmierung und das MVC-Entwurfsmuster verwendet.

Freelancing ist gut, aber Büroarbeit ist besser.

Insgesamt hat mir das Freelancing gefallen, da man Geld verdienen kann, ohne das Haus zu verlassen. Das Problem liegt jedoch in der Anzahl der Aufträge. Wenn es viele gibt, ist alles in Ordnung mit dem Geld, aber es gibt auch dringende Projekte, bei denen ich bis spät in die Nacht im Eilmodus arbeiten musste. Wenn es wenige Auftraggeber gibt, spürt man das Bedürfnis nach Geld. Die Hauptnachteile des Freelancings sind die unregelmäßigen Arbeitszeiten und das schwankende Einkommensniveau. All dies wirkte sich natürlich auf die Lebensqualität und den allgemeinen psychologischen Zustand aus.

Ich kam zu der Erkenntnis, dass eine offizielle Anstellung mir helfen würde, die genannten Probleme loszuwerden. Ich begann, Stellenangebote auf spezialisierten Websites zu suchen, und entwickelte einen guten Lebenslauf (danke an die Dozenten – oft habe ich mich mit ihnen beraten, was im Lebenslauf angegeben werden sollte und was besser im persönlichen Gespräch mit potenziellen Arbeitgebern erwähnt werden könnte). Während meiner Suche erledigte ich Tests, einige waren recht schwierig. Die Ergebnisse fügte ich meinem Portfolio hinzu, das schließlich recht umfangreich wurde.

Letztendlich gelang es mir, als Tester in ein Unternehmen einzutreten, das sich mit der Entwicklung medizinischer Informationssysteme zur Automatisierung des Dokumentenverkehrs in Gesundheitseinrichtungen beschäftigt. Bei der Jobsuche half mir mein Hochschulabschluss im Bereich "Biomedizinische Technik" sowie Kenntnisse und Erfahrungen in der Softwareentwicklung. Ich wurde zu einem Vorstellungsgespräch eingeladen und erhielt schließlich die Stelle.

Jetzt besteht meine Hauptaufgabe darin, die von unseren Programmierern geschriebenen Anwendungen auf ihre Robustheit zu überprüfen. Wenn die Software die Prüfung nicht besteht, muss sie überarbeitet werden. Außerdem überprüfe ich die Nachrichten von Nutzern des Systems meiner Firma. An der Lösung verschiedener Probleme arbeitet eine ganze Abteilung, und ich bin ein Teil davon. Die von unserem Unternehmen entwickelte Plattform ist in Krankenhäusern und Arztpraxen implementiert, und wenn es Schwierigkeiten gibt, senden die Nutzer eine Anfrage zur Problemlösung. Diese Anfragen bearbeiten wir. Manchmal wähle ich selbst die Aufgabe aus, an der ich arbeiten möchte, manchmal berate ich mich auch mit erfahrenen Kollegen bezüglich der Aufgabenauswahl.

Nachdem die Aufgabe festgelegt wurde, beginnt die Arbeit. Um das Problem zu lösen, kläre ich die Herkunft des Fehlers (denn es besteht immer die Möglichkeit, dass die Ursache menschlicher Natur ist). Nachdem ich alle Details mit dem Kunden geklärt habe, erstelle ich ein technisches Lastenheft für den Programmierer. Sobald die Komponente oder das Modul bereit ist, teste ich sie und implementiere sie im System des Kunden.

Leider müssen die meisten Tests manuell durchgeführt werden, da die Einführung von Automatisierung ein komplexer Geschäftsprozess ist, der eine solide Begründung und sorgfältige Vorbereitung erfordert. Dennoch habe ich einige Automatisierungstools kennengelernt. Zum Beispiel die Junit-Bibliothek, um einen bestimmten Block über die API zu testen. Außerdem gibt es das Framework Twin von ebayopensource, das es ermöglicht, Skripte zu schreiben, die Benutzereingaben imitieren, sehr ähnlich wie Selenium, das im Web verwendet wird. Außerdem habe ich das Cucumber-Framework erlernt.

Mein Einkommen am neuen Arbeitsplatz hat sich im Vergleich zum Freelancing verdoppelt — was größtenteils daran liegt, dass ich Vollzeit arbeite. Übrigens, laut Statistiken von hh.ru und anderen Quellen liegt das Gehalt eines Entwicklers in Taganrog zwischen 40.000 und 70.000 Rubel. Insgesamt stimmen diese Daten mit der Realität überein.

Der Arbeitsplatz ist mit allem Notwendigen ausgestattet, das Büro ist geräumig, es gibt viele Fenster und immer frische Luft. Außerdem gibt es eine Küche, eine Kaffeemaschine und natürlich Kekse! Das Team ist ebenfalls großartig, es gibt in dieser Hinsicht überhaupt keine negativen Aspekte. Gute Arbeit, Kollegen, was braucht ein Programmierer und Tester mehr für sein Glück?

Ich möchte gesondert erwähnen, dass das Büro des Unternehmens in Taganrog ist, meiner Heimatstadt. Hier gibt es viele IT-Unternehmen, sodass es viele Möglichkeiten gibt. Bei Bedarf könnte ich nach Rostov ziehen – dort gibt es mehr Möglichkeiten, aber bislang plane ich keinen Umzug.

Was folgt jetzt?

Bis jetzt gefällt mir, was ich habe. Aber ich habe nicht vor, mich auszuruhen – daher lerne ich weiter. In der Warteschlange steht der Kurs "JavaScript. Niveau 2", den ich unbedingt beginnen werde, sobald ich mehr freie Zeit habe. Ich wiederhole regelmäßig die bereits gelernten Materialien, zusätzlich schaue ich mir Vorlesungen und Webinare an. Ergänzend dazu nehme ich an einem Mentorenprogramm bei GeekBrains teil. So haben Studierende, die die Kurse erfolgreich abgeschlossen haben und währenddessen ihre Hausaufgaben eingereicht haben, die Möglichkeit, Mentor für andere Lernende zu sein. Der Mentor beantwortet Fragen und hilft bei den Hausaufgaben. Für mich ist das auch ein Wiederholen und Festigen des gelernten Materials. In meiner Freizeit, wann immer ich die Möglichkeit habe, löse ich Aufgaben von solchen Ressourcen wie hackerrank.com, codeabbey.com, sql-ex.ru.

Ich arbeite auch an einem Kurs zur Android-Entwicklung, der von Dozenten der ITMO durchgeführt wird. Diese Kurse sind kostenlos, bei Interesse kann man eine kostenpflichtige Prüfung ablegen. Ich möchte betonen, dass das Team von ITMO den Weltmeistertitel bei Programmierwettbewerben hält.

Einige Ratschläge für alle, die sich für Programmierung interessieren

Da ich bereits Erfahrung in der Entwicklung habe, möchte ich denen raten, die in die IT gehen möchten, nicht kopfüber ins kalte Wasser zu springen. Um ein guter Spezialist zu werden, muss man für sein Fach brennen. Und dafür sollte man den Bereich wählen, der einem wirklich gefällt. Glücklicherweise gibt es dazu nichts Kompliziertes – im Internet gibt es zahlreiche Bewertungen und Beschreibungen zu jedem Bereich der Entwicklung, jeder Programmiersprache oder jedem Framework.

Außerdem sollte man bereit sein, kontinuierlich zu lernen. Ein Programmierer darf nicht stehen bleiben – das wäre gleichbedeutend mit einem beruflichen Tod, allerdings nicht physisch, sondern professionell. Wenn Sie dazu bereit sind – dann los, warum nicht?

Quelle: habr.com

60GB SSD 8Gb DDR4