Ich bin freiberuflicher Programmierer. Das Programmieren war mein Haupteinkommen, seit ich vor 9 Jahren mein Abitur gemacht habe. Ich habe immer noch vor, meinen Abschluss zu machen, aber im Moment ist die Zeit immer noch nicht die richtige für mich.
Mein Weg zur Selbsterkenntnis war wie folgt. Ich sage nicht, dass Sie durch diese Schritte von der Programmierer-Community anerkannt werden, aber es wird Ihnen helfen, Ihre Glaubwürdigkeit zu erhöhen, wenn es um Interviews geht.
Selbst nachdem ich mich zu dieser Zeit mit der Programmierung von IMO ziemlich gut auskannte, kehrte ich zu den Grundlagen zurück und durchlief Tutorials und baute mir ein Portfolio auf, das auf inspirierten Arbeiten aus diesen beruhte. Ich fing auch an, mich zu zwingen, meinen Code auf JavaDoc-artige Weise zu kommentieren. Das Portfolio ist im Moment vielleicht nicht mit Glanz und Glamour gefüllt, aber es gibt Ihnen eine Grundlinie, auf der Sie aufbauen und schließlich ersetzen können, was Sie darin haben. Ich hatte dann eine Reihe von Demos und Codebeispielen, die ich potenziellen Kunden zeigen konnte. Dies ist wichtig, um Ihren ersten Job zu bekommen. Niemand möchte jemanden einstellen, der keine Erfahrung hat. Es gibt jedoch eine Reihe von Personen, die einem vielversprechend aussehenden Programmierer ohne Berufserfahrung eine Chance geben.
Später analysierte ich diese Programme und begann, Bibliotheken basierend auf meinen häufig verwendeten Aufgaben zu schreiben. Mit meinen neuen Bibliotheken fing ich an, mich mit CompSci-Problemen im Internet zu befassen und überlegte, wie lange ich brauchen würde, um mit meinen Bibliotheken eine Lösung zu finden. Dies würde mir in Zukunft einen Anhaltspunkt dafür geben, was ich für eine bestimmte Aufgabe berechnen sollte.
Erst dann hatte ich Open Source entdeckt. Ich habe die Projekte auf sourceforge in der Sprache durchgesehen, an der ich interessiert war, und Anwendungen gefunden, die ich verwenden konnte. Ich installierte diese Anwendungen und begann, sie als Teil meiner täglichen Computererfahrung zu verwenden. Ich konnte die Stärken und Schwächen dieser Anwendungen in Bezug auf meine tägliche Interaktion erkennen und begann, sie an meine Bedürfnisse anzupassen. Ich würde meine Patches an die Community senden, um sie zu überprüfen, und nach ein paar Tagen würde ich mich bewerben, um Mitglied des Projekts zu werden. Hier lernte ich, die verschiedenen Werkzeuge zu verwenden, die bei der Arbeit in einem Team verwendet wurden, das meine "große Erfahrung", wie ich es damals betrachtete, auf die nächste Stufe brachte.
Ich passte alle meine Praktiken an, die ich bei Open Source-Projekten gelernt hatte, und implementierte kompromisslose Lösungen, als ich als Einzelperson arbeitete. Ich begann ernsthaft eine Karriere als freiberuflicher Entwickler und trat einer Reihe von freiberuflichen Stellenangeboten bei. Ich schaute mir die populären Jobs an und begann mich zu bewerben. Für jeden Job, den ich ablehnen würde, würde ich ihn immer noch für mich selbst erledigen, als hätte ich den Job erhalten, um mein Wissen zu erweitern. Dies würde dazu beitragen, mein Portfolio aufzubauen und mich mit einigen realen Herausforderungen vertraut zu machen. Als ich endlich das erste Interview bekam, sagte ich ihnen, dass ich keine Berufserfahrung habe. Ich begann ihnen dann zu erzählen, an welchen Open Source-Projekten ich gearbeitet hatte und was ich dort erreicht hatte. Einige große Hürden, auf die ich gestoßen war, und wie ich sie angegangen bin.