Was passiert, wenn Sie ein Problem nicht lösen können? [geschlossen]


58

Ich bin ein Jahr vor meinem Universitätsabschluss und freue mich darauf, praktische Probleme zu lösen. Besonders nicht-triviale, die ein wenig Recherche und viel Nachdenken erfordern.

Gleichzeitig ist das aber auch meine größte Angst, mit einem Problem konfrontiert zu sein, das ich nicht lösen kann, egal wie sehr ich es auch versuche. Und mit dem Druck, Code bei bevorstehenden Terminen gleich um die Ecke zu liefern, sieht es ein bisschen beängstigend aus, wenn man ihn von den sicheren Spielplätzen auf der Uni aus betrachtet (das Schlimmste, was passieren kann, ist, dass man einen Kurs oder eine Prüfung wiederholen muss).

Was würde passieren, wenn Sie aufgefordert würden, ein Problem zu lösen, das Sie nicht lösen konnten? Ist es passiert und wenn ja, was ist passiert? Haben sie es einfach fallen gelassen und gesagt: "Na gut, raten Sie mal, wir können mit etwas anderem auskommen"? Gab es Konsequenzen? Wurdest du gerügt oder sogar gefeuert?


24
Dies gilt für jeden Beruf - scheitern Sie schnell, bitten Sie um Hilfe, suchen Sie nach möglichen Lösungen, bevor Sie sich verpflichten
Steven A. Lowe

9
Keine Sorge. 80% der Jobs da draußen bestehen aus alten Trödelhaufen.
Job

Können Sie ein Problem nicht lösen? Das ist möglich?
WernerCD

3
Ich denke nicht, dass dies jemals ein echtes Problem werden wird, es sei denn, es ist ein Problem, das Jon Skeet nicht lösen kann. In diesem Fall sind wir alle zum Scheitern verurteilt!
Skizz

Antworten:


56

Erstens ist Ihre Angst sehr gesund und normal. Hier sind meine Überlegungen nach ungefähr 15 Jahren in der Softwareindustrie.
Hier sind einige Fragen, die Sie sich stellen sollten:

  1. Haben Sie verstehen das Problem?
  2. Wissen Sie, dass das Problem nicht lösbar ist (innerhalb Ihrer Zeit- / Budgetbeschränkungen)?
  3. Wissen Sie nicht, wie Sie das Problem lösen sollen?
  4. Bittet Ihr Kunde / Chef um das Unmögliche?
  5. Ist es das wert? (ROI)
  6. Ist es ein echtes Problem?

1) Stellen Sie zunächst sicher, dass Sie das Problem verstehen. Es gibt keine dummen Fragen. Verstehst du, was dein Klient / Chef dich fragt und was er braucht?

2) Dies wird passieren. "Bauen Sie mir morgen eine Brücke" . Stellen Sie sicher, dass Sie wissen, dass ein Problem innerhalb Ihrer Grenzen nicht lösbar ist. Ihr Kunde / Vorgesetzter kann die Zeit / das Budget flexibel festlegen und diese können geändert werden, um Ihnen mehr Zeit / Budget zu geben.

3) Wenn das Problem verständlich ist und die Einschränkungen im Rahmen des Zumutbaren liegen und es eine Technologie gibt, die das Problem lösen kann, Sie aber einfach nicht genug wissen, dann ist das genau das, wofür StackOverflowdas Internet gedacht ist. Stellen Sie sicher, dass Sie zuerst Ihre Recherchen durchführen. Versuchen Sie explizite Fragen zu stellen, die quantifizierbare Antworten haben. Fragen Sie Ihre Kollegen. Machen Sie eine Design-Session.

4) Dies ist eine Variante von Antwort Nummer 2. Es scheint, dass Ihr Kunde / Chef das Unmögliche fragt. Recherchiere. Sagen Sie niemals, dass das Problem nicht lösbar ist, es sei denn, Sie wissen genau warum und können es klären.

5) ROI steht für Return On Investment. Dies bezieht sich auf eine Investition in die Zeit. Deine Zeit!. Ist das Problem wichtig genug, um es zu lösen? Besprechen Sie dies mit Ihrem Kunden / Chef

6) Ist es ein echtes Problem. Kunden verstehen oft, was sie wollen, aber nicht unbedingt, was sie brauchen. Versuchen Sie zu verstehen, was Ihr Kunde / Chef tatsächlich benötigt, und besprechen Sie dies mit ihm.

Ich hoffe, diese Richtlinien helfen Ihnen.


3
Die informativste Antwort bisher. Hoffe es bekommt mehr Stimmen.
Gablin

6
Keine schlechte Antwort. Ich wollte nur hinzufügen, dass die erfolgreichsten Hacker ein gewisses Maß an praktischer Arroganz bewahren: Nehmen wir an, Sie können jede Herausforderung bestehen. Meistens haben Sie recht und lösen mehr Probleme als jemand, der nicht unter der Annahme operiert. Das heißt, ein Problem nicht zu lösen ist nicht das Ende der Welt - überlasse es einfach nicht der letzten Minute. Wenn Sie vorgehen, müssen Sie sicherstellen, dass Ihr Chef angemessene Erwartungen hat. Wenn Sie sich nicht sicher sind, wie Sie etwas tun sollen, lassen Sie den Chef wissen, dass Sie Zeit für Nachforschungen benötigen und kommen Sie mit Empfehlungen zurück.
HedgeMage

Ich mag, dass # 4 keine Frage ist
Endolith

57

Zwei Dinge, an die Sie denken sollten, wenn Sie mit einem scheinbar unlösbaren Problem konfrontiert sind:

  • Lassen Sie andere Leute wissen, dass Sie so schnell wie möglich festsitzen. Es wird ihnen helfen, die Schätzung rechtzeitig anzupassen, bevor es zu spät ist.

  • Wenn Sie feststellen, dass ein Problem auf eine Weise nicht gelöst werden kann, lassen Sie es fallen, bevor Sie zu viel Zeit verschwenden. Bitten Sie um Hilfe oder probieren Sie einen anderen Ansatz aus. Es geht nicht darum, sich hart und klug zu beweisen, sondern Dinge zu erledigen.


11
+1 für "um Hilfe bitten". Ein weiteres Paar Augen auf das Problem kann äußerst nützlich sein.
Michael K

5
+1 für Ihren zweiten Punkt ... achten Sie auf die 95% ige Lösung. Das heißt, die Lösung, mit der Sie sehr schnell zu 95% dorthin gelangen, aber es ist nahezu unmöglich, die Arbeit zu 100% zu erledigen. Ich finde es einfach, viel zusätzliche Zeit zu investieren, um die letzten 5% zu erreichen, weil du "fast da" bist.
Scott Whitlock

5
"Herr Corleone ist ein Mann, der darauf besteht, schlechte Nachrichten sofort zu hören."
JeffO

3
Um Hilfe bitten zu können, ist sehr wichtig. So oft habe ich gesehen, wie neue Entwickler nach 2 Wochen zurückgekommen sind, ohne etwas zu zeigen, weil sie am ersten Tag feststeckten. Natürlich sollte Ihr Mentor / Chef Sie fragen, wie es Ihnen geht, aber lügen Sie nicht und sagen Sie "alles läuft in Ordnung", wenn dies eindeutig nicht der Fall ist!
Dean Harding

4
Schon die einfache Erklärung des Problems gegenüber einem anderen kann es Ihnen ermöglichen, eine Lösung zu finden.
Alexanderpas

26

Ich gehe zu StackOverflow ;)

Aber alle Scherze beiseite, keine Angst vor dem Unbekannten. Ihre gesamte Karriere steht vor dem Unbekannten, denn wenn Sie es bereits gelöst haben, wird es beim nächsten Mal kein Problem sein.


12
Das ist kein Witz für mich, es ist normalerweise meine erste Anlaufstelle. Tatsächlich liefert der Prozess der Formulierung einer Frage häufig den Anstoß, selbst eine Lösung zu finden.
NimChimpsky

10
Das letzte Mal konnte ich mit irgendeiner Software kein Problem feststellen, als ich nach SO fragte, bekam ich eine fast sofortige richtige Antwort.
David Thornley

Gute Antwort! +1 - Der beste Teil der Softwareentwicklung - "Ihre gesamte Karriere steht vor dem Unbekannten."
Karthik Sreenivasan

10

Ich muss eine einfache Antwort geben: Ich bitte um Hilfe. Genau wie andere mich manchmal um Hilfe bitten, wenn sie nicht weiterkommen, um eine Lösung für etwas zu finden.

Bearbeiten: Ich sollte erwähnen, dass ich die Lösung oft finde, indem ich einem Kollegen das Problem beschreibe, oder manchmal sogar, wenn ich anfange, eine Frage auf Websites wie StackOverflow zu posten.


3
Manchmal kann es hilfreich sein, mit einem Kollegen zu sprechen, der die Arbeit versteht, auch wenn er keine Vorschläge macht. Wenn Sie nur darüber sprechen, können Sie es in Ihrem eigenen Kopf
klären

9

Betrachten Sie aus verschiedenen Blickwinkeln

Ich bin so oft darauf gestoßen, normalerweise passiert Folgendes:

  • Sie haben ein Problem, anfangs haben Sie eine Idee im Kopf, wie Sie es lösen würden.
  • Wenn es darum geht, Ihre Lösung tatsächlich umzusetzen, stellt sich heraus, dass dies nicht funktioniert (wahrscheinlich aufgrund des schwachen Modells des tatsächlichen Problems).
  • Nachdem Sie sich bemüht haben, das Problem zu lösen, sollten Sie mehr Nachforschungen anstellen oder andere fragen. Nichts davon funktioniert, die pure Frustration!

Schließlich entscheiden Sie sich für das, was Sie nicht tun wollten ->

"The Dirty Hack"

Es funktioniert, aber du fühlst dich schmutzig ...


3
+1 für schmutzigen Hack, manchmal scheint die Nichtverfügbarkeit einer richtigen Lösung überhaupt keine Lösung zu sein ... sicher, niemand mag globale Variablen, aber wenn dies der einzige verfügbare Weg ist, um Informationen von A nach B zu bekommen ... besser als überhaupt nicht zu liefern.
user281377

+1 - Klare Beschreibung der häufigsten Erfahrungen, mit denen ein Softwareentwickler konfrontiert ist.
Karthik Sreenivasan

5

Normalerweise besorge ich es jemandem, der schlauer ist als ich. Er tut und er ist mein Chef. Ich fühle mich dumm. Wir fahren fort.


4
Ich beneide Sie - Sie haben einen Chef, der noch besser versteht, was Sie tun als Sie. Sei dankbar!
JasonFruit

Tatsächlich bin ich froh, dass meins nicht ist. ;-) Mein Chef hilft mir, Hindernisse aus dem Weg zu räumen, Hilfe zu organisieren, wenn ich sie brauche, mich zu motivieren und weiterzumachen usw. Wenn er besser in meinem Job wäre, sollte er nicht mein Chef sein, sondern meinen Job machen.
Johannes

Ihr Chef sollte in vielen Dingen mehr wissen als Sie.
Johnny

5

Es kommt auf den Grund an, warum Sie nicht in der Lage sind ...

  • logisch unmöglich: Besprechen Sie es mit demjenigen, der die Anforderungen geschrieben hat, vielleicht liegt ein Missverständnis vor. Beispiel: An einer Stelle wird in der Spezifikation angegeben, dass die Anwendung auf allen Plattformen (Windows / Linux / Mac) nativ aussehen und sich so anfühlen muss, und an einer anderen Stelle wird angegeben, dass das Programm auf allen Plattformen genau identisch aussehen muss

  • technisch unmöglich: Bewerten Sie die Werkzeuge, mit denen Sie arbeiten, neu. Vielleicht sind sie nicht geeignet. Besprechen Sie das Problem mit Ihren Kollegen und dem Projektmanager. Beispiel: Harte Echtzeitanforderungen in einer Umgebung, in der die Garbage Collection die Ausführung auf unbestimmte Zeit anhalten kann

  • ungenügende Leistung: Möglicherweise verwenden Sie den falschen Algorithmus, oder das Problem ist zu schwer (z. B. NP-schwer), und die Anforderungen berücksichtigen dies nicht. Bewerten Sie den verwendeten Algorithmus neu. Vielleicht gibt es einen schnelleren Weg. Besprechen Sie das Problem mit Ihren Kollegen und dem Projektmanager. Ziehen Sie in Betracht, statt auf ein perfektes Ergebnis auf eine ausreichend gute Heuristik umzusteigen. Beispiel: Pfadoptimierung mit Dutzenden oder sogar Hunderten von Knoten

  • Sie wissen einfach nicht, wie es geht: Fragen Sie Ihre Kollegen, fragen Sie Stackoverflow, durchsuchen Sie das Internet. Wenden Sie sich an den Support des von Ihnen verwendeten Tools / der von Ihnen verwendeten Bibliothek. Besprechen Sie dies mit dem Projektmanager.

  • Es sollte funktionieren, funktioniert aber nicht, und Sie haben keine Ahnung, warum: Korrigieren Sie das Programm, um es testbarer zu machen. Unter Berücksichtigung der Rennbedingungen sind sie häufig der Grund für schwer zu findende Fehler. Bitten Sie Gleichaltrige um Hilfe, vier Augen sehen mehr als zwei. Überprüfen Sie das Internet auf bekannte Fehler in den von Ihnen verwendeten Tools / Bibliotheken.


4

Ich denke, andere Leute weisen freundlich darauf hin, wie man professionell damit umgeht. Ich möchte sagen, wie ich mit dem persönlichen Gefühl wie Frustration, Angst umgehen soll.

Fazit ist, dass Sie auch dann GUT sind, wenn Sie Probleme nicht rechtzeitig lösen. Das Leben geht weiter.

Manchmal wurde der Zeitplan verschoben. Das Projekt wäre entweder erfolgreich oder gescheitert. Sie könnten gefeuert werden und dann einen tollen Job haben. Man weiß es einfach nie.

Versteh mich nicht falsch. Es bedeutet nicht, dass es in Ordnung ist, das Problem dort zuzulassen. Wir können nur mein Bestes geben und loslassen.

Manchmal denke ich, die Frustration, Angst, kein Problem zu lösen, ist mein Leben als durchschnittlicher Entwickler.


2

Ich bin mir nicht sicher, ob ich sagen kann, dass ich ein Problem nicht lösen kann, aber es gab Fälle, in denen ich es aufgegeben habe, ein Problem zu lösen. Nachdem ich viele Stunden in den Versuch gesteckt habe, einen Fehler zu beheben oder eine Funktion zu implementieren, von der ich keine Ahnung habe, wie das geht, kann ich jemandem in meinem Team, Teamleiter oder Manager sagen: "Daran bin ich fest. Was möchtest du, daß ich .... tue?" damit sie wissen, wo ich bin. Sie könnten sagen: "Bleiben Sie dran, wir glauben, Sie werden es schaffen" oder "Gehen Sie zu etwas anderem über, das nicht so wichtig ist" oder zu ein paar anderen Dingen, und dann werde ich wissen, was ich tun soll.

Ich hatte Fehler, die ich nicht behoben habe, und einige Funktionen, die nicht erledigt wurden. Obwohl ich versuchen kann, etwas zu erledigen, liegt nicht alles in meiner Macht, um es in angemessener Zeit zu lösen. Ein wichtiger Punkt dabei ist die Kommunikation, damit Ihre Vorgesetzten wissen, wo Sie sich befinden.

Das heißt, ich hatte ein paar Mal, wo ich auf einige ziemlich spezielle Umstände gestoßen bin:

  1. Während ich bei einer großen kanadischen Bank in Toronto arbeitete, wurde ich gebeten, alle möglichen Dinge zu tun, von denen ich nicht wusste, wie ich sie tun sollte, als mir die Aufgabe übertragen wurde. Ich wurde zum Beispiel gebeten, diese Methode zum Sichern von Laptops zu testen, bei denen die Tasten "Esc" und "Enter" beim Hochfahren vertauscht wurden, und mit der richtigen Tastenfolge das Notebook wieder verwendbar zu machen, was nur seltsam erschien, um es herauszufinden out, "Würde das funktionieren? Woher weiß ich, dass dies für die Benutzer in Ordnung ist oder nicht?" Es gab andere Aufgaben, für die ich entweder nicht die Hardware oder andere Ressourcen hatte. Gleichzeitig war es sehr lehrreich, da ich auf diese Weise viele wichtige Informationen über zukünftige Beschäftigungssituationen erhalten habe, um Schwierigkeiten vorzubeugen. Dinge wie sicherzustellen, wenn ich bezahlt werde, wie wird meine Zeit verfolgt,

  2. Während meiner Arbeit bei einem Application Service Provider in Calgary wurde ich mit dem Projekt beauftragt, eine Kopie einer anderen Website in unserer internen Anwendung zu erstellen, die wir als Service verkauft haben. Ein wichtiger Punkt dabei ist, dass ich weder einen Zeitplan noch Vorschläge für die ersten Schritte erhalten habe, sondern nur allgemeine Nachforschungen angestellt habe. Einen Monat später wurde ich nach einer Demo gefragt, da ich auf einige Schmerzmittel eine schlechte Reaktion hatte. Diese Reaktion dauerte eine Woche, in der ich plötzlich von der Arbeit ging, und in der folgenden Woche ging ich zu einer Microsoft-Veranstaltung, die so etwas wie das Letzte war, als ich am nächsten Tag gefeuert wurde. Zu beachten ist, dass ich zu meinem Chef ein eher schlechtes Verhältnis hatte, da ich immer, wenn er in meine Nähe kam, sofort dachte: "Was ist jetzt los?"


2

Wie andere bereits gesagt haben, ist die Kommunikation von entscheidender Bedeutung. Lassen Sie die Leute wissen (wer davon betroffen sein wird), wenn Sie stecken bleiben: Ihr Chef, Teammitglieder, Kunden usw.

Ein scharfsinniger Mitarbeiter hat mir einmal eingeflößt, dass Erfolg auf zwei Dingen beruht:

  1. Beziehungen
  2. Erwartungen

Ich nehme an, eine gute Beziehung zu haben, hängt von einer guten Kommunikation ab und setzt die Erwartungen in den Vordergrund.


2

Ich folge dem Polya-Prinzip:

"Wenn es ein Problem gibt, das Sie nicht lösen können, gibt es ein einfacheres Problem, das Sie nicht lösen können: Finden Sie es."

George Polya

Das Schöne am Prinzip ist, dass es irgendwann ein Problem gibt, das klein genug ist und das Sie lösen können. Wenn Sie hoffentlich alles richtig gemacht haben, können Sie eine Lösung für das ursprüngliche Problem erstellen. Dieser Grundsatz hat mich noch nicht enttäuscht.


1

Die Antworten auf " Hilfe suchen " sind definitiv richtig. Es ist sehr unwahrscheinlich, dass Sie als erster auf ein bestimmtes Problem stoßen.

Was aber, wenn es keine Hilfe gibt? Was ist, wenn Sie das Problem selbst lösen müssen? Die wichtigste Fähigkeit zur Problemlösung ist die Fähigkeit, Ihre eigenen Annahmen zu identifizieren und in Frage zu stellen . Wenn Sie Ihre Annahmen zu einem Problem einzeln aufzählen und nacheinander beseitigen können, stoßen Sie schließlich auf die falsche Annahme, und es eröffnen sich neue Möglichkeiten für eine Lösung.

(Dies ist übrigens auch der beste Ansatz, wenn Sie in einem Vorstellungsgespräch keine Antwort auf ein Problem finden. Schreiben Sie Ihre Annahmen mündlich auf, stellen Sie fest, welches falsch ist, und greifen Sie das Problem erneut an. Fast Alle "Trickfragen" basieren auf natürlichen, aber fehlerhaften Annahmen.


1

Um Hilfe zu bitten ist wirklich die beste Antwort, aber hier ist noch ein bisschen mehr, was nützlich sein kann.

Was würde passieren, wenn Sie aufgefordert würden, ein Problem zu lösen, das Sie nicht lösen konnten? Ist es passiert und wenn ja, was ist passiert? Haben sie es einfach fallen gelassen und gesagt: "Na gut, raten Sie mal, wir können mit etwas anderem auskommen"? Gab es Konsequenzen? Wurdest du gerügt oder sogar gefeuert?

Ja, es ist mir passiert, und nein, ich wurde nie dafür zurechtgewiesen oder gefeuert, weil ...

In der Industrie dreht sich alles darum, ob Sie Probleme rechtzeitig und innerhalb des Budgets lösen, und anständige Manager wissen, dass dies nicht immer möglich ist.

Was wirklich passiert ist, dass Ihr Manager sagt: "Ich möchte, dass Sie X machen, was wird es Ihrer Meinung nach brauchen?" Und Sie können viele Antworten geben. Gute sind:

  • Ich habe etwas Ähnliches gemacht, daher denke ich, dass es drei Wochen dauern wird und das Testen von Hardware im Wert von 3.000 US-Dollar.
  • Ich habe im Allgemeinen etwas Ähnliches. Also lassen Sie mich darüber nachdenken und heute Nachmittag auf Sie zurückkommen.
  • Ich habe so etwas noch nie gemacht. Also lass es mich recherchieren und melde mich morgen wieder bei dir.
  • Niemand auf dem Planeten hat das jemals getan. Wenn Sie sich damit befassen möchten, werde ich zwei Wochen brauchen, um genug experimentieren zu können, um eine Schätzung vorzunehmen.

Es ist die Aufgabe des Managers, zu entscheiden, ob und wie es weitergeht. Wenn sie sich dafür entscheiden, fortzufahren, ist es Ihre Aufgabe, Ihre Schätzungen einzuhalten oder den Manager zu informieren, wenn ein Hindernis vorliegt. Solange Sie das tun, wird es in einem vernünftigen Unternehmen keine negativen Konsequenzen geben.

Natürlich gibt es auch unvernünftige Unternehmen, die Ihnen weder Zeit noch Ressourcen zur Verfügung stellen, um Ihre Arbeit zu erledigen. Ich habe bei einigen von ihnen gearbeitet, und allen wurden Probleme übergeben, die im Rahmen des Unternehmens nicht gelöst werden konnten. Einer von ihnen entließ innerhalb von acht Monaten etwa 98% des Programmierpersonals, und das war sicherlich eine Konsequenz, aber es richtete sich nicht persönlich gegen mich, und ich betrachte meinen Chef und seinen Chef von dort immer noch als gute Freunde.


+1 Sehr gute inkrementelle Liste der Ziele. Die Manager müssen akzeptieren, dass je weniger bekannt das Problem ist, desto länger dauert es, eine Schätzung zu erhalten, wie lange es dauern wird, bis es gelöst ist, und desto höher ist auch die Fehlerquote bei solchen Schätzungen. Am Ende des Tages, wenn Sie unvernünftige Manager haben, dann ist der Job immer gefährdet - so sollten Sie trotzdem wie oben vorgehen, da dies Ihren Rücken ein bisschen mehr bedeckt. Zumindest kann man sagen "Ich habe es dir gesagt".
Orbling

1

Es gibt viele verschiedene Arten von Problemen, auf die Sie stoßen werden, und viele haben verschiedene Möglichkeiten, mit ihnen umzugehen.

Eine Art von Problem ist die Implementierung von etwas, das Sie noch nicht gesehen haben, wie eine seltsame Sound-API oder so. In diesem Fall würde ich SO ernsthaft fragen.

Ein anderes ist ein sehr großes Problem, das es zu lösen gilt. Diese Art von Problem kann iterativ angegangen werden. Sie sagen dir "Implement Humongous". Sie schauen es sich an und schreiben so viele Schritte, wie Sie herausfinden können. Dann zerlegen Sie die komplizierten Schritte in kleinere Schritte. Wenn Sie gezwungen sind, über kleinere Schritte nachzudenken, werden sie klarer. Wenn Sie auf ein technisches Problem stoßen, probieren Sie eine Testimplementierung aus und fragen Sie bei Bedarf hier nach.

Eines der ärgerlichsten Probleme sind schlecht spezifizierte Anfragen. Sie wollen nur etwas, das "x" macht und sagen dir nicht, wie es gemacht werden soll. Für diese ist ein guter Ansatz der Prototyp einer Schnittstelle (normalerweise eine GUI), mit der jemand spielen kann.

Dann gibt es zeitliche Einschränkungen, die nicht eingehalten werden können. Dabei müssen häufig die Erwartungen geändert und funktionale Prototypen geliefert werden.

Sie werden sich in der Regel auf die eine oder andere Weise zurechtfinden. Es ist beängstigend, aber wenn man erst einmal drin ist, kann man so ziemlich immer einen Weg finden.

Am besten malen Sie einfach die Worte "Don't Panic" auf die Außenseite Ihres Laptops. Und vergiss dein Handtuch nicht.


+1 Für HHGTTG-Referenz und "Dann gibt es Zeitbeschränkungen, die nicht eingehalten werden können." Zu wahr. In der modernen, vom Marketing geleiteten Geschäftswelt werden Sie möglicherweise gebeten, etwas zu bauen, das bald, wenn nicht bereits, zum Verkauf steht. Aber es würde ein doppelt so großes Team brauchen, das dreimal so viel Zeit für die Produktion hat.
Orbling

1

Meine Abfolge der Problemlösung (jeder nächste Spet wird nur ausgeführt, wenn der vorherige nicht funktioniert hat):

  1. Versuche zu googeln
  2. Frag jemanden
  3. SO direkt durchsuchen (Google umgehen)
  4. Denken
  5. Rauch (== klarer Kopf)
  6. Stellen Sie eine Frage zu SO
  7. Warten Sie bis zum Morgen (== klarer Kopf noch mehr)
  8. Benutze diesen schmutzigen Hack und fühle mich schlecht über mich selbst :(

Böse Probleme werden in den Schritten 5-6 gelöst.

Wirklich-wirklich-schlimme Probleme brauchen normalerweise einige Zeit (Schritt 7 ist DIE Lösung für die meisten Probleme, bei denen ich anscheinend nichts tun kann). Und ich meine es ernst - wechseln Sie für den Rest des Tages zu einer anderen Aufgabe und versuchen Sie, das Problem als Erstes am Morgen zu lösen. Das tut Wunder.

Und erst dann kommt Schritt 8.


Normalerweise finde ich den besten Ort, um Lösungen für Probleme zu finden, entweder a) auf meinem Fahrrad oder b) unter der Dusche. Es wird dann zu einem Wettlauf zwischen einem Ort, an dem es ein Gerät zum Notieren gibt, oder dem Vergessen dessen, was ich mir gerade
ausgedacht habe

0

Ich habe noch nichts davon gehört. Erstens bekommen Sie nie ein Problem, das überhaupt nicht gelöst werden kann. Das Problem ist möglicherweise schwierig und es kann einige Zeit dauern, bis es behoben ist. Wenn ein Problem vorliegt, müssen Sie sagen, dass dies die von mir benötigte Zeit ist. Wenn Sie in Ihren Recherchen der Meinung sind, dass dieses Problem wirklich nicht gelöst werden kann, müssen Sie eine Markierung setzen und Ihrem Vorgesetzten mitteilen, dass dieses Problem etwas länger dauert oder wirklich schwer zu lösen ist. Es dreht sich alles um den Zeitplan. Wenn Sie etwas versprechen und nicht liefern können, dann ist es ein Problem. Wenn Sie jedoch weiterhin Ihren Status und Ihre Bedenken mitteilen, liegt es in der Verantwortung des Managers, sich darum zu kümmern. Er sollte Sie zu einer geeigneten Person weiterleiten, die Ihnen helfen oder den Zeitplan anpassen kann.


3
-1, es ist definitiv möglich, ein Problem zu bekommen, das nicht zu lösen ist. "Entwerfen Sie einen Brute-Force-Kennwortlöser, mit dem Kennwörter mit 30 Zeichen in weniger als einer Minute geknackt werden können und der auf einem Pentium 2 mit 256 Megabyte RAM ausgeführt werden muss."
AttackingHobo

1
Es gibt viele unlösbare Probleme. Der Trick ist zu wissen, dass sie sehr schnell unlösbar sind. Am besten, bevor der Marketing-Mitarbeiter, der Sie zur Lösung auffordert, Ihnen das Problem nicht mehr erzählt hat.
Orbling

@ AttackingHobo ... das ist nicht einmal ein realistisches Problem
Dacto

0

Hier gibt es einige gute Ratschläge! Meine zwei Cent sind es wert; Lassen Sie sich nicht vom BIG-Problem überwältigen. Vergessen Sie nicht, dass der aufregende und herausfordernde Teil der Problemlösung darin besteht, es in eine Reihe von handhabbaren und vor allem verständlichen Teilproblemen zu zerlegen, die wiederum immer wieder in kleinere Probleme zerfallen Unterprobleme. Jeder gute Programmierer tut dies normalerweise jede Minute, während er Code erstellt (mit Funktionen, Methoden, Unterroutinen usw., um die Gesamtkomplexität eines Codeabschnitts zu verringern). Diese Methode gilt normalerweise für jedes BIG-Problem, das Sie haben Gesicht im Leben (nicht nur bei der Arbeit).


0

Das hängt natürlich davon ab, um welches Problem es sich handelt. Die Antwort kann jedoch eine der folgenden sein:

  1. Finden Sie eine Problemumgehung / Substitution
  2. Kaufen Sie eine kommerzielle Lösung, die Ihren Vorstellungen entspricht
  3. Geben Sie nicht auf und arbeiten Sie so lange daran, bis Sie Erfolg haben .

Nummer 3 erfordert möglicherweise eine Unterbrechung des Problems und ein erneutes Aufrufen nach Wochen oder Monaten. Das hilft oft.


0

Meiner Erfahrung nach gibt es manchmal ein Problem, das Sie nicht lösen können, zumindest zeitlich begrenzt. So schnell wie möglich Hilfe suchen, nach einigen Lösungsversuchen scheitern Sie .

Denken Sie an die Faustregel: Sehen Sie immer nach, warum der Chef Sie anstellt. Tun Sie alles, was Sie für das beste Arbeitsergebnis halten, und manchmal ist dies ein früher Fehlerbericht (weitaus besser als ein später).

Kurz gesagt, wenn Sie der Meinung sind, dass Sie die Lösung finden, können Sie es gerne versuchen, aber Ihrem Chef eine Schätzung des Risikos und des Zeitaufwands geben. Es ist jetzt ihr Problem.


0

Wenn Hundert-Millionen-Dollar-Projekte auch mit erfahrenen Leuten scheitern können, sollten Sie sich keine Sorgen machen, dass Sie scheitern, da Sie noch Student sind. Ich hatte ein Problem, an dem ich arbeiten musste, und ich stellte fest, dass Sie jeden Versuch, den Sie unternommen haben, um es zu lösen, aufzeichnen müssen, wenn es etwas ist, woran Sie hängenbleiben.

Das hilft:

  1. Nachweis über Versuche, ein Problem zu lösen.
  2. Das Aufzeichnen dieser Art von Fehler ist wichtig, damit Sie daraus lernen und es einige Tage später nicht wiederholen, da Sie glauben, dass es funktionieren wird.

0

Meine Erfahrung ist, dass ein frisch Absolvent nicht in die Tiefe geworfen wird. Stattdessen werden Sie wahrscheinlich Teil eines Teams sein, das auch erfahrene Entwickler umfasst.

Mein Rat wäre: Nutzen Sie sie. Wenn Sie sich nicht sicher sind, wie Sie ein Problem angehen sollen, oder wenn Sie wissen möchten, ob Ihre Lösung in die richtige Richtung geht, besprechen Sie dies mit ihnen. Und wenn Sie das Gefühl haben, irgendwo festzusitzen, schnappen Sie sich einen der erfahrenen Jungs, erklären Sie Ihr Problem und bitten Sie um Hilfe.

Wenn Sie Ihr Problem nur erklären, wird in den meisten Fällen eine Lösung gefunden, und wenn Sie Ihre Lösung erklären, kann dies ebenfalls zu Fehlern führen.


0

Dies geschieht häufig, weil Sie das Problem nicht richtig und genau definiert haben. Vielleicht versuchen Sie, eine vorgefasste Lösung anstelle des eigentlichen Problems selbst zu lösen.

Das Problem ist nur, was Sie beobachten, nicht, was Sie sich vorstellen.

"Mein blutiges Auto springt nicht an" ist ein Problem. "Die Batterie ist leer." ist eine vorgefasste Lösung für das Autostartproblem. Selbst das Testen der Batterie beweist nicht, dass dies die einzige Ursache für das Problem ist. Wenn Sie die Batterie nicht tatsächlich aufgeladen oder ausgetauscht und das Auto erfolgreich gestartet haben, liegt kein Beweis dafür vor, dass die Batterie die Ursache für das Problem ist.

Vereinfachen und weiter vereinfachen. Zerlegen Sie es in kleine Teile. Wenn Sie diese Teile nicht lösen können, zerschlagen Sie sie. Du wirst Dich besser fühlen. Dann zerlegen Sie es in verschiedene kleine Teile. Jeder dieser Teile muss ein beobachtbares Phänomen sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.