Walong pagkakamali ang nagawa ko bilang junior

Ang pagsisimula bilang isang developer ay kadalasang nakakatakot: nahaharap ka sa mga hindi pamilyar na problema, maraming dapat matutunan, at mahihirap na desisyon na dapat gawin. At sa ilang pagkakataon ay mali tayo sa mga desisyong ito. Ito ay medyo natural, at walang punto sa pagkatalo sa iyong sarili tungkol dito. Ngunit ang dapat mong gawin ay alalahanin ang iyong karanasan para sa hinaharap. Isa akong senior developer na maraming pagkakamali sa aking panahon. Sa ibaba ay sasabihin ko sa iyo ang tungkol sa walo sa mga pinakaseryosong ginawa ko noong bago pa lang ako sa pag-unlad, at ipapaliwanag ko kung paano sila naiwasan.

Walong pagkakamali ang nagawa ko bilang junior

Kinuha ko yung una nilang inaalok

Kapag natutunan mong magsulat ng code sa iyong sarili o natapos ang iyong pag-aaral sa unibersidad, ang pagkuha ng iyong unang trabaho sa iyong espesyalidad ay magiging isa sa iyong mga pangunahing layunin. Parang liwanag sa dulo ng mahabang lagusan.

Samantala, hindi madali ang paghahanap ng trabaho. Parami nang parami ang nag-aaplay para sa mga junior position. Kailangan natin sumulat ng killer resume, dumaan sa isang buong serye ng mga panayam, at kadalasan ang buong prosesong ito ay napaka-delay. Dahil sa lahat ng ito, hindi kataka-taka na ang anumang alok sa trabaho ay gusto mong kunin ito gamit ang dalawang kamay.

Gayunpaman, maaaring ito ay isang masamang ideya. Ang aking unang trabaho ay malayo sa perpekto, parehong sa mga tuntunin ng propesyonal na paglago at sa mga tuntunin ng kasiyahan mula sa proseso. Ang mga nag-develop ay ginabayan ng motto na "ito ay gagawin," at hindi kaugalian na subukan nang husto. Sinubukan ng bawat isa na sisihin ang isa't isa, at madalas kong kailanganin ang mga sulok upang matugunan ang napakahigpit na mga deadline. Ngunit ang pinakamasama ay wala akong natutunan.

Sa panahon ng mga panayam, nagbingi-bingihan ako sa lahat ng mga tawag, labis akong nabighani sa pag-asang makakuha ng trabaho. Kung may mga pag-aalinlangan na lumitaw, lahat sila ay lumipad sa aking ulo nang marinig ko na kinuha nila ako! At kahit na para sa isang magandang suweldo!

At iyon ay isang malaking pagkakamali.

Ang unang trabaho ay napakahalaga. Nagbibigay ito sa iyo ng ideya kung ano ang pakiramdam ng pagiging isang tunay na programmer, at ang karanasan at pagsasanay na makukuha mo mula rito ay maaaring maglatag ng pundasyon para sa iyong buong karera sa hinaharap. Kaya naman kailangang masusing alamin ang lahat tungkol sa bakante at ang employer bago sumang-ayon. Mahirap na karanasan, masamang tagapagturo - tiyak na hindi mo ito kailangan.

  • Magsaliksik ng impormasyon tungkol sa kumpanya. Pumunta sa mga site ng pagsusuri, tingnan ang opisyal na website, mag-surf lamang sa Internet at mangolekta ng mga review. Ito ay magbibigay sa iyo ng isang mas mahusay na ideya kung ang kumpanya ay umaangkop sa iyong mga pangangailangan at layunin.
  • Tanungin mo ang iyong mga kaibigan. Kung sinuman sa iyong lupon ay nagtrabaho para sa employer na ito o may kakilala sa isang tauhan, makipag-usap sa kanila nang personal. Alamin kung ano ang nagustuhan nila, kung ano ang hindi nila nagustuhan, at kung paano nila tiningnan ang karanasan sa pangkalahatan.

Hindi nagtanong ng mga tamang tanong sa mga panayam

Ang isang pakikipanayam ay ang pinakamahusay na pagkakataon upang mas makilala ang kumpanya, kaya siguraduhing maghanda ng mga tanong tungkol sa kung ano ang gusto mong matutunan mula sa mga empleyado. Ito ang ilang mga halimbawa:

  • Magtanong tungkol sa proseso ng pagbuo (anong mga pamamaraan ang sinusunod nila? Mayroon bang mga pagsusuri sa code? anong mga diskarte sa pagsasanga ang ginagamit?)
  • Magtanong tungkol sa pagsubok (anong mga pagsubok ang ginagawa? mayroon bang mga espesyal na tao na gumagawa lamang ng pagsubok?)
  • Magtanong tungkol sa kultura ng kumpanya (gaano impormal ang lahat? mayroon bang suporta para sa mga juniors?)

Undecided sa trajectory ng paggalaw

Walang alinlangan, ang landas tungo sa pagiging isang bihasang developer ay napakapaikot-ikot. Sa ngayon maaari kang pumili mula sa iba't ibang wika, frameworks at tool. Ang pagkakamali ko sa unang bahagi ng aking karera ay sinubukan kong makabisado ang lahat. Nakakatuwa, ito ay humantong lamang sa hindi ko gaanong pag-unlad sa anumang bagay. Una kong kinuha ang Java, pagkatapos ay JQuery, pagkatapos ay lumipat sa C#, mula doon sa C++... Sa halip na pumili ng isang wika at ihagis ang lahat ng aking lakas dito, tumalon ako mula ikalima hanggang ikasampu, ayon sa aking kalooban. Maaari kong tiyakin sa iyo na ito ay isang lubhang hindi epektibong pamamaraan ng pagsasanay.

Nakamit ko sana ang mas mahusay na mga resulta at mas mabilis na umakyat sa hagdan ng karera kung agad akong nagpasya sa isang tilapon, iyon ay, isang tiyak na hanay ng mga teknolohiya, at nakatuon sa mga ito. Halimbawa, kung isa kang front-end na developer, master ang JavaScript, CSS/HTML, at isang framework na iyong pinili. Kung nagtatrabaho ka sa backend, muli, kumuha ng isang wika at pag-aralan itong mabuti. Hindi kinakailangang malaman ang parehong Python, Java, at C#.

Kaya't mag-focus ka, magkaroon ng direksyon at gumawa ng plano na magbibigay-daan sa iyong maging propesyonal sa iyong napiling landas (dito mapa ng daan, na makakatulong sa iyo dito).

Sopistikado sa code

Kaya, naghahanda ka ng pagsusulit upang ipakita sa iyong tagapag-empleyo ang iyong mga kakayahan, o nagawa mo na ang unang gawain sa iyong unang trabaho. Lumabas ka sa iyong paraan upang mapabilib. Ano ang pinakamahusay na paraan upang makamit ang mga resulta? Marahil ay ipinapakita sa panahon ng pagpapatupad ang sopistikadong pamamaraan na kamakailan mong pinagkadalubhasaan, tama ba?

Hindi. Ito ay isang malubhang pagkakamali na ako mismo ang nakagawa, at mas madalas kaysa sa gusto ko, nakikita ko sa gawain ng iba pang mga juniors. Karaniwan na para sa kanila na muling likhain ang gulong o maghanap ng mga kumplikadong solusyon sa pagtatangkang ipakita ang kanilang kaalaman.

Ang pinakamahusay na diskarte sa pagsulat ng code ay ipinahayag basically KISS. Sa pamamagitan ng pagsusumikap para sa pagiging simple, magkakaroon ka ng malinaw na code na madaling gamitin sa hinaharap (papahalagahan ito ng developer na papalit sa iyo).

Nakalimutan na may buhay sa labas ng code

Ang hindi "pag-switch off" ay isang masamang ugali na nakuha ko nang maaga. Kapag umuwi ako sa pagtatapos ng araw, regular kong dinadala ang aking laptop sa trabaho at nakaupo dito nang maraming oras upang isara ang isang gawain o ayusin ang isang bug, bagama't pareho silang maaaring maghintay hanggang sa umaga. Gaya ng inaasahan mo, nakaka-stress ang regimen na ito at mabilis akong na-burn out.

Ang dahilan para sa pag-uugali na ito ay bahagyang ang aking pagnanais na gawin ang lahat nang mabilis hangga't maaari. Ngunit sa katotohanan, dapat kong naunawaan na ang trabaho ay isang pangmatagalang proseso at, sa mga bihirang eksepsiyon, ang mga pagkukulang ngayon ay madaling madala hanggang bukas. Napakahalaga na pana-panahong lumipat ng mga gear at tandaan na ang buhay ay hindi limitado sa trabaho - may mga kaibigan, pamilya, libangan, libangan. Siyempre, kung gusto mong umupo hanggang madaling araw coding - para sa kapakanan ng Diyos! Ngunit kapag hindi na masaya, huminto at isipin kung oras na para gumawa ng iba. Hindi ito ang aming huling araw ng trabaho!

Iwasang sabihin: "Hindi ko alam"

Ang pagiging makaalis sa proseso ng paglutas ng isang problema o pagkumpleto ng isang gawain ay karaniwan; kahit na ang karamihan sa mga nakatatanda ay nahaharap nito. Noong junior pa lang ako, sinabi ko, β€œHindi ko alam,” mas madalas kaysa dapat, at nagkamali ako tungkol doon. Kung may nagtanong sa akin sa management at hindi ko alam ang sagot, susubukan kong maging malabo sa halip na aminin na lang.

Pakiramdam ko kapag sinabi ko, "Hindi ko alam," ang mga tao ay magkakaroon ng impresyon na hindi ko alam kung ano ang ginagawa ko. Sa katunayan, ito ay hindi totoo sa lahat; walang omniscient na mga tao. Samakatuwid, kung tatanungin ka tungkol sa isang bagay na hindi mo alam, sabihin mo. Ang diskarte na ito ay may ilang mga pakinabang:

  • Ito ay patas - hindi mo nililinlang ang nagtatanong
  • May pagkakataon na ipapaliwanag nila ito sa iyo at pagkatapos ay may matutunan kang bago
  • Ito ay nagbibigay inspirasyon sa paggalang - hindi lahat ay kayang aminin na hindi nila alam ang isang bagay

Nagmamadali akong umabante

Marahil narinig mo na ang kasabihang, "Matuto kang maglakad bago ka tumakbo." Wala kahit saan na mas may kaugnayan kaysa sa larangan ng web programming. Kapag una kang nakakuha ng trabaho sa isang lugar bilang isang junior, gusto mo lang kunin ang toro sa tabi ng mga sungay at agad na magtrabaho sa ilang malaki, kumplikadong proyekto. Maging ang mga pag-iisip ay lumalabas tungkol sa kung paano mabilis na makakuha ng promosyon sa susunod na antas!

Siyempre, maganda ang ambisyon, ngunit sa totoo lang, walang magbibigay ng ganoon sa isang junior sa labas mismo ng gate. Sa simula pa lang ng iyong karera, malamang na bibigyan ka ng mga simpleng gawain at mga bug na dapat ayusin. Hindi ang pinakakapana-panabik na bagay sa mundo, ngunit kung saan pupunta. Ito ay magbibigay-daan sa iyong maging komportable sa codebase nang hakbang-hakbang at matutunan ang lahat ng mga proseso. Kasabay nito, nagkakaroon ng pagkakataon ang iyong mga boss na makita kung paano ka nababagay sa koponan at kung ano ang pinakamahusay mong ginagawa.

Ang pagkakamali ko ay nadismaya ako sa maliliit na gawaing ito at nagambala ako sa aking trabaho. Maging matiyaga, gawin ang lahat ng hinihiling nila nang buong taimtim, at sa lalong madaling panahon makakakuha ka ng isang bagay na mas kawili-wili.

Hindi sumali sa komunidad at hindi gumawa ng mga koneksyon

Ang mga developer ay may isang mahusay na komunidad: sila ay laging handang tumulong, magbigay ng feedback at maging ng paghihikayat. Ang programming ay mahirap at lubhang nakakapagod minsan. Para sa akin, ang panahon ng pagtatrabaho bilang isang junior ay magiging mas madali kung nagsimula akong aktibong makipag-usap sa mga kasamahan mula pa sa simula.

Ang mga pakikipag-ugnayan sa komunidad ay lubhang kapaki-pakinabang para sa self-education. Maaari kang mag-ambag sa mga open source na proyekto, pag-aralan ang code ng ibang tao, at panoorin kung paano pinangunahan ng mga programmer ang isang proyekto nang magkasama. Ito ang lahat ng mga kasanayan na magagamit mo sa iyong pang-araw-araw na trabaho at gagawin kang isang mahusay na propesyonal sa paglipas ng panahon.

Pumili ng mga komunidad na pumukaw sa iyong interes - kasama sa ilang mga opsyon ang freeCodeCamp, CodeNewbies, 100DaysOfCode - at sumali! Maaari ka ring dumalo sa mga lokal na pagkikita-kita sa iyong lungsod (maghanap sa meetup.com).

Sa wakas, sa ganitong paraan maaari kang makakuha ng mga propesyonal na koneksyon. Sa esensya, ang mga koneksyon ay ang mga tao lang sa iyong industriya kung saan ka naka-network. Bakit kailangan ito? Well, sabihin nating balang araw gusto mong magpalit ng trabaho. Kung makikipag-ugnayan ka sa iyong mga koneksyon, maaaring may makapagpapayo sa iyo tungkol sa isang angkop na bakante, o kahit na magrekomenda sa iyo sa isang employer. Magbibigay ito sa iyo ng malaking kalamangan sa panayam - nakapagbigay na sila ng isang salita para sa iyo, hindi ka na "isa pang resume mula sa pile."

Iyon lang, salamat sa iyong pansin!

Pinagmulan: www.habr.com

Magdagdag ng komento