Was ich auf meiner Reise als selbst gelehrter mobiler Entwickler gelernt habe

In diesem Beitrag werde ich meine gesamte Reise darüber teilen, wie ich ein professioneller Entwickler von Mobilgeräten wurde.

Ich hoffe, dass das Lesen meiner Erfahrungen Ihnen hilft, über Ihre Gegenwart und Ihre Zukunft nachzudenken, und Ihnen entweder hilft, Ihre Karriere als Entwickler zu beginnen, oder Sie motiviert, Ihre Ziele voranzutreiben.

Mein Universitätsabschluss und wie alles begann

Ich habe die High School mit einem Abschluss in Mathematik-Informatik in einer kleinen Stadt in Rumänien abgeschlossen.

Wie die meisten meiner Freunde hatten Sie zwei Möglichkeiten, Städte zu besuchen. Ich entschied mich für Bukarest, die Hauptstadt Rumäniens.

Ich bin mit dem Gedanken aufgewachsen, dass die Universität eine Pflicht ist. Das passiert wahrscheinlich in den meisten Ländern.

Alle unsere Eltern wollen es für uns.

Ich hatte nie den Wunsch, einen bestimmten Abschluss zu wählen. Klingt bekannt? Ich habe mich nach meinem Abschluss nie als etwas gesehen.

Am Ende entschied ich mich für eine Wirtschaftsuniversität in Bukarest. Wieder gab es zwei Möglichkeiten. Eine wurde als gute Universität angesehen, und eine andere, an der man viel Geld bezahlen würde, um einen Abschluss zu bekommen.

Ich habe beim ersten Mal einige Prüfungen abgelegt, ohne zu studieren, um ehrlich zu sein. Und offensichtlich habe ich nicht bestanden.

Ich musste mich für die zweite Option entscheiden.

Schneller Vorlauf und ich absolvierte meine Wirtschaftsuniversität. Aber ich habe zwei Jahre zu spät meinen Abschluss gemacht. Ich hatte nie eine Leidenschaft für Wirtschaft und sah mich nie als Bankier. Ich dachte immer, ich wollte das Diplom bekommen, und das war's.

Ich habe nie darüber nachgedacht, wie viel ich für diesen nutzlosen Abschluss bezahlt habe, aber ich brauchte ein Diplom, um von der Gesellschaft akzeptiert zu werden, oder?

Ich war ein Versager mit einem Abschluss in Wirtschaftswissenschaften, aber ohne Erfahrung oder Wissen. In den folgenden Jahren gelang es mir mit Hilfe meiner Familie, zwei Unternehmen zu gründen, die ebenfalls scheiterten.

Ich werde diese in der Geschichte nicht diskutieren, aber sagen wir einfach, dass ich viel gelernt habe. Ich habe auch Online Poker gespielt und war ziemlich gut darin.

Sieben Jahre nach dem Abitur hatte ich keine Berufserfahrung, kein erfolgreiches Geschäft und kein Geld.

Ich wusste, dass ich Maßnahmen ergreifen musste, und ich wusste, dass all meine Träume von einem erfolgreichen Unternehmen nicht bald eintreten würden, wenn ich keinen Backup-Plan hätte.

Da dachte ich:

Welchen Job kann ich bekommen, der mich glücklich macht, mich gut bezahlt und mir ein gutes Leben im Alter von 30 bis 40 Jahren ermöglicht, auch wenn ich es nie schaffe, mein eigenes Unternehmen zu gründen?

Die einzige Antwort, die mir in den Sinn kam, war das Programmieren. Ich hatte einige Erfahrungen in der High School und baute ein paar Websites.

Es gab nur ein Problem: Ich mochte Mathematik in der High School nicht und dachte immer, dass ich ohne ein exzellentes Verständnis kein professionelles Programmieren lernen könnte.

Ich lag falsch.

Es gibt wahrscheinlich viele Leute wie mich, Leute, die die gleichen Gedanken und Zweifel haben. Aber alles, was Sie tun müssen, ist Maßnahmen zu ergreifen und zu lernen.

Android und Java lernen

Es war 2014, als ich anfing, mich mit der Idee zu beschäftigen, das Codieren zu lernen.

Als erstes habe ich einige Kurse in Bukarest bei Google besucht und eine Firma gefunden, die mich in ihre Büros eingeladen hat. Ich war dort und ich erinnere mich, dass sie ein hübsch eingerichtetes Büro mit vielen iMACs hatten. Ich sagte mir: "Das brauche ich."

Zehn Minuten später stellte ich fest, dass sie alle ihre Kurse online absolvierten und dass es eher wie ein Büro war, den Kurs zu verkaufen, als den Kurs zu absolvieren.

Ich erinnere mich nicht an den genauen Preis, aber er lag zwischen 1500 und 2000 USD. Ich habe es nicht genommen.

Ich ließ die Idee für ein paar Monate los, dann kam 2015. Neues Jahr, neue Pläne, neues Leben, weißt du?

Ich fing wieder an, einen persönlichen Kurs zu besuchen und fand heraus, dass sie Bootcamps genannt wurden.

Entdeckte eine in Bukarest und sie machten Java, und es kostete nur rund 800 USD für vier Monate. Es würde ein paar Stunden am Tag mit einem Lehrer und anderen Schülern dauern.

Rückblickend denke ich, dass sie für das, was sie anboten, billig waren, aber ich denke, wir waren die zweite Charge, die sie hatten.

Sie erzählten uns alles Mögliche darüber, nach dem Bootcamp eingestellt zu werden, aber es war mir egal.

Ich wollte das Programmieren lernen und dachte, dass ich nach nur wenigen Monaten schnell einen Job finden würde. Ich hatte recht, aber es war nicht so einfach wie ich dachte.

Der Unterricht begann. Sie sagten uns immer, dass es nicht ausreicht, nur während unserer gemeinsamen Stunden Unterricht zu geben.

Ich versuchte zuzuhören. Aber zu Hause machten die Dinge nie Sinn. Die Programmierung war schwierig und ich dachte oft, dass ich das Bootcamp nicht beenden könnte.

Ich drängte mich immer härter. Es war ein Monat in den Kursen, als ich feststellte, dass wir Java mit Android lernen würden, aber es war mir auch egal. Ich habe mich in Eclipse verliebt und Dinge passierten auf dem Bildschirm, als wir codierten.

Eclipse ist eine integrierte Entwicklungsumgebung, die ursprünglich für die Entwicklung für Android verwendet wurde. Jetzt verwenden wir Android Studio.

Es war schwer. Lektion für Lektion habe ich versucht, Variablen, Klassen, Vererbung, Kapselung, for-Schleifen usw. zu lernen.

Aber ich kämpfte. Ich hatte kein klares Bild davon, wie ich all dies in einer größeren App verwenden könnte. Es machte oft keinen Sinn.

Wenn Sie gerade mit dem Programmieren begonnen haben und es Ihnen genauso geht, möchte ich, dass Sie wissen, dass es normal ist.

Unsere Mentoren sagten uns immer: "Sie müssen all dies nicht auf den ersten Blick wissen. Versuchen Sie einfach zu verstehen, was sie sind und wie Sie sie verwenden können."

Sie hatten Recht, aber das habe ich später herausgefunden. Zu diesem bestimmten Zeitpunkt half es nicht.

Eine Sache, die ich bedauere, ist, dass ich von Anfang an keine Projekte gemacht habe. Ich habe immer gedacht, dass ich einen Lehrer brauche und dass man online nichts alleine lernen kann. Ich war faul und wieder falsch.

Nach vier Monaten gelang es mir, meine erste "nicht funktionierende" App zu erstellen. Es war eine App, mit der Studenten Zimmer von anderen Studenten oder Personen mieten konnten.

Ich sagte "nicht funktionierend", weil es kein Backend oder Benutzer gab. Es war eher eine Demo-App, die SQLite zum Speichern von Daten verwendete.

Ich war stolz darauf, denn ein paar Monate zuvor hätte ich nie gedacht, dass ich es schaffen könnte.

Das Bootcamp war beendet und ich glaube nicht, dass ich jemals wieder mit jemandem aus dem Management gesprochen habe.

Ich bin mir nicht sicher, ob sie versucht haben, mir einen Job zu verschaffen, oder ob sie dachten, ich sei nicht gut genug für eine Karriere als Entwickler.

Erste Interviews und erster Job als Junior Android Developer

Ich habe mit dem Interview angefangen und erinnere mich, dass meine erste für eine Java-Rolle bei einem großen internationalen Unternehmen in Bukarest war. (Hinweis: Sie haben über 300.000 Mitarbeiter und einen Umsatz von etwa 77 Milliarden im Jahr 2019).

Ich habe das Interview nicht genommen, aber ich denke, dass das Gespräch gut war. Ich wurde wahrscheinlich nicht eingestellt, weil ich keine Erfahrung hatte.

Danach brauchte ich noch einen Monat, um das nächste Interview zu bekommen.

Ein Freund, den ich im Bootcamp gefunden habe, hat mir geholfen, indem er mich empfohlen hat. Wenn er diesen Beitrag liest, möchte ich ihm danken.

Die Rolle war eigentlich als Android-Entwickler für ein rumänisches Outsourcing-Unternehmen, das einen Vertrag mit einem Telekommunikationsunternehmen hatte.

Ich hatte zwei Interviews mit ihnen, hauptsächlich technische Fragen, und ich erinnere mich noch, als sie anriefen, um die Rolle anzubieten.

Das Gehalt war gering, aber es spielte keine Rolle.

Ich glaube, ich habe das Bootcamp Ende Mai 2015 gestartet und meine erste Rolle als Junior Android Developer im Januar 2016 begonnen.

Es war eine ziemliche Leistung.

Mein Manager hat mir ein Projekt zugewiesen, und dann habe ich angefangen, etwas über Versionskontrolle und Agile zu lernen und wie man in zweiwöchigen Sprints arbeitet.

Wenn Sie angefangen haben, Programmieren zu lernen, oder wenn Sie anfangen möchten, empfehle ich drei Dinge.

  • Starten Sie noch heute (Optional, wenn Sie bereits begonnen haben)
  • Mach so viele Projekte wie möglich
  • Lernen Sie die Versionskontrolle (Git, Bitbucket oder Gitlab) und pushen Sie alle Ihre Projekte dorthin.

Vielleicht schreibe ich einen weiteren Artikel über all diese Dinge.

Während meiner Zeit in dieser Firma habe ich viele freundliche und hilfsbereite Menschen getroffen. Ich war wahrscheinlich für viele von ihnen ärgerlich, weil ich am Anfang um viel Hilfe gebeten habe.

Neues Land und mehr Android-Jobs

9 Monate später beschloss ich, nach London zu ziehen, weil ich viele Nachrichten von Personalvermittlern erhielt. Ich dachte auch, dass es einfacher sein würde, meine Karriere dort voranzutreiben und dann nach Bukarest zurückzukehren.

Ich hatte Glück, dass meine Schwester dort lebte, und sie war so freundlich, mich bei ihr leben zu lassen.

Selbst wenn ich Personalvermittler hatte, die mir Interviews und ähnliches versprachen, hatte ich bei meiner Ankunft keine Besprechungen.

Ich wusste, dass es nicht einfach sein würde und bewarb mich bei vielen Online-Jobs.

Nach zwei Wochen bekam ich ein Interview bei einem britischen Telekommunikationsunternehmen. Sie hatten eine kleine IT-Abteilung und ihr Android-Entwickler ging. Sie hatten interne Android CRMs-Apps, die von ihren Mitarbeitern verwendet wurden, und sie brauchten jemanden für die Wartung und die Entwicklung neuer Apps.

Es war ein Einjahresvertrag, und die Bezahlung war nicht großartig (das habe ich später herausgefunden), aber ich war wieder glücklich.

Ich habe in diesem Jahr eine Menge gelernt (alleine).

Ich habe Android-spezifische Technologien gelernt wie:

  • Was ist eine Architektur wie Model-View-Presenter und wie wird sie in einer App verwendet?
  • So führen Sie ordnungsgemäße Unit-Tests durch
  • Die SOLID-Prinzipien

Und so weiter.

Das alles habe ich bei der Arbeit und in meiner Freizeit gelernt. Ich habe gearbeitet und in meiner Freizeit habe ich Apps für mich selbst erstellt.

Bis heute haben alle meine Apps (5 auf Android) mehr als 100.000 Downloads, meistens aus biologischem Anbau, aber nur einer von ihnen hat mehr als 2.000 USD verdient.

Ich habe genau ein Jahr für das Telekommunikationsunternehmen gearbeitet. Ich wollte in London etwas anderes ausprobieren und mit mehr Android-Entwicklern zusammenarbeiten.

Ich habe einige Zeit gebraucht, um zu verstehen, dass Sie als Softwareentwickler immer mehr tun müssen als bei der Arbeit. So ist es auch mit Ärzten oder Anwälten. Sie müssen regelmäßig ihr Wissen verbessern, um besser als andere zu sein.

Ich fühlte mich bereit, an einem bedeutenderen Projekt zu arbeiten, aber ich glaube nicht, dass ich geschickt genug war.

Es hat mich nicht entmutigt und ich habe eine Android-Rolle bei einem globalen Outsourcing-Unternehmen übernommen.

Ich wollte für eine große britische Bank in London arbeiten.

Anfangs hatte ich Angst, aber ich brauchte einen Monat, um mich als Teil dieses Projekts zu fühlen.

Ich habe drei Interviews gemacht, bevor ich in das Projekt eingetreten bin.

Während meiner Karriere hatten alle Interviews zwei oder drei Schritte.

Der erste ist normalerweise bei der Personalabteilung, wo sie Sie nach Ihren Erfahrungen fragen.

Das zweite Interview kann technische Fragen, Aufgaben zum Mitnehmen oder technische Fragen mit einigen Algorithmen enthalten.

Das dritte Interview könnte mit einem technischen Leiter oder mit einem Manager oder erneut mit jemandem aus der Personalabteilung geführt werden.  

Ich begann bei der Bank in einem richtigen Scrum-Team zu arbeiten. Wir waren 4 Android-Entwickler, 4 iOS-Entwickler, ein Projektmanager, ein Product Owner, 2-3 Qualitätssicherungsingenieure, ein Business Analyst, Texter und Designer.

Alle diese Leute entwickelten einen entscheidenden Teil der App. Das Projekt war riesig.

Allein im Entwicklungsteam gab es mehr als 30 Android- und mehr als 30 iOS-Entwickler.

Ich blieb ein Jahr in dieser Rolle, wie bei meinem vorherigen Job. Der Grund? Ich wollte nach Rumänien zurück.

Ich hatte das Glück, nur gute Kollegen um mich zu haben.

Es ist nie falsch, um Hilfe zu bitten, wenn Sie lernen möchten. Wir haben alle von vorne angefangen, ohne Wissen. Ich finde es schrecklich, nicht lernen zu wollen, wenn man es nicht weiß.

Das Jahr bei der Bank hat mir viel beigebracht, und es fühlte sich nach ein paar Jahren an. Ich lernte:

  • So führen Sie Codeüberprüfungen durch
  • So arbeiten Sie an einem Projekt, für das 100% Codeabdeckung für Unit-Tests erforderlich sind
  • So liefern Sie Funktionen pünktlich
  • Was ist eine saubere Architektur und wie schreibt man Code, der leicht zu lesen ist, ohne eine Menge Kommentare zu hinterlassen?

Und viele mehr, an die ich mich wahrscheinlich nicht erinnere.

Mit mehr Wissen nach Hause gehen

Es war November 2018, als ich nach zwei Jahren und ein bisschen in London nach Bukarest zurückkehrte.

Es war eine ausgezeichnete Erfahrung, aber es fühlte sich nicht wie zu Hause an.

Ich habe ziemlich schnell (2 Wochen) nach meiner Rückkehr einen neuen Job für ein anderes rumänisches Outsourcing-Unternehmen bekommen.

Ich brauchte nur vier Monate, um wieder zu einem neuen sechsmonatigen Projekt in London aufzubrechen.

Ich war nicht glücklich, meine Freundin in Ruhe zu lassen, aber das Geld war nur für sechs Monate Arbeit gut.

Ich darf keine Informationen über das Projekt offenlegen, da ich eine Geheimhaltungsvereinbarung unterzeichnet habe und heute noch für sie arbeite. Aber ich bin gerade in Bukarest. Ich arbeite seit mehr als anderthalb Jahren für das aktuelle Unternehmen.

Was habe ich bei diesem Projekt gelernt?

  • So erstellen Sie ein Team
  • So starten Sie eine große App von Grund auf neu. Ich werde wahrscheinlich sehr stolz sein, wenn wir starten und die Leute werden es nutzen.
  • So passen Sie Anforderungen mit vielen Unbekannten an.
  • Wie man liefert, indem man mit Menschen auf der ganzen Welt zusammenarbeitet.

Es war eine verrückte Reise.

Fazit und was ich gelernt habe

Mein Beitrag umfasst mehr als 2000 Wörter und ich habe das Gefühl, dass ich Ihnen nicht viele Details zu dem, was ich gelernt habe, gegeben habe. Ich habe nur die Oberfläche gekratzt.

Es war nicht einfach, aber ich bereue es nicht, diese Karriere gewählt zu haben.

Wenn Sie ich von vor 5 Jahren sind, fangen Sie einfach an.

Sie werden Lust haben aufzuhören. Sie werden denken, dass Sie nicht klug genug sind. Sie werden sich wie ein Entwickler fühlen, der einige Stunden / Tage braucht, um etwas ohne Glück zu lösen, und dann einen Moment der Brillanz hat.

Es ist nicht falsch, es nicht zu wissen, und keine Frage ist dumm. Es ist schrecklich, wenn Sie nicht lernen wollen.

Heute sind mehr Entwickler als je zuvor bereit zu helfen. Sie können leicht Discord-Gruppen finden, in denen die Leute gerne Ihre Programmierfragen beantworten. Es gibt viele Reddit-Communities, die hilfreich sein werden. Vielleicht können sogar Slack-Kanäle für Sie arbeiten. Einen Mentor zu finden kann auch eine Lösung sein.

Websites und YouTube-Kanäle wie freeCodeCamp sind alles, was Sie brauchen, um loszulegen.

Hier sind alle Dinge, die Sie hoffentlich in diesem Beitrag gelernt haben:

  • Das Starten ist schwierig, aber jeder Tag, an dem Sie etwas Neues lernen, wird Sie enorm befriedigen.
  • Sie müssen alle Arten von Projekten durchführen. Die Grundlagen zu kennen ist gut, aber das Erstellen von Dingen und das Arbeiten mit der Versionskontrolle helfen Ihnen, sich auf einen zukünftigen Job vorzubereiten.
  • Menschen sind bereit zu helfen (sowohl online als auch zukünftige Kollegen)
  • Es wird Tage geben, an denen nichts funktioniert. Sie werden nicht leicht eine Lösung finden. Entspannen Sie sich und kommen Sie später auf das Problem zurück oder bitten Sie einfach um Hilfe.
  • Alle Entwickler (Junior, Mid oder Senior) suchen bei Google nach Lösungen und bleiben häufig hängen.
  • Sie werden das Betrugssyndrom spüren, aber vertrauen Sie mir, wenn ich sage, dass ich Entwickler mit CS-Abschlüssen getroffen habe, die schlechter sind als ich.
  • Als Entwickler geht es nicht nur um das Codieren. Soft Skills sind ebenfalls wichtig.

Wenn Ihnen dieser Artikel gefallen hat und Sie mehr davon möchten, folgen Sie mir bitte auf Twitter. Ich schreibe über meine Reise als Entwickler von Mobilgeräten, meine gescheiterten / erfolgreichen Start-ups, über App-Marketing und alle möglichen anderen Dinge, die ich in den letzten 10 Jahren gelernt habe.