Deze wikiHow leert je hoe je kunt beginnen met het ontwikkelen en onderhouden van gratis, open source software in een programmeergemeenschap. Hoewel mensen die dit doen soms "softwarehackers" worden genoemd, is de positie zelf meer gericht op het maken en aanpassen van software dan op het inbreken ervan. Als je geïnteresseerd bent om het soort hacker te worden dat kwetsbaarheden in software of besturingssystemen zoekt en exploiteert, lees dan ons artikel over hacker worden.
Stappen
Stap 1. Begrijp wat softwareontwikkeling vereist
Software hacker zijn betekent dat u een groot deel van uw tijd zult besteden aan het bouwen, aanpassen en updaten van gratis software om gebruikers tevreden te stellen en uw software relevant te houden. Hiervoor moet u aan de volgende criteria voldoen:
- Een goed begrip hebben van zowel een systeemtaal (bijv. C++) als een programmeertaal (bijv. Python)
- Weet voor welk(e) platform(en) u wilt programmeren (bijv. Windows, Android, etc.)
- Wees bereid om veel tijd te besteden aan het leren over de door u geselecteerde talen, platforms en softwaregenre
Stap 2. Weet dat iedereen een gratis softwarehacker kan worden
In tegenstelling tot wat vaak wordt gedacht, is het hebben van een uitzonderlijk begrip van wiskunde, eerdere codeerkennis en/of een universitaire graad in computerwetenschappen (of iets dergelijks) niet nodig om te leren hoe je een vrije software-hacker kunt worden.
Zolang je legitiem geïnteresseerd bent om te leren hoe je software moet ontwikkelen en je bereid bent om waar nodig kritiek te accepteren, is er geen reden om te denken dat je niet succesvol een softwarehacker kunt worden
Stap 3. Bepaal je einddoel
Softwareontwikkeling kan voor alles worden gebruikt, van een eenvoudige bijhobby tot een fulltime carrière; Als u weet wat u wilt bereiken voordat u een programmeertaal gaat leren of een platform selecteert, kunt u zich op de weg concentreren.
- Hoewel het niet strikt noodzakelijk is, zal een diploma in informatica of softwareontwikkeling je helpen om je werk te bespoedigen als een carrière in softwareontwikkeling je einddoel is.
- Als uw doel eenvoudigweg is om een app of een programma te maken waarmee gebruikers een voorheen moeilijke of onmogelijke taak kunnen uitvoeren, zorg er dan voor dat de betreffende software niet al in ontwikkeling is.
Stap 4. Bepaal een platform waarop je wilt werken
Elk hoofdplatform (Windows, macOS, iOS, Android en Linux) heeft zijn eigen community, voorkeursprogrammeertalen en individuele behoeften. Weten op welk platform uw software van toepassing zal zijn voordat u zich in softwareontwikkeling stort, is cruciaal.
- Je kunt het beste op hetzelfde platform werken waarvoor je aan het ontwikkelen bent. Als u bijvoorbeeld een Android-app ontwikkelt, is het gebruik van een op Unix gebaseerd systeem zoals een Mac of een Linux-computer beter dan het gebruik van Windows.
- Linux is een veelgebruikte (en gratis) oplossing voor veel softwareontwikkelaars.
Stap 5. Selecteer een codeertaal
Er zijn twee soorten codeertalen; je moet ten minste één van elk leren voordat je begint met ontwikkelen, hoewel je uiteindelijk verschillende talen moet kennen:
- Systeemtalen - Een computertaal die wordt gebruikt om rechtstreeks met het systeem te communiceren. Veelvoorkomende voorbeelden zijn C, C++ en Java.
- Programmeertalen - Een taal die wordt gebruikt om de interface van uw software te ontwerpen (bijvoorbeeld waar gebruikers naar zullen kijken) en de functie ervan. Veelvoorkomende voorbeelden zijn Python, Ruby en Perl.
Stap 6. Raak vertrouwd met de opdrachtregel
Elke computer heeft een opdrachtregeltoepassing (bijvoorbeeld opdrachtprompt voor Windows, Terminal voor Mac en Linux, enz.). U kunt de opdrachtregel gebruiken om met de computer zelf te communiceren, zodat u indien nodig gedetailleerde opdrachten kunt geven.
Hoewel u het grootste deel van uw softwareontwikkeling niet vanaf de opdrachtregel zelf zult uitvoeren, moet u de opdrachtregel gebruiken om bepaalde programma's uit te voeren of softwareopdrachten met uw computer te integreren
Stap 7. Download en gebruik Notepad++
Notepad++ is een programmeerhulpmiddel van onschatbare waarde, omdat het codering gemakkelijk bij te houden is door visuele hulpmiddelen te implementeren en als een educatief hulpmiddel dient.
Hoewel je uiteindelijk verschillende op de opdrachtregel gebaseerde teksteditors en programma's zult gebruiken om een groot deel van je code te schrijven, is Notepad++ een fenomenaal (en gratis) leermiddel wanneer je net begint
Stap 8. Installeer een ontwikkelomgeving
Uw geselecteerde programmeertalen en platforms hebben hoogstwaarschijnlijk ontwikkelingssoftware waarmee u uw projecten vanaf uw computer kunt opslaan en testen; dergelijke software wordt een "ontwikkelomgeving" genoemd. Zoek en installeer indien mogelijk een ontwikkelomgeving voor de door u geselecteerde taal voordat u begint te leren programmeren.
- Als u bijvoorbeeld een Android-app ontwikkelt, downloadt en installeert u de Android Studio-ontwikkelkit.
- Java-gebruikers zullen vaak gebruik maken van een ontwikkelomgeving zoals Eclipse.
Stap 9. Begin te leren programmeren
Als je eenmaal weet welke taal je wilt gebruiken, is het tijd om te leren hoe je die taal moet gebruiken. Er zijn talloze online tutorials, zowel gratis als betaald, waaraan u kunt deelnemen, en de meeste bibliotheken hebben programmeertaalspecifieke boeken (bijv. C++ voor Dummies) waarmee u gratis een hele taal kunt volgen.
Gratis programmeerbronnen zijn er in overvloed online, dus gebruik deze in uw voordeel voordat u zich aanmeldt voor een betaalde les of bootcamp
Stap 10. Zoek een community die in uw voorkeurscategorie actief is
Open source-projecten zoals die op SourceForge of GitHub worden gevonden, hebben vaak enthousiaste volgers; als je een project kunt vinden dat dezelfde programmeertaal gebruikt en/of een vergelijkbaar doel heeft als je eigen project, kun je lid worden van de community om suggesties toe te voegen en het ontwikkelingsproces te observeren.
Zoals elke vaardigheid, is betrokken zijn bij het creatieproces (zelfs als je slechts een waarnemer bent) de beste manier om praktische ervaring op te doen
Stap 11. Interactie met de gemeenschap
Je kunt van alles doen, van posten op de forums van de community tot het starten van je eigen open source-project, maar het belangrijkste doel is om je ideeën en obstakels door de community te laten lopen en naar hun feedback te luisteren.
Als je je eigen open source-project start, wees dan bereid om compromissen te sluiten met de gemeenschap in termen van de richting van het project
Stap 12. Zoek naar open-sourceprojecten om aan bij te dragen
Zoals vaak het geval is met softwareontwikkeling, kan uw hoofdidee of huisdierproject al worden uitgevoerd door een gemeenschap met veel meer ervaring dan u heeft. Als dat zo is, overweeg dan om te vragen om deel te nemen aan het project. Dit zal zowel uw begrip van de werking van softwareprojecten vergroten als u helpen uw project tot leven te brengen, zij het in groepsverband.
Open source-projecten zijn misschien niet uw einddoel, maar ze dienen als een geweldige manier om meerdere verschillende perspectieven samen te zien komen om een gebruikersgericht product te vormen
Stap 13. Accepteer publieke kritiek op je werk
Naarmate u vordert met uw softwareontwikkeling en uw werk indient, krijgt u kritiek. Luisteren naar feedback van de gemeenschap zal je toekomstige ontwikkeling helpen structureren, maar het zal je ook waardevolle snelkoppelingen en methoden leren om soortgelijke problemen voor volgende projecten aan te pakken.
Niet alle feedback zal constructief zijn. Als u onbeleefde of ongerechtvaardigde feedback ontvangt, vergeet dan niet beleefd te zijn als u ervoor kiest om te reageren
Stap 14. Neem deel aan uitdagingen, programma's of wedstrijden voor softwareontwikkeling
Je zult vaak uitdagingen, bootcamps, lezingen, lessen en regelrechte wedstrijden vinden op de forums van je gemeenschap, op plaatsen zoals Craigslist en op campussen. Als u zich aanmeldt voor een dergelijk evenement of kamp, krijgt u wat begeleide ervaring terwijl u in een omgeving met gelijkgestemde leeftijdsgenoten terechtkomt.
Een optie is het Summer of Code-programma van Google, dat studenten helpt vertrouwd te raken met open source-projecten en community-codering
Stap 15. Blijf je vaardigheden ontwikkelen
Softwareontwikkeling is een vakgebied dat alleen maar zal blijven groeien naarmate de technologie evolueert, dus zorg ervoor dat u voortdurend leert over nieuwe projecten, talen, besturingssystemen en andere relevante informatie op het gebied van uw voorkeur.
Een groot deel van het succes van een gratis-softwarehacker is afhankelijk van nieuwsgierigheid. Zolang u vragen blijft stellen en antwoorden zoekt, zal uw tijd met softwareontwikkeling productief en langdurig zijn
Tips
- Als je begint met het leren van C (of C++) en Python, krijg je een relatief goede reputatie, hoewel Java ook een populair startpunt is.
- Uiteindelijk zul je tijdens je tijd als gratis software-hacker verschillende computertalen leren.
- Computerprogrammering lijkt misschien intimiderend, maar het is gewoon praten tegen de computer in een taal die de computer begrijpt.
Waarschuwingen
- Het is af te raden om te proberen een verlaten project nieuw leven in te blazen dat zijn vorige team al heeft verloren.
- Stel geen vragen over de basisprincipes van programmeren of programmeertools op de discussiepagina van een open source-programma. De tijd van een vrije softwareprogrammeur is kostbaar. Bespreek in plaats daarvan de basisprincipes van programmeren in communities voor amateur- of nieuwe programmeurs.
- Meer dan een paar uur achter een computer zitten kan blijvende gevolgen hebben voor uw algehele gezondheid. Denk eraan om op te staan en uit te rekken, weg te kijken van het scherm en minstens eens in de paar uur te bewegen.
- Wees geduldig. Net als het leren van een vaardigheid, kost het tijd en vastberadenheid om een gratis software-hacker te worden.