Alles ist eine Modeerscheinung. Sie werden in Ihrem ersten Studienjahr mehr lernen als in all Ihren Studienjahren. Informatik hat nichts mit Computern zu tun.
Das College bietet Ihnen einen Werkzeugkasten voller Werkzeuge. Dies ist ein Schraubendreher, das ist ein Halbmondschlüssel. Sie könnten jedes Werkzeug einmal im College verwenden. Es ist, wenn Sie in die reale Welt eintreten, wenn Sie wirklich herausfinden, was Sie haben. Sie sortieren die nützlichen aus den anderen aus, die Sie für alle Fälle zu Hause auf der Werkbank lassen möchten, und die, die Sie jeden Tag in der Tasche haben.
Tqm, Iso, Cmm, Agile usw. Dies sind alles Modeerscheinungen, die sie kommen und gehen werden. Keine der erfolgreichen ist mehr als nur gesunder Menschenverstand. Alle erfolgreichen Ingenieure und Unternehmen verwenden einen gesunden Menschenverstand, der sie erfolgreich gemacht hat. Nur wenige brauchten einen Namen dafür. Das Problem ist, dass Sie keinen gesunden Menschenverstand verkaufen können. Ein Manager kann seinen Wert für das Unternehmen nicht beweisen, indem er gesunden Menschenverstand ohne eingängigen Namen schult und kauft. Geben Sie einen Namen ein, den ihre Vorgesetzten in einem Nachrichtenartikel oder einer Zeitschrift gelesen haben, und der Manager behält seinen Job und Sie behalten Ihren. Nur sehr wenige Unternehmen, die behaupten, diese Praktiken zu befolgen, tun dies tatsächlich. Die meisten schreiben einen Scheck an einen Berater und erhalten ihr Jahres- und / oder Lebenszeitzertifikat bei einem Club, damit sie eine Grafik auf ihrer Website oder ein Etikett auf der Verpackung ihres Produkts anbringen können. Viele werden argumentieren, dass dies selten ist ... dort gewesen, gesehen, es passiert. Dies ist alles Teil des Geschäfts. Manchmal muss man Abstriche machen, um profitabel zu bleiben und die Türen offen und die Lichter an zu halten. Die Hardcore-Anhänger all dieser Praktiken haben alle argumentiert, dass der letzte eine Modeerscheinung war und dieser nicht, der letzte war wirklich zu teuer, um zu folgen, dieser ist nicht. Der letzte war eine Fälschung, Sie haben gerade einen Berater eingestellt, dieser ist echt. Wie Programmiersprachen werden sich auch diese weiterentwickeln. Der letzte war eine Fälschung, Sie haben gerade einen Berater eingestellt, dieser ist echt. Wie Programmiersprachen werden sich auch diese weiterentwickeln. Der letzte war eine Fälschung, Sie haben gerade einen Berater eingestellt, dieser ist echt. Wie Programmiersprachen werden sich auch diese weiterentwickeln.
Ihre Fähigkeit, die Realität des Geschäfts, das Universitätssystem und Ihre Rolle darin zu verstehen, ist der Schlüssel. Wählen Sie wie alles im Leben Ihre Schlachten. Es ist nicht die Universität oder das Geschäft oder die Regierung oder die Aufgabe eines anderen, Sie zu unterrichten, die Sie brauchen oder wissen wollen. Es ist Ihre Aufgabe, nach der Nummer eins Ausschau zu halten. Ebenso können Sie niemandem die Schuld geben, Ihnen die Zeit dafür zu geben, Sie müssen es tun. Sie werden vom Pferd fallen, Sie sind kein Opfer, stehen auf und steigen wieder ein, keine Ausreden, das Leben ist kein fairer Umgang damit. Nutzen Sie Handouts und geben Sie nicht vor, unabhängig zu sein. Und zahlen Sie auf jeden Fall Ihre Gebühren, saugen Sie einer Firma keine Handzettel aus, ohne ihnen dafür etwas zu geben (Ihr Bestes zu der Zeit?).
Warum denken die Leute, dass cmm oder agil oder einer der anderen eine Modeerscheinung ist? Warum denken sie, dass sie nicht sind? Warum hat Ihnen der Professor das Programm so beigebracht? Gotos oder Konstanten vermeiden oder dies und das vermeiden? Liegt es daran, dass es zuverlässigeren Code erzeugt? Code mit besserer Leistung? Reduziert menschliches Versagen? Oder liegt es daran, dass es einfacher ist, Papiere / Programme zu bewerten, damit sie mehr Zeit für Recherchen haben? Liegt es daran, dass sie nicht programmieren können und nur einem anderen Buch zu diesem Thema folgen? Haben sie Ihnen beigebracht, dass Sie keinen wartbaren, zuverlässigen und leistungsstarken Code haben können? Sie können nicht einmal zwei wartbare Störungen auswählen, die sowohl zuverlässig als auch leistungsstark sind? Manchmal opfern Sie Zuverlässigkeit für Leistung. Manchmal ist Ihnen Zuverlässigkeit oder Leistung egal, Sie möchten nur die Version 117.34 verwenden. 2 eines weiteren Buchhaltungssoftwareprogramms auf Version 118.0.0. Ihr Geschäftsmodell besteht aus dem Verkauf von Versions-Upgrades und technischem Support. Für Softwareentwickler kann jeder alte Roboter denselben Code auf dieselbe Weise schreiben. Ersetzen Sie den ausgebrannten durch den frisch aus dem College und verkaufen Sie weiterhin Upgrades.
Es gibt keine universellen Antworten auf diese Fragen. Sie müssen herausfinden, was Ihre Meinung ist, damit leben und sie verteidigen. Ändere deine Meinung, lebe damit und verteidige es.
Alles in Frage stellen ... werde ich mich wirklich verbrennen, wenn ich den heißen Topf auf dem Herd berühre? Verursachen die psychologischen Auswirkungen von Angst mehr Schaden als nur Verbrennungen? Gibt es eine sichere Möglichkeit, die Antwort zu testen, ohne verletzt zu werden?
Wenn ich es mir leisten konnte, kaufte ich Transistoren, Kappen, Widerstände usw. in meinem Schlafsaal und schmolz sie schließlich ein, die alle einen ausgeprägten schlechten Geruch haben. Es ist weitaus billiger und einfacher, nur einen Verstärker für Ihre Stereoanlage zu kaufen, als am Tag nach Ihrer ersten Transistorklasse einen zu bauen. Da Linus die Ausnahme ist, ist es natürlich einfacher, nur ein Betriebssystem zu kaufen als eines zu schreiben ... Sie können mehr erledigen, obwohl das, was Sie in dieser Zeit lernen, anders ist als das, was Linus gelernt hat.
Die Welt innerhalb und außerhalb der Universität wird diese Formeln (cmm, agil usw.) zur Lösung von Problemen übernehmen, und wenn die nächste herauskommt, werden sie sie genauso schnell fallen lassen. Sie müssen die Versionskontrolle nicht verwenden, um erfolgreich zu sein, es gibt genauso viele Erfolge mit wie ohne (nun ja, aufgrund des Alters der Branche gibt es bisher viel mehr Erfolge ohne Versionskontrolle). Ebenso können Sie mit minimalen Tests erfolgreich sein (sehen Sie sich die wirklich großen Namen in der Computerindustrie als Beispiele an). Sie können erfolgreich sein, indem Sie Ihren eigenen Code testen, und Sie können erfolgreich sein, indem Sie die Regel befolgen, dass Sie niemals Ihren eigenen Code testen sollten. Sie können mit Emacs erfolgreich sein und Sie können mit vi erfolgreich sein. Sie müssen entscheiden, welche Mischung für Sie funktioniert, und wenn Sie Glück haben, finden Sie einen Arbeitsplatz, der mit Ihnen übereinstimmt.
Wenn Sie das College verlassen und in die reale Welt eintreten, hören Sie zu und arbeiten Sie mit den "Oldtimern" und streiten Sie sich mit ihnen. Sie haben jahrzehntelange bis jahrhundertelange Erfahrung, Fallen, in die sie geraten sind und die Sie möglicherweise vermeiden und / oder selbst testen (vielleicht stellen Sie fest, dass Sie den heißen Topf nicht berühren müssen, um herauszufinden, dass er Sie verbrennen wird). Die meisten werden mindestens eine oder zwei dieser Modeerscheinungen kommen und gehen sehen, insbesondere, wie stark sie verbrannt wurden und was sie getan haben, um sich davon zu erholen. Sie kennen viele verschiedene Möglichkeiten, Dinge zu testen, und die Namen der Teststile, die auch gekommen und gegangen sind. Was funktioniert, was nicht. Wo das Risiko liegt und wie Sie vermeiden können, Zeit mit einer Tangente zu verschwenden. Wenn Sie reifen und zum Oldtimer werden, geben Sie ihn weiter. Zahlen Sie für das, was Sie gelernt haben, indem Sie versuchen, diejenigen zu unterrichten, die Ihnen folgen. Denken Sie daran, ihnen beizubringen, wie man fischt. Gib ihnen nicht nur einen Fisch. Und manchmal muss man sie scheitern lassen, bevor sie Erfolg haben, damit sie nicht zu stark verbrannt werden.
Was ich hier wirklich sagen wollte, ist, dass wir uns gerade in einer seltenen Situation befinden, in der wir eine Entwicklung eines Paralleluniversums beobachten (und es vielleicht beeinflussen) können. Ja, Informatik ist eine junge Wissenschaft im Vergleich zu Physik. Gleichzeitig hat es sich um ein Vielfaches weiterentwickelt. Je nachdem, wo Sie arbeiten und mit wem Sie zusammenarbeiten, können Sie möglicherweise Hardware-Ingenieure beobachten. Programmiersprachen in der Hardware-Welt sind sicherlich nicht neu, aber sie haben sich nicht so schnell entwickelt wie die Software-Welt. Software hatte einige Jahrzehnte Vorsprung. Hardware hat Softwareingenieure immer als Bürger zweiter Klasse angesehen. Unsere Arbeit ist einfach, ihre Arbeit ist schwer. (Hinweis: Ich bin sowohl Hardware- als auch Softwareentwickler.) Interessant ist, dass sie sich derzeit noch mit elementaren oder kindlichen Problemen befassen. Warum sollte ich die Versionskontrolle verwenden müssen? Ich bin der einzige, der an diesem Chip arbeitet. Ihre Erfahrung mit gcc oder anderen billigen Compilern oder kostenlosen IDEs kann möglicherweise nicht mit den teuren Tools verglichen werden, die ich verwende. Wenn das Unternehmen der Meinung ist, dass Sie es wert sind, es zu verwenden, oder sogar wissen, wie man es verwendet, würde es Ihnen eine Kopie kaufen. Und eine lange Liste anderer Ausreden. Ich hatte das Vergnügen, sowohl vhdl als auch verilog zu lernen und in beiden innerhalb einer Woche produktiv zu werden, was von einem solchen Hardware-Ingenieur beinahe gewagt wurde (obwohl mein Diplom besagt, dass Elektrotechniker meine Berufsbezeichnung Software-Ingenieur ist). Ich wollte diese Sprachen lernen, als mir die Werkzeuge zur Verfügung standen, blieb ich bis in die Nacht im Büro und brachte mir selbst bei. Von diesem Zeitpunkt an erkannte insbesondere dieser Ingenieur, dass das, was ich sagte, wahr ist. Sprachen sind nur Syntax. Die Programmiergrundlagen sind die gleichen, die Tools machen alle das Gleiche. Seine Äpfel und Äpfel nicht Äpfel und Orangen.
Im Allgemeinen ist es jedoch immer noch schwierig, die Nachricht zu senden, dass eine dieser beiden parallelen Branchen viel mehr Erfahrung mit Sprachen, Programmiergewohnheiten, Quellcodeverwaltung, Tests, Tools, Programmierumgebungen usw. hat als die andere. Das Problem, das ich zu lösen versuche, besteht darin, die Hardware-Designs während der Entwicklung zu verwenden und kostengünstige Funktionssimulatoren zu erstellen, die wir mit einer Simulation (virtuelle Maschine) des Prozessors verknüpfen können, damit wir mit dem Testen der Hardware und der Entwicklung des Tests beginnen können Lieferbare Software lange bevor wir zu Silizium gehen. Nein, daran ist nichts "Neues", aber wir haben keinen Mechanismus, um den neuesten Code abzurufen und Änderungen im Code zu verfolgen, um zu sehen, wo wir unsere Zeit konzentrieren müssen. Kein Mechanismus zum Verfolgen der Dokumentation, die die Benutzeroberfläche (Programmierschnittstelle) zur Hardware definiert. Die eine goldene Kopie befindet sich in binärer Form im E-Mail-Posteingang einer anderen Person und ändert sich nur, wenn Sie den Verilog nicht lesen müssen, um herauszufinden, was los ist. Warten Sie, dieser Verilog ist wie alt? Dieser Fehler, den ich die ganze Woche mit dir verbracht habe, hat vor drei Wochen herausgefunden und behoben? Fliegen wir also einfach zu einem Urlaubsort und feiern sechs Monate lang und warten darauf, dass die Hardware-Leute ihre Aufgabe erledigen und sie uns über die Mauer werfen, oder nutzen wir diese Gelegenheit, um zu versuchen, geduldig und optimistisch zu sein und ihnen beizubringen, dass sie es tun Es gibt vernünftige Methoden, die nicht so aufdringlich sind und es ihnen ermöglichen, sowohl ihre Arbeit zu erledigen, ihre Arbeit zu sichern als auch ihre Inhalte zur Begutachtung durch Fachkollegen zu teilen ... Dieser Verilog ist wie alt? Dieser Fehler, den ich die ganze Woche mit dir verbracht habe, hat vor drei Wochen herausgefunden und behoben? Fliegen wir also einfach zu einem Urlaubsort und feiern sechs Monate lang und warten darauf, dass die Hardware-Leute ihre Aufgabe erledigen und sie uns über die Mauer werfen, oder nutzen wir diese Gelegenheit, um zu versuchen, geduldig und optimistisch zu sein und ihnen beizubringen, dass sie es tun Es gibt vernünftige Methoden, die nicht so aufdringlich sind und es ihnen ermöglichen, sowohl ihre Arbeit zu erledigen, ihre Arbeit zu sichern als auch ihre Inhalte für Peer Review zu teilen ... Dieser Verilog ist wie alt? Dieser Fehler, den ich die ganze Woche mit dir verbracht habe, hat vor drei Wochen herausgefunden und behoben? Fliegen wir also einfach zu einem Urlaubsort und feiern sechs Monate lang und warten darauf, dass die Hardware-Leute ihre Aufgabe erledigen und sie uns über die Mauer werfen, oder nutzen wir diese Gelegenheit, um zu versuchen, geduldig und optimistisch zu sein und ihnen beizubringen, dass sie es tun Es gibt vernünftige Methoden, die nicht so aufdringlich sind und es ihnen ermöglichen, sowohl ihre Arbeit zu erledigen, ihre Arbeit zu sichern als auch ihre Inhalte für Peer Review zu teilen ...
Denken Sie daran, dass Hardware-Ingenieure das College mit einer Schachtel glänzender neuer Tools verlassen haben, genau wie Sie. Sie haben 17 verschiedene Programmiersprachen gelernt, von denen Sie möglicherweise nur eine verwenden. Der Rest der Sprachen, die Sie in Ihrer Karriere geschrieben haben, wird nach dem Verlassen des College erfunden. Wenn sie das College verlassen haben, können sie Ihnen sagen, was sie über Kalkül und Relativitätstheorie wissen, wie viele Elektronen sich in jedem der Elemente befinden, und die Ladung um eine Gaußsche Oberfläche berechnen. Aber der Großteil ihrer Karriere ist eins, null und oder nicht (hey, wir haben diese gemeinsam, alles, was Sie wirklich über Computer wissen müssen, eins, null und oder und nicht Hardware- oder Software-Ingenieur). Zugegeben, die Grundgesetze der Physik, der Analysis, der Elektronen werden sich nicht so schnell ändern wie die Programmiersprachen. Die Grundlagen der Programmierung sind jedoch in allen Sprachen gleich und werden auch in Zukunft so bleiben. Haben Sie das College verlassen und gewusst, dass Java anders und besser ist als C ++, weil dies und das und das andere?
Wie bei jedem anderen Unternehmen ist es die Aufgabe der Universitäten, profitabel zu bleiben. Sie müssen die richtigen Akademiker einstellen, um sowohl die richtigen Studenten als auch die richtigen Forschungsgelder und die richtigen Arten von Forschung zu bringen, um die Universität rentabel zu machen. Sie müssen die richtigen Klassen anbieten, um die richtigen Studenten zu bringen und die richtigen Absolventen hervorzubringen, damit Arbeitgeber im Laufe der Jahrzehnte sowohl in der Nähe der Universität als auch hoffentlich in der Ferne erkennen, dass diese Universität produktive und profitable Mitarbeiter hervorbringt. (Ja, und manchmal muss man die richtigen Athleten für die richtige Sportart gewinnen, um die richtige Menge an TV-Zeit und die richtige Menge an Bekanntheit und Sporteinnahmen zu erhalten.) Einige Universitäten werden C ++ und Java unterrichten, andere nie. Einige werden CMM erfinden, andere werden Agile lehren, andere werden beides nicht tun. Wenn die Universität überhaupt einen Wert hat, gibt es etwas zu lernen. Sie werden dir nicht alles beibringen, was es zu lernen gibt, aber sie werden etwas Nützliches haben. Erfahren Sie, dass etwas, während Sie dort sind, eine angemessene Anzahl verschiedener Arten von Werkzeugen in Ihrem Werkzeugkasten sammelt. Verlasse die Universität und bekomme einen Job. Wenn Ihre Toolbox scheiße ist, finden Sie vielleicht eine andere Universität und erwähnen Sie nie die erste. Wenn es ein guter Werkzeugkasten ist, verwenden Sie diese Werkzeuge und erstellen Sie einige neue in Ihrer Freizeit. Wenn es ein ziemlich guter Werkzeugkasten ist, sagen Sie gute Dinge über diese Universität und die guten Akademiker, von denen Sie dies und das gelernt haben, und zahlen Sie der Schule das zurück, was sie Ihnen gegeben haben. Auch wenn Sie nicht alle möglichen Werkzeuge im universellen Katalog der Universitätswerkzeuge erhalten haben, werden Sie mit einer bestimmten Teilmenge davonkommen. Auch wenn Sie nicht graduieren ...