Welche Bereiche der Spezialisierung innerhalb der Programmierung würden Sie empfehlen für einen Anfänger
Ich bin ein student das Studium software-Entwicklung, und ich fühle Programmierung, im Allgemeinen, ist zu breit, zu einem Thema zu versuchen, alles zu wissen. Zu beherrschen, müssen Sie entscheiden, welche Bereiche zu konzentrieren lernen und verstehen. Bestimmte Fähigkeiten Synergie mit einander, wie data-driven web-Entwicklung und SQL-Erfahrung. Allerdings, alle die win32-API-Erfahrung in der Welt kann nicht direkt bei der linux-Entwicklung. Dies führt mich zu glauben, als Programmier-Anfänger sollte ich dann entscheiden, wo ich mich spezialisieren will, nachdem ich die Allgemeinen Verständnis der grundlegenden Prinzipien der software-Entwicklung.
Dies ist eine mehrteilige Frage wirklich:
- Was sind die häufigsten Spezialisierungen innerhalb der computer-Programmierung und software-Entwicklung?
- Die diese Spezialisierungen haben langfristig mehr Wert, als ein Fundament für weitere Spezialisierungen und/oder als vermarktbare Fähigkeiten?
- Welche Fähigkeiten sich gegenseitig ergänzen?
- Gibt es irgendwelche Bereiche der Spezialisierung, behindern Ihre Fähigkeit zu entwickeln, anderen Bereichen der Spezialisierung.
- Siehe auch stackoverflow.com/questions/122493/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ben, Fast alle erfahrene Programmierer sind noch Schüler in der Programmierung. Sie nie aufhört, zu lernen, alles, wenn Sie ein Entwickler sind. Aber wenn Sie wirklich zu Beginn Ihrer Karriere, dann sollten Sie wenigstens besorgt über die Spezialisierung Sache. Alle APIs, frameworks und Fähigkeiten, die Sie erwarten, das Ihnen eine langfristige Existenz auf dem Feld nicht passieren. Technologie scheint viel verändern und Sie sollte vielseitig und flexibel genug ist, etwas zu lernen. Das wissen, das Sie erwerben auf einer Plattform/api/framework nicht Absterben. Sie können die Fähigkeiten, um die nächste größte Plattform/api/framework.
Dass gesagt wird, Sie sollten einfach aufhören sich Gedanken über die Zukunft und konzentrieren uns auf die Grundlagen. Datenstrukturen, Algorithmen Analyse und Design, Compiler Design, Betriebssystem-design sind das absolute minimum, was Sie brauchen. Und weiter sollten Sie bereit sein, gehen Sie zurück und Lesen tho Bücher in diesen Bereich jeder Zeit in Ihrer Karriere. Das ist alles, was erforderlich ist. Viel Glück.
Sorry, wenn ich Klang wie ein big-ass-Berater; aber das, was ich denke. 🙂
Nicht direkt ablehnen, Ihre Prämisse, aber ich glaube tatsächlich, einen Generalisten ist eine gute position in der Programmierung. Sie wird sicherlich entwickeln Sie know-how in bestimmten Bereichen, aber es ist wahrscheinlich ein Produkt von entweder persönlich interessieren oder die Arbeit Notwendigkeit. Im Laufe der Zeit die Sachen, die Sie übertragen können, über Sprachen und problem-Domänen ist das Herzstück dessen, was gute Programmierer.
Ich denke, die wichtigere Frage ist: Welche Bereiche der Spezialisierung sind Sie am meisten interessiert?
Sobald Sie wissen, beginnen Sie das lernen in diesem Bereich!
Ich würde denken, dass die größte Kunst von allen sein würde, passen sich mit der Zeit, denn wenn Ihr Arbeitgeber können sehen, das Potenzial in Ihnen, dann würden Sie klug sein, um fest halten.
Sagte, ich würde Ihnen raten, Tauchen Sie ein in den Bereich, den SIE genießen würde. Lernen ist angetrieben von der Begeisterung.
Da meine aktuelle Beschäftigung mit einem internet-Anbieter, die ich gefunden habe, Vernetzung von wissen, besonders hilfreich. Aber eines Tages würde ich gerne spielen mit 3D-Grafik (nicht unbedingt Spiele).
So tief gehen, wie Sie können, beginnend in einer Umgebung, win32, .net, Java, Objective C,... was auch immer.
Ist es wichtig, zu bauen, die ein tiefes Verständnis wie die X-works... so, dass Sie übersetzen können die gleichen Konzepte in anderen Sprachen oder Plattformen/Umgebungen, wenn Sie so wünschen.
"Gibt es irgendwelche Bereiche der Spezialisierung, behindern Ihre Fähigkeit zu entwickeln, anderen Bereichen der Spezialisierung." Irgendwie schon, aber nichts bleibendes, denke ich.
Da bin ich ziemlich grün, mich (weniger als 4 Jahre) ich komme aus einer wirklich OOP-Denkweise. Ich habe selten sprang heraus .NET, also ich hatte eine harte Zeit auf einem job, wenn Sie kommen in Kontakt mit embedded-code. Mit embedded-Programmierer fürchten-Objekt erstellen und den performance-Verlust der Vererbung. Ich musste lernen, die Umwelt, ernst wenig Speicher und langsamen clock-Zeiten, kamen Sie aus. Diese sind mal zu wachsen, ich hatte eine bessere Zeit an, denn ich Verstand meine Gegend ziemlich gut.
Werde ich sagen, wenn Sie sich etwas aussuchen zu spezialisieren, für die Marktfähigkeit und Geld sind, werden Sie wahrscheinlich brennen schnell. Wenn Sie beginnen, sich zu spezialisieren, wählen Sie etwas, das Sie genießen. Ich Liebe GUI-Programmierung und Hass server side Sachen, mein Kumpel ist das Gegenteil, aber wir beide lieben unsere jobs. Wenn er hatte zu tun, meinen job, und ich seine, wir würden beide verrückt aus Langeweile.
Als student würde ich empfehlen, zu vergessen, was Sie Programmierung und die Fokussierung auf die software-Prozess selbst. Verstehen, wie man ein problem analysieren und die richtigen Fragen zu stellen; lernen, jedes design-pattern können Sie und eigentlich alle zu gewinnen ein echtes Verständnis und die Wertschätzung der Objekt-orientierten design, tests schreiben, dann code nur so viel, wie Sie benötigen, um die tests übergeben. Ich denke, der beste Weg, um wirklich zu lernen, ist nur code, so viel wie Sie können - die Sprache und die domain nicht wichtig, durchsuchen sourceforge und freshmeat für alle interessant klingenden Projekte und engagieren. Was wichtig ist, ist das Verständnis der Grundlagen des software-engineering.
Und ja, das schließt C Oder Assembler. Dies ist der einfachste Weg, um ein gutes Verständnis davon, wie Ihr computer funktioniert und was Ihre high-level-code eigentlich macht.
Schließlich nie aufhören zu lernen - Service-orientierte Architektur, inversion of control, domain-specific languages, business process management sind alle zeigen riesige Vorteile Sie sind also wichtig, um sich bewusst sein -, Sondern durch die Zeit Sie fertig zu studieren und sich der Belegschaft, die weiß, was das nächste große Ding werden?