Zum Inhalt springen

Anwendungsentwicklung und Lernkurve


larsson

Empfohlene Beiträge

Hey,

ich fange im August meine Ausbildung zum FiAe an. Zur Zeit arbeite ich schonmal ein bisschen vor, da ich ohnehin gerne in meiner Freizeit programmiere.

Je tiefer ich aber ins Programmieren "abtauche", desto klarer wird mir, wie riesig der Eisberg eigentlich ist.

Mir ist klar, dass man im Berufsalltag, grade als ausgebildeter Anwendungsentwickler, nicht grade Compiler schreibt und Algorithmen zur Schwarmintelligenz oder Pattern Recognition entwift & analysiert. Das meiste, was man schreibt, so mein Eindruck, ist relativ simples CRUD.

Ohnehin werden die Wenigsten den Anspruch haben, alle kleinen Rädchen und Hintergrundprozesse der Informatik zu verstehen.

Es bleiben aber dennoch eine Menge anspruchsvoller Themen übrig, die man idealerweise durchdringen möchte, sollte oder muss. Ein paar, die mir grade einfallen:

Object Oriented Design and Analysis (OOAD), Rekursion (v.a. auch multiple recursion), Inheritance & Polymorphism, Concurrency, Generics, Reflection.

Um das Thema mal auf eine einigermaßen produktive Schiene zurückzuführen, würde es mich einfach interessieren, wie bei euch so die Lernkurve aussah.

Wann hattet ihr das Gefühl, dass ihr so ziemlich jedes Projekt effizient lösen könnt, vorzugsweise ohne dabei "Spaghetti-Code" zu produzieren? Besonders wenn ihr dabei auf o.g. Konzepte zurückgreifen oder sonstwie kreativ werden müsst?

Und was hat euch geholfen diesen Punkt zu erreichen?

Gruß,

Larsson

Bearbeitet von larsson
Link zu diesem Kommentar
Auf anderen Seiten teilen

Und was hat euch geholfen diesen Punkt zu erreichen?

Kent Beck: Make it work, make it right, make it fast.

Wann hattet ihr das Gefühl, dass ihr so ziemlich jedes Projekt effizient lösen könnt

Ich denke, das Gefühl sollte man besser nie haben. Ein guter Entwickler ist in meinen Augen jemand, der immer heute versucht besser als gestern zu sein. Probleme "lösen" kann man schnell - "effizient" ist so eine Sache.

vorzugsweise ohne dabei "Spaghetti-Code" zu produzieren

Das kommt auf die Definition von "Spaghetti-Code" an. Ich sag mal so: wahrscheinlich schreibe ich heute auch noch Spaghetti-Code - nur auf höherem Niveau ;)

Mir ist klar, dass man im Berufsalltag, grade als ausgebildeter Anwendungsentwickler, nicht grade Compiler schreibt und Algorithmen zur Schwarmintelligenz oder Pattern Recognition entwift & analysiert. Das meiste, was man schreibt, so mein Eindruck, ist relativ simples CRUD.

Das kommt auf Deinen Job an. Natürlich ist CRUD quasi Bread&Butter für den (Business-)Anwendungsentwickler. Was aber nicht heißt, dass es nicht hilfreich ist, zu wissen, was bspw. die O-Notation ist.

Ist immer schwierig, zu einem so breiten Feld, etwas allgemeingültiges zu sagen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie arbeitest du dich denn schonmal rein? Welche sprachen versuchst du momentan zu vertiefen/lernen?

Momentan mach ich das gleiche...und meine "lernkurve" is teilweise eher ne Achterbahn. Mal versteh ich manches schnell und kann das gut umsetzen, mal raff ich garnichts mehr und kann vieles nicht mehr richtig umsetzen...;/

Ich werd während der Ausbildung meinen "Bereich"/Programmiersprachen zwangsläufig gut lernen...Im Betrieb, Berufsschule und Nebenjob werd ich die gleichen Sprachen verwenden...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Würde mir da keine Sorgen machen, sind ja immerhin noch knapp 5-6 Monate, bis die Ausbildung beginnt.

Aber wenn du wissen willst, wie ich es mache:

Persönlich halte ich es für sinnvoll, erstmal eine Sprache gut zu beherrschen. Da ich mit Python angefangen habe, will ich das auch zu Ende führen. Die besten (Online-)Resourcen, die ich zu Python gefunden habe sind Think Python und darauf aufbauend, perfekt für Einsteiger: Interactive Python. Auf letzterer Seite gibt's auch einen Kurs zu Problem Solving with Algorithms and Data Structures Using Python.

Das tolle an den Resourcen ist, dass massig Übungsaufgaben mit Lösungen dabei sind, wenn man die alle durcharbeitet lernt man ne Menge.

Momentan konzentriere ich mich auf OOP mit Python und ab nächster Woche fange ich ein längeres GitHub-Projekt an, inspiriert durch 100 Days of Coding, wobei ich mich aber auf 2 Monate beschränke. Die Idee ist, 1-2 Mal pro Woche ein kleineres Projekt fertigzustellen (Taschenrechner, einen Python-Blog, einen IRC-Bot, einen Texteditor usw), jedenfalls aber täglich mindestens einen commit auf GitHub zu pushen und so möglichst viel praktische Erfahrung unter den Gürtel zu bekommen.

Wenn das durch ist, hab ich noch 2 Monate, in denen ich relativ locker Java lernen will, weil das in meinem Betrieb hauptsächlich eingesetzt wird. Wahrscheinlich mit den Head First Büchern (Java + Design Patterns), als Ergänzung/Horizonterweiterung nebenbei schaue ich mir Haskell und C an.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du weißt aber schon, das im ersten halben Jahr kaum programmiert wird... Erstmal musst du ja wissen wie ein Prozessor, und andere Hardware, funktioniert und mit der Software kommuniziert. Und Bolsche Operaionen, Binär- u. Hexadezimalsystem, Software-Integration. Funktionsweisen der Software... Das ist alles Grundvorrausetzung, damit man dann Programme nicht nur schreiben sondern auch verstehen, einbinden und funktionsfähig machen kann.

Am besten du lernst ersmta die Prozessorarchitekur, Algorithmen und alles kennen. Und die andere Hardware, wie das funktioniert, kommuniziert, wie Busleitungen funktionieren... Und Schaltpläne... Wenn du das alles drauf hast, kannste vernünftige Programme schreiben die auch funktionieren...

Nicht das du dich in der Ausbidlung im ersten halben Jahr wunderst, weil ihr kaum programmiert und nur über Hard- u. Software-Architektiur und elektrische Schaltungen redet... Da ist es erstmal wichtiger Grundoperrationen AND, XOR, OR, NOR... umzurechnen oder von Binär- in Hexadezimal umwandeln, ohne Taschenrechner. :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...