Para kanino ang isang programmer? Tip na dapat tandaan

Sa artikulong inilalarawan ko ang aking opinyon tungkol sa mga priyoridad kapag pumipili ng employer para sa mga programmer. Ipinahiwatig ko ang laki ng suweldo bilang pangunahing kadahilanan, na nagbibigay-katwiran dito sa pamamagitan ng katotohanan na nag-iiwan ito ng mas maraming oras para sa buhay. Susunod, ibibigay ko ang aking mga dahilan kung bakit hindi ka dapat madala sa pag-recycle. Ipinagpapatuloy ko ang artikulo na may pagtingin sa pagbuo ng mga proyekto sa bahay, na, sa palagay ko, ay nakakatulong upang makasabay sa mga uso ng propesyon, at bilang karagdagan, ay nagdudulot ng kasiyahan. Naisip ko ang mga kaisipang ito pagkatapos magtrabaho bilang isang full-time na programmer sa loob ng 8 taon.


Hinihikayat ko ang mga taong may karanasan na marunong magtrabaho at mabuhay na magkomento sa aking mga pananaw at ipahayag ang kanilang mga opinyon sa mga isyu kung saan natagpuan ang mga pagkakaiba. Para sa mga nagsimula kamakailan sa kanilang paglalakbay sa programming o hindi kailanman naisip ang tungkol sa mga ganoong bagay, inirerekumenda kong huwag gawin ang artikulong ito bilang isang seryosong gabay. Isinulat ko ang tungkol sa aking mga damdamin sa mga isyung ito sa pag-asang may makakahanap ng ilang mga kapaki-pakinabang na ideya kung sila ay nasiraan ng loob bilang isang programmer.

Mga Priyoridad

Kapag pumipili ng trabaho, itinakda ko ang mga sumusunod na priyoridad para sa aking sarili.

  1. Ang halaga ng cash na kita na natanggap. Simple lang.
  2. Kaginhawaan ng lugar ng trabaho. Ito ay kung gaano kaginhawa o hindi komportable ang nakapaligid sa iyo sa trabaho: distansya mula sa bahay, mga tao sa opisina, pagganap ng computer sa trabaho, lagay ng panahon malapit sa lugar ng trabaho, isang surveillance camera sa iyong monitor, ang iyong monitor na nakaharap sa aisle, relasyon sa pamamahala, multa sa pagiging huli at iba pa.
  3. Pagkakataon para sa iyong propesyonal na pag-unlad. Kabilang dito ang karanasang nakukuha mo sa trabaho. Ito ay ang pag-aaral ng mga teknolohiya na bago sa iyo, paghahasa ng dati mong natutunan, at pagkuha ng mga bagong kasanayan na kapaki-pakinabang sa iyo. Anumang bagay na gumagawa sa iyo ng higit na karanasan sa propesyonal.

Napakakaunti mula sa listahang ito ang maaaring matutunan nang maaga tungkol sa kumpanya bago mag-apply para sa isang trabaho. Ngunit dahil sa pagkakasunud-sunod ng mga priyoridad, madali mong maihahambing ang iyong kasalukuyang trabaho at isa pang potensyal, alam ang laki ng suweldo. Minsan maaari mong isakripisyo ang bahagi ng pangalawa at pangatlo, para sa kapakanan ng magandang suweldo. Siyempre, iba ang balanseng ito para sa lahat.


Ang ilang mga tao ay nahihiya na sabihin ito nang malakas, ngunit ang pera ang una at pangunahing kadahilanan sa pagpili ng isang lugar upang magtrabaho. Kung mababayaran ka ng maayos, hindi mo na kailangang magtrabaho ng dagdag na oras at mag-overtime, na nangangahulugang magkakaroon ka ng mas maraming oras upang masiyahan sa buhay. Ang aking pananaw ay ito: kung ikaw ay isang programmer na may higit sa 3 taong karanasan, at sa palagay mo ay gusto mong mabayaran nang higit pa, simulan ang pagkamit nito nang hindi ipagpaliban hanggang sa huli. Malamang, walang dahilan para hindi ka makatanggap ng higit pa kung maaari.

Paano taasan ang iyong suweldo

Mayroong isang opinyon na maaari mo lamang itanong sa iyong pamamahala para dito. Baka gumana. Ngunit iminumungkahi ko munang alamin kung magkano ang handang bayaran ng ibang mga employer sa iyo. Kung wala kang mga handang alok na trabaho, kailangan mong simulan ang paghahanap ng mga bakante nang mag-isa. Isaalang-alang ang mga opsyon na naaayon sa iyong karanasan at suweldo kaysa sa kasalukuyan. Maging handa na gumawa ng mga takdang-aralin sa pagsusulit, mga panayam sa Skype o mga pakikipanayam nang harapan. Tingnan mo ito bilang potensyal na kita, huwag mong pigilin ang iyong sarili sa iyong ego.


Isaalang-alang hindi lamang ang mga employer sa iyong lungsod, kundi pati na rin ang malayong trabaho. Mayroong maraming mga artikulo tungkol sa mga disadvantages ng malayong trabaho, ngunit kung hindi mo pa ito sinubukan sa iyong sarili, maaari mo pa ring isaalang-alang ang mga naturang pagpipilian. Tandaan na ang malayong trabaho ay hindi nangangahulugang nagtatrabaho mula sa bahay. Sa suweldo ng isang programmer, maaari kang magrenta ng opisina o lumipat sa isang coworking space.


Kailangan mong maghanda para sa mga panayam. Makakahanap ka ng listahan ng mga tanong na maaaring itanong sa iyo online. Maglaan ng oras upang pag-aralan ang mga ito, isipin ang mga sagot. Ang pagkakasunud-sunod ng mga panayam ay mahalaga. Magsimula sa employer na ang mga tuntunin at kundisyon ay tila hindi kaakit-akit sa iyo, pagkatapos ay gumawa ng iyong paraan upang gawing mas kaakit-akit ang potensyal na bagong trabaho. Ang punto ng pamamaraang ito ay mas madaling mabigo sa mga unang panayam. Sa iyong mga unang panayam, malamang na mas mag-alala ka, mas makakalimutan, at hindi gaanong kumpiyansa. Bilang karagdagan, kung nakatanggap ka ng mga tanong na nabigo ka sa isang panayam, maaari mong pag-aralan at sagutin ang mga ito sa mga kasunod na tanong. Kaya, madaragdagan mo ang iyong mga pagkakataong makatanggap ng isang alok mula sa kumpanya na pinaka-kaakit-akit sa iyo.


Kung bago ang isang pakikipanayam sa isang kumpanya ay tila sa iyo na tiyak na hindi ka papasok sa trabaho doon, seryosohin mo pa rin ang pakikipanayam na ito, dahil bilang isang resulta, ang mga bagong detalye ay maaaring ibunyag na gagawing mas kaakit-akit ang employer na ito. Ito ay palaging nagkakahalaga ng pag-alala na ikaw ay pumipili ng isang bagong trabaho, sa kabila ng katotohanan na ang lahat ay nagsimula sa layunin ng pagtaas ng iyong suweldo.


Kung nagsisimula kang makaramdam na sineseryoso mo ang paparating na panayam at labis kang nag-aalala dahil dito, ang payo ay kabaligtaran ng nauna: isipin ang employer hindi bilang isang potensyal, ngunit bilang isang paraan lamang ng pagtaas ang iyong suweldo sa iyong kasalukuyang trabaho, alam na kung hindi ito gagana, pagkatapos ay walang magbabago. Ngunit hanapin ang balanse upang makita bilang isang propesyonal at hindi isang mapilit na tao na may napalaki na kaakuhan.


Kapag nakatanggap ka ng kaakit-akit na alok sa trabaho, huwag tahimik na umalis sa iyong employer. Talakayin ang sitwasyon sa taong gumagawa ng desisyon na taasan ang iyong suweldo. Ito ay isang napaka-kapana-panabik na sandali; sa unang pagkakataon ay maaaring wala kang sapat na determinasyon. Kung hindi ka komportable na talakayin ang mga ganitong uri ng isyu, maaari mong subukang simulan ang talakayan sa pamamagitan ng email. Ngunit, malamang, kailangan mo pa ring makipag-usap sa pamamagitan ng boses.


Kung wala kang ideya kung paano magkaroon ng lakas ng loob na humingi ng pagtaas ng suweldo, iminumungkahi ko sa iyo ang mga sumusunod. Magsimulang tumuon sa lahat ng mga pagkukulang ng iyong kasalukuyang lugar ng trabaho: kung paano hindi mo gusto na ang isang tao ay palaging nagpapainit ng isda sa panahon ng tanghalian, na ang air conditioner ay gumagana sa itaas ng iyong likod, kung paano ka nagalit sa multa para sa pagiging isang minuto huli ka sa trabaho, kung gaano ka pagod sa pagpapatupad ng mga feature na wala talagang kailangan, kung gaano ka kapagod sa kasalukuyang stack ng mga teknolohiyang ginagamit, kung paano ka hindi natuto ng bago sa mahabang panahon. Ngunit ang pinakamahalaga, isipin na maaari kang kumita ng +X% na pera, ngunit hindi mo ito nakukuha dahil sa iyong employer. Gusto mo ba kapag iniingatan ng iyong employer ang iyong pera? Hindi? Sige at kausapin mo siya tungkol dito. Huwag lang pumasok sa trabaho na nasaktan, gawin ang iyong trabaho kahit papaano, umaasa na mapansin ito ng manager at mag-alok ng isang bagay. Ito ay hindi propesyonal.


Kung tinanggihan ka ng iyong manager ng promosyon at pinayagan kang umalis, oras na para umalis. Gaano kadalas ka makahingi ng taasan? Hangga't nakakakuha ka ng mga alok na mas mahusay kaysa sa iyong kasalukuyang sitwasyon. Ngunit huwag subukan na mandaya, dapat kang magkaroon ng isang wastong alok sa trabaho pagkatapos na maipasa ang lahat ng mga panayam.

Overtime na trabaho

Ang isang full-time na trabaho ay nangangahulugang nagtatrabaho ka ng 40 oras sa isang linggo. Kung hihilingin sa iyo na magtrabaho nang higit pa rito, tandaan na ang trabaho ay tumatagal na ng halos isang-katlo ng iyong buong pang-araw-araw na buhay. Kung wala kang iba sa buhay maliban sa trabaho at pagtulog, pagkatapos ay maaari mong patayin ang oras sa trabaho. Kung hindi, isipin ang iyong mga priyoridad. Huwag sumang-ayon na mag-overtime kung hindi sapat ang bayad. Ngunit kahit na sa kasong ito, maaaring lumabas na wala kang oras upang gastusin ang iyong suweldo. Maaari mong isipin na ngayon ay mag-iipon ka para sa isang apartment, pagkatapos para sa isang kotse, pagkatapos para sa isang bakasyon ng pamilya, at pagkatapos ay ang buhay ay magpapatuloy. Ngunit ang buhay ay umuusad na, at ikaw ay tumatanda. Subukan, pagkatapos ng lahat, upang magsimulang kumita ng mas malaki para sa parehong 40 oras sa isang linggo, at hindi sa pamamagitan ng overtime. Gumugol ng iyong libreng oras sa paggawa ng mga bagay na iyong kinagigiliwan at pag-aaral ng mga bagong bagay upang makasabay sa mga uso sa iyong propesyon.

Mga Proyekto sa Bahay

Mayroong karaniwang opinyon na ganito: "Nagpo-program na ako buong araw, wala na akong lakas para umuwi at bumuo ng pet-project o mag-commit sa open source." Naiintindihan ko na hindi lahat ay isang malaking tagahanga ng programming para sa kapakanan ng proseso, at para sa kanila ang opinyon sa itaas ay totoo. Ngunit para sa ilan, ipagpalagay ko na ang dahilan ay hindi nila sinubukang mag-program ng anumang bagay na kawili-wili para sa kanilang sarili. Marahil ay hindi lang nila naisip ang isang bagay na kawili-wili na maaaring malikha, at marahil ay hindi nila sinubukang isipin ito.



Maaaring mukhang wala kang oras para dito. Ngunit ang pagbuo ng mga proyekto sa bahay ay may higit na kinalaman sa pagkamalikhain kaysa sa iyong pang-araw-araw na trabaho bilang isang programmer. At mayroong isang mahusay na komiks tungkol sa oras para sa pagkamalikhain. Ang punto ay kapag nag-program ka para sa kasiyahan, ikaw ay nagmamadali na nagpapahirap sa paghinto, kahit na kumain o matulog. Ngunit tandaan na may iba pang mga kagiliw-giliw na bagay sa buhay bukod sa programming, hanapin ang iyong balanse.

Ang propesyon ng programming ay medyo bago, kaya may ilang mga matalo na landas dito. Ang mga espesyalista ng profile na ito ay karaniwang nakakahanap ng kanilang paraan sa tagumpay sa pamamagitan ng pagsubok at pagkakamali.

Sa anong mga paraan nila maipapatupad ang kanilang naipon na karanasan?

Pahalang na karera bilang isang executive programmer

Ang pinakamahusay na pagpipilian para sa isang geek ay (iyon ay, naka-target na pagsasanay nang hindi binabago ang katayuan sa trabaho). Ang isang programmer na patuloy na nagpapabuti ay isang mahalagang empleyado.

Malamang na hindi siya masaktan kapag namamahagi ng pondo sa sahod. Siya ay magiging isang karapat-dapat na kandidato para sa isang lugar sa ilang mas kagalang-galang na kumpanya, hanggang sa mga internasyonal na organisasyon.

Tip na dapat tandaan:

Ito ay hindi makatotohanang maging isang generalist sa IT. Upang mabilis na lumipat nang pahalang, piliin tiyak na direksyon(mga database, C++, java, atbp.) at subukang maging pinakamahusay dito.

Promosyon bilang isang dalubhasa

Kapag naabot mo ang isang tiyak na antas, mauunawaan mo na handa ka nang ibahagi ang iyong karanasan. Sa yugtong ito, isang bagong pananaw ang magbubukas sa harap mo - ang pagsasakatuparan sa sarili sa papel ng isang consultant.

Maaari mong konsultahin ang parehong mga offline na customer (halimbawa, mga kumpanya ng lungsod na gumagawa ng nagbebenta ng website para sa pagbebenta ng mga produkto) at mga kliyente mula sa virtual na espasyo. Ang mabuting gawain ng ganitong uri ay gagawa ng pangalan para sa iyo, at ito naman ay magbibigay ng kita.

Pangarap mo bang maging isang respetadong eksperto? Huwag tumutok sa programming lamang. Matuto nang madali upang makipag-usap sa mga tao, may kakayahan at matalinghaga Ipahayag ang mga saloobin.

Gawain sa pamamahala

Kung lumaki ka sa antas ng isang dalubhasa, ngunit hindi mo nais na magrehistro ng isang indibidwal na negosyante, subukang bumuo ng isang patayong karera sa isang kagalang-galang na kumpanya.

Bibigyan ka ng tungkulin sa pagpaplano at pangangasiwa sa gawain ng iba pang mga espesyalista.

Sa pangkalahatan, ikaw ang magiging boss. Samakatuwid, bumuo sa iyong sarili kasanayan sa pamumuno, matutong mag-udyok sa mga tao.

Sariling startup

Ang isa pang opsyon sa karera—marahil ang pinakamahirap—ay ang buhayin ang sarili mong proyekto (halimbawa, paglulunsad ng ilang orihinal na bayad na serbisyo).

Ang mga startup ay nagtatagumpay lamang para sa mga programmer na mayroon diwa ng entrepreneurial o hanapin isang makaranasang kasosyo sa negosyo.

Huwag agad tumalon sa isang malaking proyekto na nangangailangan ng malaking puhunan ng pera at oras. Una, subukan ang iyong sarili sa isang negosyo na sa simula ay magbibigay-daan sa iyo upang mapanatili ang iyong dating pinagkukunan ng kita.

Marahil, pagkatapos basahin ang artikulo, magsisimula kang maghanap ng bakante. Samantalahin ang mga nai-publish sa aming catalogue.


Sa pagtingin sa aking paligid, sa palagay ko ay hindi masyadong madalas, tila sa akin, na ang mga tao ay nananatiling programmer sa loob ng maraming, maraming taon. Kadalasan, unti-unti silang lumipat sa mga tagapamahala sa loob ng ilang taon, sa una ay patuloy pa rin sa pagsusulat ng code, ngunit pagkatapos ay mas maraming responsibilidad sa pamamahala ang tumatagal sa lahat ng oras. Madalas silang pumunta sa Product Management. Ang ilan, mas madalas, sa marketing. Marami ang napupunta sa mundo ng mga startup at nagiging sariling mga negosyante - kahit na patuloy silang magsulat ng code, ito ay gumagana na para sa kanilang sarili. Ang baligtad na paggalaw, mula sa iba pang mga propesyon hanggang sa mga programmer, ay halos hindi nangyayari sa gitna ng isang karera, sa simula lamang (mula sa mga mathematician, physicist, inhinyero, kahit sino pa, kung may hilig para sa bagay na ito).

Mayroong mga programmer na higit sa 50 sa nakikinitaang espasyo, ngunit kakaunti sila. Paano ipaliwanag kung bakit? - Dahil ba karamihan sa mga tao ay pumapasok sa pamamahala at iba pang mga propesyon? - o sa halip dahil ang propesyon ay lumalawak pa rin nang napakabilis, at 30 taon na ang nakalilipas ay mas kaunting mga tao ang nag-aral upang maging programmer at pumasok sa propesyon, kaya ngayon ay kakaunti na sila sa pangkalahatang masa? Marahil ang parehong mga paliwanag ay tama, ngunit marahil ang isa sa mga ito ay mas mahalaga? hindi ko alam.

Ako ay 37, at bukod sa ilang teenager na part-time na trabaho, mahigit 20 taon na akong nagprograma para mabuhay. Karamihan sa mga oras na ito ay sa mga kumpanya kung saan hindi ako ang aking sariling amo. Hanggang ngayon, sinasadya kong nilalabanan ang undercurrent na kumukuha ng mga programmer sa pamamahala sa dalawang dahilan. Pakiramdam ko ay hindi ako nag-e-enjoy dito at hindi ko akalain na magiging magaling ako dito. Hanggang ngayon ay hindi ko pinagsisisihan ang desisyong ito. Ngunit ano ang gagawin ko sa isa pang 20 taon, sa pag-aakalang ako ay buhay, medyo malusog, at nagtatrabaho pa rin? Marami pa ring maaaring magbago; ngunit kung hindi ko partikular na susubukan at mag-flutter, ang batas ng pagkawalang-galaw ng buhay ay nagsasabi na kahit na sa edad na 57 ay pinindot ko ang mga susi at maglalagay ng mga keyword sa isang text editor sa ilang kumpanya. Magkakaroon ba ng magagandang, kawili-wiling mga pagkakataon at proyekto para sa 57 taong gulang na ako sa industriya na magiging katulad nito sa loob ng 20 taon? Ngayon sa aming industriya, inuulit ko, mayroong mga programmer na higit sa 50, ngunit medyo marami sa kanila...

Ang isang kamakailang talakayan sa HN ("Ano ang nangyayari sa mas lumang mga developer?") ay nagpasigla sa aking mga saloobin tungkol dito, at habang hindi ito nagbibigay ng konkretong sagot, nagmungkahi ito ng maraming posibilidad. Ang nangungunang komento doon ay mahusay na nagbubuod sa iba't ibang mga opsyon sa pag-unlad na inilarawan ko sa itaas: maging isang tagapamahala, manatiling isang programmer at palalimin ang iyong mga kasanayan, maging isang startup na negosyante, pumunta sa isang ganap na naiibang propesyon. Mayroong maraming mga tao na tulad ko sa mga komento doon na mas gusto pa rin, lahat ng bagay ay pantay-pantay, upang kumita ng pera gamit ang mga keyword sa editor. Mas madalas sumulat ang mga mahigit sa 50 na hangga't pinapanatili nila ang teknikal na kaalaman at nakikisabay sa mga panahon, hindi sila nahihirapang maghanap ng trabaho - bagaman ang mga ito ay halos mga opinyon ng Amerikano, maaaring iba ito sa ibang mga bansa. Ngunit hindi malinaw kung ilan ang nananatili na nagnanais ng parehong bagay ngunit nahihirapang magpalit ng trabaho sa katandaan, o nahirapan silang tanggapin ang katotohanan na lahat ng kanilang edad ay nalampasan sila sa hierarchy, o na sila ay nagsawa na. .

Siyempre, ako lang ang makakapagpasya para sa aking sarili kung dapat kong "espesyal na subukan at mag-flutter," o magpatuloy sa mga keyword at editor. Ngunit matutuwa akong malaman ang opinyon ng mga programmer, kasalukuyan at kasalukuyan, na muling nagsanay bilang mga tagapamahala ng gusali o nagsusumikap para dito, sa paksang ito.

Dapat mong simulan ang iyong landas sa isang karera bilang isang programmer sa pamamagitan ng pagsagot sa tanong, kailangan mo ba ng programming? Ang tanong na ito ay hindi naaangkop sa mga nag-aaral o nag-aral sa isang espesyalidad na malapit sa programming. Kung mas mahusay ka sa matematika sa paaralan kaysa sa humanities, kung gusto mong gumugol ng maraming oras sa computer, kung gusto mong matuto ng bago, kung gayon ang programming ay para sa iyo.

Kung saan magsisimula

Mayroong ilang mga pagpipilian para sa pagbuo ng mga kaganapan, bilang isang resulta kung saan ang isang tao ay naging isang programmer. Ang una ay ang mga magulang-programmer na nagturo sa kanilang mga anak ng lahat. Ang mga batang ito ay hindi na kailangan pang pumasok sa unibersidad. Ang pangalawang pagpipilian ay ang naka-istilong propesyon ng isang programmer. Pagkatapos ng paaralan, kailangan naming pumili kung saan kami mag-aaral, at pinili namin ang naka-istilong larangan ng IT, na tila gusto namin. At ang huling pagpipilian ay isang libangan na lumago sa trabaho.

Kung wala sa nabanggit ang nangyari sa iyo, mayroon kang pagpipilian sa apat na opsyon:

  • Pag-aaral sa sarili. Ang pagpipiliang ito ay maaaring gamitin nang nakapag-iisa o kasama ng iba pang mga pamamaraan. Ang Internet ay puno ng mga application na makakatulong sa iyong matuto ng iba't ibang mga programming language at teknolohiya. Ngunit ito ang pinakamahirap na landas para sa mga nagsisimula.
  • Unibersidad. Kung nakatapos ka ng pag-aaral at nais mong maging isang programmer, pagkatapos ay pumunta sa unibersidad. Kung hindi para sa kaalaman, pagkatapos ay para sa crust. Maaari itong magsilbing bonus kapag nag-a-apply ng trabaho. Bagama't magkakaroon ka rin ng ilang kaalaman. Ngunit huwag kalimutang turuan ang iyong sarili. Ang pagpili ng isang unibersidad ay dapat na lapitan nang may pananagutan. Maingat na pag-aralan ang mga programa sa pagsasanay at piliin ang pinakamahusay na teknikal na unibersidad.
  • Mentor. Napakabuti kung makakahanap ka ng taong sumasang-ayon na tulungan ka at ituro ka sa tamang direksyon. Magmumungkahi siya ng mga angkop na libro at mapagkukunan, suriin ang iyong code, at magbibigay ng kapaki-pakinabang na payo. Siyanga pala, naisulat na namin kung saan ka makakahanap ng mentor. Maaari kang maghanap ng isang tagapayo sa mga pamilyar na programmer, sa mga partido at kumperensya ng IT, sa mga online na forum, at iba pa.
  • Mga dalubhasang praktikal na kurso. Subukang maghanap ng mga kurso sa iyong lungsod na magtuturo sa iyo ng ilang programming language o teknolohiya. Nagulat ako sa dami ng mga kursong iyon sa Kyiv, kasama na ang mga libre at may kasunod na trabaho.

Aling wika, teknolohiya at direksyon ang pipiliin

Kapag naging programmer ka, pagkatapos ng isang taon o dalawa ay malaya kang pumili ng anumang wika na gusto mo. Ngunit kapag pumipili ng isang unang programming language, dapat isaalang-alang ng isang baguhan ang mga sumusunod na pamantayan:

  • Pagkakaroon ng mga bakante sa merkado. Ang pangwakas na layunin ng landas na ito ay makahanap ng trabaho bilang isang programmer. At ito ay magiging mahirap gawin kung walang naghahanap ng mga developer sa iyong programming language sa market ng trabaho. Suriin ang mga site ng trabaho, tingnan kung sino ang pinaka-hinahangad, isulat ang isang dosenang mga wika. At magpatuloy sa susunod na pamantayan.
  • Mababang antas ng pagpasok. Kung kailangan mong gumugol ng mahabang oras sa pag-aaral ng isang wika, maaari kang mawalan ng pag-asa sa programming. Basahin ang tungkol sa mga wikang pinili mo sa itaas. Repasuhin ang literatura na kakailanganin mong basahin upang matutunan ang mga wikang ito. At piliin ang mga inilalarawan bilang madali, o tila madali sa iyo. Ang ganitong mga wika ay maaaring PHP, Ruby, Python.
  • Ang kilig sa proseso. Kung hindi ka nasisiyahan sa pagsulat ng code sa iyong piniling wika, hindi mo masisiyahan ang proseso, ang iyong trabaho, o ang iyong buhay. Kailangan mo ba ito? Gumawa ng mga tamang pagpipilian.

Kailangan mo ring magpasya sa direksyon ng programming. Mobile, desktop, laro, web, low-level programming at iba pa. Ang pinakasikat at medyo madaling industriya ay ang pagbuo para sa web, mobile at desktop na mga kliyente. Ang isang wika ay maaaring angkop para sa bawat direksyon at hindi sa isa pa. Iyon ay, kapag pumipili ng isang programming language, sulit din na magsimula mula sa kadahilanang ito.

Alinmang paraan, matuto ng mga teknolohiya sa web. Ito ay HTML markup language, CSS styles at , na gagawing dynamic ang iyong page. Ang susunod na hakbang ay upang matuto ng isang server-side na wika (Python, PHP, Ruby at iba pa) at mga web framework na angkop para dito. Pag-aralan ang mga database: halos lahat ng bakanteng programmer ay binabanggit ito.

Paano makakuha ng paunang karanasan

Kung walang karanasan hindi ka makakakuha ng trabaho. Kung walang trabaho hindi ka magkakaroon ng karanasan. Isang mabisyo na bilog ng totoong buhay. Pero ayos lang, aalis tayo.

Una, huwag maghintay hanggang mabasa mo ang bawat libro sa iyong napiling programming language. Simulan ang pagsulat ng iyong mga unang linya ng code pagkatapos ng ikalawang kabanata ng aklat. Kumpletuhin ang lahat ng mga gawain mula sa mga aklat, muling i-type ang mga halimbawa, unawain ang mga ito. Palubhain ang mga halimbawa at gawain mula sa mga aklat gamit ang iyong sariling mga ideya. Lumikha ng iyong sariling mga gawain para sa materyal na iyong sakop. Lutasin ang mga problemang ito.

Pangalawa, kailangan mong hanapin ang iyong mga unang proyekto. Ito marahil ang pinakamahirap na opsyon, ngunit ito ay gumagana. Kakailanganin mong maghanap ng mga order sa iyong sarili, tuparin ang mga ito, at mag-abala sa pagbabayad. Para sa isang baguhan, ito ay napakahirap, ngunit pagkatapos ay ang lahat ng iba pang mga pagpipilian ay magmumukhang isang piraso ng cake. Ang mga natapos na proyekto ay maaaring itala bilang karanasan at ipakita sa iyong magiging employer. Ang mga tunay na proyekto ay isang malaking plus sa iyong resume.

Kung marunong ka ng English, mas mabuting magparehistro sa English-language exchange. Mas malaki ang market doon. Kung hindi ka marunong mag English, pag-aralan mo ito. Pansamantala, available sa iyo ang mga freelance na palitan sa wikang Ruso. Maghanap ng maliliit na proyekto na nasa o mas mataas lang sa antas ng iyong kasanayan. Mag-apply para sa ilang dosenang mga trabahong ito. At maghanda upang makatanggap ng isang dagat ng mga pagtanggi. Ngunit kung isa o dalawang application ang dumating, magkakaroon ka ng pagkakataong makakuha ng tunay na karanasan.

Ang isa pang magandang opsyon para sa pagkuha ng tunay na karanasan ay open source. Ang ganitong mga proyekto ay palaging nangangailangan ng mga bagong tao, kahit na mga nagsisimula. Maaari kang maghanap ng mga bug sa proyekto o tumingin sa bug tracker at magmungkahi ng mga pamamaraan para sa paglutas ng mga ito. Madali mong mahahanap ang mga naturang proyekto sa GitHub o . Huwag mag-atubiling magtanong doon.

Ang ikaapat na opsyon para sa pagkakaroon ng karanasan ay ang pagtulong sa mga kapwa programmer. Hilingin sa kanila na ibigay sa iyo ang maliliit at simpleng gawain. Kung ang isang bagay ay hindi gumagana, palagi kang magkakaroon ng isang tao na lapitan. At sa parehong oras ay sasali ka sa isang tunay na proyekto.

Ang huling paraan ay ang iyong sariling mga proyekto, iba't ibang hackathon o nagtatrabaho sa isang coworking space. Mahirap magsimula ng iyong sariling mga proyekto nang mag-isa; mas mahusay na maghanap ng mga kakilala o kaibigan.

Bakit pumili ng Python

Pag-usapan pa natin ang tungkol sa pagpili ng iyong unang programming language. Ang unang wika ay dapat na simple at tanyag sa merkado. Ang ganitong wika ay sawa. Lubos kong inirerekumenda na piliin ito bilang iyong unang programming language.

Ang Python program code ay nababasa. Hindi mo na kailangang maging isang programmer upang makakuha ng pangunahing pag-unawa sa kung ano ang nangyayari sa isang programa. Dahil sa hindi kumplikadong syntax ng Python, magdadala sa iyo ng mas kaunting oras upang magsulat ng isang programa kaysa, halimbawa, sa Java. Isang malaking database ng mga aklatan na magse-save sa iyo ng maraming pagsisikap, nerbiyos at oras. Ang Python ay isang mataas na antas ng wika. Nangangahulugan ito na hindi mo kailangang mag-isip nang labis tungkol sa mga cell ng memorya at kung ano ang ilalagay doon. Ang Python ay isang pangkalahatang layunin na wika. At ito ay napakasimple na kahit na ang mga bata ay maaaring matuto nito.

In fairness, sulit na banggitin ang iba pang programming language. Java ay maaaring maging isang magandang pagpipilian para sa isang baguhan. Ang wikang ito ay mas sikat kaysa sa Python, ngunit medyo mas kumplikado. Ngunit ang mga tool sa pag-unlad ay mas mahusay na binuo. Ang isa ay may lamang upang ihambing ang Eclipse at IDLE. Pagkatapos ng Java, magiging mas madali para sa iyo na magpatuloy sa pagtatrabaho sa mababang antas ng mga programming language.

PHP- isa pang napaka-tanyag na wika. At sa tingin ko ito ay mas simple kaysa sa Python. Napakadaling humanap ng mentor o solusyon sa isang problema sa forum. Ito ay dahil mayroong isang malaking bilang ng mga programmer ng PHP na may iba't ibang antas sa mundo. Walang normal na pag-import sa PHP; maraming mga opsyon para sa paglutas ng parehong problema. At ito ay nagpapalubha sa pag-aaral. At ang PHP ay idinisenyo ng eksklusibo para sa web.

Mga wika C At C# napakahirap para sa isang baguhan. Ruby- isang magandang pagpipilian bilang pangalawang wika, ngunit hindi una. JavaScript- isang napakasimpleng wika, ngunit hindi ito magtuturo sa iyo ng anumang mabuti. Ngunit ang gawain ng unang programming language ay magturo pa rin sa iyo ng tama, upang magtakda ng ilang uri ng lohika.

Mahalaga ba ang Ingles?

Mahalaga! Hindi alam? Turo. Alam mo ba? Mapabuti. Matutong magbasa, magsulat, makinig at magsalita ng Ingles. Tumutok sa teknikal na panitikan. Makinig sa mga podcast sa wikang Ingles. Magbasa ng English-language programming textbooks.

Ano ang kailangan mong malaman bukod sa programming language

Siyempre, bukod sa programming language at English, kailangan mong malaman ang iba. Ngunit ano ang nakasalalay sa direksyon na iyong pinili. Dapat alam ng isang web programmer ang HTML, CSS, JavaScript. Ang isang desktop programmer ay nagtuturo ng mga operating system API at iba't ibang frameworks. Natututo ang isang developer ng mobile application ng mga framework ng Android, iOS o Windows Phone.

Kailangang matutunan ng lahat ang mga algorithm. Subukang kumuha ng kurso sa Coursera o maghanap ng libro sa mga algorithm na nababagay sa iyo. Bilang karagdagan, kailangan mong malaman ang isa sa mga database, mga pattern ng programming, at mga istruktura ng data. Ito rin ay nagkakahalaga ng pagsuri sa mga imbakan ng code. At least may isa. Kinakailangan ang kaalaman sa mga version control system. Piliin ang Git, ito ang pinakasikat. Kailangan mong malaman ang mga tool na ginagamit mo, ang operating system, at ang development environment. At ang pangunahing kasanayan ng isang programmer ay ang makapag-Google. Hindi ka mabubuhay kung wala ito.

Mga huling hakbang

Kailangan mong maghanda ng resume. Hindi lamang isang resume, ngunit isang . Hindi ka dapat magsulat doon, ngunit hindi mo rin kailangang manatiling tahimik tungkol sa iyong mga kasanayan. Kapag naimbitahan ka sa isang panayam, dapat mong paghandaan ito. Suriin ang materyal na nakalista sa iyong resume. Dapat kang maging tiwala sa iyong kaalaman. Tingnan ang mga proyektong pinaghirapan mo, isipin ang mga teknolohiyang ginamit mo. At pasulong - sa isang magandang kinabukasan na may bagong propesyon bilang isang programmer.

Isipin ang iyong karera. Larawan: Udachnaya kimberlite pipe, Yakutia.

Ang isang masamang programmer ay isa na hindi nagsusumikap na maging isang CIO. Ang ambisyon at pagnanais para sa taas ng karera ay kadalasang sumasabay sa pagnanais na maging isang mahusay na propesyonal sa iyong larangan.

Ang mga HR manager ay madalas na naglilista ng posibilidad ng paglago ng karera bilang isa sa mga punto kapag kumukuha ng isang batang espesyalista, at para sa karamihan ng malalaking kumpanya ng IT, ang mga prospect para sa propesyonal na pag-unlad ng isang developer ay literal na binabaybay ng bawat punto. Ang nasabing plano ay sumasalamin sa mga pangunahing salik na dapat mapabuti ang pagganap ng empleyado para sa kasunod na pag-promote sa mas mataas na posisyon.

Isaalang-alang natin ang career path ng isang programmer gamit ang halimbawa ng vertical na paggalaw, dahil ito ang klasiko at pinakakaraniwang landas mula sa trainee patungo sa manager. Bilang karagdagan, ito ay patayong paglago na nag-aambag sa pinakamabilis na pagsulong sa karera.

Trainee (Junior Developer)

Karamihan sa mga programmer ay nagsisimula sa kanilang mga karera sa unang hakbang na ito. Kabilang sa mga pangunahing kinakailangan para sa pagkuha:

Mas mataas o hindi kumpletong teknikal na edukasyon.
Kaalaman sa mga pangunahing kaalaman ng mga programming language.

Ang unang posisyon ng isang batang espesyalista ay hindi nagsasangkot ng pakikilahok sa malalaking proyekto: itinalaga sa kanila ang papel ng pagsasagawa ng pamantayan, karaniwang mga gawain. Sa yugtong ito, ang developer ay may sapat na oras upang mahasa ang kanyang mga kasanayan at makakuha ng pinakamataas na posibleng layer ng kaalaman upang sumulong. Makakatulong ito sa iyo na makakuha ng pangunahing kaalaman.

Software developer

Sa oras ng paglipat sa posisyong ito, ang programmer ay dapat na hindi bababa sa:

Magtataglay ng isang specialist diploma (mas mainam na isang teknikal na espesyalidad, ngunit hindi kinakailangan).
Alamin ang lahat tungkol sa software engineering.
Marunong sa ilang programming language.
Magkaroon ng pag-unawa sa mga sistema ng pamamahala ng database, mga serbisyo sa web, OS.

Sa yugtong ito, ang mga responsibilidad ng empleyado ay umabot sa isang ganap na naiibang antas - ipinagkatiwala sa kanya ang pagbuo at pagpapatupad ng software, ipinagkatiwala sa pagtatrabaho sa mga bagong proyekto at pagpapanatili ng mga umiiral na.

Binibigyang-diin ng mga tagapamahala ng HR na sa posisyon ng developer ng software ay mahalaga para sa isang empleyado na patunayan ang kanyang sarili hindi lamang bilang isang dalubhasa savvy sa mga proseso ng programming, kundi pati na rin bilang isang palakaibigan, hindi magkasalungat na tao. Ang karagdagang pagsulong sa hagdan ng karera ay nagsasangkot ng mas malapit na pakikipag-ugnayan sa koponan, mga empleyado ng iba pang mga departamento, at mga pinuno ng mga departamento, kaya ang mga personal na katangian ay napakahalaga.

Pangunahing Developer

Kabilang din sa mga kinakailangan para sa aplikante ang:

Karanasan sa isang malaking dalubhasang kumpanya, mula sa 2 taon.
Pakikilahok sa mga komersyal na proyekto ng korporasyon.

Kasama sa hanay ng mga propesyonal na gawain na kinakaharap ng pangunahing developer ang pagpapatupad ng detalyadong disenyo ng mga bahagi batay sa mga umiiral na pangkalahatang detalye, pati na rin ang programming at paunang pagsubok ng bahagi. Sa pagsasalita tungkol sa mga prospect para sa karagdagang pag-unlad, ito ay nagkakahalaga ng pagpuna na ang mga nangungunang developer na hindi lamang may potensyal, ngunit alam din kung paano ayusin ang gawain ng isang grupo ng mga tao ay may mas malaking pagkakataon na umakyat pa sa career ladder.

Pinuno ng Departamento ng Pagpapaunlad (Lider ng Koponan)

Ang lahat ng karagdagang kinakailangan para sa isang kandidato para sa posisyon na ito ay mahalagang limitado sa karanasan sa pamamahala ng isang pangkat ng pagpapaunlad na binubuo ng hindi bababa sa dalawang tao at pagkakaroon ng mga kasanayan sa pamamahala. Dapat alam ng manager ang mga pangunahing kaalaman sa pamamahala ng proyekto, makapaghanda ng epektibo, matalinong mga presentasyon at magsalita sa harap ng madla. Kailangan din niya ang kakayahang magtalaga ng awtoridad, tukuyin ang mga problema at ang pinakamabisang paraan upang malutas ang mga ito.

Ang mga pangunahing responsibilidad, bilang panuntunan, ay kinabibilangan ng pangangasiwa ng proyekto at paggawa ng mga desisyon sa disenyo, pag-aayos ng pangkatang gawain, at paglutas ng lahat ng uri ng mga teknikal na problema.

Tagapamahala ng proyekto

Tulad ng ipinapakita ng kasanayan, ang mga espesyalista na may parehong mga kasanayan sa pamamahala at kaalaman sa larangan ng pag-unlad ay pinakamahusay na gumaganap sa posisyon na ito. Ngunit kung minsan ang mga tagapamahala ng proyekto ay nagiging mga taong malayo sa aktwal na larangan ng programming. Samakatuwid, ang bawat ambisyosong developer sa yugtong ito ay may maraming kakumpitensya. Narito ito ay mahalaga upang patunayan ang iyong sarili nang maayos at bilang isang matalinong tagapamahala, na may sapat na mga ideya na hindi mahalaga sa kanyang bag.

Move on - sa ilang direksyon: lumipat sa isa pa, mas kawili-wili at malakihang proyekto, bumuo bilang development director, o maging IT director. Ang napiling landas ay higit sa lahat ay nakasalalay sa mga interes ng espesyalista at sa lugar kung saan siya naghahangad na patunayan ang kanyang sarili.