it-swarm.dev

Warum ist ein Informatik-Abschluss für einen professionellen Programmierer wichtig?

Ich habe einen Abschluss in Informatik. Es war großartig, um Türen zu öffnen und einen Job zu bekommen. Soweit es mir im professionellen Bereich der C # .NET-Programmierung hilft (die beliebteste Plattform und Sprache in dem Bereich, in dem ich arbeite, wenn nicht die gesamten Vereinigten Staaten zweifellos das beliebteste Betriebssystem der Welt), ist es kaum nützlich. Warum hilft es Ihnen als Programmierer in Ihrer beruflichen Laufbahn (außerhalb des Prims-Algorithmus, um einen Interviewer zu beeindrucken)?

In der heutigen Weltanpassung ermöglichen ein schneller Verstand, eine starke Kommunikation, OO und grundlegende Designfähigkeiten) einem Entwickler, Software zu schreiben, die ein Kunde akzeptiert. Diese Fähigkeiten werden nur im cs-Programm überflogen Meiner Meinung nach bietet das Lesen eines 500-seitigen C # -Buches von Wrox weitaus besser nutzbare Fähigkeiten als 4 Jahre Comp-Sci-Math-Blaster-Kurse. Viele sind anderer Meinung. Warum ist ein Informatik-Abschluss wichtig?

63
P.Brian.Mackey

Warum ein Informatik-Abschluss?:

  • Ich habe mit einem Entwickler zusammengearbeitet, der Tausende von Elementen in einer HashTable gespeichert und dann nur die Werte durchlaufen hat. Er hat nie über einen Hash zugegriffen. Er wusste offensichtlich nicht, wie eine HashTable funktioniert oder warum Sie eine verwenden würden - ein CS-Abschluss könnte dabei helfen.
  • Bei der Arbeit mit regulären Ausdrücken scheint es für Personen, die mit der grundlegenden Automatentheorie und den formalen Sprachen vertraut sind, einfacher zu sein, über die Vorgänge nachzudenken und Fehler in ihren Ausdrücken zu beheben - ein CS-Abschluss könnte dabei helfen.
  • Ein schulfrischer Entwickler kann möglicherweise Probleme in verschiedenen Paradigmen-Denkweisen (OO, funktional, logisch) sofort zerlegen, während ein neuer Entwickler ohne Abschluss Erfahrung benötigt, bevor er dasselbe tun kann.
  • Schulen unterrichten Rechenkomplexität. Entwickler ohne Abschluss können das Gefühl haben , was am besten ist, aber ein formales Verständnis ist manchmal hilfreich, insbesondere wenn sie einem Kollegen die Ergebnisse erklären.
  • Ein Abschluss bietet eine Einführung in viele Modelle der Maschine - Hardware, Betriebssystem, gemeinsame Datenstrukturen, Netzwerke, VMs. Mit diesen Modellen im Hinterkopf ist es einfacher, eine Vermutung zu entwickeln, bei der ein Problem auftritt, wenn etwas schief geht. Auch hier bauen Entwickler ohne Abschluss dieselben Modelle, aber es braucht Zeit.
  • Eine fachkundige Anleitung durch jede Disziplin kann dem Lernenden helfen, Sackgassen und verpasste Themen zu vermeiden. Lesen ist großartig, aber es ist kein Ersatz für einen großartigen Lehrer.

Dies bedeutet nicht, dass ein CS-Abschluss erforderlich ist, um ein großartiger Entwickler zu sein. Kaum. Einige der besten Entwickler, mit denen ich zusammengearbeitet habe, haben keinen Abschluss. Ein Abschluss gibt Ihnen einen Anlauf. Bis zu Ihrem Abschluss haben Sie (hoffentlich) eine ganze Menge Code in verschiedenen Sprachen und Umgebungen geschrieben, um viele Arten von Problemen zu lösen. Damit sind Sie auf dem besten Weg zum 10.000 Stunden erforderlich , um Experte zu werden.

Ein zweiter Vorteil ist, dass es Arbeitgebern zeigt, dass Sie sich zu einem langfristigen Ziel verpflichten und erfolgreich sein können. In vielen Unternehmen ist das meiner Meinung nach wichtiger als das, was Sie gelernt haben.

133
Corbin March

In 40 Jahren erwarte ich, dass .NET und C # nichts weiter als ein schwerer Stapel von Legacy-Code auf veralteten Betriebssystemen sind.

Aber die grundlegenden Informatikkonzepte werden genauso lebendig sein wie damals, als Shannon, von Neumann, Knuth, Dijkstra, Hoare und die anderen sie vor über 40 Jahren aus den Gründen der formalen Logik und Mathematik ausgegraben haben.

87
Paul Nathan

Ich benutze fast alle CS, die ich in der Schule gelernt habe (*) jeden Tag bei meiner Arbeit. Wenn Sie im Programmiersprachen-Design, in der Suchmaschinenoptimierung, in der Quant-Analyse oder in einem ähnlichen Bereich arbeiten möchten, nehme ich an, Sie könnten es ohne einen relevanten Abschluss tun, aber es scheint eine Menge zu tun müssen am Arbeitsplatz lernen. Ich bin aufgrund meiner Tätigkeit nicht besonders gut ausgebildet. Viele meiner Kollegen haben einen Doktortitel in Informatik und einige von ihnen waren Professoren für CS.

Es hat sich für mich enorm gelohnt, meinen Abschluss zu machen. es hat sich vielfach bezahlt gemacht, sowohl in Dollar als auch in Zufriedenheit.

Das heißt, ich verstehe Ihren Punkt gründlich. Die meisten Leute, die Computer programmieren, haben Jobs, für die kein CS-Abschluss erforderlich ist. Sie erfordern beispielsweise einen soliden Hintergrund auf Community-College-Ebene in der praktischen Programmierung sowie die Einhaltung der aktuellen Branchentrends. Und das ist gut so. Sie brauchen keinen Abschluss in Meeresbiologie, um einen erfolgreichen Aquarienladen zu betreiben, und ich finde Aquarienläden großartig. Aber es ist furchtbar schwer, einen Job bei Woods Hole zu bekommen, wenn alles Sie wissen, wie man Goldfische züchtet.


(*) Ich habe einen B.Math in Angewandter Mathematik und Informatik von Waterloo.

37
Eric Lippert

Es ist wichtig, weil die Technologie nicht statisch bleibt. Die Informatik ist die Basis für alle digitalen Technologien. Die meisten autodidaktischen Programmierer halten genau einen Technologiezyklus durch, weil ihnen die Grundlagen fehlen, um einen großen Paradigmenwechsel zu überstehen. Sicher, es gibt Ausnahmen von der Regel, aber eine starke Grundlage in der Informatik erhöht die Chancen, einen großen Paradigmenwechsel zu überleben, erheblich.

22
bit-twiddler

Es kommt darauf an, was Sie tun möchten. Wenn Ihr Ziel hauptsächlich darin besteht, Unternehmenssoftware im großen und ganzen zu programmieren, bei der das Geschäftsproblem und die praktischen Probleme beim Komplexitätsmanagement der schwierige Teil sind, dann hilft ein CS-Abschluss nicht viel. Wenn Ihr Ziel jedoch darin besteht, Dinge zu programmieren, bei denen die Hauptschwierigkeit im technischen Bereich liegt, ist ein CS-Abschluss nützlicher. (Obwohl ich keinen CS-Abschluss habe, fühle ich mich wie ein großer Heuchler, wenn ich das sage. Fühlen Sie sich also frei, "oder Autodidakt in CS-Fächern" hinzuzufügen.)

Ich bin mir sicher, dass es viele Programmierer gibt, die sich hervorragend mit der Verwaltung von Komplexität, der Programmierung im großen Stil und der Lösung allgemeiner Geschäftsprobleme auskennen. Sie würden jedoch absolut verloren gehen, wenn Sie sie bitten würden, einen Speicherzuweiser, eine Parallelitätsbibliothek oder eine zu schreiben Sammlungsbibliothek oder ein Betriebssystem oder ein Compiler usw. Ich bin sicher, dass das Gegenteil auch in angemessenem Umfang existiert. Beide haben ihren Platz und verdienen Respekt, aber ein CS-Abschluss hilft auf technischer Seite viel mehr.

14
dsimcha

Ich denke nicht, dass ein CS-Abschluss ein absoluter Indikator dafür ist, dass eine Person ein guter Softwareentwickler ist. Tatsächlich begann ich meine Karriere als Programmierer mit einem Mathematik-Abschluss, aber mit einer starken CS-Tendenz (Mathematik und CS wurden in mein Studienprogramm integriert). Ich denke, es gibt insgesamt zwei Gründe, warum es wichtig ist.

1 - Weil Ingenieure nicht das Frontend für die Rekrutierung sind

Human Resources Menschen sind. Und während ich mir viele Menschen vorstelle, die mit den Augen rollen, sage ich "Gott sei Dank!" Was ist wichtiger - dass Sie die Ingenieure Sachen machen lassen (oder Sachen brechen) oder dass Sie sie dazu bringen, Tausende von Lebensläufen zu sortieren und Tausende von Interviews zu führen?

Wir haben also HR-Mitarbeiter und HR-Mitarbeiter, die die Kandidaten überprüfen, bis wir zu einer Schlüsselgruppe gelangen, die von Ingenieuren überprüft werden kann. HR-Mitarbeiter haben im Laufe der Zeit gelernt, dass ein CS-Abschluss ein ziemlich starker Indikator dafür ist, dass der Kandidat etwas über die Entwicklung von Software weiß. Hoffentlich wissen sie auch, dass das Schreiben von Software seit 20 Jahren ein guter Indikator dafür ist, dass der Kandidat Software schreiben kann.

2 - Weil es besser ist, ein System zum Erlernen von CS zu haben als keines

CS ist ein riesiges Feld mit viel zu wissen. Und es ändert sich ständig. Heutzutage kann ich mit Sicherheit sagen, dass 75% der Studienleistungen in meinem Undergrad für meine Karriere irrelevant geworden sind. Und dass die Kursarbeit meines Meisters von vor 5 Jahren rapide abnimmt. Aber als ich anfing, war ich froh, dass ich eine große Institution bezahlt habe, um mir etwas über Computerorganisation, Netzwerke, gute Softwareentwicklungsprozesse, objektorientiertes Design, Compiler und die Syntax/Semantik einer wichtigen Programmiersprache beizubringen, die derzeit vermarktbar ist.

Und ich war froh, dass es in einer Umgebung war, in der jemand dafür bezahlt wurde, mir Dinge zu erklären, als das Buch-/Website-/Rundenprojekt nicht von Natur aus offensichtlich war.

Und ich war froh, dass ich Zugang zu einem Labor hatte, in dem Computerzustand und SDE nicht mein Problem waren - ich konnte mich mehr oder weniger auf einen kleinen Teil des Problems konzentrieren, anstatt auch alle zur Lösung erforderlichen Tools reparieren zu müssen das Problem.

Und obwohl die Kurse nicht ausdrücklich gute Kommunikation lehrten, denke ich, dass Sie dies nur durch die Arbeit in Teams wirklich lernen können - was IS ein wesentlicher Teil vieler führender Institutionen ist, die CS-Abschlüsse anbieten.

Und ein Zeitplan mit häufigem Feedback (dh Noten und Prüfungen), der mich wissen lässt, ob ich wirklich verstanden habe, was mir beigebracht wurde.

Diese Dinge sind meiner Meinung nach mehr wert als jedes Buch zu diesem Thema, aber es ist sicherlich nicht das A und O. Es gibt sicherlich Dinge, die mir nichts ausmachen würden, wenn sich die Hochschulen verbessern würden, und ich denke, dass etwa 10 Jahre nach Ihrem Abschluss der Abschluss, den Sie ursprünglich erhalten haben, weniger wichtig ist als die Arbeit, die Sie seitdem geleistet haben.

12
bethlakshmi

Für mich ist der Grund, dass ich weiß, dass sie einige schwierige Kurse durchlaufen haben und nicht aufgegeben haben. Einige der Kurse wie Compiler, Datenstruktur, Diskrete Mathematik (und andere) neigten dazu, viele Leute aus CS-Programmen herauszuwaschen. Ein CS-Abschluss bedeutet, dass Sie hart gearbeitet und einen Preis bezahlt haben (lange Nächte, um Programme zum Laufen zu bringen), anstatt zum Spaß auszugehen.

12
Chris L

Für mich ist es eine Frage der Denkweise .

Ihre Denkweise definiert, wie Sie sich einem bestimmten Problem nähern, und ermöglicht es Ihnen, ein breiteres Spektrum von Möglichkeiten in Betracht zu ziehen als diejenigen, die nicht in den Konzepten geschult sind.

Ein typisches Beispiel ist das "Travelling Salesman" -Problem , bei dem Sie wissen, dass es 1) für die allgemeine Version NP-vollständig ist. Sie müssen also alle Möglichkeiten ausprobieren, außer 2) das, wenn Sie mehr über das wissen Problem können Sie entweder innerhalb einer bestimmten Grenze annähern oder sagen, dass Sie wissen, dass AC immer länger als AB + BC ist (was für Entfernungen gilt, aber nicht für Preise), sodass Sie es in kürzerer Zeit lösen können.

Ein weiteres Beispiel ist die numerische Analyse, bei der Sie wissen müssen, dass Sie Ihre Berechnungen anders als mathematisch einfach angehen müssen, um die numerische Ungenauigkeit zu minimieren. Dies erfordert theoretisches Wissen und wird wahrscheinlich nicht auf dem Weg aufgenommen, es sei denn, Sie wurden ausdrücklich davon gebissen.

10
user1249

"Ja wirklich?" Beeindruckend.

Sie sagen mir also, dass C # und OOP Fähigkeiten ausreichen) und Sie können Ihren eigenen Algorithmus für die zufällige Sortierung entwickeln und die feineren Nuancen des Umgangs mit NP) entschlüsseln = komplette Probleme im wirklichen Leben?

C # und OOP sind in Ordnung, aber wenn Sie versuchen, etwas zu tun, das nicht triviales Logikdesign ist, benötigen Sie die Grundlagen der Informatik.

Alter, Sie werden nicht einmal wissen, welchen C # -Container Sie verwenden sollen, wenn Ihre Datenstrukturen oder Algorithmen nicht den Anforderungen entsprechen.

Lass uns jetzt erwachsen werden.

9
Fanatic23

Ich nehme an, Sie haben sich damals wirklich nicht zu sehr mit dem Abschluss beschäftigt, haben einfach das genommen, was Sie brauchten, und sind ausgestiegen oder haben eine Schule besucht, in der CS-Majors als "Programmierer" und nicht als "Programmierer" angesehen wurden. Einige meiner besten/bevorzugten "CS" -Klassen sind solche, die - zumindest an meiner Universität - der Abteilung Elektrotechnik unterstehen. Mein Umgang mit verschiedenen Architekturen und Stilen war sehr wichtig und mein Abschluss hat dies in einer "kontrollierten" Umgebung ermöglicht.

Klassen, die nicht nur Algorithmen und niedliche Flusen sind:

  • Compiler
  • Betriebssysteme
  • VHDL/Embedded-Systeme
  • Montage und Mikrocontroller
  • Softwareentwicklung

Und schließlich eine Klasse, die mich umgehauen hat, die nur aus Algorithmen und Datenstrukturen bestand - Künstliche Intelligenz. Es gibt Dinge, die das Durchlaufen des Universitätssystems im Lernprozess erheblich beschleunigen, und ich würde das Gelernte bei der späteren Jobsuche als von unschätzbarem Wert betrachten.

6
Jeff Langemeier

für mich und viele meiner Kollegen hat es nicht (keiner von uns hatte CS-Abschlüsse)

4
Shawn

Meiner Meinung nach ist jeder Abschluss, der einen Fokus auf Computerkenntnisse impliziert, ziemlich gleichwertig, es sei denn, Sie bewerben sich für "Computer-Sciency" -Positionen.

Tatsächlich haben viele der mir bekannten Programmierer einen Abschluss in einer völlig anderen Disziplin. Die besten Programmierer, die ich kenne, haben Abschlüsse in Bauingenieurwesen, Linguistik, Wirtschaft und Finanzen.

Am Ende wird Ihr Abschluss, sobald Sie Erfahrung haben, zu einem Pass-Fail-Test für einen Personalvermittler. Das heißt, es sei denn, Sie haben es von einer beeindruckenden Schule oder einem Postgraduierten-Abschluss erhalten, ist es nicht so wichtig, was Ihr Hauptfach war.

4
JohnFx

OK, was ist dann?

Wenn Sie folgende Themen durchlaufen haben:

a.Computerarchitektur und -organisation

b.Software Engineering

c.DBMS

basiselektronik

e. Grundlegende digitale elektronische Schaltung

mikroprozessor

g.Compiler-Design

Denken Sie, dass alle oben genannten Punkte nur der Formalität dienen? Denken Sie daran, dass die oben genannten Punkte "guten Programmierer" zu einem "großartigen Programmierer" machen.

Lesen Sie dies durch, um zu erfahren, wie wichtig elektrische und elektronische Themen sind.

3

Ich habe einen Abschluss in Informatik. Es war großartig, um Türen zu öffnen und einen Job zu bekommen. Soweit es mir im professionellen Bereich der C # .NET-Programmierung hilft (die beliebteste Plattform und Sprache in dem Bereich, in dem ich arbeite wenn nicht die gesamten Vereinigten Staaten zweifellos das beliebteste Betriebssystem) in der Welt) es ist kaum nützlich.

Über 70% des Codes wird in C geschrieben (da es mehr eingebettete Geräte als Anwendungen auf hoher Ebene gibt). Laut gängigen Jobsuchen wie Würfeln oder dem TIOBE-Index ist Java ist die beliebteste Programmiersprache für Unternehmen (da es mehr Unix/Linux-Back-End-Server als Windows-Server gibt) mehr Smartphones und Tablets (die Computerplattform der Zukunft), auf denen eine Variante von Linux oder Mac OS ausgeführt wird als Windows, die auf etwas anderem als C # oder .NET programmiert sind.

Schauen Sie zu Hause auf Ihren Router, schauen Sie auf Ihr Handy, schauen Sie auf den Computer in Ihrem Auto, schauen Sie auf die verdammte Mikrowelle zu Hause, auf die Controller in Ihrer Klimaanlage zu Hause, in Ihrem Telefon und Ihrem Arbeitsfax und Drucker/Scanner. Sehen Sie sich die Anzahl der Computergeräte an (die die Anzahl der Windows-Systeme übersteigen).

Denken Sie, dass sie in C # programmiert sind?

Wenn Sie wirklich glauben, dass .NET oder C # die beliebtesten Plattformen der Welt sind, können Sie zu Ihrer CS-Schule zurückkehren und eine Rückerstattung beantragen.

Warum hilft es Ihnen als Programmierer in Ihrer beruflichen Laufbahn (außerhalb des Prims-Algorithmus, um einen Interviewer zu beeindrucken)?

Vielleicht, weil das Programmieren viel mehr beinhaltet als dynamische Webseiten und Unternehmensanwendungen für die Grundentwicklung? Dafür brauchst du nicht einmal einen BS-Abschluss, ein AA reicht aus - ich weiß, weil ich meine Programmierkarriere mit einem AA-Abschluss begonnen habe und langsam aber sicher auf einen CS hingearbeitet habe und dann die Graduiertenschule durchlaufen habe während ich voll gearbeitet habe) Zeit als Entwickler.

Es gibt eingebettete Entwicklung, es gibt Gerätetreiberentwicklung, es gibt Betriebssystementwicklung, es gibt Algorithmusentwicklung, Signale, Kommunikation, Netzwerkprotokolle, Datenbankmodulentwicklung, Dateisystementwicklung, verteiltes Rechnen, Compiler. Keine Forschung, sondern tatsächliche Arbeit in gemeinnützigen Organisationen. Abgesehen von den natürlich Begabten kann man es in keinem dieser Industriebereiche ohne einen CS-Abschluss hacken (manchmal nicht einmal mit einem BS-Abschluss).

Eine Person, die einen CS-Abschluss hat und darauf achtet, weiß das. Wie kommt es, dass du es nicht tust?

In der heutigen Weltanpassung ermöglichen ein schneller Verstand, eine starke Kommunikation, OO und grundlegende Designfähigkeiten) einem Entwickler, Software zu schreiben, die ein Kunde akzeptiert.

OO entstand aufgrund von CS. Und die meisten Leute, die glauben, dies zu tun OO können nicht einmal gute Arbeit leisten. Schauen Sie einfach nach draußen und schauen Sie sich den beschissenen Zustand der Software an (insbesondere in Java und .NET, ganz zu schweigen von PHP.) Ein solider CS-Hintergrund (oder ein Abschluss in irgendeiner Art von Ingenieurwesen) garantiert kein 100% gutes Verständnis von OO und analytischen Fähigkeiten, aber es hilft normalerweise OTH, kein grundlegender CS-Hintergrund zu haben, ist normalerweise eine rote Fahne, wenn es um OO und analytische Fähigkeiten) geht. Wir haben genügend empirische Beweise in der Branche, um diese Behauptung zu stützen.

Diese Fähigkeiten werden nur im cs-Programm überflogen.

Abhängig vom CS-Programm und vom Schüler. Zumindest für mich sah ich viele gute Kurse über Design, OO Analyse, kommerzielle Tools und Praktiken, wir hatten Kurse mit lokalen Unternehmen und Praktika, von Unternehmen finanzierte Projekte und Forschung, Technisches Schreiben, wie Sie es nennen. Entschuldigung, ich kann diese Aussage nicht beziehen oder verstehen.

In meinen Augen bietet das Lesen eines 500-seitigen C # -Buches von Wrox weitaus besser nutzbare Fähigkeiten als 4 Jahre Comp-Sci-Mathe-Blaster-Kurse.

Auch dies hängt von Ihrer Arbeit ab. Selbst im Unternehmen habe ich meine CS verwendet, um Dinge zu reparieren oder zu verbessern. All dies beinhaltet Modellierung, Architektur, verteiltes Rechnen, Sicherheit und hohe Leistung, hohe Verfügbarkeit und Fehlertoleranz. Ich habe all das in CS gelernt.

Es ist nichts Falsches daran, ein Wrox-Buch zu verwenden, um kontextspezifisch, technologie-spezifisch Fähigkeiten zu erhalten. Ich mache das selbst. Aber mein CS-Hintergrund gibt mir den Kontext, an dem ich arbeiten kann. Ohne meinen CS-Hintergrund wäre alles, was ich tun könnte, Programmieren, Codieren (was alles ist, was ich tun könnte, wenn ich zu Beginn meiner Karriere nur einen AA-Abschluss hatte.)

Viele sind anderer Meinung.

Überraschend ist nicht.

Warum ist ein Informatikstudium wichtig?

Wer hat Ihrer Meinung nach Google-, Hadoop-, Cassandra- oder Hochleistungs-Datenbank-Engines entwickelt? Wer glaubst du, schreibt den Windows-Kernel? Wer, glauben Sie, programmiert die beliebten Tools, mit denen Sie Ihre C # -Entwicklung durchführen?.

Ich bin mir sicher, dass bei den Tools, die Sie für die C # -Entwicklung verwenden, ein CS-Typ dahinter steckt.

Ob Sie einen CS-Abschluss benötigen oder nicht, hängt von der Art Ihrer Arbeit, der Art der Arbeit, die Sie erledigen möchten, und der Art der Arbeit ab, die Sie ausführen können.

Es gibt viel Arbeit in der Unternehmens- und Webentwicklung, für die kein CS-Abschluss erforderlich ist. Das gebe ich zu. Ich weiß auch, dass die Welt des Programmierens viel breiter ist als nur diese beiden Bereiche, wobei viele Bereiche (die meisten von ihnen tatsächlich) einen CS-Abschluss oder mehr erfordern.

Sie haben einen CS-Abschluss, woher Sie nicht wissen, dass das ein Rätsel ist.

3
luis.espinal

Ich stimme dem Punkt von Thorbjørn Ravn Andersen in Bezug auf die Denkweise zu. Das ist die Hauptsache, die Sie mit einem guten CS-Lehrplan entwickeln.

Im Grunde geht es darum, Dinge wie Datenstrukturen und Algorithmen zu verstehen. Nicht, dass Sie dies nicht alleine lernen können, aber ein guter CS-Lehrplan bietet eine bessere Sichtbarkeit.

1
George Marian

Schreiben

In der Entwicklung von Unternehmenssoftware ist es wichtig, Code schreiben zu können und schreiben. Damit meine ich: Schreiben von E-Mails, Fehlerberichten, technischen Dokumenten usw. Sowohl das Schreiben als auch das Codieren erfordern Klarheit des Denkens und eine angemessene Wirtschaftlichkeit des Ausdrucks.

Ich wette, dass zwischen zwei Softwareentwicklern derjenige mit einem CS-Abschluss von einer soliden Universität (starkes CS-Programm und erforderliche Wahlfächer in den Geisteswissenschaften) beide Fähigkeiten besitzt. (Dies ist zwar keine Garantie: Menschen aus den Geisteswissenschaften können großartige Programmierer und erstklassige Autoren sein. Viele CS-Absolventen sind Codiermaschinen, die nicht schreiben können, und so weiter.)

Lesen

Ein Mentor von mir behauptete, er könne Entwickler nach dem beurteilen, was sie lesen. Der ursprüngliche Beitrag erwähnt WROX-Bücher. Meiner Meinung nach sucht jemand mit einem CS-Abschluss eher nach solchen professionellen IT-Büchern und kann sie effektiv nutzen. Wenn man mit CLR umgehen kann, kann man mit "Professional C #" umgehen.

Mathe

Mathematik entwickelt Logik, Beweise, Strenge usw. und der Nebeneffekt ist, dass sie das Schreiben unterstützt. Obwohl die meisten Business-IT-Kenntnisse keine intensiven mathematischen Fähigkeiten erfordern, verfügt die Person mit einem CS-Abschluss bei Bedarf über diese. Dies ist ein viel besserer Weg, um durch das Leben zu gehen, als ohne es zu leben und sich zu fragen, was Sie in der Schule vermisst haben.

1
Michael Easter

Ich denke, es hängt wirklich von der Qualität des CS-Programms ab, das Sie durchlaufen haben. Ich weiß, was Sie meinen. Der größte Teil des Codes, den ich täglich schreibe, ist nur Standard-VB.Net. Holen Sie sich die Daten vom SQL Server, fügen Sie sie in das Formular ein, speichern Sie sie zurück in der Datenbank und erstellen Sie einige Berichte. Waschen, spülen, wiederholen. (Manchmal sehr langweilig) Das CS-Programm, das ich durchlaufen habe, hat neben der Abdeckung der Theorie und des Grundwissens viele praktische Dinge gelehrt. Wir haben Bereiche wie Software-Design, Datenbank-Design und Projektmanagement abgedeckt. Das Erlernen von Programmiersprachen war der einfache Teil, das Design und die Methodik zum Erstellen von Softwaresystemen waren das, was ich aus meiner College-Erfahrung mitgenommen habe. Wir erhielten Projekte, die auf realen Problemen basierten und manchmal sogar Softwaresysteme für andere Abteilungen auf dem Campus entwarfen.

Als Programmierer haben wir offensichtlich die Fähigkeit, selbstständig zu lernen, was in unserem Bereich eine Notwendigkeit ist. Ich muss sagen, dass ich sehr froh bin, das CS-Programm durchlaufen zu haben. Meine Professoren waren unglaublich und haben mir ziemlich viel beigebracht. Meine Klassenkameraden waren sehr lustige Leute und wir hatten viele lustige Nächte im Computerraum. Um die Wahrheit zu sagen, ich vermisse diese Tage irgendwie ......

1
Kratz

Es ist alles in der Fähigkeit, stellvertretend zu leben.

Wenn Sie den Abschluss überspringen, müssen Sie die Lektionen wahrscheinlich auf sehr persönliche Weise lernen (auch bekannt als auf die harte Tour). Das Fehlen eines Abschlusses bedeutet nicht, dass Sie den schwierigeren Weg des Lernens durch Ausprobieren beschreiten werden. Der Abschluss garantiert Ihnen jedoch, dass Sie einer Schatztruhe mit zuvor erworbenem Wissen ausgesetzt sind, das andere bis spät in die Nacht, frustrierte Programmiersitzungen und im Allgemeinen "auf die harte Tour" verdienen mussten.

Die wirklich exzellente Person wird nicht verwerfen, was andere für wahr befunden haben, sondern es herausfordern, bis sie die Grenzen des Wissens kennen, und dann mit dem "System" neu gewonnener Ideen spielen, bis sie es sich zu eigen machen. Es steht auf den Schultern derer, die zuvor gekommen sind, und lebt die Lösungen vergangener Jahre aus, ohne sie neu entdecken zu müssen.

Natürlich ist eine Person mit einem Informatik-Abschluss nicht immer der bessere Kandidat. Es gibt diese einzigartigen Individuen, die zum Strom geführt wurden, sich aber (aus irgendeinem seltsamen Grund) weigern, daraus zu trinken.

1
Edwin Buck

Ich erinnere mich, dass ich in meinen CS-Kursen einige Grundlagen gesehen habe, die manchmal sehr nützlich waren. Der Wasserfallprozess und seine Schritte habe ich in meiner Karriere wiederholt verwendet, mit einigen Variationen für Agile, bei denen er nicht ganz so starr ist, aber die gleichen Schritte vorhanden sind.

Manchmal können auch Fähigkeiten zur Problemlösung und verschiedene algorithmische Heuristiken hilfreich sein. Es gibt etwas zu sagen für die indirekten Vorteile eines CS-Abschlusses. Das Erlernen, wie man eine Antwort rechtfertigt, um zu zeigen, warum etwas richtig ist, ist nur eine von wenigen Fähigkeiten, die ich an der Universität verfeinert habe, aber ich bin mir nicht sicher, wie offensichtlich es wäre, dass dies am Ende des Programms ein Vorteil ist.

1
JB King

Dies ist wichtig, da Personalvermittler einen Indikator dafür haben, dass Sie nicht völlig ahnungslos sind, was Sie tun sollen, aber dies bedeutet nicht unbedingt, dass Sie wirklich wissen, was Sie tun, oder dass Sie es auf technisch bequeme Weise tun.

Es gibt brillante Leute mit Abschlüssen, die lieben, was sie tun und wirklich gute Programmierer sind, und es gibt auch Idioten mit Abschlüssen, die wirklich schlechte Programmierer sind und nicht einmal einige Grundlagen kennen. Es gibt brillante Leute ohne Abschluss, die alles entwickeln können (Business-Software/Compiler/ein Betriebssystem), und es gibt Idioten ohne Abschluss, die nicht wissen, wie man eine Hashtabelle richtig verwendet.

0
Falcon

Wahrscheinlich hilft das nicht viel, aber jetzt, wo ich Assembly und all das Wissen gelernt habe, fühle ich mich als vollständigerer Programmierer und ich bin mir sicher, dass dies wieder passieren wird, wenn ich zur Uni gehe. Ich meine, ich benutze meistens C oder VB, ich muss nicht wissen, was ein Wartezustand ist, um meine Programme zu machen, aber einfach zu wissen, was hinter meinem Code vor sich geht, ist großartig! Und Wissen hilft Ihnen, besseren, schnelleren und wartbareren Code zu schreiben. Ein Informatik-Abschluss vermittelt meiner Meinung nach genau das Wissen, das zum Schreiben von großartig Code erforderlich ist.

0
BlackBear

software Engineering ist heute eine experimentelle Wissenschaft, nicht angewandte Mathematik.

Informatik-Abschlüsse betonen Algorithmen. Wie viel von Ihrer täglichen Arbeit beinhaltet die Implementierung oder sogar Verwendung neuartiger Algorithmen und Datenstrukturen?

Wie viel kostet der Umgang mit Framework-Schichten und den undichten Abstraktionen? Inwieweit wird versucht festzustellen, was eine API tatsächlich tut - und nicht, was die Dokumente implizieren? Wie viel kostet das Testen und Entscheiden, wie getestet werden soll?

Trotzdem ist ein Physik- oder Chemiestudium eine viel bessere Ausbildung als das Auswendiglernen von Knuth

0
Martin Beckett

Ich bin 21 Jahre alt und habe gerade einen CS-Abschluss gemacht. Ich bin der Meinung, dass Sie, egal wie gut Sie in der Programmierung sind, als CS-Absolvent bereits verschiedenen Bereichen ausgesetzt sind. Also, wenn Sie neue Dinge lernen wollen, Sie hab keine Angst zu erkunden auch wenn es ist irrelevant. Wenn Sie ein Experte in einer Technologie oder Programmiersprache sind, gut. Aber ich denke nicht, dass Sie abenteuerlustig sein und bereit sein werden, sich mit anderen Technologien zu befassen. So machst du dich schmutzig (und auch schnell). Sie werden nicht darüber nachdenken, dass das, was Sie erforschen, irrelevant ist, da es Ihnen nicht hilft, Geld zu verdienen. (Sie haben bereits viele irrelevante Dinge in Ihrer CS UG studiert;)).
Es ist die Leidenschaft für CS, die Sie nach Ihrem Abschluss haben, die Sie zu einem Software-Profi macht.
Ist jemand einverstanden?

0
Ranjanmano

Absolut korrekt, Informatik-Abschluss spielt keine große Rolle; deshalb sollte Ihre einzige Wahl darin bestehen, stattdessen einen Ingenieur-Abschluss zu machen.

Bei der Befragung von Kandidaten mit unterschiedlichem Hintergrund ist das einzige Merkmal, das für diejenigen Kandidaten auffällt, die keinen Abschluss haben, Folgendes: mangelnde technische Kommunikationsfähigkeiten und mangelnde Disziplin. Dies sind grundlegende Merkmale, die man bei einem naturwissenschaftlichen Abschluss gelernt hat (ich würde es mit einem Ingenieurstudium noch mehr sagen).

Da die meisten Dinge gleich sind (und eine einzelne Runde von Interviews oft mit "ungefähr gleichen" Kandidaten einhergeht), würde ich die Person mit dem ersten Ingenieurabschluss, dem zweiten Informatikabschluss und dem dritten Abschluss ohne Abschluss einstellen. Es gibt jedoch Möglichkeiten, die Dinge im Vergleich sehr ungleich zu machen, so dass jeder auch diejenigen mit einem Stammbaum-Abschluss schlagen kann - aber das ist eine separate Frage, nicht wahr?

0

Um einen Job in einer Open-Source-Sprache zu bekommen, heißt das nicht Squat. Die meisten Unternehmen rekrutieren eher nach Fähigkeiten als nach Qualifikationen und Sprachen wie PHP). Sie haben den Ruf eines Hobbyisten, dass Menschen Talent haben können, ohne jemals CS studiert zu haben. Das einzige Mal hilft es, wenn Sie einen Job bekommen Die meisten Hobbyisten werden .Net-Sprachen verwenden, da die meisten Hobbyisten nicht Tausende für eine Lizenz ausgeben möchten, um nur an den Wochenenden damit herumzuspielen. Daher wird jemand, der nach einem ersten Job in C # sucht, wahrscheinlich nur 2-3 Jahre Erfahrung haben.

Natürlich ist die kommerzielle Erfahrung die wirklich wertvolle, da sie Ihre Fähigkeit demonstriert, Qualitätscode fristgerecht zu liefern.

Abschließend erhalten Sie Interviews für die Arbeit mit nicht Open-Source-Sprachen.

0
Adam Pointer

Ein Abschluss vom Collegue oder der Universität bedeutet, dass Sie studiert haben und über Kenntnisse in C.S. verfügen, einige grundlegende Dinge, die für einen Job in der realen Welt erforderlich sind, auch wenn Sie andere Dinge selbst lernen müssen.

Außerdem, wenn ein I.T. Der Personalvermittler muss einen Soft finden. Dev. Und 500 Bewerber senden ihren Lebenslauf und müssen mindestens 50 von ihnen interviewen, die einen Abschluss in Ihrem Lebenslauf haben. Dies hilft sowohl dem Personalvermittler als auch Ihren Chancen, eingestellt zu werden.

(von einem Softwareentwickler, der einige H.H.R.R. studiert hat)

0
umlcat

Nun, als ich in CS eintrat, dachte ich, wow, ich bin wirklich gut wie ich und ich werde hier nichts lernen ... Nach 5 Jahren habe ich nur gelernt, als Team zu arbeiten und einige Dinge Kurz gesagt, es hat mich gelehrt, nachzudenken, bevor ich überhaupt einen einzelnen Buchstaben in meinen Texteditor oder meine Idee schreibe.

0
Coyote21