JavaRush /Java Blog /Random-TL /Parehong Swede at Reaper. Sino ang isang Full Stack devel...

Parehong Swede at Reaper. Sino ang isang Full Stack developer at paano maging isa?

Nai-publish sa grupo
Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 1Mayroong isang posisyon sa larangan ng pag-unlad ng computer na mahiwaga at hindi malinaw, ngunit sa parehong oras ay nakakaakit. Ito, tulad ng malamang na naunawaan mo na, ay ang posisyon ng isang Full Stack developer. Nakuha nito ang kontrobersyal na reputasyon na ito para sa ilang kadahilanan, na tinatalakay sa ibaba, ngunit sa madaling sabi, lahat ito ay dahil hindi magkasundo ang mga developer at iba pang mga teknikal na espesyalista sa kung ano dapat ang isang tunay na Full Stack developer. Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 2

"Ang isang full stack developer ay isang teknikal na wizard na nakakaalam ng lahat ng mga programming language at teknolohiya, at kumakanta at sumasayaw din nang maganda."

Si Ian Peters-Campbell ay
isang bihasang developer at tagapagtatag ng kumpanya ng software na Stickbuilt.

Sino ang isang Full Stack Developer?

Kaya, ano ang isang Full Stack developer sa tradisyonal na kahulugan? Ang pinakakaraniwang kahulugan ay nagsasabi sa amin na ito ay isang espesyalista na responsable para sa pagbuo ng lahat ng bahagi ng paggana ng system, kabilang ang parehong bahagi ng gumagamit ng produkto (frontend) at ang panloob na code na tumatakbo sa mga distributed na server (backend). Bilang isang patakaran, kung ang pariralang "buong stack" ay lumabas sa isang ad para sa isang bukas na bakante, nangangahulugan ito na ang developer ay dapat magkaroon ng kaalaman at kasanayan sa pag-develop sa backend at frontend sa parehong oras. Gayunpaman, maraming kumpanya ang nagpapatuloy, at sa pamamagitan ng "Full Stack developer" ang ibig nilang sabihin ay isang unibersal na sundalo na hindi lamang nagagawang bumuo ng lahat ng mga bahagi ng isang software na produkto, ngunit maaari ring gawin ang lahat ng iba pa, mula sa pamamahala ng produkto hanggang sa pag-set up ng operating system sa mga server at pag-aayos ng printer ng opisina. Sa katunayan, sa karamihan ng mga kaso, ang isang buong stack na developer ay kinakailangan na magkaroon ng isang disenteng antas ng kaalaman sa hanay ng mga teknolohiya na kinakailangan para sa matagumpay na pagkumpleto ng proyekto. Kaya, sa kasong ito, ang "stack" ay nangangahulugang isang koleksyon ng mga module ng software at mga bahagi na pinagsama-sama upang makamit ang kinakailangang paggana. Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 3

Bakit napakakontrobersyal ng paksang ito?

Ang debate tungkol sa kung ano talaga ang dapat na developer ng Full Stack, at kung mayroon nga bang ganoong halimaw sa dami na sapat upang paghiwalayin ang mga naturang espesyalista sa isang hiwalay na grupo, ay nagaganap sa loob ng mahabang panahon. Tulad ng napapansin ng mga nakaranasang programmer, ito ay sumiklab nang may panibagong sigla matapos ang mga kinatawan ng Facebook, sa bukang-liwayway ng pagkakabuo nito noong 2000s, sa isang talumpati sa isa sa mga dalubhasang kumperensya para sa mga developer, ay nagsabi na sila ay umuupa lamang at eksklusibong mga Full Stack na developer . “Kung nalilito ka sa mga tradisyonal na kahulugan ng isang Full Stack developer, tama ang lahat. Ito ay dahil ang isang Full Stack developer ay isang bagay na panandalian. Walang siyentipikong modelo na naglalarawan kung ano ang isang "buong stack". Walang malinaw na paraan upang sukatin ang antas ng isang buong stack na developer kumpara sa iba pang katulad na mga developer. Ang tanging pinagkasunduan tungkol sa Full Stack ay walang sumasang-ayon sa iisang kahulugan ng kakanyahan ng hindi pangkaraniwang bagay na ito. Iyon ang dahilan kung bakit ang lahat ng nabasa mo sa paksang ito ay walang iba kundi isang pansariling opinyon, "sabi ni Ryland Goldstein, isang makaranasang software developer at arkitekto. Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 4

Apat na Haligi ng Full Stack Development

Gayunpaman, bagama't maraming eksperto ang nagtatalo na ang isang Full Stack na developer ay isang kontrobersyal na konsepto, walang mas kaunting mga bakante, kabaligtaran. Samakatuwid, tingnan natin ang kaalaman kung aling mga lugar, bilang panuntunan, kailangan mong magkaroon upang mag-aplay para sa ganitong uri ng posisyon.
  1. Pag-unlad ng frontend.

    Kadalasan, ang front-end ay tumutukoy sa mga teknolohiya sa web development at programming language gaya ng HTML, CSS, at JavaScript. Kasama rin dito ang mga balangkas ng JavaScript gaya ng React, at lahat ng iba pang teknolohiyang nauugnay sa bahagi ng "kliyente" ng produkto.

    Saan magsisimulang mag-aral:

    Maaari kang magsimula sa Create React App o Gatsby frameworks , kung saan napakadaling gumawa ng isang ganap na React application. Magandang ideya na matutunan ang mga preprocessor ng CSS, mga pangunahing tool ng CSS tulad ng CSS-in-JS , at mga tool tulad ng Sass .

  2. Pag-unlad ng backend.

    Kasama sa backend ang lahat ng code na tumatakbo sa mga server, kabilang ang mga application at API na nagpapagana sa site. Ang mga pangunahing programming language para sa backend ay Java, Python, Ruby at iba pa. Bukod dito, kasama rin sa pagbuo ng backend ang database management, na nangangailangan ng kaalaman sa SQL.

    Saan magsisimulang mag-aral:

    Una sa lahat, inirerekumenda na magsimula sa pamamagitan ng pagpapalalim ng iyong kaalaman sa JavaScript, bilang isang uri ng tulay sa pagitan ng frontend at backend sa maraming pagkakataon. Sa partikular, magandang ideya na matutunan ang NodeJS , isang software platform batay sa V8 engine na ginagawang isang wikang pangkalahatang layunin ang JavaScript mula sa isang napaka-espesyal na wika.

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.

  3. Проджект-менеджмент.

    От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.

    С чего начать изучение:

    Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.

  4. DevOps.

    Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.

    С чего начать изучение:

    Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).

    Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 5

    Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.

Зарплаты Full Stack разработчиков

Tulad ng para sa mga suweldo ng mga full stack developer, hindi sila gaanong mas mataas sa karaniwan kaysa sa kanilang mga kasamahan na may mas tiyak na espesyalisasyon sa pag-unlad. Sa US, ang average na suweldo ng mga full-stack na developer ay halos $75 thousand bawat taon, ayon sa PayScale . Kasabay nito, ang pinakamababang suweldo (para sa mga programmer sa mga full-stack na posisyon) ay humigit-kumulang $46 thousand bawat taon, at ang maximum ay humigit-kumulang $114 thousand bawat taon. Tulad ng para sa mga ex-USSR na bansa, sa Ukraine, ayon sa mapagkukunan ng Work.ua , ang average na suweldo ng mga full stack developer ay 35 thousand hryvnia (tungkol sa $1300) bawat buwan, habang sa Kiev ay 45 thousand (tungkol sa $1650). Sa Russia, ayon sa mga datos na ito , ang mga suweldo ng mga full-stack na developer, sa karaniwan, ay mula sa 40 libong rubles ($530) hanggang 150 libong rubles. ($2000). Kung pinag-uusapan natin ang average para sa buong mundo, kung gayon ang mga espesyalista na nagtatrabaho sa posisyon na isinasaalang-alang natin ngayon ay kumikita ng humigit-kumulang $45,000 bawat taon. At sa Europe, ang mga full stack developer ay tumatanggap ng pinakamataas na suweldo sa Denmark at Sweden. Parehong Swede at Reaper.  Sino ang isang Full Stack developer at paano maging isa?  - 6

Paano maging isang Full Stack developer?

Ngayon, saglit nating suriin ang mga kasanayan, kakayahan at teknolohiya na kailangan mong makabisado upang matawag ang iyong sarili na isang buong stack na developer na may kumpletong kumpiyansa at walang kabalintunaan.
  1. Mga wika sa programming.

    Ang isang buong stack na developer ay dapat na matatas sa ilang mga programming language. Una sa lahat, siyempre, mayroong mga pangunahing: Java, PHP, C#, Python, Ruby, Perl, atbp. Sa isang salita, ang mga pinakasikat na wika kung saan ang mga pangunahing proseso ng negosyo ng produkto ay malamang na isusulat. Siyempre, magiging napakahirap na matutunan ang isang buong hanay ng gayong mga wika nang perpekto. Ngunit kailangan mong makabisado man lang ang gramatika ng wikang gaganap ng mahalagang papel sa pag-unlad, at mayroon ding mahusay na kaalaman sa kung paano buuin, disenyo, ipatupad at subukan ang isang proyekto batay sa isa o higit pang mga wika.

  2. Frameworks at code library.

    Buweno, ang isang mahusay na kaalaman sa mga pangunahing wika ng programming sa karamihan ng mga kaso ay kasama ang kakayahang gumamit ng mga sikat na frameworks at mga aklatan, tulad ng Java Spring, Hibernate, Python Django, PHP thinkphp, MyBatis at iba pa.

  3. Mga teknolohiya sa frontend.

    Ang kahalagahan ng kaalaman sa mga front-end na teknolohiya para sa mga full-stack na developer ay mahusay din, at tumataas sa paglipas ng panahon. Ngayon, kapag ang kaginhawahan at ang pangkalahatang "wrapper" ng isang produkto ay naging hindi gaanong mahalaga kaysa sa pag-andar, ang isang makabuluhang bahagi ng pangkalahatang tagumpay ng proyekto ay nahuhulog sa mga balikat ng frontend. Para sa Buong stack, kailangan mong malaman ang mga pangunahing teknolohiya sa front-end, iyon ay, HTML5, CSS3 at JavaScript, pati na rin ang master ang pangunahing front-end na mga framework at mga aklatan, katulad ng JQuery, LESS, SASS, AngularJS at ang naunang nabanggit Magreact.

  4. Database.

    Ang mga database ay isa pang mahalagang bahagi ng "buong stack," dahil ang anumang produkto o serbisyo ay kailangang mag-imbak ng impormasyon sa isang lugar. Alinsunod dito, dapat na alam ng isang full stack na developer ang hindi bababa sa ilan sa mga pinakasikat na database system at kung paano magtrabaho sa kanila. Ang pinakasikat na database system ngayon ay ang MySQL, MongoDB, Redis, Oracle, SQLServer at iba pa. Kabilang sa mga ito, ang MongoDB ay pinakasikat bilang isang database para sa iba't ibang mga proyekto sa Internet, MySQL at Oracle ay pinakasikat para sa backend sa larangan ng mga produkto ng enterprise, at ang Redis ay kadalasang ginagamit para sa pag-cache at pagpapabuti ng pagganap ng system.

  5. Pamamahala at malambot na kasanayan.

    Ngunit upang makamit ang magagandang resulta sa larangang ito, hindi sapat ang pag-aaral lamang ng ilang teknolohiya o programming language. Ang matagumpay na pamamahala ng proyekto ay nagsasangkot ng maraming bahagi, kabilang ang pamamahala ng oras, pagpaplano, mahusay na mga kasanayan sa komunikasyon at marami pang iba. At ang lahat ng ito ay nakuha pangunahin sa pamamagitan ng pagsasanay.

  6. Pangunahing kaalaman sa disenyo.

    At sa wakas, ang kaalaman sa disenyo, katulad ng disenyo ng UX/UI, kahit na sa isang pangunahing antas, ay nasa loob din ng kakayahan ng isang buong stack na developer.

    Sa pamamagitan ng paraan, narito ang isang mahusay na binubuo ng roadmap na idinisenyo upang graphical na ipakita ang lahat ng iba't ibang mga teknolohiya sa itaas.

Mga konklusyon at prospect

Tulad ng maaari mong tapusin mula sa lahat ng nasa itaas, upang maging isang ganap at maaaring maging isang karaniwang full-stack na developer, kakailanganin mong gumugol ng maraming oras at pagsisikap. Gayunpaman, ang pare-pareho at regular na pagsasanay ay nagbibigay-daan sa iyo upang makabisado ang mas kumplikadong mga disiplina sa paglipas ng panahon. Ang pangunahing bagay ay upang maunawaan kung saan pupunta, magtrabaho sa mga pangunahing kasanayan at hindi huminto sa pag-aaral sa sarili. Ngunit kung kailangan mong gumawa ng gayong mga pagsisikap upang maging isang matagumpay na Full stack developer ay isa pang tanong. Kung pag-uusapan natin ang mga pakinabang at disadvantages ng naturang gawain, ang mga disadvantages ay halata - kailangan mong mag-aral ng maraming at maunawaan ang maraming iba't ibang mga bagay. Ang mga plus ay mas kumplikado. Karaniwang may pagkakataon ang isang full stack na developer na magkaroon ng mas malaking epekto sa proyekto sa kabuuan, kumpara sa mga programmer na lubos na dalubhasa. Para sa karamihan, pinapataas nito ang kasiyahan sa trabaho, at, muli, ang ChSV ay namumulaklak at naaamoy. Samantalang ang pag-unawa sa buong hanay ng mga teknolohiya at kasanayan na kinakailangan para sa matagumpay na pag-unlad ay minsan ay nagbubukas ng tunay na walang limitasyong mga posibilidad. Ito ay pinaniniwalaan na ang mga full stack developer ay kadalasang nagiging matagumpay na IT entrepreneur. At sa pangkalahatan, ang isang taong may ganoong kubyerta ng mga kasanayan ay tiyak na hindi maiiwan nang walang trabaho , anuman ang anumang mga krisis.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION