High Level vs. Low Level Programmierung. Muss ich mich wirklich entscheiden? [geschlossen]

13

Hin und wieder werde ich in Interviews gefragt, welche ich am besten mag - auf niedrigem oder hohem Niveau. Es scheint mir, dass die implizite Botschaft ist, dass sie beide eine Spezialität sind und wissen wollen, in welche Richtung ich gehe. Das Problem ist, ich scheine beides zu mögen. Ein niedriges Level ist extrem herausfordernd und erfordert oft viel esoterisches Wissen. Auf höchster Ebene passieren all die sexy Dinge: Anwendungen, die direkt von Menschen verwendet werden, Ergebnisse, die auf einfache und für jedermann zugängliche Weise vorgeführt werden können, und Sie können mit wirklich fortschrittlichen Tools arbeiten und mit neuen Technologien interagieren.

Ich würde wirklich gerne beides machen, auch wenn es bedeutet, dass ich mich abwechsle (ich bezweifle, dass es Jobs gibt, bei denen ich beides gleichzeitig machen kann), aber ich vermute, dass die Branche mehr Spezialisten als Generalisten belohnt. Ist es wirklich problematisch, wenn ich mich nie für eine Karriere entscheide? Ist es praktisch, zwischen den beiden in dem Sinne zu wechseln, dass ich, wenn ich einen Job verlasse, der einen erledigt, keine "Reibung" verspüre, wenn ich versuche, den anderen zu erledigen (vorausgesetzt, ich bin einigermaßen auf dem Laufenden)? Gibt es Karrieremöglichkeiten, bei denen Sie beides tun können?

Muss ich wirklich eins vor dem anderen wählen?

EpsilonVector
quelle
Sie können diese Frage unter SO: stackoverflow.com/questions/919568/…
user281377 am

Antworten:

5

Beachten Sie zunächst, dass sich Ihre Umgebung ändern kann, unabhängig davon, welchen Pfad Sie wählen. :)

Außerdem glaube ich nicht, dass Sie sich zwischen dem einen oder anderen entscheiden müssen. Vielmehr hängen Ihre Optionen mehr vom Projekt und der Gruppe ab, mit der Sie arbeiten.

  • Es ist wahrscheinlich, dass Sie bei einer Bewerbung als Spezialist bei einem großen Unternehmen andere Aufgaben nur schwer erledigen können.
  • Es ist auch wahrscheinlich, dass eine Generalistenrolle Ihnen keine Zeit lässt, sich näher mit einem kleinen Teil zu befassen.
  • Es ist ebenso wahrscheinlich, dass Sie durch einige allgemeine Fachkenntnisse effizienter bei der Durchführung von Facharbeiten sind, da Sie sich nicht so sehr auf andere verlassen müssen, um voranzukommen.
  • Es ist auch möglich, dass eine Generalistenrolle Spezialwissen erfordert. Wenn Sie ein kleines Unternehmen oder ein Start-up suchen, das in dem Bereich tätig ist, in dem Sie spezialisiert sind, haben Sie möglicherweise ausreichend Gelegenheit, in Ihrem Fachgebiet zu glänzen.

Ich bin tatsächlich mit diesen Problemen in meinem aktuellen Job konfrontiert.

Ich habe mich auf C ++, OpenGL, 3D-Simulationen, Game-Engine-Architektur und ähnliches spezialisiert, aber letztes Jahr habe ich viel mit einem Lötkolben gearbeitet (USB-Boards, Prototypen, Servos und Motoren zusammenfügen sowie Tuning) und Programmierung dieser Servoregler). Möglicherweise muss ich auch einige Website-Prototypen für einige Dienste erstellen, die wir benötigen.

Es macht Spaß, aber ich würde es nicht für immer tun wollen, da meine Spezialisierung ein bisschen nachlässt und es wahrscheinlich andere gibt, die das sowieso besser können. Hoffentlich wächst das Unternehmen und wir können mehr Ingenieure einstellen. Wir sind im Moment nur zwei C ++ / Python-Leute (wobei ich 60-75% meiner Zeit für Hardware aufgewendet habe).

Wählen Sie also Ihre Projekte sorgfältig aus und Sie müssen nichts aufgeben, sondern müssen hin und wieder überprüfen, wohin Ihre Karriere führt (wie alle anderen auch).

Macke
quelle
12

Nach meiner Erfahrung brauchen größere Unternehmen Spezialisten und kleinere Unternehmen Generalisten. Wenn Sie Generalist werden möchten, suchen Sie nach und bewerben Sie sich bei kleineren Unternehmen.

Scott Whitlock
quelle
3
Nur um zu sagen, dass größere Unternehmen sich die höheren Preise leisten können, die Spezialisten verlangen.
Oded
3
Es ist nicht das Gehalt, das die Unterscheidung zwischen Spezialisten und Generalisten bestimmt, sondern die Anzahl der Programmierer in Ihrem Unternehmen. Bei vielen Programmierern ist es effizienter, bestimmten Produkten bestimmte Personen zuzuweisen. Mit einer Handvoll Programmierer müssen sie den gesamten Entwicklungsbedarf des Unternehmens decken .
dan04
2

Ich denke, wir müssen auf unserem Gebiet Generalisten sein und gleichzeitig ein oder mehrere Spezialgebiete entwickeln. Es schadet nie, unsere Fähigkeiten in vielen Bereichen weiterzuentwickeln, da einige Projekte erfordern könnten, dass Sie vielseitig sind. Wie bereits erwähnt, ist es umso wahrscheinlicher, dass Sie sich auf nur einen Bereich konzentrieren können, je größer das Unternehmen ist. In diesen Situationen denke ich, dass die Frage, die Sie bevorzugen, mehr als wahrscheinlich ist, herauszufinden, wo sie Sie hinbringen würden, wenn sie Sie einstellen würden.

Kenneth
quelle
2

Ich denke, es ist gut, diese Frage zu stellen, damit sie wissen, was Sie anstreben, aber die Erklärung, die Sie hier gepostet haben, ist auch eine sehr gute Antwort: "Ich mache gerne beides". Sprachen auf hoher und niedriger Ebene ziehen unterschiedliche Arten von Menschen an, während Sprachen auf niedriger Ebene Menschen anziehen, die die kleinen Details des Systems, die Funktionsweise usw. wirklich gerne kennen. Sprachen auf hoher Ebene ziehen Menschen an, die sich mehr für den Geschäftsprozess und die Organisation interessieren selbst. So viele Leute mögen Hochsprachen wirklich, können aber kein niedriges Niveau aushalten (oder umgekehrt).

Daher ist es sehr wichtig, dass Sie Ihr Profil und Ihre Absichten kennen, aber Ihre Antwort beim Posten ist völlig akzeptabel.

JSBach
quelle
1

Sie müssen sich nicht entscheiden, obwohl Ihr Leben dann einfacher (wenn nicht glücklicher) wäre. Die meisten Unternehmen werden nach dem einen oder anderen suchen, aber wenn Sie einen Ort finden, an dem sie jemanden suchen, der beide Welten kennt, werden Sie den Jackpot knacken.

Was Sie auf keinen Fall tun dürfen, ist die falsche Herangehensweise an ein Problem.

Und natürlich laufen die Dinge manchmal nicht wie geplant. Ich begann mit einer Vorliebe für Assembler und C und einem Misstrauen gegenüber allem, was OO ist, und wurde Java-Entwickler. Jetzt fällt es mir schwer, zurückzukehren, weil ich zehn Jahre Lernen und neue Technologien verpasst habe. Die Lektion hier lautet also: Wenn Sie wechseln möchten, stellen Sie sicher, dass Sie in Kontakt bleiben.

biziclop
quelle