Software entwickeln

Softwareentwickler zu werden ist ein lukrativer Karriereplan. Das sind Menschen mit gefragten, wertvollen Fähigkeiten. Aber was genau machen sie?? Da du sie wahrscheinlich nicht auf ihrem eigenen Rasen besiegen kannst, schließe dich ihnen besser an. Sind Sie technisch ausreichend fundiert und verstehen Sie den Kunden ausreichend, um ein gutes Produkt herstellen zu können?? Mit ein wenig Brainstorming – und natürlich durch das Lesen des Rests dieses Artikels – werden Sie sicherlich Erfolg haben!

Schritte

Teil 1 von 3: Die Tricks des Handwerks lernen

Bildtitel Develop Software Step 1
1. Bestimmen Sie, welche Art von Softwareentwicklung Sie interessiert. In diesem Bereich gibt es zwei Lager: Anwendungsentwicklung und Systementwicklung. Die Anwendungsentwicklung konzentriert sich auf die Erstellung von Programmen, die einen bestimmten Bedarf der Kunden erfüllen. Dies reicht von Handy-Apps und Videospielen bis hin zu Buchhaltungssoftware für Unternehmen. Die Systementwicklung konzentriert sich auf die Erstellung und Wartung von Betriebssystemen mithilfe der Lebenszyklusentwicklung. Auch die Systementwicklung hat oft mit Netzwerkprozessen und Datensicherheit zu tun.
Bildtitel Develop Software Step 2
2. Bring dir eine Programmiersprache bei. Jeder kann eine Idee haben, aber ein Entwickler kann diese Ideen in etwas Konkretes umsetzen. Auch wenn Sie nur an den Designaspekten von Software arbeiten möchten, sollten Sie mit dem Programmieren einigermaßen vertraut sein und in der Lage sein, einfache Prototypen zu erstellen. Es gibt eine Unmenge an Programmiersprachen, die man sich selbst beibringen kann. Einige der nützlicheren und wichtigeren Sprachen sind die folgenden:
  • C – C ist eine der älteren Sprachen die noch heute verwendet werden und den meisten anderen Sprachen in dieser Liste zugrunde liegen. C wird zum Erstellen von Low-Level-Programmen verwendet und befindet sich in der Nähe der Computerhardware.
  • C++ – Dies ist die objektorientierte Version von C und die beliebteste Programmiersprache der Welt. Programme wie Chrome, Firefox, Photoshop und viele andere sind alle in C . programmiert++. Es ist auch eine sehr beliebte Sprache zum Erstellen von Videospielen. C++-Entwickler sind immer sehr gefragt.
  • Java – Dies ist eine Weiterentwicklung von C++ und wird aufgrund seiner hohen Portabilität häufig verwendet. Fast jedes System kann eine Java Virtual Machine und damit auch Java-Software ausführen. Es wird häufig für Videospiele und Unternehmenssoftware verwendet und wird von vielen als eine wesentliche Sprache angesehen.
  • C# – C# ist eine Programmiersprache für die Windows-Umgebung und Teil der .NET-Framework von Microsoft. Es ist Java und C++ sehr ähnlich, und wenn Sie Java kennen, können Sie leicht zu C# wechseln. Diese Sprache ist speziell für Entwickler von Windows-Software oder Windows Phone-Software gedacht.
  • Objective-C – Dies ist ein weiterer Cousin von C und speziell für Apple-Systeme entwickelt. Es ist immens beliebt für die Erstellung von iPhone- und iPad-Apps. Es ist eine großartige Sprache, um als Freiberufler zu lernen.
  • Python – Dies ist eine sehr leicht zu erlernende Sprache, eine der einfachsten. Python kann auch für die Webentwicklung verwendet werden.
  • PHP – Dies ist nicht im Kern Softwareentwicklung, aber PHP ist unerlässlich, wenn Sie mehr mit der Webentwicklung erreichen möchten. Es gibt immer viel Arbeit für PHP-Programmierer, aber das ist nicht so lukrativ wie Softwareentwicklung.
    Bildtitel Develop Software Step 3
    3. Ressourcen, die Ihnen beim Erlernen einer Sprache helfen können. Die meisten Buchhandlungen und Bibliotheken haben ganze Abschnitte über Programmiersprachen, und natürlich können Sie auch Material bei Amazon und anderen E-Tailern finden. Ein gut geschriebenes Buch über Programmierung ist wahrscheinlich die beste Ressource, die Sie haben können, und kann als schnelles Nachschlagewerk während der Arbeit an Projekten verwendet werden.
    Neben Büchern haben Sie auch das Internet, eine endlose Fundgrube an Handbüchern und Anleitungen. Suchen Sie auf Websites wie CodeAcademy, Code . nach Material über die Sprache Ihrer Wahl.org, Bento, Udacity, Udemy, Khan Academy, W3Schools.
    Bildtitel Develop Software Step 4
  • 4. Schau, ob du irgendwo Unterricht bekommen kannst. Um in der Softwareentwicklung etwas erreichen zu können, braucht man keine abgeschlossene Hochschulausbildung, aber es kann nicht schaden, ein paar Kurse über eine Volkshochschule oder ein Ausbildungszentrum zu belegen. Dies bietet den Vorteil einer persönlichen Beratung und Sie sind herausgefordert, Probleme zu lösen, die Sie alleine nicht so leicht bewältigen können.
  • Der Unterricht kostet Geld, also wähle Qualität, damit du lernst, was du wissen möchtest.
  • Während viele Entwickler allein aufgrund ihrer Fähigkeiten in die Branche einsteigen konnten, können Sie sich von der Masse abheben, indem Sie einen Bachelor-Abschluss in Informatik nachweisen können. Ein solcher Abschluss bietet Ihnen eine breitere Wissensbasis und Zugang zu zusätzlichen Fächern wie Mathematik und Logik.
    Bildtitel Develop Software Step 5
  • 5. Arbeite an Hobbyprojekten. Bevor Sie versuchen, einen Job als Programmierer zu bekommen, ist es ratsam, ein paar eigene Projekte zu starten. Fordern Sie sich selbst heraus, Probleme mit einer Programmiersprache Ihrer Wahl zu lösen. Dies wird nicht nur dazu beitragen, Ihre Programmierfähigkeiten zu verbessern, sondern wird auch in Ihrem Lebenslauf gut aussehen.
  • Beispiel: Anstatt das Kalenderprogramm Ihres Betriebssystems zu verwenden, um Ihre Arbeit zu organisieren, versuchen Sie, Ihr eigenes zu erstellen!
  • Wenn Sie daran interessiert sind, Videospiele zu entwickeln, arbeiten Sie an einfachen Spielen, die sich nicht zu sehr auf Grafiken oder komplexe Bewegungen verlassen. Konzentriere dich stattdessen darauf, ein lustiges und einzigartiges Spiel zu entwickeln. Eine Sammlung kleiner Spiele, die Sie selbst erstellt haben, wird in Ihrem Portfolio großartig aussehen.
  • EXPERTENTIPP
    Gene Linetsky, MS

    Gene Linetsky, MS

    Startup-Gründer und technischer Direktor Gene Linetsky ist ein Startup-Gründer und Softwareentwickler in der San Francisco Bay Area. Er arbeitet seit über 30 Jahren in der Technologiebranche und ist technischer Direktor bei Poynt, einem Technologieunternehmen, das intelligente Transaktionssysteme für Unternehmen entwickelt.
    Gene Linetsky, MS
    Gene Linetsky, MS
    Gründer von Startups und technischer Leiter

    Praktische Erfahrungen zu sammeln ist der beste Weg, um zu lernen. Gene Linetsky, Software Engineer und Gründer von Start-ups: "Als Software-Ingenieur ist Programmieren nicht die wichtigste Fähigkeit. Es dreht sich alles um all die anderen Dinge, die benötigt werden, um Ihren Code tatsächlich in ein Produkt zu verwandeln, das die Leute tatsächlich verwenden. Wenn Sie das tun, geben Ihre Kunden Ihnen normalerweise Feedback und weisen darauf hin, was nicht funktioniert. Der Zyklus des Verfolgens der eigenen Arbeit ist der eigentliche Lernprozess eines Softwareingenieurs."

    Bildtitel Develop Software Step 6
    6. Fragen stellen. Das Internet ist eine großartige Möglichkeit, mit anderen Entwicklern in Kontakt zu treten. Wenn Sie in einem Projekt stecken bleiben, bitten Sie auf Websites wie StackOverflow um Hilfe. Stellen Sie sicher, dass Ihre Frage intelligent gestellt ist und Sie angeben können, dass Sie bereits mehrere Lösungen ausprobiert haben.
    Bildtitel Develop Software Step 7
    7. Jeden Tag üben. Arbeite jeden Tag an deinen Hobbyprojekten, auch wenn es nur eine Stunde ist. Das hilft, frisch zu bleiben und ständig neue Techniken zu lernen. Viele Entwickler haben erfolgreich eine Sprache gelernt, indem sie sich vergewissert haben, dass sie jeden Tag damit arbeiten.
    Nehmen Sie sich jeden Tag eine bestimmte Zeit, um an der Codierung zu arbeiten, oder setzen Sie sich eine Frist, die Sie damit erledigen möchten. Versuche jeden Arbeitstag an deinen Projekten zu arbeiten, damit du am Wochenende entspannen kannst.

    Teil 2 von 3: Ein Programm entwickeln

    Bildtitel Develop Software Step 8
    1. Brainstorming. Ein gutes Programm führt Aufgaben aus, die dem Benutzer das Leben ein wenig erleichtern. Nehmen Sie die derzeit für diese Aufgabe verfügbare Software als Beispiel und prüfen Sie, ob Sie sie verbessern können. Ein erfolgreiches Programm ist etwas, von dem die Menschen sehr profitieren.
    • Sehen Sie, welche täglichen Aufgaben Sie mit Ihrem Computer ausführen. Gibt es eine Möglichkeit, einige dieser Aufgaben durch ein Programm zu automatisieren??
    • Schreibe jede Idee auf. Auch wenn es zu diesem Zeitpunkt etwas albern oder seltsam klingt, kann es manchmal etwas Nützliches oder sogar Brillantes auslösen.
    • Studiere andere Programme. Welche Funktion haben sie? Wie kannst du sie verbessern? Was fehlt in der Software? Durch die Beantwortung dieser Fragen können Sie Ideen entwickeln, um sich weiterzuentwickeln.
    Bildtitel Develop Software Step 9
    2. Erstellen Sie ein Designdokument. Dieses Dokument gibt einen kurzen Überblick über alle Funktionen und was Sie mit dem Projekt erreichen möchten. Indem Sie sich während des Entwicklungsprozesses auf dieses Dokument beziehen, behalten Sie im Auge, ob Sie im Zeitplan liegen und konzentrierter bleiben.
    Bildtitel Develop Software Step 10
    3. Erstellen Sie einen Prototyp. Dies ist ein einfaches Programm, in das Sie alle Funktionen einbauen, die Sie erreichen möchten. Ein Prototyp ist ein schnelles Programm und etwas, auf dem Sie aufbauen können, bis Sie ein funktionierendes Design gefunden haben. Wenn Sie beispielsweise einen Kalender erstellen möchten, besteht Ihr Prototyp aus einem einfachen Kalender (mit den richtigen Daten!) und eine Möglichkeit, Termine darin einzutragen.
  • Dieser Prototyp wird sich während des Entwicklungszyklus mehrmals ändern, wenn Sie neue Wege zur Problemlösung finden oder neue Ideen mitnehmen.
  • Der Prototyp muss nicht schön aussehen. Tatsächlich sollte Grafikdesign das Letzte sein, woran Sie denken. Um das Kalenderbeispiel noch einmal zu zitieren, Ihr Prototyp wird hauptsächlich aus Text bestehen.
    Bildtitel Develop Software Step 11
  • 4. Teste ständig weiter. Bugs sind der Fluch jedes Entwicklers. Fehler im Code und unvorhergesehene Verwendung können alle Arten von Problemen im Endprodukt verursachen. Während Sie Ihre Arbeit an dem Projekt fortsetzen, müssen Sie weiter testen. Tun Sie alles, um Ihr Programm zum Absturz zu bringen und Fehler zu verursachen, dann lassen Sie diese Fehler beheben. Lassen Sie Freunde und Familie Ihr Programm testen und zeigen Sie an, wo es schief geht. Jedes Feedback, das Ihnen helfen kann, den Entwicklungsprozess zu verbessern, ist willkommen.
  • Probieren Sie im Voraus seltsame Daten aus, wenn Ihr Programm Daten als Eingabe benötigt. Wirklich alte Daten oder Daten, die weit in der Zukunft liegen, können dazu führen, dass das Programm seltsame Ergebnisse liefert.
  • Geben Sie falsche Variablen ein. Wenn Sie beispielsweise ein Formular erstellt haben, in dem Sie nach dem Alter des Benutzers gefragt haben, geben Sie ein Wort ein und sehen Sie, was passiert.
  • Wenn Ihr Programm eine grafische Oberfläche hat, klicken Sie auf alles, was lose ist. Was passiert, wenn Sie zum vorherigen Bildschirm wechseln oder auf die Schaltflächen in der falschen Reihenfolge klicken??
    Bildtitel Develop Software Step 12
  • 5. Polieren Sie Ihre Projekte. Es ist zwar in Ordnung, einen groben Entwurf eines Projekts für das Prototyping und die Entwicklung zu erstellen, aber wenn Sie möchten, dass andere es verwenden, müssen Sie einige Zeit damit verbringen, es fertig zu stellen. Das bedeutet, dass die Menüs logisch aufgebaut sind, die Benutzeroberfläche (UI) klar und einfach zu bedienen ist, keine auffälligen oder störenden Fehler mehr vorhanden sind und dass sie glatt aussieht.
  • UI-Design und -Funktionalität können extrem schwierig und komplex sein. Es ist ein komplett separates Feld. Achte auf jeden Fall darauf, dass deine persönlichen Projekte einfach zu handhaben sind und gut aussehen. Eine professionelle Benutzeroberfläche ist ohne ein angemessenes Budget und ein Team möglicherweise nicht möglich.
  • Hast du das Geld, es gibt viele freiberufliche Grafikdesigner, die eine Benutzeroberfläche für dich entwerfen könnten. Wenn Sie ein solides Projekt haben, von dem Sie hoffen, dass es ein Erfolg wird, finden Sie einen guten UI-Designer und machen Sie ihn / sie zu einem Teil Ihres Teams.
    Bildtitel Develop Software Step 13
  • 6. Veröffentlichen Sie Ihre Projekte auf GitHub. GitHub ist eine Open-Source-Community, in der Sie Code mit anderen teilen können. Dadurch erhalten Sie mehr Einblick in Ihren eigenen Code und lassen andere von den von Ihnen entwickelten Lösungen profitieren. GitHub ist eine großartige Ressource, von der Sie lernen können, und eine großartige Idee, um Ihr Portfolio zu füllen.
    Bildtitel Develop Software Step 14
    7. Die Verteilung Ihrer Software. Wenn Ihr Produkt fertig ist, können Sie es verteilen oder nicht. Dazu gibt es mehrere Möglichkeiten, je nachdem, welche Art von Software Sie erstellt haben.
  • Eine der häufigsten Möglichkeiten für kleine Teams oder unabhängige Entwickler, ihre Software zu entwickeln, ist eine persönliche Website. Stellen Sie sicher, dass alle Funktionen gut dokumentiert sind und fügen Sie Screenshots und Tutorials hinzu. Wenn Sie die Software verkaufen, stellen Sie sicher, dass Sie über ein gutes digitales Zahlungssystem und einen Server verfügen, von dem die Software heruntergeladen werden kann.
  • Wenn Ihre Software für ein bestimmtes Gerät oder Betriebssystem entwickelt wurde, können Sie mehrere digitale Stores verwenden. Wenn Sie beispielsweise Software für Android-Geräte erstellen, können Sie Apps über den Google Play Store, den Amazon App Store oder Ihre eigene Website verkaufen.
  • Teil 3 von 3: Einen Job bekommen

    Bildtitel Develop Software Step 15
    1. Jobs als Freelancer finden. Diese zahlen zwar nicht so gut wie ein regulärer Job, aber Sie können sicherlich daran arbeiten, Ihr Portfolio zu füllen, indem Sie freiberufliche Jobs machen. Überprüfe Websites wie Elance und ODesk, um Arbeit zu finden. Obwohl es schwierig sein kann, einen ersten Auftrag zu bekommen, wird es viel einfacher, wenn es erledigt ist.
    • Hacker News ist eine großartige Ressource, um freiberufliche Jobs zu finden. Sehen Sie sich den Abschnitt "Fragen" an.
    • Obwohl es verlockend sein kann, niedrig zu wetten, um einen Auftrag zu erhalten, ist es unklug, deine Fähigkeiten zu billig anzubieten. Sie arbeiten dann nicht nur für weniger, als Sie verdienen, sondern ärgern auch andere in Ihrem Bereich, was Ihrem Netzwerk nicht gut tut.
    • Manchmal kann eine gute Auftragsarbeit zu einer Festanstellung führen. Setzen Sie immer Ihren besten Fuß nach vorne!
    Bildtitel Develop Software Step 16
    2. Möglichst vernetzen. Gehen Sie zu so vielen Conventions und Hack-a-Thons wie möglich. Sie werden nicht nur mehr Code und zu lösende Probleme sehen, sondern auch andere Leute treffen, die in dieser Branche arbeiten. Ungeachtet dessen, was man über Programmierer sagen könnte (die alleine in einem dunklen Keller arbeiten), sind die meisten Vollzeitentwickler Teil eines Teams und Netzwerken ist für sie genauso wichtig wie in jedem anderen Bereich.
    Bildtitel Develop Software Step 17
    3. Bewerben Sie sich auf Festanstellungen. Nachdem Sie eine Reihe von freiberuflichen Aufgaben abgeschlossen haben, können Sie Ihren Lebenslauf und Ihr Portfolio an größere Unternehmen senden, die auf der Suche nach einer Festanstellung sind. Neben Monster und Indeed gibt es mehrere entwicklerorientierte Jobbörsen, darunter GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite und Hacker News.
    Bildtitel Develop Software Step 18
    4. Lernen Sie mehrere Fähigkeiten. Ein guter Softwareentwickler beherrscht in der Regel mehrere Programmiersprachen. Obwohl Sie durch die Arbeit viel lernen werden, ist es gut, einen Teil Ihrer Zeit für das Studium zu nutzen und die Grundlagen von 1 oder 2 weiteren Programmiersprachen zu beherrschen. Dies erleichtert den Übergang zu neuen Projekten erheblich und macht Sie zu einem besseren Kandidaten für bestimmte Positionen.
    Bildtitel Develop Software Step 19
    5. Mach dir keine Sorgen um die Belohnung. Nicht jede Einstiegsposition als Softwareentwickler wird Sie in 6-stelligen Beträgen bezahlen. Tatsächlich wird dir keiner dieser Jobs das bringen. Die gute Nachricht bei der Softwareentwicklung ist jedoch, dass Sie damit eine sehr starke Position auf dem Arbeitsmarkt haben. Wenn Sie das Gefühl haben, dass Sie dort, wo Sie jetzt sind, nicht genug verdienen, ist es einfach, den Job zu wechseln, wenn Sie die richtigen Fähigkeiten haben. Behandeln Sie Ihre ersten Jobs/Aufgaben als notwendige Erfahrung, anstatt sich auf Ihre Altersvorsorge zu konzentrieren.

    Оцените, пожалуйста статью