Paano magtrabaho bilang isang developer ng software

May -Akda: Peter Berry
Petsa Ng Paglikha: 19 Agosto. 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
10 TIPS PARA MADALING MATANGGAP SA TRABAHO BILANG JUNIOR PROGRAMMER
Video.: 10 TIPS PARA MADALING MATANGGAP SA TRABAHO BILANG JUNIOR PROGRAMMER

Nilalaman


Hindi kailanman naging isang mas mahusay na oras upang maging isang developer ng software. Ang demand para sa mga developer ng software ay tumataas sa lahat ng oras, tulad ng iba't-ibang mga gawain na sila ay nakatalaga sa pagkumpleto. Kung gayon mayroong bayad.

Ayon kay USNews.com, ang average na developer ng software ay gumawa ng $ 101,790 noong 2017. Ayon kay Gorroo.io, ang average C # developer ay kumikita ng $ 102k bawat taon.

Sa madaling sabi, ang programming ay isa sa mga pinaka-in-demand na kasanayan sa mundo ngayon. Kung nais mong magtrabaho sa online, o upang ihanda ang iyong sarili para sa susunod na hakbang sa iyong karera, may ilang mga mas matalinong gumagalaw kaysa sa pag-aaral ng code.

Ang average na C # developer ay kumikita ng $ 102k bawat taon.

Ngunit saan magsisimula? Kung ikaw ay isang taong hindi nakakuha ng code sa nakaraan, maaari mong makita ang iyong sarili sa isang kumpletong pagkawala kung paano ka magsisimula. Sa post na ito, tuklasin namin ang lahat na kailangan mong malaman: kung ano ang ginagawa ng isang developer ng software, kung ano ang mga kwalipikasyon na kailangan mo, at kung paano makahanap ng trabaho.


Ano ang ginagawa ng isang developer ng software?

Ang isang developer ng software ay isang tao na bubuo ng software. Nangangahulugan ito na magsusulat sila ng code, gumamit ng mga tool, at madalas na magdala ng isang proyekto mula sa umpisa hanggang sa pagkumpleto nito. Bilang kahalili, maaari silang upahan upang makilala ang mga bug sa umiiral na code, o upang i-upgrade ito / magdagdag ng mga bagong tampok.

Alinmang paraan, ang iyong trabaho ay higit sa lahat ay malulutas sa paglutas ng mga problema gamit ang iba't ibang mga wika sa programming, API, at mga tool. Maaari kang gumana sa mga proyekto nang direkta para sa mga kliyente, sa pamamagitan ng isang ahensya, o bilang bahagi ng isang mas malaking samahan.

Mga uri ng developer ng software

Ang kadahilanan na "developer ng software" ay tulad ng isang malawak na termino, ay maraming mga iba't ibang mga uri ng software na maaaring hilingin sa iyo upang gumana, at maraming iba't ibang mga tool na maaari mong gamitin upang maisagawa iyon.


Ang isang software developer ay maaari ring gumana bilang isang web developer, o isang "buong stack developer," upang makabuo ng isang website o magdagdag ng mga interactive na tampok. Maaari silang bumuo ng mga mobile app, o magtrabaho sa mga tool sa industriya ng in-house.

Isa pang pagkakaiba ang dapat isaalang-alang: software developer kumpara sa software engineer, ano ang pagkakaiba?

Habang ang parehong mga term na ito ay maaaring magamit nang mapagpalit, ang pagkakaiba ay bumababa sa uri ng trabaho na nakumpleto at kinuha ang diskarte. Tinitingnan ng mga inhinyero ng software ang code mula sa isang punto ng engineering: isinasaalang-alang nila ang lifecycle, tiningnan nila ang mga pagkakamali at mga bug, at karaniwang ginagawa nila ang mga malalaking proyekto sa gitna ng mas malaking koponan.

Ang mga developer ng software, sa kamay, ay mas malamang na maging pangunahing direktor ng malikhaing sa isang proyekto. Bumubuo sila ng software mula sa simula hanggang sa matapos para sa isang kliyente o samahan, karaniwang upang matupad ang isang tiyak na papel.

Kaya kung nagtatrabaho ka para sa Facebook bilang bahagi ng koponan ng inhinyero, ikaw ay isang software engineer. Kung gumawa ka ng mga app para sa mga kliyente, ikaw ay isang developer ng software. Ngunit maaari kang matawag nang kapwa sa alinman sa sitwasyon.

Anong mga kasanayan at kwalipikasyon ang kailangan ng isang developer ng software?

Upang maging isang developer ng software, kailangan mong malaman upang mag-program.

Ang susunod na tanong ay: "ano ang pinakamahusay na wika ng programming upang malaman" o "kung ano ang nais na programa ng mga employer?"

Habang tiyak na totoo na ang ilang mga wika sa programming ay higit na hinihiling ng mga kliyente at employer (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby), ang katotohanan ay na ito ay ganap na nakasalalay sa uri ng trabaho na nais mong gawin . Narito ang ilang mga halimbawa.

Buong developer ng stack

Ang Python, JavaScript, PHP, at Ruby ay lahat ng mga wika na ginagamit para sa pagbuo ng web. Kung nagtatrabaho ka sa isang online portal, o paggawa ng mga update sa mga web app tulad ng Twitter, ang ilan sa mga ito ay malamang na maging kapaki-pakinabang. Sa papel na ito maaari ring maging kapaki-pakinabang upang maunawaan ang mga database (SQL) at malaman ang iyong paraan sa paligid ng isang server.

Ang isang "buong stack developer" ay isang web developer na nakamit ang kanilang pangwakas na anyo: isang tao na maaaring hawakan ang bawat aspeto ng disenyo ng web at pagpapanatili, mula sa harap na dulo (HTML, CSS, JavaScript), hanggang sa likuran (PHP, Python, Ruby), sa pagpapanatili ng server. Ang ganitong uri ng propesyonal ay nasa mainit na demand.

Narito ang isang mahusay na kurso mula sa Udemy kung nais mong matuto nang higit pa: Buong Stack Web Developer Bootcamp.

Developer ng mobile

Kung ikaw ay interesado sa pagbuo ng mga Android app subalit, kakailanganin mong malaman ang Java o Kotlin (sa parehong kapwa). Kailangan mong ma-pamilyar ang iyong sarili sa Android Studio, ang Android SDK (Software Development Kit), at lahat ng mga bagong konsepto na patuloy na ipinakikilala ng Google (tulad ng mga instant na app, o mga bula).

Magbasa nang higit pa: Paano makahanap ng trabaho bilang isang developer ng Android

Kung nais mong gumawa ng mga iOS app para sa isang buhay, dapat mong malaman ang Swift at Object C at pamilyar sa Xcode. Kung nais mong gumawa ng mga Windows apps, o pumunta sa cross-platform, kakailanganin mo ang C # at isang pag-unawa sa Visual Studio.

Mga developer ng Laro

Upang maging isang developer ng laro, pagkatapos ay dapat mong talagang malaman ang C # at perpektong C ++. Dapat mong malaman ang malaking engine ng laro (Unity at Unreal), at baka gusto mong magdagdag ng kaunting CAD sa iyong skillset.

Ang Ultimate Gabay sa Pag-iisa para sa Pag-unlad ng Laro sa Udemy ay isang magandang lugar upang magsimula.

Ito ay nagsisimula lamang sa ibabaw. Ang iba pang mga developer ng software ay gagana sa software na may electronics, paghawak ng malaking data, at marami pa.

Pagkatapos mayroong mga tiyak na tool na gagamitin ng mga kumpanya upang pamahalaan ang kanilang daloy ng trabaho at makipagtulungan sa mas malaking proyekto. Nang bumisita ako sa Facebook sa London ilang buwan na ang nakalilipas, ipinakilala ako sa maraming iba't ibang mga tool na ginagamit ng kumpanya upang mapanatili ang mga proyekto. Kasama nila ang Phabricator, Mercurial, Sapienz, at marami pa.

Tiyak, ang mga tool tulad ng Github (ginamit para sa control ng bersyon) ay malamang na maging kapaki-pakinabang para sa mga inhinyero ng software at mga developer na nagtatrabaho sa iba't ibang mga industriya. Ang mga proyekto sa pamamahala ng proyekto tulad ng Asana o Basecamp ay kapaki-pakinabang din para sa malayong trabaho. Ang pagpapakita na mayroon kang karanasan sa mga lugar na ito ay lilipas ang iyong CV nang higit pa, at gagawing higit kang magagawa.

Upang mabuo ito: kung ano ang kailangan mong malaman ay depende sa uri ng developer ng software na nais mong maging.

Ang pinakamahusay na mga sertipikasyon ng developer ng software

Kaya't sa sandaling napili mo ang uri ng trabaho na nais mong gawin, at ang uri ng code na nais mong isulat, ang iyong susunod na trabaho ay upang makilala ang uri ng pagsasanay na iyong kakailanganin. Kailangan mo ba ng isang degree upang maging isang developer ng software?

Ang maikling sagot ay hindi. Ang mas mahahabang sagot ay hindi, ngunit tiyak na makakatulong ito.

Habang posible na makapagtrabaho nang walang degree, ang isang degree sa computer science ay gayunpaman ay kinakailangan para sa isang malaking iba't ibang mga samahan at employer. Bibigyan ka rin nito ng isang mahusay na pag-unawa sa batayan at isang mapagkumpitensyang gilid sa mga hindi-degree-wlaying applicants.

Magbasa nang higit pa: Futureproof ang iyong karera at suweldo bilang isang analyst ng seguridad ng impormasyon

Gayundin, ang isang degree ay magbibigay sa iyo ng isang kalamangan sa iba pang mga kandidato sa panahon ng proseso ng aplikasyon.

Ngunit ang mga degree ay mahal at karamihan sa mga may sapat na gulang ay walang pagpipilian na magkasya sa kanila sa paligid ng kanilang abala sa pamumuhay. Saang kaso, ang susunod na pinakamahusay na bagay ay ang pagkuha ng mga online na kurso at makakuha ng sertipikasyon na maaaring magpakita ng isang pangunahing pag-unawa.

Maraming mga sertipikasyon na kinikilala ng industriya na magbibigay sa iyo ng kaunting clout kapag nag-aaplay para sa mga posisyon.

Halimbawa, makakakuha ka ng direktang sertipikasyon ng Unity mula sa kumpanya, na maaaring patunayan na mahalaga sa mga developer ng laro. Kung nais mong maging isang developer ng Android, maaari kang mag-aplay upang maging isang Associated Android Developer na isang opisyal na programa na pinatatakbo ng Google. O maaari mong piliing maging isang Android Certified Application Developer, na kung saan ay mahusay na kinikilala.

Ang mga sertipikasyon tulad nito ay nagbibigay ng kapayapaan ng isip para sa mga kliyente at kumpanya na isinasaalang-alang ang pagkuha sa iyo. Ipinakikita nila na mayroon ka talagang kaalaman na inaangkin mong mayroon, na nangangahulugang maaari silang mapabilis nang may kaunting karagdagang pagsasanay.

Kailangan lang ng Google ang uri ng trabaho na gusto mo at makahanap ng mga kilalang sertipikasyon sa lugar na iyon. Kung hindi ka sigurado, pagkatapos ay pumili ng isa sa mga malalaking wika tulad ng C # o Java, o maghanap ng isang science sa computer o buong kurso na sumasaklaw sa maraming lupa.

Kailangan mo ba ng mga sertipikasyon upang maging isang developer ng software?

Ang pinakamurang pagpipilian ay ang maging isang developer ng software na walang sertipikasyon o kwalipikasyon. Ngunit posible bang maghanap ng trabaho bilang isang developer na itinuro sa sarili?

Masisiguro ko sa iyo na ito ay, dahil ito mismo ang ginawa ko. Natutunan ko ang pag-programming ng BATAY sa isang ZXSpectrum, at mula doon ay pinatuloy ang aking kaalaman sa QBASIC, B4A, pagkatapos ng Java, C #, Python, at marami pa.

Ang paraang nagawa ko ito, ay sa pamamagitan ng pagpapaalam sa akin ng aking CV. Gumawa ako ng isang matagumpay na Android app na may higit sa 100,000 bayad na pag-download, nagtrabaho kasama ang ilang mga medyo malaking pangalan sa likod ng na, at pagkatapos ay sumulat ng isang teknikal na libro sa pagbuo ng laro para sa Apress Media (Springer).

Ang mga nagawa na ito ay nagbibigay ng eksaktong kaparehong uri ng katiyakan para sa mga kliyente na nais ng isang sertipiko, at payagan akong singilin nang higit pa kaysa sa maaari kong gawin.

Lubos kong inirerekumenda ang pagbuo ng mga app at website sa iyong ekstrang oras upang maglingkod bilang mga halimbawa ng iyong trabaho, paggawa ng murang trabaho para sa mga kaibigan upang makabuo ng isang portfolio, kasangkot sa mga open-source na proyekto sa GitHub, o pagdalo sa mga hackathons.

Karamihan sa mga freelance na site tulad ng UpWork ay nagbibigay din ng mga maikling pagsubok na maaari mong makumpleto upang maipakita ang iyong pangunahing pag-unawa.

Kahit na walang ganoong uri ng karanasan, kung sumasang-ayon ka na makatanggap ng pagbabayad sa pagtanggap, hindi singil ng sobra, at magbigay ng mga halimbawa ng iyong trabaho, kung gayon dapat kang makapag-lupa ng ilang mga trabaho kaagad.

Tulad ng para sa paghahanap ng trabaho sa malalaking employer, iminumungkahi ng ilang mga propesyonal na ang sertipikasyon ay maaaring walang tulong sa lahat.

Ito ay dahil, kapag alam mo ang isang programming language, medyo simple upang maunawaan ang iba. Habang ang syntax, tool, at ilan sa mga patakaran ay maaaring magkakaiba; ang unang wika na natutunan mo pa rin sa pinakamahirap. May katumbas para sa "kung" sa halos lahat ng wika na iyong matututunan.

kapag alam mo ang isang programming language, medyo simple upang maunawaan ang iba.

Kapag nagtatrabaho sa loob ng isang samahan, palaging kinakailangan ang pagsasanay. Napakakaunting mga tagapag-empleyo ang aasahan mong malaman ang lahat kaagad, at - sa buong katapatan - mayroong isang malaking halaga ng pamumula na nagaganap sa karera ng anumang software engineer. Asahan na makaramdam ka ng lubos sa iyong kalaliman at pagbubuhos ng "imposter syndrome" kapag nagsimula ka. Ngunit huwag kang mag-alala, ganito ang pakiramdam ng lahat!

Paano turuan ang iyong sarili code

Ang pagtuturo sa iyong sarili sa code ay isang mapaghamong proseso, at ang mga advanced na konsepto tulad ng object-oriented na programming ay maaaring maging matigas na mga mani upang pumutok. Sa kabutihang palad, mayroong isang malaking halaga ng libreng materyal na magagamit sa online; nai-highlight namin ang isang pares ng mahusay na mga kurso mula sa Udemy at maraming iba pa. Mayroon kaming isang kurso para sa mga developer ng Android na pinapatakbo ni Gary Sims halimbawa.

Narito ang ilang mga mas mahusay na tool para sa pag-aaral ng code ngayon:

  • Ang isang mahusay na kurso na magtuturo sa Python para sa agham ng data.
  • C # coding bundle
  • Siyam-bahagi na pro pagsasanay sa pagbuo ng web developer

At maraming mga mahusay na kurso sa mga site tulad ng SkillShare.

Tingnan din: Paano simulan ang pag-unlad ng Android app para sa kumpletong mga nagsisimula sa 5 mga hakbang

Magtrabaho sa pamamagitan ng mga ito sa isang lohikal na paraan, at pagsasanay sa iyong sariling mga proyekto. Mahirap itong pagpunta sa una, ngunit kung nakatuon ka sa mga aspeto na nasisiyahan ka, makakarating ka doon.

Paghahanap ng bayad na trabaho bilang isang developer ng software

Ang huling piraso ng puzzle ay upang makahanap ng bayad na trabaho, bilang isang kontratista, isang full-time na empleyado mula sa bahay, o isang freelancer.

Ang paghahanap ng freelance na trabaho ay higit sa lahat ay gumagamit ng mga listahan ng mga listahan ng trabaho, mga site ng freelancing tulad ng PeoplePerHour o UpWork.

Mayroon ding mga freelance na site na partikular na naglalayong sa mga developer ng software at mga inhinyero. Kabilang dito ang Rent-a-code, at kahit na Stack Overflow.

Mayroong iba pang mga paraan upang kumita ng pera na may kadalubhasaan bilang isang developer ng software din. Maaari kang maging isang manunulat (tulad ng huli kong ginawa), at magsulat ng mga tutorial para sa mga blog o libro para sa mga teknikal na publisher. Maaari kang magturo sa pamamagitan ng mga online na kurso; bakit hindi lumikha ng iyong sariling kurso sa Skillshare?

Mag-update, Oktubre 23, 2019 (01:17 PM ET): Ngayon, inihayag ng Huawei na ang Huawei Mate X ay magagamit upang mag-pre-order a bana ng bana ng China (a pamamagitan ng CNET). Ang aparato ay nagkakahala...

Mabuhay ang aming aklaw ng Mate XKilalanin ang Huawei Mate X, iang $ 2,600 foldable powerhoueAng mga kamay ng Huawei Mate X a: 5G kakayahang umangkop a iang maaaring tiklop na kadahilanan ng formIpaki...

Bagong Mga Publikasyon