Programmier Erfahrung Vergleich

TrafficBen

Mitglied
Ich grüß euch recht herzlich,

Ich heiße Ben und bin neu hier im Forum. Mir brennt seit geraumer Zeit etwas auf der Seele und würde gerne sehen, ob ih Rat habt.

Ich programmierte jetzt seit 1.5 Jahren. Zu 100% Selbststudium. Das heißt ich studiere nichts, oder mache eine Ausbildung in dem Bereich.

Ich frage mich ob ich überhaupt intellektuell zum coden geeignet bin. Ich spiele mit dem Gedanken es irgendwann zu meinem Beruf zu machen. In den 1.5 Jahren habe ich natürlich schon einiges gemacht. Die Frage ist: war das zeitlich angemessen? Oder hätte ich viel weniger Zeit hätte brauchen müssen?

Um es zu verdeutlichen: was sollte man nach 1.5 Jahren mit hier und da ein paar Pausen dazwischen , können? Ich will mich halt keinen Illusionen hingeben und kann hätte gerne eine Fachmännische Auskunft darüber.
Mir ist natürlich bewusst dass jeder unterschiedlich schnell lernt.
Aber ich ziele hauptsächlich darauf ab, was schon da sein sollte, damit es einem gesunden Bezug zur Arbeitswelt hat.
Ich weiß natürlich auch dass das Feld riesig ist und man nur schwer auf so eine Frage antworten kann. Aber naja, ich versuche es trotzdem.

Ben
 

httpdigest

Top Contributor
Ich vermute, der Hintergrund, bzw. die Motivation deiner Frage ist: Kann ich mich in der freien Wirtschaft nach 1,5 Jahren hobbymäßiger Softwareentwicklung (mit Pausen) ohne jegliche nachweisbare formale Ausbildung auf eine Stelle bewerben?
Meine Antwort: Es wird sicherlich nicht leicht. Nehme auf jeden Fall ein Studium oder eine Ausbildung auf, wenn du kannst und dir Informatik Spaß macht.

Die Frage nach dem, was man nach 1,5 Jahren "können" sollte, ist sehr schwer zu beantworten, da der Begriff "können" hier unglaublich weit gefasst bzw. interpretiert werden kann. Ein Studium z. B. und zu einem großen Teil auch eine Ausbildung (z. B. als Fachinformatiker) bildet eine formale und theoretische Grundausbildung. Hier werden das analytische Denken und mögliche Problemlösungsstrategien ausgebildet.
Ich habe vor meinem Studium bereits ca. vier Jahre programmiert. Es war aber eine andere Art von "Programmieren". Pragmatisch, dreckig und natürlich nicht durchdacht bzw. fundiert. Ich kann dir sagen: Wenn man mal eine Ausbildung bzw. ein Studium anfängt, merkt man erst, dass man vorher eigentlich gar nichts wusste. :)

In den 1.5 Jahren habe ich natürlich schon einiges gemacht. Die Frage ist: war das zeitlich angemessen? Oder hätte ich viel weniger Zeit hätte brauchen müssen?
Wir wissen doch überhaupt nicht, was du genau gemacht hast, und dementsprechend nicht, ob 1,5 Jahre dafür zu wenig, zu viel oder genau richtig waren...

Ich empfehle dir auf jeden Fall eine nachweisbare Ausbildung bzw. Studium, wenn dir Informatik Spaß macht!
 

M.L.

Top Contributor
intellektuell zum coden
Grundsätzlich sollte klar sein, dass die Welt eines Rechners auf eine relativ grosse Menge an "Strom an/Strom aus-Befehlen" reagiert. Die Auswirkungen dieses Verhaltens auf die analoge Welt sind dem Gerät eher egal. Eine gewisse Abstraktionsfähigkeit spez. beim Programmieren nach OO-Prinzipien schadet dennoch nicht, immerhin versucht dieses Paradigma die Vorgehensweisen der analogen Welt mit der Welt des Rechners zu vereinen.
Oder hätte ich viel weniger Zeit hätte brauchen müssen?
Kommt drauf an, was man macht... Ist es immer noch ein "Drauf-Los-Codieren" oder werden Dinge wie Versionsverwaltung, UML, Clean-Code-Prinzipien, Bibliotheken,... verwendet ? Eine Ausbildung oder ein Studium kann zwecks strukturierterem Erlernen solcher Prinzipien/Vorgehensweisen allerdings nicht schaden (wenn es auch keine Garantie hierfür gibt)
 

TrafficBen

Mitglied
Ich denke es würde den Rahmen sprengen aufzulisten was ich alles gemacht habe.

Aber es stimmt. Der Code kommt einen schmutzig vor. Wie eine eigene Welt voller Chaos, die aber trotzdem funktioniert.

Hm. Ja meine Frage ist schwer zu beantworten...ohne es zu probieren werde ich es vermutlich wohl nie erfahren
 

AndiE

Top Contributor
Eine Meßlatte wäre für mich der Pizzaservice.

Auf einer Webseite werden Pizzen angeboten, die der Nutzer bestellen kann. Der Nutzer muss die Bestellung und die Adresse eingeben. Er erhält dann eine Rechnung, die er vor Ort bar bezahlt. Selbst wenn sich der Nutzer nicht einloggt, muss ein zweites Programm die eingegebenen Bestellungen auslesen, damit sie ausgeliefert werden können.

Könntest du das?
 

TrafficBen

Mitglied
Ich weiß zwar nicht was noch alles mit dran hängen soll und ob es eine Webanwendung sein soll. Aber wenn nicht, wäre das kein Problem.
Sogar die Daten aus einer Datenbank zu holen und zu bearbeiten wäre kein Problem.
 

M.L.

Top Contributor
Ein paar Stichworte als potentielle Ideen:
alles mit dran hängen soll
-werden nur vorgefertigte Pizzen geliefert oder kann der Nutzer eigene Wünsche konfigurieren ?
-existiert die Zieladresse ?
-ist die gewünschte Lieferung (vollständig und) in Bearbeitung / wird sie gerade ausgeliefert / wurde bezahlt (bar, Kreditkarte, digital,...) ?
-die DSGVO könnte man beim Erheben privater Daten auch beachten
-sind die Systemresourcen (Server, DB,...) aussreichend dimensionert und reagieren auch unter Last mit genügender Geschwindigkeit ?
etc...
 

TrafficBen

Mitglied
Ich hab mal ein eigenes Chat Programm gemacht und eine Wetterapp.

Ich denke mal die Prüfung ob eine Zieladresse existiert, ist ähnlich wie Wetterdaten aus dem Netz abzurufen.

Das mit Kreditkarten und Bezahlung hab ich noch nix gemacht.

Aber ansonsten würde ich das schon hinkriegen.
 

AndiE

Top Contributor
Und wenn du erstmal "localhost:8080:/pizza" aufrufen musst, um die Eingangsseite "index.(x)html" aufzurufen? Und von dort dann weiterleitest? Du kannst das je nachdem per JSF oder auch per Spring machen, oder oder oder. Die Frage ist eben, dass Ganze mit UML und BPML zu planen und umzusetzen. Sicher musst du dann Beans nutzen.
 

SyntaxTalksToMe

Bekanntes Mitglied
Mit html hab ich noch nichts gemacht. JSF, Spring und BPML sagt mir nichts.

Ein UML Diagramm zur Planung eines Programmes habe ich wiederum schon mal gemacht.
Der "localhost:8080:/pizza" ist halt der Connection String für den Aufbau der Verbindung zum Server. Anschließend braucht man halt noch die Query. Beim Statement muss man noch beachten, ob man eine Rückantwort erwartet oder sich um ein executeUpdate() handelt, wo keine Rückantwort erwartet wird.
Je nach dem dann das ResultSet auslesen.
 

M.L.

Top Contributor
Das ist die Seitenbeschreibungssprache, die ein Browser versteht.
JSF, Spring und BPML sagt mir nichts.
JSF: Java Server Faces -> https://de.wikipedia.org/wiki/JavaServer_Faces
Spring: ein Framework zum Entwicklen von Java Anwendungen -> https://de.wikipedia.org/wiki/Spring_(Framework)
BPMN: Business Process Model and Notation -> https://de.wikipedia.org/wiki/Business_Process_Model_and_Notation

Vom Prinzip her kann man sich das Tutorial unter https://rieckpil.de/howto-simple-crud-table-with-jsf-2-3-and-primefaces/ mal betrachten (nur das der Benutzer seine Daten und bestellten Pizzen eingeben darf)
 

TrafficBen

Mitglied
Heißt dass jetzt, weil ich sowas noch nicht gemacht habe, dass ich zurückliegen?

Oder worauf zielt das ab?

Ich habe bisher nur mit JavaFX und Datenbanken gearbeitet.
 
K

kneitzel

Gast
Also die Frage ist doch, was Du in 1,5 Jahren Selbststudium erwarten kannst. Da ist nicht wirklich zu viel zu erwarten. Wenn Dir die Softwareentwicklung Spass macht, dann solltest Du einmal schauen, wie Du in diese Bereich wechseln kannst. Eine Ausbilung oder Studium kann ein guter Weg sein. Aber Du kannst Dich auch nach Betrieben umsehen, die einen Junior Software Engineer suchen um dann da den Einstieg zu finden.

Je nachdem, was Du in den 1,5 Jahren so erreichen konntest, kannst Du aufzeigen, dass Du Spass an der Thematik hast, dass Du ein gewisses Verständnis für die Thematik hast. Das wird dann als Grundlage gesehen und dann würde das zu einem Hauptthema d.h. statt weniger Stunden im Monat hast du dann plötzlich 40h / Woche um zu lernen und Gelerntes anzuwenden. Alleine schon von diesem Zeit-Aspekt wäre mein Ratschlag, dass Du Dir überlegst, ob Du dies wirklich willst und Dich dann einmal umschaust, wie Du den Wechsel vollziehen kannst.

Derzeit ist meine Einschätzung, dass Entwickler gesucht werden. Zumindest hatten wir in jüngerer Vergangenheit Probleme, Projekte zu besetzen und haben dann auch Leute für Projekte aufgebaut.

Was für ein Weg für Dich gehen könnte, hängt von vielen Aspekten ab. Alter und bisheriger Berufsweg spielen da auch eine Rolle. Generell ist ein Studium schon recht gut, da Du da dann deutlich mehr (theoretische) Grundlagen bekommst, aber auch eine Ausbildung zum Fachinformatiker bietet extrem viel mit vor allem praktischen Bezug.
Das in einem vernünftigen Betrieb kann schon genial sein.
 

TrafficBen

Mitglied
Ich bin jetzt 30 Jahre. Und strebe eine Ausbildung zum Fachinformatiker Bereich Anwendungsentwicklung an.

Was ich bisher gemacht habe:
-Datenbanken (SQL)
-SQL Express
-C# und C
-JavaFX
-Unity

Programme die ich bisher gemacht habe:
-Ein Kniffel
-Top Down Shooter(Unity)
- Sidescroller (Unity)
-Mastermind
-Taschenrechner
-Ein Wetterprogramm
-Ein Chatprogramm
-Ein Wegfindungsalgorythmus (Dijkstra)
- Ein Verwaltungsprogramm
- Ein Programm zum Verwalten, erstellen von PDFs

Ich habe halt Angst nicht geeignet zum Programmieren zu sein. Im Normalfall weiß ich immer sehr schnell wo ein Problem ist, wenn eins vorhanden ist. Das beseitigen dauert. Je nach dem was es ist.
Die eine Antwort trifft meine Situation schon ganz treffend:
Man programmiert und macht halt sein Ding. Aber es kommt einem alles "schmutzig vor". Mehr oder weniger Planlos, Dinge ändern sich während der Bearbeitung (neue Einfälle, Verbesserungen) und am Ende bleibt Kraut und Ruben :)
Ich verfolge oft, aus meiner Sicht, eigenwillige Lösungen. Wenn ich mir etwas in den Kopf gesetzt habe etwas so zu machen, dann mache ich das. Irgendwann, falls ich wo nicht weiter komme, frage ich nach. Dann bekomme ich einen Verbesserungsvorschlag und mache es dann wie vorgeschlagen. Das kommt daher, weil ich viele Dinge trotz der Zeit die ich investiere noch nicht kenne.
 
K

kneitzel

Gast
Das hört sich doch gut an. Vieles ist Übung und so. Clean Code zu schreiben kann man durch Übung lernen. Daher gehe das mit der Ausbildung doch an. Aus meiner Sicht klingt das durchaus passend.
 

AndiE

Top Contributor
Ich habe an der Stelle, wo du jetzt bist zwei Herausforderungen gehabt:
a) Denken im betrieblichen Zusammenhang
b) Client-Server-Anwendungen

Beides hört sich zwar kompliziert an, ist aber auch schrittweise zu erarbeiten. Gut wäre Spring dafür. Es ist ein Framework, das mit Eclipse läuft. Wie so oft, experimentierst du dabei viel, bevor du eine "richtige" Anwendung zusammenbekommst. In Spring hat man gute Tutorials, wo man z.B. einen Gruß an einen Namen abgeben kann. Hört sich einfach an, ist aber ein wichtiger Baustein.
Das Beispiel "petclinic", das ebenfalls zu Spring gehört, zeigt, wie man eine Kleintierpraxisverwaltung aufbaut. Es ist beschrieben, was man wie ändern muss, damit man es testen kann.

Dass du das noch nie gemacht hast, ist recht normal, da brauchst du dir keinen Kopf drum zu machen.

Wichtig ist natürlich, kleine Brötchen zu backen, und die langsam größer werden zu lassen. Beispiel wäre das typische Adressbuch, bloß, dass man es jetzt aus dem Webbrowser heraus aufruft.

Zum Punkt a) ist es sinnvoll, sich tatsächlich al vorzustellen, wie eine telefonische Bestellabwicklung für Pizzen aussehen würde, und was das Programm machen müsste. das wäre dann ein Flussdiagramm. Was muss per Hand getan werden. was elektronisch? Wo sind Entscheidungen oder Schleifen vorhanden? Auch das scheint zu einfach, hilft aber später bei komplexeren Aufgabenstellungen.
 

M.L.

Top Contributor
Heißt dass jetzt, weil ich sowas noch nicht gemacht habe, dass ich zurückliegen?
Nicht unbedingt. Erstmal sollte das Einsatzgebiet des Zielprogramms abgesteckt werden: eine Webanwendung hat hierbei andere Prioritäten als eine Anwendung am Desktop oder eine App für ein mobiles Endgerät. Darauf aufbauend kann man sich Bibliotheken (z.B. Spring und Web MVC oder "nur" JavaFX) und passende SDKs zusammensuchen, die einem helfen können. Iterative Vorgehensweisen oder Clean-Code Prinzipien kann man beim Implementieren aber schon im Hinterkopf behalten
 

White_Fox

Top Contributor
Was ich bisher gemacht habe:
[...]
Ich fang mal so an: Wenn du ein Studium anfangen würdest, hättest du vielen Studenten sehr viel vorraus. Und grundsätzlich ist es sehr gut, solche Dinge selbständig lernen zu können, und das m.M.n. Wichtigste: die Fähigkeit zu Lernen sein Leben lang beizubehalten. Viele reden vom lebenslangen Lernen, aber die wenigsten lernen ihr Leben lang tatsächlich.

Ich weiß nicht was dir vorschwebt, aber wenn du einfach nur ein (Verzeihung) Codeaffe sein willst, dann wäre eine Ausbildung sicherlich nicht verkehrt. Dann kommt jemand mit seinen Ideen, die er ausgearbeitet hat, und du bedienst dann die Tastatur. Ob du das erstrebenswert findest, mußt du wissen. Ich hingegen würde mich (bin nur wenig älter als du) definitiv nicht mit lauter 16-jährigen auf die gleiche Stufe im Ausbildungssaal zusammensetzen wollen.

Setz dich doch einfach mal in ein paar Informatikvorlesungen rein und höre da zu. Die wirst vielleicht nix verstehen, aber bekommst vielleicht eine Ahnung davon, ob du das interessant findest. Wenn ja, würde ich mir Gedanken über ein Studium machen.
 

ARadauer

Top Contributor
Die Frage ist eben, dass Ganze mit UML und BPML zu planen und umzusetzen.
Kein normaler Mensch arbeitet in der Praxis mit UML. Das ist Märchen, damit die Schulen was zu unterrichten haben ;-)

@TrafficBen: Machts dir Spaß? Dann mach es. Ich denke aber das du auf jeden Fall eine grundlegende Ausbildung brauchst. Also Autodidakt ohne Ausbildung wirst du schwer wo rein kommen. Und wenn du das Gefühlt hast vieles nicht zu können, kein Problem im Job lernst du am meisten.
 
K

kneitzel

Gast
Also die Big Four tech companies arbeiten gern mit UML.
Ja, UML wird immer noch eingesetzt, aber die zentrale Rolle hat es wohl verloren. Es ist ein brauchbares Tool zur Darstellung von Sachverhalten, aber darüber hinaus hat es stark an Bedeutung verloren.

In der heutigen Zeit gibt es halt den klaren Trend weg von der zentralen Verwaltung mit großen UML Tools (Rational Rose hat man damals in fast jedem größeren Projekt gefunden).

Der Trend geht halt immer mehr Richtung agiler Softwareentwicklung, Domain Driven Design, Microservices, ....
Das spricht zwar nicht gegen UML - man kann weiter auch mit UML arbeiten - aber bei SCRUM ist das z.B. Indirekt ausgeschlossen, denn da geht es rein um das Ergebnis am Ende... und wer agile arbeitet, der weiß, dass es immer unwichtiger wird.

Und wenn man die Großen betrachtet, dann hat man dies sogar oft als zentrales Element: Google, Amazon und Microsoft haben dies ja in Ihrer Cloud mehr oder weniger als zentrales Objekt und bietet in ihrer Cloud Umgebung ja die Umgebung für diese Lösungen. Der große Application Server wurde deutlich verdrängt (ohne diskutieren zu wollen, ob dieser generell tot ist oder nicht. Es gibt bestimmt auch Anwendungsbereiche, in denen der Ansatz zielführend ist.)

Aber UML ist nicht unwichtig, denn man sollte entsprechende Diagramme und co lesen können. Aber darüber hinaus ist es ohne tiefe Bedeutung für Entwickler. Wenn man rein Software Architekt sein möchte, dann kann es einen stärker treffen und da kann es nützlicher sein, aber sonst ....
 

M.L.

Top Contributor
arbeitet in der Praxis mit UML.
Sicher spricht der (Nicht-)Einsatz der UML / BPMN nicht für oder gegen die Professionalität einer Softwarelösung. Allerdings ist der psychologische Nebeneffekt, wenn man gerade nicht erklären kann, warum man diese (iterative) Vorgehensweise (statt des formellen Rezepts) verwendet hat, aber auch nicht zu unterschätzen.
kein Problem im Job lernst du am meisten.
Allerdings sollte man die fachlichen und persönlichen Minimalhürden schon überbieten können, ansonsten dürfte es mit der Zusage für eine Tätigkeit eher schlecht aussehen.
 
X

Xyz1

Gast
Ja, UML wird immer noch eingesetzt, aber die zentrale Rolle hat es wohl verloren. Es ist ein brauchbares Tool zur Darstellung von Sachverhalten
Das ist genau der Punkt. In stark vereinfachter Form wird es weiterhin angewandt und es hat ihre zentrale Position nicht verloren. Und wer diese dann nicht versteht, der fliegt auf die Schnauze.

Es reicht schon, wenn Undergrades lauthals sagen, das alles brauche ich nicht lernen da es in der Praxis nicht angewandt wird...
 

MoxxiManagarm

Top Contributor
Ich sehe das nicht ganz so mit der notwendigen Ausbildung. Was du dann allerdings brauchst: Vorzeigeprogramme. Wenn du deine Hobbyprogramme zur Verfügung stellst kommst du m.E. fast genauso gut in die Entwicklerbranche wie Studierte. Entwickler werden händeringend gesucht. Und dass du dir alles autodidaktisch beigebracht hast zeigt, dass du es willst. Leute wie du sind oft motivierter als Studienabgänger und das wissen viele Arbeitgeber. Außerdem wirst du für den Anfang günstiger sein, was auch mit betrachtet wird. Allerdings würde ich davon abraten Java als Sprache für den Quereinstieg anzupeilen. Ich rate dir da eher zur Webentwicklung oder IT Consultant
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben