Ist es als Computeringenieur schlecht für meine Karriere, Testaufgaben zu übernehmen? [geschlossen]

Meine Firma hat mich für die Position eines Entwicklers eingestellt. Da sie jedoch kein Projekt haben, wurde ich zu Testing versetzt.

Ist das ein schlechter Schritt für meine Karriere?

"Testen" ist sehr weit gefasst. Bitte sei spezifischer.
Während Sie einige Antworten erhalten haben, wäre es hilfreich zu wissen, ob dies eine dauerhafte Übertragung ist, vorübergehend, bis Projekt X beginnt oder für Sie bereit ist, bis ein unbekanntes Projekt einen Bedarf hat, bis ein unbekanntes Projekt aus dem Himmel auftaucht, bis sie herausfinden, was sie mit dir machen sollen. Wenn Sie zeigen, dass Sie in Ihrem Job sehr gut sind, egal wo Sie eingesetzt werden, werden Sie auf jeden Fall viel schneller in Positionen gelangen, die Sie sich wünschen. Wenn Sie zum Testteam gehen und es nicht begeistert von Ihnen ist, glauben Sie dann, dass ein Projekt, das einen Entwickler auf niedrigerem Niveau benötigt, Sie haben will?
Ich möchte auch hinzufügen, dass das Testen Teil der Softwareentwicklung ist. Wenn Sie also die Position eines Entwicklers einnehmen und Sie mit Tests beauftragen, bleiben Sie immer noch in der Position des Entwicklers. Mir ist aufgefallen, dass Sie einen BScE haben. Häufiges Testen ist in der Embedded-Welt anders. Normalerweise automatisieren Sie Tests, indem Sie mit verschiedenen Hardwaregeräten sprechen (z. B. Logikanalysator, Spektrumanalysator, Protokollanalysator usw.). Es ist also vielleicht nicht so langweilig, wie es zunächst klingt. Wenn Sie etwas "Mehr" daraus machen können als ihre Erwartungen, dann wäre es großartig, darüber in zukünftigen Vorstellungsgesprächen zu sprechen.
Das ist viel zu breit. Ingenieure müssen jedoch testen. Ich sehe hier keine Bedenken
Microsoft hat die SDET-Position, Software Development Engineer in Test. Betrachten Sie sich als SDET.
In ihrer jetzigen Form ist diese Frage zu allgemein und diskussionswürdig. Wenn Sie weitere Informationen hinzufügen (als Antwort auf die vorherigen Kommentare) und sich mehr darauf konzentrieren, wie Sie die Auswirkungen der Änderung auf Ihre Karriere bewerten können (nicht „was soll ich tun“, sondern „wie bewerte ich“), können wir nachsehen bei Wiedereröffnung. Danke.

Antworten (6)

Nein, es ist nicht schlecht, eine weitere Fähigkeit in Ihren Lebenslauf aufzunehmen. Das ist es nie. Das Testen ist ein wichtiger Teil des Softwareentwicklungsprozesses, und selbst als Programmierer hilft Ihnen das Wissen um diese Fähigkeiten.

Wenn sich herausstellt, dass Sie längere Zeit als Tester festsitzen, obwohl Sie eigentlich programmieren wollen, dann sollten Sie mit Ihrem Chef sprechen. Wenn Sie sich beide einig sind, dass dies eine kurzfristige Situation ist, dann nehmen Sie sie an und stellen Sie sicher, dass Sie so viel wie möglich lernen.

Seconded - Wenn Sie verstehen, wie man richtige Tests durchführt, werden Sie zu einem viel besseren Entwickler. Nutzen Sie die Gelegenheit!
@JennyD - das setzt voraus, dass das OP lernt, "richtige Tests" durchzuführen, anstatt einen Slapdash-Job durchzuführen, da sie nicht geschult oder engagiert sind.
@Telastyn Nun, wenn sie die Gelegenheit nutzen und über Lernfähigkeiten verfügen, haben sie zumindest die Chance dazu. Wenn nicht, nicht. Können wir „ermutigt dazu“ anstelle von „geht davon aus“ verwenden?
Was macht ein Informatiker? Meinst du einen Programmierer?
Computer Engineering (BScE) ist ein Studiengang, der Engineering und Softwareentwicklung kombiniert. Der Abschluss erfordert die Teilnahme an allen Kernstudiengängen der Ingenieurwissenschaften. Nicht zu weit von einem Doppelstudium in CompSci und EE entfernt. Somit sind Sie qualifiziert, die Engineering In Training Prüfung abzulegen. Da Sie die grundlegenden Ingenieurkurse belegt haben, verfügt der BScE-Absolvent in der Regel über viel tiefere Hardwarekenntnisse und einen besseren Hintergrund in angewandter Mathematik als ein Informatik-Absolvent. BScE-Absolventen tendieren zur Entwicklung eingebetteter Software, da sie die Zeit in der Schule damit verbracht haben, sich ausführlicher mit dem Innenleben von Hardware zu befassen.
Man könnte einen Embedded-Entwickler einfach als Programmierer bezeichnen, aber das wäre ähnlich, als würde man einen Taxifahrer und einen Piloten einer Fluggesellschaft gleichsetzen. Sie sind schließlich beide nur Fahrer, die Menschen transportieren.
@Telastyn, aber meine Firma lässt mich nicht Entwickler werden. Sie haben mich zum lebenslangen Tester gemacht. Ich habe mit dem Chef gesprochen. Aber ich wurde als Entwickler eingestellt. Ich liebe die Entwicklung, NICHT das Testen.
@ user3416398 - dann such dir ein anderes Unternehmen.
@Telastyn, aber das nächste Unternehmen wird les $$$$ als Entwicklerjob geben :(
@user3416398 - Sie werden im Laufe der Zeit weniger Geld verdienen, da QA ...
@Telastyn, du meinst im Rennen, wenn ich Dev bekomme. Job, dann werde ich in Zukunft das Tester-Gehalt übertreffen?

Lassen Sie mich den anderen Antwortenden widersprechen - vorausgesetzt, Sie möchten kein Tester sein, das ist schrecklich für Ihre Karriere.

Sicher, Erfahrung im Testen zu haben, ist eine neue und wertvolle Fähigkeit, die Sie nutzen können, um Ihre Arbeit beim Erstellen von Software besser zu machen.

Aber das bedeutet, dass Ihr Lebenslauf jetzt eine Lücke hat, wo Sie eigentlich keine Software erstellt haben. HR wird darauf schauen und es nicht als die immer erwünschten "Jahre an Erfahrung" zählen. Personalchefs (und Ihre Kollegen!) werden sich das ansehen und sich fragen, warum Sie zum Testen gewechselt sind, weil Sie keinen Code schreiben konnten?

Schlimmer noch, Sie sammeln nicht die Erfahrung , Code tatsächlich zu entwerfen, zu schreiben und Fehler zu beheben . Vor allem diese Erfahrung wird Sie zu einem besseren Softwareentwickler machen. Und die Fähigkeiten, die Sie haben, werden schnell veraltet sein, selbst wenn Sie genug tun, um zu verhindern, dass sie verkümmern. Die Opportunitätskosten sind zu hoch.

Und dann ist da noch die Arbeit selbst. Ein QA-Ingenieur jeglicher Art zu sein, erfordert eine Menge gedankenloser Wiederholungen. Oh, es gibt einen neuen Veröffentlichungskandidaten. Ich kann meine tausenden von Testfällen noch einmal durchgehen. Oder ich erweitere dieses automatisierte Test-Framework so, dass es mit dem UI-Widget 4033 umgehen kann. Die meisten Software-Ingenieure, die ich kenne, fanden die Arbeit an sich zum Verrücktwerden. Sie sind nicht nur nicht gut darin (da sie nicht engagiert sind – oder gedeihen, wenn sie Dinge erschaffen , nicht wenn sie Dinge kaputt machen ), sondern sie suchen schnell nach einer neuen Arbeit – was jegliche Dynamik in ihrem aktuellen Job zunichte macht (obwohl man argumentieren könnte, dass die Schichtarbeit hat das schon gemacht).

Und das ist alles, bevor Sie über die Bezahlung nachdenken. Fair oder nicht, QA-Ingenieure verdienen etwa 15 % weniger als Software-Ingenieure. Sicher, Sie behalten Ihr aktuelles Gehalt vorerst, aber die neue Arbeit wird Ihre Gehaltserhöhungen lenken, was wiederum Ihr Gehalt für die kommenden Jahre beeinflussen wird.

-1. Ihr Verständnis von SQA ist reduktiv und erfasst die Art der Arbeit nicht wirklich. Zu oft sehen Programmierer QA-Profis als geistlose Drohnen, Test-Bots, die einfach immer wieder Skripte durchlaufen, aber das ist so, als würde man Web-Programmierer als Code-Bots charakterisieren, die ein Photoshop-Mockup nehmen und es buchstäblich implementieren, ohne Einfluss auf den kreativen Prozess .
@Yamikuronue - ich bin seit 3 ​​Jahren SQA-Ingenieur und widerspreche dem ausdrücklich. Sicherlich gibt es einen kreativen Prozess beim Erstellen der Testpläne und der Skripte, wenn Sie das Glück haben, kein vollständig manueller Tester zu sein. aber dieser kreative Teil ist ein kleiner Bruchteil der Gesamtarbeit. Das habe ich in den anderen 15 Jahren meiner Karriere nicht anders erlebt.
Ich bin mir nicht sicher, wo Sie gearbeitet haben, aber da ich selbst seit knapp 3 Jahren bei SQA bin, habe ich genau die gegenteilige Erfahrung gemacht. Automatisiertes Testen stellt mich ständig vor neue und aufregende Herausforderungen, ich habe das Gefühl, dass ich immer eine neue Art des Testens lerne.
@Yamikuronue – Symantec, 3M und 3 Orte, von denen Sie noch nie gehört haben. Ich bin froh, dass es nicht überall seelenzerstörend ist, aber ich bin skeptisch, ob Ihre Erfahrung in irgendeiner Weise normal ist.
Ich stimme teilweise mit dem überein, was Sie beide gesagt haben, aber die am schwierigsten zu vermittelnden Personen sind in der Regel Personen mit weniger Erfahrung. Was oft passiert, wenn Projekte gerade erst anlaufen, ist, dass die erfahrenen Leute den Plan, die Architektur und die Anforderungen entwickeln und die weniger erfahrenen Leute nicht für das Projekt eingesetzt werden können, bis dies erledigt ist. Der übliche logische Ort, um sie dort zu platzieren, wo sie bei Bedarf leicht herausgeholt werden können, ist das Testen. Es wäre schön, wenn jeder von Anfang an an einem Projekt arbeiten würde, aber das Budget lässt dies in der Regel nicht zu. Wenn dies also nur vorübergehend ist (3 Monate oder weniger), machen Sie sich keine Sorgen.
+1. Das Testen ist wichtig, aber auch das Wischen des Bodens. Wenn Sie eine Karriere als Softwareentwickler anstreben, beenden Sie das Testen so schnell wie möglich, bevor Sie den Punkt erreichen, an dem Testjobs alles sind, was Sie bekommen können.
+1 Sie verschwenden wertvolle Zeit, wenn Sie Entwickler werden möchten. @CaptainCodeman +1 für die brutale Formulierung, hoffe jedoch, dass niemand beleidigt wird.
@Telastyn, aber meine Firma lässt mich nicht Entwickler werden. Sie haben mich zum lebenslangen Tester gemacht. Ich habe mit dem Chef gesprochen. Aber ich wurde als Entwickler eingestellt. Ich liebe die Entwicklung, NICHT das Testen. – user3416398 gerade bearbeiten
++ Ich kann nicht glauben, dass ich eine Ecke von SO gefunden habe, wo dies eine abweichende Ansicht ist. Sie können damit winken, dass Erfahrungen wertvoll sind, aber es muss Möglichkeiten geben, Erfahrungen zu sammeln, ohne Ihre Karriere zu sabotieren. Ich frage mich, was der OP am Ende gemacht hat.

Es hängt davon ab, ob:

  1. Ist es besser, zum Testing versetzt zu werden, als den ganzen Tag herumzusitzen und nichts zu tun? Die Folge der Nichterwerbstätigkeit ist Arbeitslosigkeit.

  2. Ist das Testen ein wesentlicher Bestandteil des Entwicklungsprozesses?

  3. Ist es notwendig, dass erfahrene Entwickler den Testprozess gut genug verstehen, um mit den Testern zu arbeiten?

Wenn Sie feststellen, dass die Antwort auf die obigen Fragen „Ja“ lautet, dann ist der Wechsel zu Testing gut für Ihre Karriere. Wenn Sie feststellen, dass die Antworten auf die obigen Fragen "nein" sind, dann verschwenden Sie Zeit damit, zur Arbeit zu gehen.

Ich habe in jedem Job, den ich je hatte, Dinge gelernt, einschließlich Kassieren in einem Lebensmittelgeschäft. Auch nicht unbedingt die Dinge, die man beim Lesen der Stellenbeschreibung erwarten würde. Wenn der OP nichts lernt, wird nicht seine Zeit verschwendet, sondern seine Chance.
@JennyD Hervorragender Punkt - zu viele betrachten das Kurzfristige, weil es vor ihnen liegt, und sehen nicht das Mittelfristige und das Langfristige, das hinter dem Kurzfristigen steht :) Keines der Wörter "Kurzsichtigkeit" und „Tunnelblick“ würde in der Beschreibung einer erfolgreichen Berufskarriere verwendet werden.
@VietnhiPhuvan , aber meine Firma lässt mich nicht Entwickler werden. Sie haben mich lebenslang zum Tester gemacht. Ich habe mit dem Chef gesprochen. Aber ich wurde als Entwickler eingestellt. Ich liebe die Entwicklung, NICHT das Testen. – user3416398 gerade bearbeiten
@user3416398 Nun, wenn Sie sich bei jemand anderem für einen Entwicklungsjob bewerben, ist Ihre Erwähnung der Absicht Ihres Chefs, Sie auf Lebenszeit in einen Tester zu verwandeln, ein ausgezeichneter Grund für das Verlassen. Bis Sie abheben, schadet es nicht, der beste Tester zu sein, der Sie sein können.

Das richtige Testdesign kann ein hochqualifiziertes Gebiet für sich sein und erfordert ein ziemlich tiefes Verständnis der Programmierung, um vorherzusagen, welche Nutzungsmuster Randfälle/Stresstests sein werden. Jeder Programmierer sollte wohl Testfälle für seinen eigenen Code schreiben, aber das kommt selten vor ... und es gibt manchmal auftauchende Eigenschaften, die nur provoziert werden können, wenn das System als Ganzes getestet wird. Wenn sie Sie für eine Weile Tests entwerfen lassen, betrachten Sie es als eine gute Lernerfahrung ... genauso wie die Arbeit im Kundensupport, obwohl es manchmal frustrierend ist, eine gute Schulung darüber ist, wie Kunden das Produkt verwenden und darüber denken.

Wenn Sie einen Job gut und fröhlich machen, kann das nur ein gutes Licht auf Sie werfen.

Wenn es nicht das ist, was Sie tun möchten oder wo Sie glauben, dass Ihre Fähigkeiten am besten eingesetzt werden, erinnern Sie das Management regelmäßig daran (nicht mehr als vier- bis sechsmal pro Jahr), und es wird Sie schließlich wieder in die Entwicklung zurückversetzen.

Nicht öfter als 4 bis 6 Mal im Jahr! Autsch, ich hasse den Gedanken, im dritten Jahr dort zu sitzen und in meinem Kalender nachzusehen, ob es wieder Zeit ist. Wenn es etwas ist, das Sie ernsthaft nicht mögen, und Sie es bereits ein- oder zweimal auf formelle Weise angesprochen haben ... wie stehen die Chancen, dass es behoben wird? :/
Die Chancen, dass es behoben wird, hängen von der Balance zwischen der Verfügbarkeit von Mitarbeitern beim Testen und den Anforderungen an die Entwicklung ab, die sich im Laufe der Zeit ändern. Mein Punkt ist, dass Manager häufiger zu belästigen, als dass das Gleichgewicht auf ihrer Ebene überdacht wird, wahrscheinlich als „nicht bereit, sich an die Bedürfnisse des Unternehmens anzupassen“ – und/oder einfach nur nicht angenehm zu arbeiten – und rüberkommt kann zu einem karrierebegrenzenden Schritt werden.
@keshlam: Es kann Ihre Karriere in Ihrer derzeitigen Organisation einschränken. Wenn OTOH Arbeit verrichtet, die weniger wertvoll ist als Arbeit, zu der Sie in der Lage sind, untergräbt sie Ihren Wert für jeden potenziellen Arbeitgeber.
Nicht unbedingt. Die Exposition gegenüber Tests – insbesondere die Exposition gegenüber den seltsamen Dingen, die Kunden nach dem Kauf Ihrer Produkte tun – ist ein Plus. Zu zeigen, dass Sie starke Tests schreiben können, ist ein Plus. Zu zeigen, dass Sie die Ergebnisse dieser Tests zur Verbesserung des Produkts verwenden können, ist ein Plus. Es ist eine Frage, wie lange Sie es tun, warum Sie es tun und was Sie sonst noch tun. Testen ist nicht unbedingt „weniger wertvoll“; es ist ein anderer Wert.

Betrachten Sie diesen Auftrag nicht als eine Saison im Gefängnis. Betrachten Sie es stattdessen als eine seltene Gelegenheit. Ernsthaft.

Welchen Karriereweg erhoffen Sie sich?

Die meisten Karrieren in der Welt der Softwareerstellung erfordern ein tiefes Wissen über den Lebenszyklus von Software. Dieser Lebenszyklus umfasst viele andere Arbeitsphasen als das Schneiden von neuem Code.

Es gibt eine Spezifikation. Es gibt detailliertes Design. Es gibt Unit-Tests. Es gibt Usability-Tests, Systemtests, Integrationstests und Belastungstests.

Es gibt Bereitstellungsunterstützung, fortlaufende Unterstützung. Es gibt Wartung und Fehlerbehebung.

Praktische Erfahrungen in der Software-Qualitätssicherung werden Ihre Fähigkeiten in jeder einzelnen dieser Phasen der Softwareerstellung verbessern.

Zum Beispiel in der Spezifikation: Sie werden in der Lage sein zu verstehen, "wie werden wir dieses System testen?" Im Detaildesign werden Sie in der Lage sein, für die Testbarkeit zu entwerfen. Dies ist besonders schwierig für Systeme, die hochskaliert werden und Lasttests erfordern.

Sprechen Sie also mit Ihrem Vorgesetzten und sagen Sie ihm, dass Sie hoffen, von dieser vorübergehenden Zuweisung zu einem Software-Qualitätssicherungsteam alles zu lernen, was Sie können. Sprechen Sie mit Ihren softwaretechnischen Fachkollegen und erfahren Sie etwas über deren Denkweise.

Finden Sie ein Exemplar des klassischen Buches „The Mythical Man Month“ von Dr. Fred Brooks und lesen Sie es. Es erklärt den großen Unterschied zwischen Code-Erstellung und Software-Produktentwicklung.

Der Test ist ziemlich vage. Die Antwort hängt stark davon ab, was Sie tun. Das Schreiben automatisierter Tests ist eine wertvolle Fähigkeit. Das Ausführen manueller Tests ist eine schlechte Praxis und wird Ihren technischen Fortschritt verzögern. Wenn Ihre Organisation manuelle Tests durchführt, kann dies automatisiert werden?

Kurz gesagt, wenn sie bei der Durchführung manueller Tests festsitzen, schlage ich vor, dass Sie etwas anderes zu tun finden.

Ich stimme diesem Punkt zu. Wenn Sie nur ein Testaffe sind, der Skripte ausführt, wird dieser Prozess scheiße sein. Wenn Sie jedoch den Testplan erstellen, ist das eine Fähigkeit für sich.