Hoe software te ontwikkelen

Een software-ontwikkelaar zijn is een lucratief carrièreplan. Dat zijn mensen met een aantal serieuze verhandelbare vaardigheden. Maar wat doen ze precies? Omdat je ze waarschijnlijk niet kunt verslaan, moet je meedoen. Heb je de tech-scaviness en de relatabiliteit van het publiek om een ​​goed product te ontwikkelen? Met een beetje brainstormen - en, natuurlijk, beginnend met stap 1 hieronder - doe je!

Stappen

Deel 1 van 3:
De touwen leren
  1. Titel afbeelding Ontwikkel Software Stap 1
1. Bepaal welk basistype van softwareontwikkeling u interesseert. Er zijn twee basistype-kampen van softwareontwikkeling: Applicatie ontwikkeling en Systems Development. Toepassingen Ontwikkeling is gericht op het maken van programma`s die voldoen aan de behoeften van de gebruikers. Deze kunnen variëren van apps van mobiele telefoons, naar videogames met high-productie, aan boekhoudsoftware van Enterprise-Level. Systems Development is gericht op het maken en onderhouden van besturingssystemen met behulp van Life-Cycle Development. Systemen-ontwikkeling omvat vaak netwerkbedienbaarheid en gegevensbeveiliging.
  • Titel afbeelding Developled Software Stap 2
    2. Leer jezelf een programmeertaal. Iedereen kan ideeën bedenken, maar een ontwikkelaar zal die ideeën kunnen veranderen in iets tastbaars. Zelfs als u alleen aan de ontwerpaspecten van software wilt werken, moet u een vertrouwdheid hebben met coderen en elementaire prototypen kunnen maken. Er zijn een enorme verscheidenheid aan programmeertalen die je jezelf kunt leren. Enkele van de nuttiger en belangrijke omvatten:
  • C - C is een van de oudere talen die nog steeds in gebruik is en is de basis voor de meeste andere talen op deze lijst. C wordt gebruikt om programma`s op laag niveau te ontwikkelen en werkt zeer nauw samen met de hardware van de computer.
  • C++ - Dit is de objectgeoriënteerde versie van C, en is de meest populaire programmeertaal in de wereld. Programma`s zoals Chrome, Firefox, Photoshop en vele anderen zijn allemaal gebouwd met C++. Het is ook een zeer populaire taal voor het maken van videogames. C ++ ontwikkelaars zijn bijna altijd in een zeer hoge vraag.
  • Java - Dit is een evolutie van de C ++ taal en wordt gebruikt om het gemak van draagbaarheid te zijn. Bijna elk systeem kan een Java-virtuele machine uitvoeren, waardoor het Java-software kan uitvoeren. Het wordt veel gebruikt in videogames en bedrijfssoftware, en veel mensen bevelen het aan als een essentiële taal.
  • C # - C # is een op Windows gebaseerde taal die deel uitmaakt van de .Netto framework van Microsoft. Het is nauw verwant aan Java en C ++ en als je Java leert, kun je snel overgaan naar C #. Deze taal is vooral handig voor ontwikkelaars die werken met Windows- of Windows-telefoonsoftware.
  • Doelstelling C - Dit is een andere neef van de C-taal die speciaal is ontworpen voor Apple Systems. Het ziet een immense populariteit in iPhone en iPad-apps. Het is een geweldige taal om te leren als een freelancer.
  • Python - Dit is een ongelooflijk gemakkelijke taal om te leren, een van de gemakkelijkste. Python is gespecialiseerd in Web Development.
  • Php - Dit is niet exact-softwareontwikkeling, maar PHP is essentieel als u geïnteresseerd bent in de ontwikkeling van webontwikkeling. Er is altijd veel werk voor PHP-ontwikkelaars, hoewel het niet zo lucratief is als softwareontwikkeling.
  • Titel afbeelding Ontwikkel Software Stap 3
    3. Vind bronnen om u te helpen leren. De meeste boekwinkels hebben hele secties gewijd aan het programmeren van boeken, en er zijn ton beschikbaar op Amazon en andere e-tailers. Een goed geschreven programmeerboek zal waarschijnlijk de beste bron zijn die u kunt hebben en kunt u het snel verwijzen tijdens het werken aan projecten.
  • Naast boeken is het internet een eindeloze schat-trove van gidsen en tutorials. Zoeken naar gidsen over de taal van uw keuze op sites zoals Codeacademy, Code.Org, Bento, Udacity, Udemy, Khan Academy, W3schools en nog veel meer.
  • Titel afbeelding Developled Software Stap 4
    4. Neem wat lessen. Terwijl u geen volledige graad nodig hebt om in softwareontwikkeling te komen, kan het geen pijn doen om een ​​paar klassen op uw lokale gemeenschapscollege of leercentrum te nemen. Dit geeft u het voordeel van een-op-een-instructie, en u zult worden uitgedaagd om problemen op te lossen die u waarschijnlijk niet zou doen als u alleen maar aan het leren was.
  • Klassen kosten geld, dus zorg ervoor dat u zich aanmeldt voor klassen die u zullen helpen om te leren wat u wilt weten.
  • Hoewel veel ontwikkelaars in staat zijn om de industrie in te voeren op puur op de verdiensten van hun vaardigheden, helpt u jezelf uit het pakket te onderscheiden als u een bachelor in de informatica van een vierjarige universiteit heeft. Een graad geeft je een bredere achtergrond van kennis en geeft je toegang tot extra behulpzame klassen zoals wiskunde en logica.
  • Titel afbeelding Developled Software Stap 5
    5. Werk aan PET-projecten. Voordat u begint met het proberen om uw nieuwe programmeervaardigheden toe te passen op real-world banen, werk dan aan sommige projecten voor uzelf. Daag jezelf uit om problemen op te lossen met behulp van je programmeertaal. Niet alleen zal dit helpen bij het ontwikkelen van je vaardigheden, het zal ook helpen om je CV te bouwen.
  • Bijvoorbeeld, in plaats van het kalenderprogramma van uw computer te gebruiken om georganiseerd te blijven, probeer dan het ontwerpen van uw eigen!
  • Als je geïnteresseerd bent in ontwikkeling van videogames, Werk aan eenvoudige games die zich niet concentreren op grafische of complexe mechanica. In plaats daarvan, focus op waardoor ze leuk en uniek zijn. Een verzameling kleine spellen die je jezelf hebt gemaakt, ziet er geweldig uit in je portfolio.
  • Expert tip
    Gen Linetsky, MS

    Gen Linetsky, MS

    Startup Founder & Engineering DirectorGene Linetsky is een opstartbrief en software-ingenieur in het gebied San Francisco Bay. Hij heeft al meer dan 30 jaar in de technische industrie gewerkt en is momenteel de directeur van Engineering in Poynt, een technologiebedrijf Smart Point-Of-Sale Terminals voor bedrijven.
    Gen Linetsky, MS
    Gen Linetsky, MS
    Start-Oprichter & Engineering Director

    Hands-on ervaring is je beste leermiddel. Volgens Gene Linetsky, een Software Engineer en Startup Founder: "Een software-ingenieur hebben heeft niet de mogelijkheid om te programmeren - het is al het andere dat nodig is om uw code in een daadwerkelijk product te maken dat door werkelijke mensen wordt gebruikt. Toen, wanneer u dat doet, komen uw klanten meestal terug en zeggen: `Dit werkt niet,` of `dat werkt niet.` De cyclus van het handhaven van uw eigen spullen is de echte opleiding van een software-ingenieur."

  • Titel afbeelding Developled Software Stap 6
    6. Vragen stellen. Het internet is een fantastische manier om verbinding te maken met andere ontwikkelaars. Als je bevindt dat je op een van je projecten stumpeerde, vraag dan om hulp op sites zoals Stackoverflow. Zorg ervoor dat u Vraag op een intelligente manier en kan bewijzen dat je al verschillende mogelijke oplossingen hebt geprobeerd.
  • Titel afbeelding Developled Software Stap 7
    7. Oefen elke dag. Werk elke dag aan uw huisdierprojecten, zelfs al slechts voor een uur. Dit zal je helpen om vers te blijven en voortdurend nieuwe technieken te leren. Veel ontwikkelaars hebben succes gehad met het leren van een taal door ervoor te zorgen dat ze er dagelijks aan worden blootgesteld.
  • Stel elke dag een tijd in die u kunt wijden aan codering, of een deadline instellen die u moet afsluiten. Probeer elke dag in de week aan je projecten te werken, zodat je kunt ontspannen in je weekend.
  • Deel 2 van 3:
    Een programma ontwikkelen
    1. Titel afbeelding Developled Software Stap 8
    1
    Brainstorm ideëen. Een goed programma zal een taak uitvoeren die het leven voor de gebruiker gemakkelijker maakt. Kijk naar de software die momenteel beschikbaar is voor de taak die u wilt uitvoeren en kijk of er manieren zijn die het proces gemakkelijker of soepeler zou kunnen zijn. Een succesvol programma is er een die gebruikers veel hulpprogramma zullen vinden.
    • Onderzoek uw dagelijkse taken op uw computer. Is er een manier waarop u een deel van die taken met een programma kunt automatiseren?
    • Noteer elk idee. Zelfs als het op het moment dom of buitenland is, kan het veranderen in iets nuttigs of zelfs briljant.
    • Onderzoek andere programma`s. Wat doen ze? Hoe kunnen ze het beter doen? Wat ontbreken ze? Het beantwoorden van deze vragen kan u helpen bij het bedenken van ideeën voor uw eigen neem.
  • Titel afbeelding Developled Software Stap 9
    2. Schrijf een ontwerpdocument. Dit document bevat de functies en wat u van plan bent te bereiken met het project. Verwijzend naar het ontwerpdocument tijdens het ontwikkelingsproces zal u helpen uw project op het goede spoor en gericht te houden. Zien deze gids Voor meer informatie over het schrijven van het document.
  • Titel afbeelding Ontwikkel Software Stap 10
    3. Maak een prototype. Dit is een basisprogramma dat de functionaliteit uitstelt die u wilt bereiken. Een prototype is een snel programma en moet worden geïmplementeerd totdat u een ontwerp vindt dat werkt. Als u bijvoorbeeld een kalenderprogramma maakt, is uw prototype een eenvoudige kalender (met juiste data!) en een manier om gebeurtenissen toe te voegen.
  • Je prototype zal vaak veranderen tijdens de ontwikkelingscyclus terwijl je een nieuwe manieren bedenkt om problemen aan te pakken of een idee na te denken over een idee dat je wilt incorporeren.
  • Het prototype hoeft niet mooi te zijn. In feite moeten kunst en ontwerp een van de laatste dingen zijn waar je je richt op. Met behulp van het kalendervoorbeeld, moet uw prototype waarschijnlijk gewoon tekst zijn.
  • Titel afbeelding Ontwikkel Software Stap 11
    4. Test het steeds opnieuw. Bugs zijn de vloek van elke ontwikkelaar. Fouten in code en onverwacht gebruik kunnen allerlei problemen veroorzaken in een eindproduct. Terwijl je blijft werken aan je project, test het zo veel mogelijk. Doe alles wat je kunt om het te breken en probeer dan in de toekomst te blijven breken. Heb vrienden en familie test je programma en rapporteer resultaten terug. Elke manier die u feedback kunt krijgen, helpt uw ​​ontwikkelingsproces.
  • Probeer oneven datums in te voeren als uw programma deals behandelt met datums. Echt oude data of verre toekomst datums kunnen oneven reacties veroorzaken bij het programma.
  • Invoer de verkeerde soort variabelen. Als u bijvoorbeeld een formulier hebt dat vraagt ​​om de leeftijd van de gebruiker, voert u in plaats daarvan in een woord en kijk wat er met het programma gebeurt.
  • Als uw programma een grafische interface heeft, klikt u op alles. Wat gebeurt er wanneer u teruggaat naar een vorig scherm of klik op knoppen in de verkeerde volgorde?
  • Titel afbeelding Developled Software Stap 12
    5. Pools uw projecten. Hoewel het goed is om een ​​ruig project te maken voor de prototyping en ontwikkelingsfase, als u wilt dat anderen het gebruiken, moet u wat tijd doorbrengen op Pools. Dit betekent dat de menu`s logischerwijs logisch zijn, de gebruikersinterface (UI) is schoon en gemakkelijk te gebruiken, er zijn geen schitterende of showstopping-insecten, en dat het gecoat is in een mooie afwerking.
  • UI-ontwerp en functionaliteit kunnen heel moeilijk en complex zijn. Mensen maken hele carrière uit het ontwerpen van UIS. Zorg ervoor dat uw persoonlijke project gemakkelijk te gebruiken en gemakkelijk in de ogen is. Een professionele UI is mogelijk niet mogelijk zonder een budget en een team.
  • Als u het budget hebt, zijn er veel freelance grafische ontwerpers die mogelijk een UI op contract voor u kunnen ontwerpen. Als je een solide project hebt dat je in de hoop het volgende grote ding zult worden, vind je een goede UI-ontwerper en maak ze deel uit van je team.
  • Titel afbeelding Ontwikkel Software Stap 13
    6. Zet je projecten op Github. Github is een open-source-community waarmee u uw code met anderen kunt delen. Hiermee kunt u inzicht krijgen in uw eigen code en voordelen van anderen die op zoek zijn naar oplossingen die u mogelijk hebt bedacht. Github is een geweldige leerbronnen en een goede manier om je portfolio te bouwen.
  • Titel afbeelding Developled Software Stap 14
    7. Distribueer uw software. Zodra u een afgewerkt product hebt, kunt u kiezen of u het wilt distribueren. Er zijn verschillende manieren die u deze dagen kunt doen, afhankelijk van het type software dat u hebt gemaakt.
  • Een van de meest voorkomende manieren voor kleine teams of onafhankelijke ontwikkelaars om hun software te distribueren, is via een persoonlijke website. Zorg ervoor dat al uw functies goed gedocumenteerd zijn en sommige screenshots en tutorials bevatten. Als u uw software verkoopt, moet u ervoor zorgen dat u een goed digitaal betalingssysteem en een server hebt om de software van te distribueren.
  • Als u software voor een specifiek apparaat of besturingssysteem ontwikkelt, zijn er meerdere digitale winkels die u mogelijk kunt gebruiken. Als u bijvoorbeeld software voor Android-apparaten maakt, kunt u uw app verkopen via de Google Play Store, de Amazon App Store of uw eigen persoonlijke website.
  • Deel 3 van 3:
    Aan het werk komen
    1. Titel afbeelding Ontwikkel software Stap 15
    1. Neem contractobjecten. Hoewel deze niet zo goed betalen en minder betrouwbaar zijn dan full-time werkgelegenheid, kunt u uw portfolio aanzienlijk bulden door een reeks contractbanen te nemen. Controleer sites zoals Elance en Odesk (ook bekend als "Upwork" nu) om werk te vinden. Hoewel het moeilijk kan zijn om in overweging te worden voor een contract, zodra u uw eerste krijgt, wordt het een stuk eenvoudiger.
    • Hacker News is een geweldige bron voor contract en freelance banen. Controleer de "Vragen" sectie.
    • Hoewel het verleidelijk kan zijn om te bieden om een ​​contractbaan te beveiligen, verkoop uw diensten niet kort. Niet alleen werkt u uiteindelijk meer voor minder dan u verdient, u zult ook anderen in uw vakgebied woeden, wat leidt tot minder netwerken.
    • Goed werk aan een contractjob kan soms leiden tot een full-time positie. Zet altijd je beste voet naar voren!
  • Titel afbeelding Ontwikkel Software Stap 16
    2
    Net zo veel mogelijk. Bijwonen zoveel conventies en hack-a-thons als u mogelijk. Niet alleen zal dit je blootstellen aan meer code en problemen om op te lossen, het zal je ook helpen om andere mensen in de industrie te ontmoeten. Ondanks wat u zou kunnen nadenken over programmeurs die alleen in hun kelder werken, maakt de meerderheid van full-time ontwikkelaars deel uit van een team en netwerken is net zo belangrijk als elk ander veld.
  • Titel afbeelding Developled Software Stap 17
    3. Aanvragen voor fulltime posities. Zodra u een paar contractbanen onder uw riem hebt, kunt u beginnen met het verzenden van uw CV en portfolio naar grotere organisaties voor full-time werkgelegenheid. Naast Monster en inderdaad, zijn er een verscheidenheid aan ontwikkelaarspecifieke vacaturesites waar je naartoe moet kijken, waaronder Github-banen, Stackoverflow Job Board, Angellist, Crunchboard, Hirelite en Hacker News.
  • Titel afbeelding Ontwikkel software stap 18
    4. Diversifieer je skillset. Een goede softwareontwikkelaar is meestal bekwaam in meer dan één taal. Hoewel veel van wat u leert, gebruikt u een deel van uw vrije tijd om uw kennis uit te breiden en de basisprincipes van een andere taal of twee te leren. Dit maakt overgang naar nieuwe projecten veel eenvoudiger en zal u een veel wenselijke kandidaat voor werk maken.
  • Titel afbeelding Developed Software Stap 19
    5. Maak je geen zorgen over de loon. Niet elke ingangssoftware-ontwikkelingsopdracht gaat zes cijfers betalen. In feite zal geen van hen. Het goede ding over softwareontwikkeling is echter dat de arbeidsmarkt ongelooflijk sterk is. Als je het gevoel hebt dat je niet genoeg verdient waar je bent, is het relatief eenvoudig om naar een nieuwe positie in een nieuw bedrijf te verhuizen (als je de vaardigheden hebt). Behandel je eerste paar banen als nodig ervaring in plaats van zich te concentreren op je pensioenplan.
  • Deel in het sociale netwerk:
    Vergelijkbaar