"Pembangun tindanan penuh ialah ahli sihir teknikal yang mengetahui semua bahasa pengaturcaraan dan teknologi, dan juga menyanyi dan menari dengan indah."
Siapa Pembangun Timbunan Penuh?
Jadi, apakah pembangun Full Stack dalam erti kata tradisional? Takrifan yang paling biasa memberitahu kami bahawa ini adalah pakar yang bertanggungjawab untuk membangunkan semua bahagian kefungsian sistem, termasuk kedua-dua bahagian pengguna produk (bahagian hadapan) dan kod dalaman yang dijalankan pada pelayan yang diedarkan (bahagian belakang). Sebagai peraturan, jika frasa "tindanan penuh" muncul dalam iklan untuk jawatan kosong terbuka, ini bermakna pembangun mesti mempunyai pengetahuan dan kemahiran dalam pembangunan bahagian belakang dan bahagian hadapan pada masa yang sama. Walau bagaimanapun, banyak syarikat pergi lebih jauh, dan dengan "pembangun Timbunan Penuh" yang mereka maksudkan adalah askar sejagat yang bukan sahaja dapat membangunkan semua komponen produk perisian, tetapi juga boleh mengambil segala-galanya, daripada pengurusan produk hingga menyediakan operasi. sistem pada pelayan dan membetulkan pencetak pejabat. Malah, dalam kebanyakan kes, pembangun tindanan penuh dikehendaki mempunyai tahap pengetahuan yang baik tentang set teknologi yang diperlukan untuk kejayaan menyiapkan projek. Oleh itu, dalam kes ini, "tindanan" bermaksud koleksi modul perisian dan komponen digabungkan bersama untuk mencapai kefungsian yang diperlukan.Mengapa topik ini sangat kontroversi?
Perdebatan tentang apa sebenarnya pembangun Full Stack, dan sama ada binatang sebegitu wujud dalam kuantiti yang mencukupi untuk memisahkan pakar sedemikian kepada kumpulan yang berasingan, telah berlangsung sejak sekian lama. Seperti yang diperhatikan oleh pengaturcara berpengalaman, ia berkembang dengan semangat yang diperbaharui selepas wakil Facebook, pada awal penubuhannya pada tahun 2000-an, semasa ucapan di salah satu persidangan khusus untuk pembangun, menyatakan bahawa mereka mengupah pemaju Full Stack sahaja dan secara eksklusif. "Jika definisi tradisional pembangun Full Stack membuat anda keliru, maka semuanya betul. Ini kerana pembangun Full Stack adalah sesuatu yang fana. Tiada model saintifik yang menerangkan maksud "tindanan penuh". Tiada cara yang jelas untuk mengukur tahap pembangun tindanan penuh berbanding pembangun lain yang serupa. Satu-satunya konsensus mengenai Full Stack ialah tiada siapa yang bersetuju dengan satu takrifan intipati fenomena ini. Itulah sebabnya semua yang anda baca mengenai subjek ini tidak lebih daripada pendapat subjektif,” kata Ryland Goldstein, pembangun perisian dan arkitek berpengalaman.Empat Tonggak Pembangunan Timbunan Penuh
Walau bagaimanapun, walaupun ramai pakar berpendapat bahawa pembangun Full Stack adalah konsep yang kontroversi, terdapat tidak kurang kekosongan, sebaliknya. Oleh itu, mari kita lihat pengetahuan di mana bidang, sebagai peraturan, anda perlu ada untuk memohon jenis jawatan ini.-
Pembangunan bahagian hadapan.
Biasanya, bahagian hadapan merujuk kepada teknologi pembangunan web dan bahasa pengaturcaraan seperti HTML, CSS dan JavaScript. Ia juga termasuk rangka kerja JavaScript seperti React, dan semua teknologi lain yang berkaitan dengan bahagian "pelanggan" produk.
Di mana untuk mula belajar:
Anda boleh bermula dengan rangka kerja Cipta Apl React atau Gatsby , yang dengannya agak mudah untuk mencipta aplikasi React yang lengkap. Adalah idea yang baik untuk mempelajari prapemproses CSS, alatan CSS asas seperti CSS-in-JS , dan alatan seperti Sass .
-
Pembangunan bahagian belakang.
Bahagian belakang termasuk semua kod yang dijalankan pada pelayan, termasuk aplikasi dan API yang menjadikan tapak berfungsi. Bahasa pengaturcaraan utama untuk bahagian belakang ialah Java, Python, Ruby dan lain-lain. Selain itu, pembangunan bahagian belakang juga termasuk pengurusan pangkalan data, yang memerlukan pengetahuan tentang SQL.
Di mana untuk mula belajar:
Pertama sekali, adalah disyorkan untuk memulakan dengan mendalami pengetahuan JavaScript anda, sebagai sejenis jambatan antara bahagian hadapan dan bahagian belakang dalam banyak kes. Khususnya, adalah idea yang baik untuk mempelajari NodeJS , platform perisian berdasarkan enjin V8 yang menukar JavaScript daripada bahasa yang sangat khusus kepada bahasa tujuan umum.
Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.
-
Проджект-менеджмент.
От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.
С чего начать изучение:
Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.
-
DevOps.
Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.
С чего начать изучение:
Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).
Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.
Зарплаты Full Stack разработчиков
Bagi gaji pembangun timbunan penuh, mereka secara purata tidak jauh lebih tinggi daripada rakan sekerja mereka dengan pengkhususan yang lebih khusus dalam pembangunan. Di AS, gaji purata pemaju timbunan penuh hampir $75 ribu setahun, menurut PayScale . Pada masa yang sama, gaji minimum (untuk pengaturcara dalam kedudukan penuh) adalah kira-kira $46 ribu setahun, dan maksimum adalah kira-kira $114 ribu setahun. Bagi negara bekas USSR, di Ukraine, menurut sumber Work.ua , purata gaji pemaju timbunan penuh ialah 35 ribu Hryvnia (kira-kira $1300) sebulan, manakala di Kiev ia adalah 45 ribu (kira-kira $1650). Di Rusia, menurut data ini , gaji pemaju timbunan penuh, secara purata, berkisar antara 40 ribu rubel ($ 530) hingga 150 ribu rubel. ($2000). Jika kita bercakap tentang purata untuk dunia secara keseluruhan, maka pakar yang bekerja dalam jawatan yang kita pertimbangkan hari ini memperoleh kira-kira $45 ribu setahun. Dan di Eropah, pembangun tindanan penuh menerima gaji tertinggi di Denmark dan Sweden.Bagaimana untuk menjadi pembangun Full Stack?
Sekarang mari kita semak secara ringkas kemahiran, kebolehan dan teknologi yang anda perlu kuasai untuk memanggil diri anda sebagai pembangun tindanan penuh dengan penuh keyakinan dan tanpa sedikit pun ironi.-
Bahasa pengaturcaraan.
Pembangun tindanan penuh mesti fasih dalam beberapa bahasa pengaturcaraan. Pertama sekali, sudah tentu, terdapat yang utama: Java, PHP, C#, Python, Ruby, Perl, dll. Pendek kata, bahasa yang paling popular di mana proses perniagaan utama produk kemungkinan besar akan ditulis. Sudah tentu, sangat sukar untuk mempelajari pelbagai bahasa sedemikian dengan sempurna. Tetapi anda perlu sekurang-kurangnya menguasai tatabahasa bahasa yang akan memainkan peranan penting dalam pembangunan, dan juga mempunyai pengetahuan yang baik tentang cara menstruktur, mereka bentuk, melaksanakan dan menguji projek berdasarkan satu atau lebih bahasa.
-
Rangka kerja dan perpustakaan kod.
Nah, pengetahuan yang baik tentang bahasa pengaturcaraan utama dalam kebanyakan kes termasuk keupayaan untuk menggunakan rangka kerja dan perpustakaan yang popular, seperti Java Spring, Hibernate, Python Django, PHP thinkphp, MyBatis dan lain-lain.
-
Teknologi bahagian hadapan.
Kepentingan pengetahuan tentang teknologi hadapan untuk pembangun tindanan penuh juga hebat, dan meningkat dari semasa ke semasa. Hari ini, apabila kemudahan dan keseluruhan "pembungkus" produk menjadi tidak kurang pentingnya daripada fungsi, sebahagian besar kejayaan keseluruhan projek terletak di bahu bahagian hadapan. Untuk timbunan Penuh, anda perlu sekurang-kurangnya mengetahui teknologi bahagian hadapan asas, iaitu HTML5, CSS3 dan JavaScript, serta menguasai rangka kerja dan perpustakaan bahagian hadapan utama, iaitu JQuery, LESS, SASS, AngularJS dan yang dinyatakan sebelum ini Bertindak.
-
Pangkalan data.
Pangkalan data ialah satu lagi komponen penting "tindanan penuh", kerana mana-mana produk atau perkhidmatan perlu menyimpan maklumat di suatu tempat. Sehubungan itu, pembangun tindanan penuh harus mengetahui sekurang-kurangnya beberapa sistem pangkalan data yang paling popular dan cara bekerja dengannya. Sistem pangkalan data yang paling popular hari ini ialah MySQL, MongoDB, Redis, Oracle, SQLServer dan lain-lain. Antaranya, MongoDB paling popular sebagai pangkalan data untuk pelbagai projek Internet, MySQL dan Oracle paling popular untuk bahagian belakang dalam bidang produk perusahaan, dan Redis sering digunakan untuk caching dan meningkatkan prestasi sistem.
-
Pengurusan dan kemahiran insaniah.
Tetapi untuk mencapai hasil yang baik dalam bidang ini, hanya mempelajari beberapa teknologi atau bahasa pengaturcaraan tidak akan mencukupi. Pengurusan projek yang berjaya melibatkan banyak komponen, termasuk pengurusan masa, perancangan, kemahiran komunikasi yang baik dan banyak lagi. Dan semua ini diperoleh terutamanya melalui amalan.
-
Pengetahuan asas reka bentuk.
Dan akhirnya, pengetahuan tentang reka bentuk, iaitu reka bentuk UX/UI, walaupun pada tahap asas, juga berada dalam kecekapan pembangun tindanan penuh.
Ngomong-ngomong, berikut ialah peta jalan yang disusun dengan baik yang direka untuk memaparkan semua jenis teknologi di atas secara grafik.
GO TO FULL VERSION