Wie ich zur Webentwicklung gekommen bin

Ich bin in die Webentwicklung geraten, so fühlt es sich an, ohne in die Details zu gehen. Das klingt nicht so, wie man bei der Berufswahl vorgehen möchte, aber in Wirklichkeit waren es Jahre voller kleiner Entscheidungen und Anstöße, die mich dazu gebracht haben, eine Arbeit zu machen, die mir wirklich Spaß macht.
Ich bin mit allem aufgewachsen, was mit Computern zu tun hat, aber seien wir ehrlich, es waren hauptsächlich Videospiele. In der High School habe ich alle verfügbaren Fächer belegt, die irgendetwas mit Informatik zu tun hatten, ironischerweise mit Ausnahme des Faches Softwareentwicklung. Ich glaube, weil ich nicht wusste, wie kreativ das Potenzial ist, dachte ich, das wäre alles harte Mathematik. Ich hatte ein Fach, in dem mein Hauptprojekt eine Batman-Flash-Animation war. Ich war in diesem Kurs motiviert — während andere vielleicht abgeblustelt und Flash-Spiele gespielt haben, konzentrierte ich mich darauf, meine Flash-Animation zu machen und jede Minute davon zu genießen.
Dann wurde es Zeit, nach der High School etwas zu unternehmen. Ich hatte immer noch keine gute Vorstellung davon, was ich machen wollte, also entschied ich mich für einen breiten Studiengang, der Computer beinhaltete — Informationstechnologie an der UOW. In diesem Studium war es ein Pflichtfach in der Programmierung, das mir einen Vorgeschmack auf Softwareentwicklung gab. Es ging darum, Programme zu entwickeln, bei denen die Ausgabe nur im Terminal war, was mich nicht sonderlich reizte.
Dann kam ein Thema, bei dem alles zusammenpasste, Webprogrammierung — ich glaube, es hieß. Es kombinierte Design und Code, verwendete einige neuere Webtechnologien und wurde von Dozenten unterrichtet, die eindeutig eine Leidenschaft für das Web hatten. Wir haben Projekte wie die Neugestaltung der Filmseite durchgeführt und ich fand es toll. Es gab mir auch einen Vorgeschmack darauf, etwas Nützliches zu machen. In anderen Programmierfächern, die ich zuvor gemacht habe, ging es nur darum, Zeilen an die Konsole auszugeben.

Nach dieser Erfahrung kam mir immer noch nicht in den Sinn, dass ich dafür einen Job bekommen könnte, ich kannte niemanden, der Webentwicklung als Job machte. Also ging ich nach der Universität in einen einmonatigen Urlaub und versuchte, nicht darüber nachzudenken, was ich tun würde, wenn ich zurückkam.
Als ich zurückkam, fing ich an, mich für Jobs zu bewerben, und einige davon für diese Rolle namens Frontend-Entwickler, was für mich ein neuer Begriff war. Während ich die Projekte zum Mitnehmen durchführte, die mir im Rahmen der Vorstellungsgespräche gegeben wurden, wurde mir klar, dass ich in dieser Sache, die mir Spaß machte, einen Job bekommen könnte.
Seitdem sind ungefähr 5 Jahre vergangen und die Zeit ist schnell vergangen. In dieser Zeit wurde ich in das kalte Wasser vieler Projekte geworfen und habe sie immer mit mehr Wissen abgeschlossen als zu Beginn. Vielen Dank sowohl an die talentierten Leute, mit denen ich zusammengearbeitet habe, als auch an die Herausforderung, die die Projekte selbst mit sich bringen.
Ich freue mich auf das nächste Kapitel hier bei Easy Agile!
Verwandte Artikel
- Company
Ein Tag im Leben von Jamie
Es ist Montagmorgen und ich bin gerade auf dem Parkplatz des Bahnhofs Kiama eingefahren.
Es ist ein kurzer Weg zum zentralen Geschäftsviertel von Wollongong, wo ich beim Betreten des Büros vom Team begrüßt werde.
Wir beginnen den Tag mit einer morgendlichen Runde, in der jeder von uns etwas Gutes erzählt, das in den letzten 24 Stunden passiert ist, woran wir an diesem Tag arbeiten werden und ob wir auf irgendwelche Blocker gestoßen sind.
Das gesamte Team macht dann einen Spaziergang zum örtlichen Café Beast und trinkt gemeinsam einen Kaffee. Es ist eine wunderbare Art, den Tag mit einer Gruppe inspirierender Menschen zu beginnen.
Für mich steht der Kundensupport als Nächstes an und ich freue mich sehr darauf, unseren Kunden auf ihrer täglichen Reise mit unserem Produkt zu helfen. Meine bisherigen Erfahrungen im Kundensupport haben mir gezeigt, wie sehr Kunden zeitnahe und hilfreiche Antworten schätzen. Es kann den Tag einer Person wirklich verändern.
Wenn Kunden beantwortet wurden, setze ich meine tägliche Arbeit mit den Tools von Easy Agile fort. Ich kann mit Sicherheit sagen, dass dies die Verwaltung und Bearbeitung von Sprints erheblich erleichtert.
Ich habe tolle Teamkollegen. Wenn ich etwas besprechen, Feedback einholen oder mich zusammenschließen möchte, ist mein Kollege Matt immer da, um zu helfen. Hier ist er:
Er ist ein echter Verfechter der Software-Handwerkskunst, und ich stimme diesem Ansatz voll und ganz zu.
Gegen Mittag machen wir alle eine Mittagspause. Einige von uns holen sich etwas zum Mitnehmen im örtlichen Einkaufszentrum, und andere bringen etwas von zu Hause mit, aber im Allgemeinen sitzen wir alle zusammen und genießen die Gesellschaft des anderen. Freitags zieht der Straßenmarkt die Aufmerksamkeit der meisten von uns auf sich. Normalerweise wird es eine Session auf der Switch geben — Mario Kart oder Smash Bros sind die beliebtesten Optionen.
Nach dem Mittagessen geht es wieder los und ich checke mit Dave ein, um zu sehen, wie es läuft. Wir besprechen meine bisherige Reise und meine Ideen für unsere bevorstehende Eröffnungswoche.
Es ist großartig, sich hinzusetzen und darüber zu sprechen, wie wir unsere Systeme verbessern und die tägliche Arbeit unseres Teams verbessern können.
Es gibt noch ein paar Dinge zu erledigen und dann ist es Zeit, zum Bahnhof zu fahren, um nach Hause zu pendeln. Matt und ich unterhalten uns über Softwarearchitektur und verpassen fast den Zug.
Wenn ich auf die letzten Wochen bei Easy Agile zurückblicke, fallen mir die Kultur und die Werte des Teams auf.
Das Bekenntnis zu Integrität, Ehrlichkeit, Inklusion und Arbeitsphilosophie ist wirklich inspirierend und ermutigend. Meiner Erfahrung nach habe ich noch nie einen Arbeitstag begonnen, an dem alle etwas Positives teilen. Das gibt wirklich den Ton für die folgenden Stunden an.
Easy Agile ist ein großartiges Unternehmen, besonders wenn ich es mit meinen Erfahrungen der letzten 20 Jahre in den Bereichen Fertigung, Kundensupport und Softwareentwicklung vergleiche. Das Team von Easy Agile zeigt praktisch einen ganzheitlichen Ansatz für Arbeit und Leben, der gleichermaßen erfrischend und ermutigend ist.
- Workflow
8 Methoden der Softwareentwicklung erklärt
Softwareentwicklungsteams sind dafür bekannt, eine Vielzahl agiler Methoden, Ansätze und Tools einzusetzen, um Kunden einen Mehrwert zu bieten. Je nach den Bedürfnissen des Teams und der am Produkt Beteiligten ist es üblich, dass Teams eine Kombination von Softwareentwicklungsmethoden einsetzen und nutzen.
Die meisten Entwicklungsteams kombinieren Methoden und Frameworks, um ihren eigenen einzigartigen Ansatz für die Produktentwicklung zu entwickeln. Sie werden feststellen, dass sich viele Prinzipien von einer Methode zur nächsten überschneiden. Der Schlüssel liegt darin, ein System auszuwählen und als Team daran zu arbeiten, diesen Ansatz zu verfeinern und zu verbessern, damit Sie weiterhin Verschwendung reduzieren, die Effizienz maximieren und die Zusammenarbeit optimieren können.
In diesem Beitrag werden wir die folgenden acht Softwareentwicklungsprozesse skizzieren und vergleichen:
1. Methodik der agilen Softwareentwicklung
2. Wasserfall-Methodik
3. Funktionsorientierte Entwicklung (FDD)
4. Methodik der schlanken Softwareentwicklung
5. Methodik der Scrum-Softwareentwicklung
6. Extreme Programmierung (XP)
7. Schnelle Anwendungsentwicklung (RAD)
8. DevOps-Bereitstellungsmethodik
1. Methodik der agilen Softwareentwicklung
Agil ist der gebräuchlichste Begriff zur Beschreibung von Entwicklungsmethoden. Er wird häufig als Überbegriff für Methoden verwendet, die agil sind. Dabei handelt es sich um einen iterativen Prozess, der Verschwendung reduziert und die Effizienz maximiert.
Die meisten Softwareentwicklungsmethoden sind agil und legen im Gegensatz zum traditionellen Projektmanagement einen starken Schwerpunkt auf Iteration, Zusammenarbeit und Effizienz. Es ist, als würde man Jazz mit klassischer Musik vergleichen. 🎷
Traditionelle, lineare Managementmethoden, wie die Wasserfallmethode, auf die wir weiter unten eingehen werden, sind wie klassische Musik, die von einem Dirigenten geleitet wird, der einen festen Plan hat, wie die Musik gespielt werden sollte. Der agile Prozess ähnelt dagegen eher dem Jazz, der durch Zusammenarbeit, Experimente und Iteration zwischen den Bandmitgliedern zustande kommt. Er ist anpassungsfähig und entwickelt sich mit neuen Ideen, Situationen und Richtungen weiter.
2. Die Wasserfall-Methodik
Das Wasserfall-Ansatz ist eine traditionelle Methode, die in der Softwareentwicklung nicht mehr sehr verbreitet ist. Viele Jahre lang war das Wasserfallmodell die führende Methode, aber sein starrer Ansatz konnte den dynamischen Anforderungen der Softwareentwicklung nicht gerecht werden.
Es ist üblicher, dass die Wasserfallmethode eher für das Projektmanagement als für die Produktentwicklung verwendet wird. Zu Beginn eines Projekts sammeln Projektmanager alle notwendigen Informationen und verwenden sie, um im Vorfeld einen fundierten Aktionsplan zu erstellen. Normalerweise ist dieser Plan ein linearer, schrittweiser Prozess, bei dem eine Aufgabe in die nächste übergeht, was ihr den Namen „Wasserfall“ gibt.
Der Ansatz ist planorientiert und starr, sodass wenig Spielraum für Anpassungen bleibt. Es ist mehr oder weniger das Gegenteil von agil und legt Wert darauf, sich an den Plan zu halten, anstatt sich an neue Umstände anzupassen.
3. Funktionsorientierte Entwicklung (FDD)
Feature-getriebene Entwicklung wird auch als ältere Methode angesehen. Obwohl sie einige agile Prinzipien verwendet, wird sie als der Vorgänger der heutigen agilen und schlanken Methoden angesehen.
Wie der Name schon sagt, konzentriert sich dieser Prozess auf die häufige Implementierung von Funktionen, die vom Kunden geschätzt werden. Es ist ein iterativer Prozess, bei dem alle Augen darauf gerichtet sind, den Endbenutzern greifbare Ergebnisse zu liefern. Der Prozess ist adaptiv und verbessert sich auf der Grundlage neuer Daten und Ergebnisse, die regelmäßig gesammelt werden, um Softwareentwicklern zu helfen, Fehler zu erkennen und darauf zu reagieren.
Diese Art von fokussierter agiler Methodik kann für einige Teams funktionieren, die einen stark strukturierten Ansatz und klare Ergebnisse wünschen und gleichzeitig einen gewissen Spielraum für Iterationen lassen.
4. Methodik der schlanken Softwareentwicklung
Schlanke Softwareentwicklung basiert auf den Prinzipien der schlanken Fertigung. Im Kern zielt Lean Development darauf ab, die Effizienz zu verbessern, indem Verschwendung vermieden wird. Durch die Reduzierung von Aufgaben und Aktivitäten, die keinen echten Mehrwert bieten, können die Teammitglieder mit optimaler Effizienz arbeiten.
Das fünf Lean-Prinzipien Stellen Sie einen Arbeitsablauf bereit, den Teams verwenden, um Verschwendung zu identifizieren und Prozesse zu verfeinern. Lean ist auch ein Leitgedanke, der Menschen helfen kann, effizienter, produktiver und effektiver zu arbeiten.
Die Philosophien und Prinzipien von Lean können auf agile und andere Softwareentwicklungsmethoden angewendet werden. Die Lean-Entwicklung bietet eine klare Anwendung für die Skalierung agiler Praktiken in großen oder wachsenden Organisationen.
5. Methodik der Scrum-Softwareentwicklung
Gedränge ist ein System, das regelmäßig von Softwareentwicklungsteams verwendet wird. Wie viele Softwareentwicklungsmethoden ist Scrum agil und konzentriert sich auf einen wertorientierten Ansatz. Der Scrum-Prozess basiert auf Empirismus, der Theorie, dass Wissen aus praktischer Erfahrung und beobachtbaren Fakten stammt.
Ein Scrum findet über einen voreingestellten Zeitraum statt, der als Sprint bezeichnet wird. Normalerweise liegt der Zeitrahmen zwischen zwei und vier Wochen und das Scrum befindet sich zu Beginn des Sprints. Das Ziel jedes Sprints ist es, eine unvollständige, aber fortschrittliche Version eines Produkts herauszugeben, die den Stakeholdern zur Verfügung gestellt werden kann, sodass Feedback sofort in den nächsten Sprint integriert werden kann.
Das Spezifische Ziele jedes Sprints werden bestimmt durch Produkteigentümer wer ordnet und priorisiert Backlog-Elemente (die Artefakte, die fertiggestellt werden müssen). Der Sprint-Prozess wiederholt sich immer wieder, wobei das Entwicklungsteam auf der Grundlage von Erfolgen, Misserfolgen und dem Feedback der Stakeholder Anpassungen vornimmt und iteriert.
Lernen mehr über Scrum — die komplette Programmplanungslösung für Jira.
6. Extreme Programmierung (XP)
Extremes Programmieren, auch XP genannt, ist eine Methode, die auf der Verbesserung der Softwarequalität und Reaktionsfähigkeit basiert. Es handelt sich um einen agilen Ansatz, der sich auf der Grundlage der Kundenanforderungen weiterentwickelt. Das ultimative Ziel ist die Erzielung qualitativ hochwertiger Ergebnisse. Qualität beschränkt sich nicht nur auf das Endprodukt — sie bezieht sich auf jeden Aspekt der Arbeit und gewährleistet Entwicklern, Programmierern und Managern ein großartiges Arbeitserlebnis.
Die Entscheidungsfindung beim Extremprogrammieren basiert auf fünf Werten: Kommunikation, Einfachheit, Feedback, Mut und Respekt. Die Besonderheiten von XP können nicht für alle Situationen gelten, aber das allgemeine Framework kann unabhängig vom Kontext einen Mehrwert bieten.
7. Schnelle Anwendungsentwicklung (RAD)
Schnelle Anwendungsentwicklung (RAD), manchmal auch Rapid Application Building (RAB) genannt, ist eine agile Methode, die darauf abzielt, qualitativ hochwertige Ergebnisse mit einer kostengünstigen Investition zu erzielen. Der Prozess priorisiert das schnelle Prototyping und häufige Iterationen.
Die schnelle Anwendungsentwicklung beginnt mit der Definition der Projektanforderungen. Von dort aus entwerfen und bauen die Teams unvollkommene Prototypen, um sie den Stakeholdern so schnell wie möglich zur Verfügung zu stellen. Prototyping und Bau wiederholen sich immer wieder in Iterationen, bis ein Produkt vollständig ist und die Kundenanforderungen erfüllt.
Dies ist ideal für kleinere Projekte mit einem klar definierten Ziel. Der Prozess hilft Entwicklern, auf der Grundlage häufiger Rückmeldungen von Interessengruppen schnelle Anpassungen vorzunehmen. Es geht darum, schnelle Prototypen zu erstellen, die den Benutzern so schnell wie möglich konstruktives Feedback geben können. Dieses Feedback fließt in das Benutzerdesign ein, sodass Entwicklungsentscheidungen auf den direkten Gedanken und Bedenken derjenigen basieren, die das Produkt verwenden werden.
8. DevOps-Bereitstellungsmethodik
Das DevOps-Bereitstellungsmethodik ist eine Kombination aus Dev (Softwareentwicklung) und Ops (Information Technology Operations). Zusammen entwickeln sie eine Reihe von Verfahren zur Verbesserung der Kommunikation und Zusammenarbeit zwischen den Abteilungen, die für die Entwicklung eines Produkts verantwortlich sind.
Es handelt sich um eine kontinuierliche Kommunikationsschleife zwischen Produktentwicklern und Betriebsteams (IT-Betrieb). Wie so viele agile Prozesse ist es auf kontinuierliches Feedback angewiesen, um Teams dabei zu helfen, Zeit zu sparen, die Kundenzufriedenheit zu erhöhen, die Markteinführungsgeschwindigkeit zu verbessern und Risiken zu reduzieren.
Die Schritte der DevOps-Bereitstellung wiederholen sich mit dem Ziel, die Kundenzufriedenheit mit neuen Features, Funktionen und Verbesserungen zu erhöhen. Diese Methode weist jedoch einige Nachteile auf. Einige Kunden möchten keine kontinuierlichen Updates für ihre Systeme, sobald sie mit einem Endprodukt zufrieden sind.
Softwareentwicklung leicht gemacht
Die meisten Softwareentwicklungsteams verwenden eine Kombination aus Methoden und Frameworks, die zu ihrer Teamgröße, Teamdynamik und Art der zu erledigenden Arbeit passen. Der Schlüssel liegt darin, eine agile Methode zu verwenden und zusammenzuarbeiten, um Ihre Systeme kontinuierlich zu verbessern, während Sie lernen und wachsen.
Easy Agile hat es sich zur Aufgabe gemacht, Teams dabei zu helfen, besser mit Agile zusammenzuarbeiten. Wir entwerfen agile Apps für Jira mit einfacher, kollaborativer und flexibler Funktionalität. Von der Agilität des Teams mit Einfacher agiler Teamrhythmus, zu skalierter Agilität mit Einfache agile Programme, unsere Apps können Ihren agilen Teams helfen, Ihre Kunden besser zu beliefern.
Buchen Sie eine 1:1 -Demo um mehr über unsere Jira-Toolsuite zu erfahren, oder kontaktiere unser Team wenn Sie weitere Fragen haben. Wir bieten eine kostenlose 30-Tage-Testversion an, damit Sie unsere Produkte ausprobieren können, bevor Sie eine Verpflichtung eingehen.
- Company
Mein Weg vom Psychologen zum Softwareentwickler
Wir überprüfen die Brandung und haben eine Weile nicht miteinander gesprochen. Zwei Augenpaare auf das Meer gerichtet. Lohnt es sich, an diesem windigen Wintermorgen rauszupaddeln? „Wo arbeitest du jetzt?“ fragst du abgelenkt. „Ich bin eigentlich Softwareentwickler.“ ' Ihre Augen brechen vor dem Anschwellen und suchen instinktiv nach Anzeichen eines Traumas oder Burnouts. „Wow, du hättest nichts anderes wählen können!“ sagst du, ein bisschen überrascht.
Ich habe immer wieder eine Version dieses Gesprächs geführt, seit ich von der Psychologie zum Programmieren gewechselt bin. Die Leute sind oft verwirrt darüber, wie sicher ich bin, dass ich die richtige Wahl getroffen habe, obwohl ich mit Mitte dreißig und um die Geburt meines ersten Babys eine lukrative Karriere verwarf, für die ich viel Zeit und Mühe aufgewendet hatte und für die ich gut geeignet zu sein schien.
Die Wahrheit ist, dass diese Änderung, als ich es tat, meine Gesundheit und das Glück meiner Familie erheblich verbessert hat. Es war ein Privileg, mit meinen Kunden zusammenzuarbeiten und ihre innersten Geheimnisse, Hoffnungen und Träume zu teilen. Es war auch extrem traumatisch und entmutigend und hat mich zermürbt. Dann sagte meine Frau eines Tages: „Sie müssen keine Psychologin sein, wissen Sie?“ Es mag offensichtlich erscheinen, aber dieser kurze Satz hat mir den Verstand geöffnet.
Ich begann darüber nachzudenken, was ich sonst noch tun möchte. Ich hatte Freunde von mir immer beneidet, die Schreiner oder Maurer waren und so viel Befriedigung darin zu finden schienen, ihr Handwerk allmählich zu beherrschen. Das Problem ist, ich kann schlecht mit Werkzeugen umgehen und kann ums Verrecken keinen Nagel hämmern. Ein Gespräch mit einem Freund, der Programmierer ist, in dem er auf die gleiche Weise über sein Handwerk sprach, brachte mich zum Nachdenken.
Ich habe an einem kostenlosen Online-Kurs teilgenommen, um das Terrain zu sondieren, und war sofort begeistert. Ich musste mich bemühen, jeden Abend zu einer anständigen Zeit ins Bett zu gehen, da ich immer mehr über Themen wie CSS, Browser, Clean Code und asynchrones Javascript erfuhr. Ein paar Wochen später begann ich meinen Master in Informationstechnologie und stürzte mich hinein.
Ok, ich dachte, es gibt keinen besseren Weg zum Lernen als bei der Arbeit, also habe ich mich an jedes Unternehmen gewandt, das ich in Fahrweite finden konnte, und bot an, alles zu tun, was auch nur nebenbei mit Programmieren zu tun hat, um einen Fuß in die Tür zu bekommen.
Zum Glück, die Wollongong-Tech-Community (Hallo zusammen Siligong!) ist aufgeschlossen und zwei großartige Unternehmen, zuerst FinoComp und jetzt Easy Agile, konnten meinen ungewöhnlichen Hintergrund hinter mir lassen, um mein Potenzial zu erkennen.
Ich bin jetzt ein echter Frontend-Entwickler und freue mich riesig darauf, jeden Tag zu arbeiten, mein Toolset zu erweitern und mein Handwerk zu verfeinern, um großartige Produkte für unsere Kunden zu entwickeln, die ihr Leben verbessern.
Für jeden da draußen, der über eine berufliche Veränderung nachdenkt, ist es nie zu spät. Es hat mein Leben zum Besseren verändert und es könnte auch deins verändern.
„Die Reise von tausend Meilen beginnt mit einem Schritt“ Lao Tzu.
(Oh, du solltest auf jeden Fall auch in dieser Brandung rauspaddeln. Unabhängig von den Bedingungen ist eine Brandung immer eine gute Idee.)