Die Grundlagen lernen Arbeit finden Ein Programm entwickeln
Es gibt zwei grundlegende Arten von Softwareentwicklung: „Applications Development“ und „Systems Development“. Applications Development bezieht sich auf das Erstellen von Programmen, die den Bedürfnissen der Nutzer entsprechen. Diese können von Apps für Mobiltelefone, über hochentwickelte Videospiele, bis hin zu betrieblichen Buchhaltungssoftwareprogrammen reichen. System Development konzentriert sich auf das Erstellen und Erhalten von Betriebssystemen mithilfe des Systems Development Life Cycle. Systems Development befasst sich oft mit Netzwerkfähigkeit und Datenschutz. Jeder kann eine gute Idee haben, aber ein Softwareentwickler sollte diese Ideen in etwas Konkretes umsetzen können. Auch wenn du dich lieber nur mit den Designaspekten von Software beschäftigen möchtest, solltest du trotzdem mit Coding vertraut sein und einfache Prototypen entwerfen können. Es gibt eine Vielzahl an Programmiersprachen, die du dir selbst beibringen kannst. Einige der wichtigen und nützlicheren Programmiersprachen sind folgende:  C – C ist eine der älteren Sprachen, die noch benutzt werden, und es ist die Basis für die meisten anderen Sprachen, die hier aufgelistet sind. C wird benutzt, um low-level Programme zu entwickeln, und arbeitet hardwarenah. C++ - Das ist die objektorientierte Version von C und ist eine der beliebtesten Programmiersprachen der Welt. Programme wie Chrome, Firefox, Photoshop und viele andere wurden alle mit C++ erstellt. Es ist auch eine sehr beliebte Sprache zur Entwicklung von Videospielen. C++ Entwickler sind immer sehr gefragt. Java – Das ist eine Weiterentwicklung von C++ und wird aufgrund seiner leichten Übertragbarkeit auf andere Betriebssysteme benutzt. Fast jedes System kann eine Java Virtual Machine, und somit Java Software, ausführen. Es wird oft für Videospiele und Betriebssoftware verwendet, und wird von vielen als unerlässliche Programmiersprache angesehen. C# - C# ist eine Windows-basierte Programmiersprache und ist Teil des .NET Framework von Microsoft. Es ist eng mit Java und C++ verwandt. Wenn du Java kannst, wird dir der Umstieg auf C# leicht fallen. Diese Programmiersprache ist vor allem für Entwickler nützlich, die mit Windows oder Windows Phone Software arbeiten. Objective-C – Dies ist noch ein enger Verwandter von C, der speziell für Apple Systeme entwickelt wurde. Objective-C ist extrem beliebt bei iPhone und iPad Apps. Es ist eine großartige Sprache für Freiberufler. Python – Diese Sprache ist unglaublich leicht zu lernen, wenn nicht eine der leichtesten. Python ist auf Web-Entwicklung spezialisiert. PHP – PHP betrifft nicht unbedingt Softwareentwicklung, ist aber unentbehrlich wenn du dich für Webentwicklung interessierst. Es gibt für PHP Entwickler immer viel zu tun, auch wenn ihre Arbeit nicht so gewinnbringend ist wie für Softwareentwickler. Die meisten Bücherläden haben ganze Abteilungen, die sich mit Programmieren beschäftigen, und es gibt massenweise Bücher auf Amazon und andere E-Tailers. Ein gutes Programmierbuch wird wahrscheinlich deine beste Quelle sein, worauf du schnell zugreifen kannst, während du an Projekten arbeitest. Abgesehen von Büchern ist das Internet eine endlose Fundgrube voller Anleitungen. Suche auf Seiten wie CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools und vielen anderen nach Anleitungen für die Programmiersprache deiner Wahl. Auch wenn du keinen Abschluss brauchst, um Software zu entwickeln, kann es nicht schaden, einen Kurs an deiner Volkshochschule oder Lernzentrum zu belegen. Du wirst von der Einzelbetreuung profitieren und dazu herausgefordert werden, Übungen zu lösen, die du alleine wahrscheinlich nicht lösen würdest.  Unterricht kostet Geld; gehe also sicher, dass der Kurs, den du belegst, dir dabei helfen kann, zu lernen, was du wissen möchtest. Obwohl viele Softwareentwickler es schaffen, nur aufgrund ihrer Fähigkeiten in die Branche einzusteigen, würde dir ein Bachelorabschluss in Informatik dabei helfen, dich von der Menge abzuheben. Ein Universitätsabschluss verleiht dir mehr Hintergrundwissen und wird dir andere hilfreiche Fächer wie Mathematik und Logik zugänglicher machen. Bevor du versuchst, deine neu gewonnenen Programmierfähigkeiten an echten Jobs zu erproben, arbeite an ein paar selbst auferlegten Projekten. Fordere dich selbst dazu heraus, Probleme mit deiner Programmiersprache zu lösen. Das wird dir nicht nur dabei helfen deine Fähigkeiten weiterzuentwickeln, sondern wird sich auch gut in deinem Lebenslauf machen.  Zum Beispiel, anstatt das Kalenderprogramm deines Computers zu benutzen um Termine zu organisieren, versuche, dein eigenes zu entwickeln! Falls du dich für Spielentwicklung interessierst, arbeite an einfachen Spielen die nicht auf Grafik oder komplexe Mechanismen fokussieren. Stattdessen, konzentriere dich darauf, sie lustig und einzigartig zu machen. Eine Sammlung kleiner Spiele die du selbst erstellt hast wird in deinem Portfolio großartig aussehen. Das Internet ist eine fantastischer Weg, um mit anderen Softwareentwicklern in Kontakt zu treten. Wenn du bei einem deiner Projekte nicht mehr weiter weißt, bitte auf Seiten wie StackOverflow um Hilfe. Achte darauf, auf eine intelligente Weise zu fragen, und teile mit, dass du bereits andere Lösungsmöglichkeiten versucht hast. Arbeite täglich an deinen eigenen Projekten, auch wenn es nur für eine Stunde ist. Das hilft dir, dich aktuell zu halten und immer wieder neue Techniken dazuzulernen. Viele Softwareentwickler lernen erfolgreich eine Programmiersprache, indem sie darauf achten, sich jeden Tag mit ihr auseinanderzusetzen. Lege dir für jeden Tag eine Zeit fest, die du dem Programmieren widmest, oder setze dir Deadlines. Versuche an jedem Werktag an deinen Projekten zu arbeiten, damit du dich am Wochenende entspannen kannst. Auch wenn sie nicht so gut bezahlt wird und weniger zuverlässig ist als eine Vollzeitbeschäftigung, kannst du dein Portfolio aufpeppen, indem du eine Reihe von solchen Pauschalaufträgen erledigst. Sieh dir dafür Seiten wie Elance und ODesk an, um Arbeit zu finden. Es kann schwierig werden, für einen solchen Job angenommen zu werden, aber nachdem du den ersten ergattert hast, wird es viel leichter.  Hacker News ist eine gute Quelle für Vertragsarbeit und freiberufliche Tätigkeiten. Sieh dir dort den Bereich „Ask“ an. Auch wenn es verlockend sein mag, wenig Geld für Vertragsarbeit zu verlangen, um den Job zu sichern, solltest du dich nicht unter Wert verkaufen. Du wirst dadurch nicht nur für weniger Geld arbeiten, als du wirklich verdienst, sondern wirst damit auch andere Bewerber in deinem Bereich verärgern, was deinen Beziehungen schaden könnte. Manchmal führt gute Arbeit bei einem Vertragsjob zu einer festen Einstellung. Gib immer dein Bestes! Besuche so viele Conventions und Hack-a-thons wie nur möglich. Das gibt dir nicht nur mehr Einblicke in Codes und Probleme, die gelöst werden wollen, sondern es hilft dir auch dabei, andere Personen aus dem Bereich zu treffen. Auch wenn du meinst, dass Programmierer alleine in ihrem Keller arbeiten, ist der Großteil der professionellen Softwareentwickler Teil eines Team, und Beziehungen zu knüpfen ist ebenso ein wichtiger Teil des Berufs. Wenn du einmal ein paar Vertragsarbeiten erledigt hast, kannst du damit anfangen, deine Bewerbung und dein Portfolio an größere Unternehmen für eine Vollzeiteinstellung zu schicken. Abgesehen von Monster und Indeed gibt es noch einige entwickler-spezifische Jobseiten, die du dir ansehen solltest, wie zum Beispiel GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite und Hacker News. Ein guter Softwareentwickler beherrscht meist mehr als eine Programmiersprache. Vieles wirst du bei der Arbeit lernen, aber investiere trotzdem etwas deiner Freizeit, um dein Wissen zu erweitern, und lerne die Grundlagen von ein oder zwei weiteren Sprachen. So wird es dir einfacher fallen, in ein neues Projekt überzugehen, und es macht dich auch zu einem begehrenswerteren Jobkandidaten. Nicht jeder Einsteiger in die Softwareentwicklungsbranche wird gleich mit sechsstelligen Zahlen entlohnt. In Wirklichkeit wird das keiner. Das Gute an Softwareentwicklung ist allerdings, dass der Arbeitsmarkt unglaublich stark ist. Wenn du der Meinung bist, du verdienst an deiner derzeitigen Stelle zu wenig, ist es relativ leicht, eine neue Position in einem neuen Unternehmen zu finden (unter der Voraussetzung dass du die Fähigkeiten dazu hast). Sieh deine ersten paar Jobs als nötige Erfahrung, anstatt dich auf deinen Ruhestandsplan zu konzentrieren. Ein gutes Programm führt Tätigkeiten aus, die das Leben des Nutzers einfacher machen. Sieh dir Programme an, die derzeit erhältlich sind für die jeweiligen Tätigkeiten, die dein Programm ausführen soll, und überlege dir, ob es Möglichkeiten gibt, den Prozess einfacher oder schneller zu machen. Erfolgreich werden die Programme, aus denen die Nutzer einen Nutzen ziehen können.  Überprüfe die Tätigkeiten, die du täglich an deinem Computer ausführst. Gibt es einen Weg, einen Teil dieser Tätigkeiten mit einem Programm zu automatisieren? Schreibe jede Idee auf. Auch wenn sie zurzeit albern oder seltsam wirkt, könnte sie eines Tages zu etwas Nützlichem oder sogar etwas Brillantem werden. Begutachte andere Programme. Was machen sie? Wie könnten sie es besser machen? Was fehlt ihnen? Diese Fragen können dir dabei helfen, auf Ideen für dein eigenes Projekt zu kommen. In diesem werden alle Eigenschaften und die Ziele des Projekts kurz dargestellt. Während des Entwicklungsprozesses hilft dir dieses Dokument, das Projekt auf dem richtigen Weg zu halten. In diesem Artikel findest du Details zum Erstellen des Dokuments. Ein Prototyp ist ein einfaches Programm das die Funktionen aufweist, die du erzielen möchtest. Es soll schlicht sein, und solange weiterbearbeitet werden, bist du ein Design findest das funktioniert. Wenn du zum Beispiel ein Kalenderprogramm entwirfst, wäre dein Prototyp ein einfacher Kalender (mit den korrekten Datumsangaben!) mit der Möglichkeit, zusätzliche Funktionen hinzuzufügen.  Dein Prototyp wird sich während des Entwicklungszyklus oft verändern, da dir neue Wege um Probleme zu lösen einfallen werden, oder du auf neue Ideen kommst die du später noch integrieren möchtest. Der Prototyp muss nicht schön sein. Tatsächlich sollten Grafik und Design eine der letzten Sachen sein, auf die du dich konzentrierst. Wie das Beispiel des Kalenderprogramms sollte in diesem Fall dein Programm höchstwahrscheinlich nur aus Text bestehen. Bugs sind das Verderben eines jeden Softwareentwicklers. Fehler im Code und „unexpected use“-Errors können bei einem fertigen Produkt alle möglichen Probleme auslösen. Teste das Programm, während du mit deiner Arbeit voranschreitest, so oft wie möglich. Tu alles, um es zu zerstören, und versuch dann zu verhindern, dass es in Zukunft kaputt geht. Lass deine Freunde und Familie dein Produkt testen und ihre Meinung dazu abgeben. Jede Art von Feedback hilft dir beim Entwicklungsprozess.  Falls dein Programm Kalenderdaten verwendet, versuche, seltsame Daten einzugeben. Ein sehr altes Datum oder eines aus ferner Zukunft könnte eigenartige Reaktionen beim Programm auslösen. Setze die falsche Art von Variablen ein. Falls zum Beispiel nach dem Alter des Nutzers gefragt wird, setze stattdessen ein Wort ein und schaue, was passiert. Falls dein Programm ein graphisches Interface hat, versuche, auf alles zu klicken. Was passiert, wenn du zu der vorherigen Seite zurückkehrst, oder auf Buttons in einer falschen Reihenfolge klickst? Für ein Prototyp und die Entwicklungsphase ist es in Ordnung, ein grobes Projekt zu erstellen. Wenn du aber möchtest, dass andere Personen es benutzen, wirst du an deinem Programm feilen müssen. Das bedeutet, dass die Menüs logisch aufeinanderfolgen, das User Interface ist nicht überladen und einfach zu handhaben, es gibt keine offensichtlichen Bugs und keine Fehler, die die Prozesse behindern, und das Gesamtergebnis ist allgemein gut abgerundet und ansprechend.  UI Design und Funktionalität kann sehr schwierig und komplex sein. Die Arbeit mancher Leute besteht rein aus dem Entwerfen von UIs. Achte nur darauf, dass dein Projekt einfach zu benutzen ist und gut aussieht. Ein professionelles UI ist ohne ein Budget und ein Team vielleicht nicht möglich. Falls du das nötige Budget hast, gibt es viele freiberufliche Grafikdesigner die möglicherweise im Rahmen einer Vertragsarbeit dein UI entwerfen könnten. Falls du ein handfestes Projekt hast, von dem du dir erhoffst dass es was Großes wird, suche dir einen guten UI-Designer und mache ihn zu einem Teil deines Teams. GitHub ist eine Open Source Community die dir erlaubt, deinen Code mit anderen Leuten zu teilen. Damit kannst du dir Meinungen über deinen Code einholen und anderen Leuten helfen Lösungen zu finden, auf die du vielleicht gekommen bist. GitHub ist eine großartige Quelle, um Neues zu lernen, und auch eine gute Methode, um dein Portfolio aufzubauen. Wenn dein Produkt fertig ist, kannst du dir aussuchen, ob du es verbreiten möchtest oder nicht. Es gibt heutzutage eine Vielzahl an Wegen, um verschiedene Arten von Software zu verbreiten.  Eine der gewöhnlichsten Methoden, die kleine Teams oder unabhängige Entwickler verwenden, um ihre Software zu entwickeln, ist eine eigene Website. Achte darauf, dass alle Eigenschaften des Programms gut dokumentiert sind und füge Screenshots und Tutorials hinzu. Für den Fall, dass du deine Software verkaufst, gehe sicher, dass du ein gutes digitales Zahlungssystem hast, sowie einen Server, von dem aus du die Software verbreiten kannst. Falls du Software für ein spezifisches Gerät oder Betriebssystem entwickelst, gibt es mehrere Online Shops, die du möglicherweise benutzen kannst. Wenn du zum Beispiel Software für Android-Geräte produzierst, kannst du deine App im Google Play Store, Amazon App Store, oder auf deiner eigenen Website verkaufen.
Überlege, für welche Art von Softwareentwicklung du dich interessierst. Bringe dir eine Programmiersprache bei. Finde Ressourcen, die dir beim Lernen helfen. Mache einen Kurs. Arbeite an eigenen Projekten. Frag nach. Übe jeden Tag. Nimm Vertragsarbeit an. Pflege deine Beziehungen so gut wie möglich. Bewirb dich für Vollzeitbeschäftigungen. Erweitere deine Fähigkeiten. Mach dir keine Sorgen um die Bezahlung. Brainstorme Ideen. Entwirf ein Design-Dokument. Erstelle einen Prototyp. Teste das Programm immer wieder. Bring dein Projekt auf Hochglanz. Veröffentliche deine Projekte auf GitHub. Verbreite deine Software.
https://www.wikihow.com/Develop-Software https://www.wikihow.com/Develop-Software https://www.wikihow.com/Develop-Software
Learning the Ropes Getting Work Developing a Program