Derzeitiger Job: Als leitender Business Analyst für ein Big 4-Unternehmen, Leiter eines Teams von Entwicklern und Testern, die an einem groß angelegten Re-Platforming-Projekt arbeiten (4 Onshore-Entwickler, 4 Offshore-Entwickler, mehrere Onshore- / Offshore-Tester). Arbeiten Sie auch in ähnlicher Funktion an anderen kleineren Projekten.
Umfang meiner Rolle: Sammeln / Ausschreiben von Anforderungen, Erstellen von Funktionsspezifikationen, Entwerfen der Benutzeroberfläche (im Grunde genommen Abbildung aller Front-End-Aspekte des Systems), enge Zusammenarbeit mit Entwicklern, um Anforderungen zu kommunizieren / zu klären und Lösungen zu finden, wenn wir auf Straßensperren stoßen Schreiben von Testfällen (und Ausführen eines Großteils der Tests), Arbeiten mit der Geschäftsleitung und wichtigen Stakeholdern, Verwalten von Betatestern, Erstellen von Benutzerhandbüchern und Führen von Schulungen sowie Bereitstellen von technischem Schlüsselunterstützung.
Ich schreibe auch einige Makros in Excel mit VBA (einige meiner Makros werden jetzt im gesamten Unternehmen verwendet, sodass sie möglicherweise von etwa 1000 Personen verwendet werden) und verwende täglich SQL, sowohl in den SQL-Kompaktdateien des Programms stützt sich auf unsere SQL Server-Daten und alle von mir erstellten Access-Datenbanken. Die Entwickler sind der Meinung, dass ich in dieser Rolle ziemlich gut bin, da ich viel über Programmierung, inhärente Systemeinschränkungen, Struktur der Datenbanken usw. verstehe. Daher ist es für mich einfacher, Ideen zu kommunizieren und Vorschläge zu machen, wenn wir auf Probleme stoßen.
Was mich wirklich interessiert, ist die Entwicklung von Software. Ich programmiere ziemlich viel in VBA und wollte schon seit einiger Zeit C # lernen (das Entwicklerteam verwendet C # - ich überprüfe den Code gelegentlich um meiner selbst willen, habe aber keine praktischen Erfahrungen damit). Ich interessiere mich nicht nur für den Geschäftsprozess, sondern auch für die technische Seite der Dinge, daher macht die traditionelle BA-Rolle nicht wirklich Appetit auf die Dinge, die ich tun möchte. Im Moment habe ich ein paar kleine Projekte, die mir Manager gegeben haben, und ich finde neue Wege, dies zu tun (wie das Erstellen von benutzerdefinierten Access-Anwendungen). Daher gibt es hier und da ein bisschen, um mich interessiert zu halten.
Meine Frage lautet: Ich möchte als freiberufliches Unternehmen benutzerdefinierte Excel- oder Access-Anwendungen für kleine Unternehmen erstellen (als Ein-Mann-Shop arbeiten; je nach Komplexität eines Projekts möglicherweise einen gelegentlichen Auftragnehmer). Dies würde natürlich als Teilzeitbeschäftigung beginnen, während ich einen Tagesjob habe, aber schließlich zu einem Vollzeitjob werden. Täusche ich mich vor, ich könnte vom BA / Teilzeit-VBA-Programmierer zum Vollzeit-Beruf eines freiberuflichen Unternehmens wechseln (wo ich anfangen würde, nur benutzerdefinierte Excel / Access-Apps in VBA zu schreiben)? Oder wird so etwas normalerweise erst versucht, wenn jemand jahrelange Programmiererfahrung in Vollzeit gesammelt hat? Und gibt es überhaupt einen Markt für diese Art von Anwendungen bei kleinen Unternehmen (und vielleicht auch bei mittleren Unternehmen)?
quelle
Antworten:
Nein, Sie täuschen sich nicht, es kann getan werden! Einer der Jungs hier hat das getan, obwohl ich nicht genau weiß, wie, aber ich glaube, er hat als Underwriter angefangen, wurde BA für das Underwriting interaler Softwareentwicklung und ist dann irgendwie in die Vollzeitentwicklung übergegangen. Ich würde vermuten, dass er bereits einen technischen Hintergrund hatte, so wie Sie.
Es könnte besser funktionieren, wenn Sie versuchen, es zuerst mit Ihrem derzeitigen Arbeitgeber zu tun, als es alleine zu machen. Sie hätten viel mehr Unterstützung und Hilfe. Sprechen Sie vielleicht mit Ihrem Manager und fragen Sie, wie Sie zu einer Entwicklungsrolle innerhalb des Unternehmens wechseln können, wahrscheinlich zu Beginn des gleichen Teams. Auf diese Weise kennen Sie bereits alle und sie kennen Sie und Ihre Fähigkeiten und können Sie weiterbilden. Wenn Sie wirklich, wirklich, wirklich Glück haben, hat Ihr Unternehmen ein Budget, um Sie auf Kurse zu schicken, um noch schneller aufzuholen.
quelle
VBA und Access ist das Ende der Programmierleiter. Wenn ich du wäre, würde ich höher schießen, da du SQL-Kenntnisse hast. Erwägen Sie, SQL Server Reporting Services zu erlernen, Berichte oder SSIS zu erstellen und die ETL-Verarbeitung durchzuführen. Diese Fähigkeiten sind derzeit sehr gefragt, und Sie sind gut aufgestellt, da sie in einem Unternehmensumfeld relativ einfach zu erlernen sind, insbesondere wenn derzeit niemand anderes diese Rollen für Ihr Unternehmen übernimmt. Ich würde die Erfahrung von Business Analysten als großes Plus für einen Berichtersteller sehen.
quelle
Es kann getan werden. Es wird nicht einfach sein, besonders wenn Sie gut darin werden wollen, da Softwareentwicklung eine technische Disziplin mit nicht offensichtlichen Problemen und Fallstricken ist, die Sie erkennen und vermeiden müssen. Das wird ein paar Jahre ernsthaften Lernens und Übens erfordern, aber wenn Sie sich mit den Konzepten beschäftigen können, können Sie definitiv Programmierer werden, selbst wenn Ihr Hintergrund etwas anderes ist.
quelle
Ob es Jahre oder Jahre dauern wird, hängt weitgehend von Ihnen, Ihrem Zeitplan, aber vor allem von Ihrem Interesse ab, das tendenziell an die Eignung gebunden ist. Wenn Sie zufällig in einer Stadt leben oder arbeiten und die Möglichkeit haben, massenhaft zu pendeln, nehmen Sie diese und nutzen Sie die eingebaute Pendelzeit, um technische Bücher zu lesen. Alles was dich interessiert.
Schwitzen Sie nicht, was die Kühnheit des Denkens angeht. Die Entscheidung, dass Sie wahrscheinlich mit diesem <nicht erkennbaren Haufen Komplexität hier einfügen> umgehen können, ist das, was Entwickler tun. Das ist keine Arroganz, es ist nur der erste Schritt.
Arrogant im Entwicklerland nennt sich selbst einen professionellen Entwickler, wenn Sie für alles eine Lösung haben und seit dem College nichts Neues gelernt haben. Das ist das Problem mit der Entwicklung. Wenn Sie aufhören zu lernen, geht Ihre Karriere bergab, daher ist das Interesse eine Art Schlüssel. Klingt so, als hättest du das.
Also mach es.
Sie haben Ihr Ziel in Sicht. Der Rest zerlegt die großen gruseligen Probleme in kleine, nicht so gruselige. Wiederholen Sie ad nauseum und Sie werden ein bezahlter Vollzeitentwickler sein, der wünscht, es gäbe mehr größere / beängstigendere Probleme als früher, als Sie vielleicht denken.
quelle
Ich würde sagen (wenn Sie etwas anfangen wollen), gehen Sie zu SICP - Struktur und Interpretation von Computerprogrammen. Ich sollte darauf verlinken, aber es ist mehr als nur ein Buch. Heutzutage können Sie auch andere Leute finden, mit denen Sie den Kurs online studieren können . Es ist ein wirklich schwieriges Buch - alle Übungen zu absolvieren ist etwas, was die meisten Entwickler (leider) nicht können, aber es ist das beste verfügbare Buch. MIT OCW ist auch gut, aber meiner Meinung nach ist es eine verwässerte Version von SICP für die Programmierung. Python wurde entwickelt, um Komplexität zu verbergen, anstatt Sie krank zu machen (wie es SICP tut).
Außerdem müssen Sie zwischen Programmieren als Beruf und Programmieren als Fertigkeit unterscheiden. Einer erfordert Engagement für Dinge wie schönen, sauberen und erweiterbaren Code, während der andere nichts als algorithmische Fähigkeiten erfordert (was eigentlich ziemlich viel ist). Der "wohlwollende Diktator" von Python, Guido van Rossum, argumentiert, dass Programmieren in den kommenden Jahren eine wesentliche Fähigkeit sein wird, Softwareentwicklungsfähigkeiten jedoch auf keinen Fall. Die meisten Nicht-Entwickler schreiben Code, um ihn wegzuwerfen (Entwickler tun dies auch oft). Das Programmieren als Karriere beinhaltet viel mehr als das Programmieren und es ist wichtig, dass Sie Ihre Prioritäten klarstellen.
Das Wichtigste: Lieben Sie das Programmieren, nicht nur das Programmieren. Es ist mehr als ein 9 bis 5-Job, es ist die Philosophie des ständigen Lernens : Die meisten Ingenieure werden während ihres BS oder MSc geschult und sehen keine signifikanten Veränderungen in ihrem Fachgebiet. Eine lebenslange Karriere in der Programmierung führt dazu, dass Sie mindestens 10 Paradigmenwechsel sehen (nicht nur Sprachen, sondern auch Tools, DBs usw.), sodass Sie besser bereit (und bereit) sind, dies zu akzeptieren.
quelle
Ich denke, Sie sind in einer guten Position, um dies zu versuchen.
Die meiste Zeit meiner Karriere war ich tief in die technische Seite der Dinge eingebettet, aber über Jahre hinweg, in denen ich beobachtet habe, wie viele Projekte erfolgreich waren oder scheiterten, bin ich zu dem Schluss gekommen:
Wenn Sie Ihre Geschäftsbenutzer und deren Anforderungen nicht verstehen, schlägt Ihr Projekt fehl.
Ich habe noch nie eine Ausnahme von dieser Regel gesehen und kein Geld-, Hardware- oder Programmiergenie scheint einen Unterschied zu machen. Echte Projekte mit einem guten Verständnis der Anforderungen können aufgrund schlecht gewählter Hardware, Software, mangelndem Budget oder mangelnder Fähigkeiten scheitern - aber zum größten Teil können oder könnten diese Projekte gerettet werden.
Ihre gute BA-Ausbildung und Ihre guten Anforderungen geben Ihnen eine Perspektive, die einigen Ihrer begabteren Techie-Colleges möglicherweise fehlt. Den Rest können Sie lernen.
quelle