Om `n sagteware-ontwikkelaar te wees, is `n winsgewende loopbaanplan. Dit is mense met `n paar ernstige bemarkbare vaardighede. Maar wat doen hulle presies? Aangesien jy waarskynlik nie kan klop nie, moet jy dit aansluit. Het u die tegnologie-spaarsaamheid en die gehoorverwantskap om `n goeie produk te ontwikkel? Met `n bietjie dinkskrums - en natuurlik, begin met stap 1 hieronder - sal jy!
Stappe
Deel 1 van 3:
Leer die toue
1. Bepaal watter basiese tipe sagteware-ontwikkeling jou belangstel. Daar is twee basiese tipe kampe van sagteware-ontwikkeling: Aansoeke Ontwikkeling en Stelselontwikkeling. Aansoeke Ontwikkeling is gefokus op die skep van programme wat aan die gebruikers se behoeftes voldoen. Dit kan wissel van selfoonprogramme, tot hoëproduksie-videospeletjies, na Enterprise-vlak-rekeningkundige sagteware. Stelselontwikkeling fokus op die skep en instandhouding van bedryfstelsels deur gebruik te maak van lewensiklusontwikkeling. Stelselontwikkeling behels dikwels netwerkoperasie en datasekuriteit.

2. Leer jouself `n programmeertaal. Enigeen kan met idees opkom, maar `n ontwikkelaar sal die idees in iets tasbaar kan verander. Selfs as jy net op die ontwerpaspekte van sagteware wil werk, moet jy `n bietjie vertroudheid hê met kodering en in staat wees om basiese prototipes te skep. Daar is `n groot verskeidenheid programmeringstale wat jy self kan leer. Van die nuttiger en belangrikste sluit in:
C - C is een van die ouer tale wat nog in gebruik is, en is die basis vir die meeste ander tale op hierdie lys. C word gebruik om laevlakprogramme te ontwikkel en werk baie nou saam met die rekenaar se hardeware.C++ - Dit is die objekgeoriënteerde weergawe van C, en is die gewildste programmeertaal in die wêreld. Programme soos Chrome, Firefox, Photoshop, en baie ander is almal gebou met C++. Dit is ook `n baie gewilde taal vir die skep van videospeletjies. C + + ontwikkelaars is amper altyd in baie hoë aanvraag.Java - Dit is `n evolusie van die C + + taal, en word gebruik om die gemak van oordraagbaarheid te behaal. Byna enige stelsel kan `n Java-virtuele masjien bestuur, sodat dit java sagteware kan bestuur. Dit word wyd gebruik in videospeletjies en besigheidsagteware, en baie mense beveel dit aan as `n noodsaaklike taal.C # - C # is `n Windows-gebaseerde taal wat deel is van die .Netto raamwerk van Microsoft. Dit is nou verwant aan Java en C ++, en as jy Java leer, kan jy vinnig na C #. Hierdie taal is veral nuttig vir ontwikkelaars wat met Windows of Windows Phone-sagteware werk.Objektief-c - Dit is `n ander neef van die C-taal wat spesifiek ontwerp is vir Apple-stelsels. Dit sien groot gewildheid in iPhone en iPad-programme. Dit is `n goeie taal om as `n vryskut te leer.Python - Dit is `n ongelooflike maklike taal om te leer, een van die maklikste. Python spesialiseer in webontwikkeling.Php - Dit is nie presies sagteware-ontwikkeling nie, maar PHP is noodsaaklik indien u belangstel om in webontwikkeling te kom. Daar is altyd baie werk vir PHP-ontwikkelaars, alhoewel dit nie so winsgewend is as sagteware-ontwikkeling nie.
3. Vind hulpbronne om jou te help leer. Die meeste boekwinkels het hele afdelings toegewy aan programmeerboeke, en daar is tonne beskikbaar op Amazon en ander e-tasters. `N Goed geskrewe programmeringsboek sal waarskynlik die beste bron wees wat u kan hê, en sal u toelaat om dit vinnig te verwys terwyl u aan projekte werk.
Buite boeke is die internet `n eindelose skatkis van gidse en tutoriale. Soek vir gidse oor die taal van u keuse op webwerwe soos CODEACADIDE, KODE.Org, Bento, Udacity, Udemy, Khan Akademie, W3Schools, en nog baie meer.
4. Neem `n paar klasse. Terwyl jy nie `n volwaardige graad nodig het om in sagteware-ontwikkeling te kry nie, kan dit nie seer wees om `n paar klasse by jou plaaslike gemeenskapskollege of leersentrum te neem nie. Dit sal u die voordeel van een-tot-een-opdrag gee, en u sal uitgedaag word om probleme op te los wat u waarskynlik nie sou doen as u op u eie leer nie.
Klasse kos geld, dus maak seker dat jy inteken vir klasse wat jou sal help om te leer wat jy wil weet.Terwyl baie ontwikkelaars in staat is om die bedryf te betree, gebaseer op die meriete van hul vaardighede, sal jy jouself help om uit die pak uit te staan as jy `n baccalaureusgraad in Rekenaarwetenskap vanuit `n vierjaar-universiteit het. `N Graad sal u `n wyer agtergrond van kennis gee en u toegang gee tot addisionele nuttige klasse soos wiskunde en logika.
5. Werk op troeteldierprojekte. Voordat jy begin probeer om jou nuwe programmeringsvaardighede toe te pas op werklike werkgeleenthede, werk op sommige projekte vir jouself. Daag jouself uit om probleme op te los deur jou programmeertaal te gebruik. Nie net sal dit help om jou vaardighede te ontwikkel nie, dit sal ook help om jou CV te bou.
Byvoorbeeld, in plaas daarvan om jou rekenaar se kalenderprogram te gebruik om georganiseer te bly, probeer om jou eie te ontwerp! As jy belangstel Video spel ontwikkeling, Werk op eenvoudige speletjies wat nie op grafiese of komplekse meganika fokus nie. In plaas daarvan, fokus op die maak van hulle pret en uniek. `N Versameling van klein speletjies wat jy self geskep het, sal in jou portefeulje goed lyk. Deskundige Wenk
Gene Linetsky, MS
Opstart stigter en ingenieurswese DirekteurGene Linetsky is `n opstart stigter en sagteware ingenieur in die San Francisco Bay Area. Hy het al meer as 30 jaar in die tegnologiebedryf gewerk en is tans die Direkteur van Ingenieurswese by Poynt, `n Tegnologie-maatskappybou-smart-punt-van-verkoop-terminale vir besighede.
Gene Linetsky, MS
Opstart Founder & Engineering Director
Hands-on-ervaring is jou beste leerinstrument. Volgens Gene Linetsky, `n sagteware-ingenieur en opstart stigter: "Om `n sagteware-ingenieur te wees, het nie die vermoë om te program nie - dit is alles wat nodig is om jou kode te maak in `n werklike produk wat deur die werklike mense gebruik word. Dan, wanneer jy dit doen, sal jou kliënte gewoonlik terugkom en sê: `Dit werk nie` of `wat nie werk nie.` Die siklus van die handhawing van u eie dinge is die werklike opleiding van `n sagteware-ingenieur."

6.
Vra vrae. Die internet is `n fantastiese manier om met ander ontwikkelaars te skakel. As jy jouself op een van jou projekte stamp, vra vir hulp op webwerwe soos stackroverflow. Maak seker dat jy
Vra op `n intelligente wyse en kan bewys dat jy reeds verskeie moontlike oplossings probeer het.

7. Oefen elke dag. Werk elke dag op jou troeteldierprojekte, selfs al is dit net vir `n uur. Dit sal jou help om vars te bly en voortdurend nuwe tegnieke te leer. Baie ontwikkelaars het sukses behaal om `n taal te leer deur te verseker dat hulle daagliks daaraan blootgestel word.
Stel `n tyd elke dag wat jy kan toewy aan kodering, of stel `n sperdatum wat jy moet voltooi deur. Probeer elke dag gedurende die week op u projekte werk sodat u op u naweek kan ontspan.Deel 2 van 3:
Ontwikkeling van `n program
1
Dinkskrum idees. `N Goeie program sal `n taak uitvoer wat die lewe makliker maak vir die gebruiker. Kyk na die sagteware wat tans beskikbaar is vir die taak wat jy wil doen, en kyk of daar maniere is dat die proses makliker of gladder kan wees. `N Suksesvolle program is een wat gebruikers baie nut sal vind.
- Ondersoek jou daaglikse take op jou rekenaar. Is daar een of ander manier dat jy `n gedeelte van daardie take met `n program kan outomatiseer?
- Skryf elke idee neer. Selfs as dit destyds dom of buitekant lyk, kan dit in iets nuttigs of selfs briljant verander.
- Ondersoek ander programme. Wat doen hulle? Hoe kan hulle dit beter doen? Wat ontbreek hulle? Om hierdie vrae te beantwoord, kan u help om idees vir u eie aan te spreek.

2. Skryf `n ontwerp dokument. Hierdie dokument sal die kenmerke en wat u van plan is om met die projek te bereik, uiteensit. Met verwysing na die ontwerpdokument tydens die ontwikkelingsproses sal u projek op die regte pad en gefokus hou. Sien Hierdie gids Vir besonderhede oor die skryf van die dokument.

3. Skep `n prototipe. Dit is `n basiese program wat die funksionaliteit toon wat jy wil bereik. `N Prototipe is `n vinnige program, en moet seker wees totdat jy `n ontwerp vind wat werk. Byvoorbeeld, as jy `n kalenderprogram skep, sal jou prototipe `n basiese kalender wees (met korrekte datums!) en `n manier om gebeurtenisse by te voeg.
Jou prototipe sal dikwels tydens die ontwikkelingsiklus verander, aangesien jy nuwe maniere opduik om probleme aan te pak of te dink aan `n idee later wat jy wil inkorporeer.Die prototipe hoef nie mooi te wees nie. Trouens, kuns en ontwerp moet een van die laaste dinge wees waarop jy fokus. Gebruik die kalendervoorbeeld weer, jou prototipe moet waarskynlik net teks wees.
4. Toets dit oor en oor. Bugs is die baan van elke ontwikkelaar. Foute in die kode en onverwagte gebruik kan allerhande probleme in `n finale produk veroorsaak. Soos u voortgaan om op u projek te werk, toets dit soveel as moontlik. Doen alles wat jy kan om dit te breek, en probeer dan om dit te laat breek in die toekoms. Het vriende en familie toets jou program en rapporteer resultate terug. Enige manier waarop jy terugvoer kan kry, sal jou ontwikkelingsproses help.
Probeer om vreemde datums in te voer indien u program met datums handel. Baie ou datums of ver toekomstige datums kan vreemde reaksies met die program veroorsaak.Voer die verkeerde soort veranderlikes in. Byvoorbeeld, as u `n vorm het wat die gebruiker se ouderdom vra, betree in plaas daarvan en kyk wat met die program gebeur. As u program `n grafiese koppelvlak het, klik op alles. Wat gebeur as jy teruggaan na `n vorige skerm, of klik knoppies in die verkeerde volgorde?
5. Pools jou projekte. Alhoewel dit goed is om `n rowwe projek vir die prototipe en ontwikkelingsfase te maak, as jy wil hê dat ander dit moet gebruik, moet jy tyd op Pools spandeer. Dit beteken om seker te maak dat die spyskaarte logies kan vloei, die gebruikerskoppelvlak (UI) is skoon en maklik om te gebruik, daar is geen skelm of vertoning van foute nie, en dat dit in `n mooi afwerking bedek is.
UI ontwerp en funksionaliteit kan baie moeilik en kompleks wees. Mense maak hele loopbane uit die ontwerp van UIS. Maak net seker dat u persoonlike projek maklik is om te gebruik en maklik op die oë. `N Professionele UI is dalk nie moontlik sonder `n begroting en `n span nie.As u die begroting het, is daar baie freelance grafiese ontwerpers wat moontlik `n UI op kontrak kan ontwerp vir u. As jy `n soliede projek het wat jy hoop, sal die volgende groot ding word, vind `n goeie UI-ontwerper en maak hulle deel van jou span.
6. Plaas jou projekte op Github. Github is `n oopbrongemeenskap wat jou toelaat om jou kode met ander te deel. Dit sal jou toelaat om insig te kry op jou eie kode, asook om ander te bevoordeel wat op soek is na oplossings wat jy dalk opgedoen het. Github is `n goeie leerbron sowel as `n goeie manier om jou portefeulje te bou.

7. Versprei jou sagteware. Sodra jy `n finale produk het, kan jy kies of jy dit wil versprei of nie. Daar is `n verskeidenheid maniere waarop jy dit deesdae kan doen, afhangende van die tipe sagteware wat jy geskep het.
Een van die mees algemene maniere vir klein spanne of onafhanklike ontwikkelaars om hul sagteware te versprei, is deur `n persoonlike webwerf. Maak seker dat al jou funksies goed gedokumenteer is, en sluit `n paar skermkiekies en tutoriale in. As u u sagteware verkoop, maak seker dat u `n goeie digitale betaalstelsel en `n bediener het om die sagteware te versprei.As u sagteware vir `n spesifieke toestel of bedryfstelsel ontwikkel, is daar verskeie digitale winkels wat u moontlik kan gebruik. Byvoorbeeld, as jy sagteware vir Android-toestelle maak, kan jy jou program verkoop deur die Google Play-winkel, die Amazon App Store, of jou eie persoonlike webwerf.Deel 3 van 3:
Werk kry
1.
Neem kontrakwerk. Alhoewel dit nie ook sal betaal nie en minder betroubaar is as voltydse indiensneming, kan u u portefeulje aansienlik grootmaat deur `n reeks kontrakwerk te neem. Gaan sitplekke soos Elance en Odesk (ook bekend as "Oppad" nou) om werk te kry. Terwyl dit moeilik kan wees om oorweeg te word vir `n kontrak, sodra jy jou eerste een kry, kry dit baie makliker.
- Hacker News is `n goeie bron vir kontrak en vryskut werk. Kyk die "Vra" gedeelte.
- Alhoewel dit aanloklik kan wees om laag te bied om `n kontrakwerk te verseker, moenie jou dienste kort verkoop nie. Nie net sal jy uiteindelik meer werk vir minder as wat jy verdien nie, jy sal ook ander in jou veld woed, wat lei tot minder netwerk.
- Goeie werk op `n kontrakwerk kan soms tot `n voltydse posisie lei. Sit altyd jou beste voet vorentoe!

2
Netwerk soveel as moontlik. Woon soveel konvensies en hack-a-thons by as wat jy moontlik kan. Nie net sal dit jou blootstel aan meer kode en probleme om op te los nie, sal dit ook help om ander mense in die bedryf te ontmoet. Ten spyte van wat jy kan dink oor programmeerders wat alleen in hul kelder werk, is die meerderheid voltydse ontwikkelaars deel van `n span en netwerk is net so belangrik soos enige ander veld.

3. Doen aansoek vir voltydse posisies. Sodra jy `n paar kontrakgeleenthede onder jou band het, kan jy jou CV en portefeulje begin stuur na groter organisasies vir voltydse indiensneming. Behalwe Monster en inderdaad, is daar `n verskeidenheid ontwikkelaarspesifieke werkswebwerwe waarna u moet kyk, insluitend Github Jobs, Stackoverflow-werksraad, andellist, Crunchboard, Hirelite en Hacker News.

4. Diversifiseer jou vaardighede. `N Goeie sagteware-ontwikkelaar is gewoonlik vaardig in meer as een taal. Terwyl baie van wat jy leer, sal op die werk wees, gebruik van jou vrye tyd om jou kennis uit te brei en die basiese beginsels van `n ander taal of twee te leer. Dit sal die oorgang na nuwe projekte baie makliker maak en sal jou `n baie meer wenslike werkkandidaat maak.

5. Moenie bekommerd wees oor die betaling nie. Nie elke intreevlak sagteware-ontwikkelingswerk gaan ses syfers betaal nie. Trouens, nie een van hulle sal nie. Die goeie ding oor sagteware-ontwikkeling is egter dat die arbeidsmark ongelooflik sterk is. As jy voel dat jy nie genoeg verdien waar jy by is nie, is dit relatief maklik om na `n nuwe posisie in `n nuwe maatskappy te beweeg (as jy die vaardighede het). Behandel jou eerste paar werksgeleenthede as die nodige ervaring in plaas van om op jou aftreeplan te fokus.
Deel op sosiale netwerke: