Postanite programer otvorenog softvera

Autor: Morris Wright
Datum Stvaranja: 24 Travanj 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Kako postati programer i zaposliti se u stranoj firmi?
Video: Kako postati programer i zaposliti se u stranoj firmi?

Sadržaj

Pisanje i korištenje otvorenog softvera nije samo oblik programiranja (koji se u svijetu programera naziva i "hakiranje"), to je vrsta filozofije. Iako trebate znati programski jezik da biste mogli kodirati, ovaj članak govori o tome kako se pridružiti zajednici, steći prijatelje, surađivati ​​na sjajnim projektima i postati uvaženi stručnjak s profilom koji ne možete dobiti nigdje drugdje. U svijetu otvorenog softvera mogu vam se vrlo lako dodijeliti zadaci koje samo elitni programeri najviše razine smiju raditi u tvrtki. Razmislite koliko vam ovo može donijeti iskustva. Međutim, nakon što odlučite postati otvoreni programer, morate biti spremni uložiti vrijeme u taj cilj. To vrijedi i ako ste student IT-a. Pazite, ovaj članak ne govori o tome kako postati haker ili kreker.

Kročiti

  1. Preuzmite dobru Unix distribuciju. GNU / Linux jedan je od najpopularnijih za programiranje, ali često se koriste i GNU Hurd, BSD, Solaris i (do određene mjere) Mac OS X.
  2. Saznajte kako koristiti naredbeni redak. Ako koristite naredbeni redak, možete učiniti puno više s operativnim sustavima sličnim Unixu.
  3. Naučite neke popularne programske jezike dok ne dosegnete manje-više zadovoljavajući nivo. Inače, ne možete dodati kôd (najvažniji dio bilo kojeg softverskog projekta) otvorenoj softverskoj zajednici. Neki izvori predlažu započinjanje s dva jezika odjednom: jednim sistemskim jezikom (C, Java ili slično) i skriptnim jezikom (Python, Ruby, Perl ili sličan).
  4. Da biste bili produktivniji, trebaju vam NetBeans ili slično integrirano razvojno okruženje.
  5. Naučite koristiti napredni uređivač, kao što su vi ili Emacs. Oni imaju višu krivulju učenja, ali s njima možete učiniti puno više.
  6. Saznajte više o kontroli verzija. Kontrola verzija je vjerojatno najvažniji alat suradnje za zajednički razvoj softvera. Razumjeti kako stvoriti i primijeniti zakrpe. Većina otvorenog razvoja softvera u zajednici vrši se stvaranjem, raspravom i primjenom različitih zakrpa.
  7. Pronađite odgovarajući, mali otvoreni softverski projekt u kojem možete lako sudjelovati da biste stekli iskustvo. Većina takvih projekata ovih se dana može naći na SourceForge.net. Prikladan projekt trebao bi sadržavati:
    1. Upotrijebite programski jezik koji znate.
    2. Budite aktivni s nedavnim izdanjima.
    3. Već se sastoji od tri do pet programera.
    4. Da biste koristili kontrolu verzija.
    5. Imajte dio s kojim možete odmah započeti, bez potrebe za previše promjenom postojećeg koda.
    6. Uz kôd, dobar projekt također ima aktivne liste rasprava, izvješća o greškama, dobiva i implementira zahtjeve za poboljšanje i slične aktivnosti.
  8. Obratite se administratoru odabranog projekta. U malom projektu s malo programera, vaša će pomoć obično biti prihvaćena odmah.
  9. Pažljivo pročitajte pravila projekta i više-manje ih slijedite. Pravila programskog stila ili potreba dokumentiranja vaših promjena u zasebnoj tekstualnoj datoteci u početku se mogu činiti smiješnima. Međutim, svrha je ovih pravila omogućiti zajednički rad - i većina projekata radi s njima.
  10. Radite na ovom projektu nekoliko mjeseci. Pažljivo slušajte što imaju reći administrator i drugi članovi projekta. Osim programiranja, morate naučiti puno stvari. Ali ako vam se nešto stvarno ne sviđa, jednostavno zaustavite se i prebacite na drugi projekt.
  11. Nemojte predugo zaglaviti u podzemnom projektu. Jednom kada se uspijete uspješno baviti tim timom, vrijeme je da počnete tražiti nešto ozbiljnije.
  12. Potražite ozbiljni otvoreni softver visoke razine ili projekt otvorenog koda. Većina takvih projekata u vlasništvu je organizacija GNU ili Apache.
  13. Budući da ovdje počinjemo ozbiljan korak, morate uzeti u obzir puno manje topao prijem. Najvjerojatnije će se od vas prvi put tražiti da pokrenete bez izravnog pristupa za pisanje u spremište koda. Međutim, prethodni podzemni projekt trebao vas je naučiti puno toga - pa nakon nekoliko mjeseci produktivnog doprinosa možete polagati prava koja mislite da biste trebali imati.
  14. Prihvatite ozbiljan zadatak i razradite ga. Vrijeme je. Ne boj se. Nastavite čak i ako otkrijete da je zadatak mnogo teži nego što ste u početku mislili - u ovom koraku važno je ne odustati.
  15. Ako možete, prijavite se Googleovom "Summer of Code" da uložite novac u ovu avanturu. Ali ne brinite ako prijava ne bude prihvaćena jer imaju puno manje financiranih pozicija nego što ima stvarno dobrih programera.
  16. Pronađite odgovarajuću konferenciju koja se događa u blizini ("Linux dani" ili slično) i tamo pokušajte predstaviti svoj projekt (cijeli projekti ne samo dio koji programirate). Nakon što spomenete da predstavljate ozbiljan besplatni / open source projekt, organizatori će vas često naknaditi od kotizacije (ako ne, konferencija će ionako vjerojatno biti neprikladna). Ponesite Linux prijenosno računalo (ako ga imate) i pokrenite nekoliko demonstracija. Pitajte voditelja projekta o materijalima koje možete koristiti za pripremu prezentacije ili postera.
  17. Potražite na internetu obavijesti o obližnjem instalacijskom događaju i pokušajte prvo sudjelovati kao korisnik (imajte na umu sve probleme koji se pojave i kako ih hakeri popravljaju) i ponudite instaliranje programa sljedeći put.
  18. Dovršite zadatak, provjerite svoj rad automatskim testovima i doprinijejte projektu. Ti si gotov! Svakako pokušajte osobno upoznati neke programere na projektu i zajedno pokupiti čašu piva o rezultatu.
  19. Za bolje razumijevanje pogledajte stvarni primjer povijesti razvoja otvorenog softverskog projekta (vidi gore). Svaka krivulja u porastu predstavlja doprinos (linije koda) jednog programera. Programeri s godinama postaju manje aktivni, ali projekt se često ubrzava čak i kad se pridruže novi ljudi. Dakle, ako stignete s korisnim vještinama u džepu, nema razloga zašto vas tim ne bi trebao pozvati.

Savjeti

  • Prije postavljanja pitanja o praktičnim zahtjevima unutar projekta, potražite odgovor u projektnoj dokumentaciji i arhivi mailing liste.
  • Uvijek pokušavajte završiti bilo koji započeti posao programiranja. Ne može se graditi, ne može se pokrenuti, pad sustava? Tamo biti razlozi za sve, a ako imate izvorni kod, to obično znači da imate sustav dobro može vas prisiliti da radite što god želite, posebno uz pomoć nekih mrežnih istraživanja. Ovo pravilo naravno ima ograničenja, ali doista je važno nikada ne odustati prelako.
  • Nazovite se programerom (ili hakerom) tek nakon što vas neka prava hakerska zajednica prepozna kao takvog.
  • Na početku odaberite nastavu, modul ili drugu jedinicu u kojoj trenutno nitko ne radi vrlo aktivno. Zajednički rad na istoj klasi ili čak na položaju zahtijeva više vještina i brige sa svih strana.
  • Poslodavci nekih hakera / programera izgledaju dovoljno motivirani da dopuštaju doprinose tijekom radnog vremena (obično zato što ustanova koristi besplatni / otvoreni izvorni program koji programer razvija). Razmislite, možda na ovaj način možete dobiti barem dio potrebnog vremena.
  • Ako još uvijek nemate dovoljno povjerenja u sebe, krenite od nekog dijela koda za koji mislite da nedostaje, a može se napisati ispočetka. Mnogo je vjerojatnije da će se kritizirati promjene postojećeg koda.

Upozorenja

  • Vaš status hakera u projektu zajednice više je odraz vaše sadašnjosti nego prošlosti.Ako želite preporuku ili slično od voditelja projekta, pitajte da li i dalje aktivno doprinosite.
  • Ne upuštajte se u male optimizacije koda, dodatne komentare, poboljšanja stila kodiranja i druge slične "male" stvari. To može naići na mnogo više kritika nego na ozbiljan doprinos. Umjesto toga, možete uključiti ove promjene u jednu zakrpu "čišćenja".
  • Ako planirate osobno upoznati otvorene softverske hakere, ostavite prijenosno računalo Windows kod kuće. Mac OS nešto se tolerira, ali ni to nije baš dobrodošlo. Ako ponesete prijenosno računalo, ono mora imati Linux ili neki drugi operativni sustav koji smatraju "otvorenim softverom".
  • Ako vaš klijent e-pošte podržava HTML poruke, trebali biste onemogućiti ovu značajku. Nikada nemojte priložiti dokumente koje samo komercijalni softver (kao što je Microsoft Word) može ispravno otvoriti. Hakeri ovo smatraju uvredljivim.
  • Ne volontirajte na projektima tvrtke čiji kod nije pokriven odobrenom licencom otvorenog koda. U takvim će slučajevima stvarno važni dijelovi projekta vjerojatno ostati iza zatvorenih vrata vlasnika, sprječavajući vas da naučite bilo što korisno.
  • Izbjegavajte bilo kakva pitanja o osnovama programiranja ili programskih alata. Vrijeme otvorenog programera je dragocjeno. Umjesto toga, razgovarajte o osnovama programiranja u amaterskim ili početničkim programerskim skupinama.
  • Utvrđeni i vrlo uspješni projekti možda imaju napisana ili nepisana pravila o tome da nikada ne nadoknađujete svoj rad (nema novca, nema mogućnosti promocije, nema povišenog statusa bez obzira na vaš doprinos, itd. - vidi: Do_not_expect_reward Wikipedia). Ako se s tim ne možete složiti, držite se uobičajenijih projekata koji si takav stav ne mogu priuštiti.
  • Ne započinjte vlastiti projekt osim ako uvijek ne želite provesti u ponosnoj samoći. Iz istog razloga, bolje je ne upuštati se u pokušaj oživljavanja već napuštenog projekta koji je njegov prethodni tim već izgubio.
  • U slučaju neformalnog sastanka o projektu za koji nikada niste pridonijeli nijednim kodom, imat ćete neugodan osjećaj da ćete biti potpuno ignorirani. Ne brinite, neki hakeri mogu postati dobri prijatelji kasnije nakon što steknete njihovo poštovanje vlastitim kodom.
  • Veliki otvoreni softverski projekti, posebno oni oko GNU domene, svoj posao ne tretiraju kao svoje osobno poslovanje. Nakon što dobijete posao u tvrtki koja se bavi softverom, oni traže od vašeg poslodavca da potpiše određene ugovore [1], koje tvrtka potpisuje ili neće. To vas može prisiliti da odaberete projekt s manje strogim zahtjevima.

Potrebe

  • Linux. Mnogo otvorenih softverskih projekata složenije je graditi na sustavu Windows ili se uopće ne grade ispravno. To se posebno odnosi na napredne projekte posvećene programiranju mobitela, USB tipki i drugih uređaja.
  • Računalo s relativno dobrom internetskom vezom. Ako želite zadržati dvostruko pokretanje sustava Windows, dobro bi moglo biti drugi tvrdi disk ili particija za Linux.
  • Osnovno znanje barem jednog programskog jezika i snažna namjera naučiti više. Čini se da su trenutno najpopularniji jezici C i Java.
  • Značajna količina vremena, najmanje pet sati tjedno (tipični hardcore programer daje ogromnih 14 sati).
  • Iako će vam formalno informatičko obrazovanje uvelike olakšati put, to je to ne obvezan zahtjev i niti jedna stvarna hakerska zajednica vas nikada neće pitati o tome. Programeri / hakeri međusobno se ocjenjuju prema nečijem programiranju, a ne prema lažnim kriterijima kao što su ocjene, dob, rasa ili položaj. Imajte na umu, barem 60% hakera otvorenog koda koji procjenjuju vaše zakrpe imaju "ispravnu" fakultetsku diplomu i neće vam dopustiti da projektu dodate gluposti.
  • Tijekom posljednjih koraka (konferencija i 'install party') možete iskoristiti svoj vlastiti laptop. Ali nije u redu raditi na tome kod kuće, pa kupite jedan samo ako si možete priuštiti drugi stroj.
  • Put koji je opisan kako bi postao "haker" softvera otvorenog koda traje najmanje dvije godine.