JavaRush /Java Blog /Random-ID /Baik orang Swedia maupun Reaper. Siapakah pengembang Full...

Baik orang Swedia maupun Reaper. Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?

Dipublikasikan di grup Random-ID
Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 1Ada posisi dalam bidang pengembangan komputer yang misterius dan tidak jelas, namun pada saat yang sama sangat menarik. Ini, seperti yang mungkin sudah Anda pahami, adalah posisi pengembang Full Stack. Ia mendapatkan reputasi kontroversial ini karena sejumlah alasan, yang akan dibahas di bawah, namun singkatnya, itu semua karena pengembang dan pakar teknis lainnya tidak dapat mencapai konsensus tentang seperti apa seharusnya pengembang Full Stack yang sebenarnya. Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 2

“Pengembang full stack adalah ahli teknis yang mengetahui semua bahasa dan teknologi pemrograman, dan juga bernyanyi dan menari dengan indah.”

Ian Peters-Campbell adalah
pengembang berpengalaman dan pendiri perusahaan perangkat lunak Stickbuilt.

Siapakah Pengembang Full Stack?

Jadi, apa yang dimaksud dengan pengembang Full Stack dalam pengertian tradisional? Definisi paling umum memberi tahu kita bahwa ini adalah spesialis yang bertanggung jawab untuk mengembangkan semua bagian fungsionalitas sistem, termasuk sisi pengguna produk (frontend) dan kode internal yang berjalan pada server terdistribusi (backend). Biasanya, jika frasa “full stack” muncul dalam iklan lowongan terbuka, itu berarti pengembang harus memiliki pengetahuan dan keterampilan dalam pengembangan backend dan frontend pada saat yang bersamaan. Namun, banyak perusahaan melangkah lebih jauh, dan yang dimaksud dengan “pengembang Full Stack” adalah prajurit universal yang tidak hanya mampu mengembangkan semua komponen produk perangkat lunak, namun juga dapat menangani segala hal lainnya, mulai dari manajemen produk hingga pengaturan pengoperasian. sistem di server dan memperbaiki printer kantor. Faktanya, dalam banyak kasus, full stack developer diharuskan memiliki tingkat pengetahuan yang memadai tentang serangkaian teknologi yang diperlukan untuk keberhasilan penyelesaian proyek. Jadi, dalam hal ini, “stack” berarti kumpulan modul dan komponen perangkat lunak yang digabungkan bersama untuk mencapai fungsionalitas yang diperlukan. Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 3

Mengapa topik ini begitu kontroversial?

Perdebatan tentang apa yang seharusnya menjadi pengembang Full Stack, dan apakah monster seperti itu ada dalam jumlah yang cukup untuk memisahkan spesialis tersebut ke dalam kelompok terpisah, telah berlangsung cukup lama. Seperti yang dicatat oleh programmer berpengalaman, hal ini berkobar dengan semangat baru setelah perwakilan Facebook, pada awal pembentukannya di tahun 2000-an, saat berpidato di salah satu konferensi khusus untuk pengembang, menyatakan bahwa mereka hanya mempekerjakan pengembang Full Stack. “Jika definisi tradisional Full Stack developer membuat Anda bingung, maka semuanya benar. Ini karena pengembang Full Stack adalah sesuatu yang bersifat sementara. Tidak ada model ilmiah yang menjelaskan apa itu “tumpukan penuh”. Tidak ada cara yang jelas untuk mengukur level full stack developer dibandingkan dengan developer sejenis lainnya. Satu-satunya konsensus mengenai Full Stack adalah tidak ada seorang pun yang menyetujui satu definisi tunggal tentang esensi fenomena ini. Itu sebabnya semua yang Anda baca mengenai hal ini tidak lebih dari opini subjektif,” kata Ryland Goldstein, seorang pengembang perangkat lunak dan arsitek berpengalaman. Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 4

Empat Pilar Pengembangan Full Stack

Namun, meski banyak ahli yang berpendapat bahwa Full Stack developer adalah konsep yang kontroversial, tidak sedikit lowongan yang ada, justru sebaliknya. Oleh karena itu, mari kita lihat pengetahuan di bidang apa yang biasanya perlu Anda miliki untuk melamar posisi jenis ini.
  1. Pengembangan bagian depan.

    Biasanya, front-end mengacu pada teknologi pengembangan web dan bahasa pemrograman seperti HTML, CSS, dan JavaScript. Ini juga mencakup kerangka kerja JavaScript seperti React, dan semua teknologi lain yang terkait dengan sisi “klien” produk.

    Di mana untuk mulai belajar:

    Anda bisa memulai dengan kerangka Create React App atau Gatsby , yang dengannya cukup mudah untuk membuat aplikasi React yang lengkap. Merupakan ide bagus untuk mempelajari praprosesor CSS, alat CSS dasar seperti CSS-in-JS , dan alat seperti Sass .

  2. Pengembangan bagian belakang.

    Backend mencakup semua kode yang berjalan di server, termasuk aplikasi dan API yang membuat situs berfungsi. Bahasa pemrograman utama untuk backend adalah Java, Python, Ruby dan lain-lain. Selain itu, pengembangan backend juga mencakup manajemen database, yang memerlukan pengetahuan tentang SQL.

    Di mana untuk mulai belajar:

    Pertama-tama, disarankan untuk memulai dengan memperdalam pengetahuan Anda tentang JavaScript, sebagai semacam jembatan antara frontend dan backend dalam banyak kasus. Secara khusus, merupakan ide bagus untuk mempelajari NodeJS , sebuah platform perangkat lunak berdasarkan mesin V8 yang mengubah JavaScript dari bahasa yang sangat terspesialisasi menjadi bahasa tujuan umum.

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо 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).

    Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 5

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

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

Sedangkan untuk gaji full stack developer, rata-rata mereka tidak jauh lebih tinggi dibandingkan rekan-rekan mereka dengan spesialisasi pengembangan yang lebih spesifik. Di AS, gaji rata-rata pengembang full-stack hampir $75 ribu per tahun, menurut PayScale . Pada saat yang sama, gaji minimum (untuk programmer di posisi full-stack) adalah sekitar $46 ribu per tahun, dan gaji maksimum sekitar $114 ribu per tahun. Sedangkan untuk negara-negara bekas Uni Soviet, di Ukraina, menurut sumber daya Work.ua , gaji rata-rata full stack developer adalah 35 ribu hryvnia (sekitar $1300) per bulan, sedangkan di Kiev adalah 45 ribu (sekitar $1650). Di Rusia, menurut data ini , gaji full-stack developer rata-rata berkisar antara 40 ribu rubel ($530) hingga 150 ribu rubel. ($2000). Jika kita berbicara tentang rata-rata dunia secara keseluruhan, maka spesialis yang bekerja di posisi yang kita pertimbangkan saat ini memperoleh penghasilan sekitar $45 ribu per tahun. Dan di Eropa, full stack developer menerima gaji tertinggi di Denmark dan Swedia. Baik orang Swedia maupun Reaper.  Siapakah pengembang Full Stack dan bagaimana cara menjadi pengembang Full Stack?  - 6

Bagaimana cara menjadi pengembang Full Stack?

Sekarang mari kita bahas secara singkat keterampilan, kemampuan, dan teknologi yang perlu Anda kuasai untuk menyebut diri Anda seorang full stack developer dengan keyakinan penuh dan tanpa sedikit pun ironi.
  1. Bahasa pemrograman.

    Seorang full stack developer harus fasih dalam beberapa bahasa pemrograman. Pertama-tama, tentu saja ada yang utama: Java, PHP, C#, Python, Ruby, Perl, dll. Singkatnya, bahasa paling populer yang kemungkinan besar akan menulis proses bisnis utama produk. Tentu saja, akan sangat sulit untuk mempelajari sejumlah bahasa tersebut dengan sempurna. Namun Anda setidaknya harus menguasai tata bahasa yang akan memainkan peran penting dalam pengembangan, dan juga memiliki pengetahuan yang baik tentang cara menyusun, merancang, mengimplementasikan, dan menguji proyek berdasarkan satu atau lebih bahasa.

  2. Kerangka kerja dan pustaka kode.

    Pengetahuan yang baik tentang bahasa pemrograman utama dalam banyak kasus mencakup kemampuan untuk menggunakan kerangka kerja dan perpustakaan populer, seperti Java Spring, Hibernate, Python Django, PHP thinkphp, MyBatis dan lain-lain.

  3. Teknologi ujung depan.

    Pentingnya pengetahuan tentang teknologi front-end bagi full-stack developer juga besar, dan meningkat seiring waktu. Saat ini, ketika kenyamanan dan keseluruhan “bungkus” suatu produk menjadi tidak kalah pentingnya dengan fungsionalitas, sebagian besar keberhasilan proyek secara keseluruhan berada di pundak frontend. Untuk Full stack, Anda setidaknya perlu mengetahui teknologi dasar front-end yaitu HTML5, CSS3 dan JavaScript, serta menguasai framework dan pustaka front-end utama yaitu JQuery, LESS, SASS, AngularJS dan yang disebutkan sebelumnya. Reaksi.

  4. Basis data.

    Basis data adalah komponen penting lainnya dari “tumpukan penuh”, karena produk atau layanan apa pun perlu menyimpan informasi di suatu tempat. Oleh karena itu, pengembang full stack harus mengetahui setidaknya beberapa sistem database paling populer dan cara bekerja dengannya. Sistem database yang paling populer saat ini adalah MySQL, MongoDB, Redis, Oracle, SQLServer dan lain-lain. Diantaranya, MongoDB paling populer sebagai database untuk berbagai proyek Internet, MySQL dan Oracle paling populer untuk backend di bidang produk perusahaan, dan Redis sering digunakan untuk caching dan meningkatkan kinerja sistem.

  5. Manajemen dan soft skill.

    Namun untuk mencapai hasil yang baik di bidang ini, mempelajari beberapa teknologi atau bahasa pemrograman saja tidak akan cukup. Manajemen proyek yang sukses melibatkan banyak komponen, termasuk manajemen waktu, perencanaan, keterampilan komunikasi yang baik dan banyak lagi. Dan semua ini diperoleh terutama melalui latihan.

  6. Pengetahuan dasar tentang desain.

    Dan terakhir, pengetahuan tentang desain yaitu desain UX/UI, meskipun pada tingkat dasar, juga berada dalam kompetensi full stack developer.

    Omong-omong, berikut adalah peta jalan yang disusun dengan baik yang dirancang untuk menampilkan secara grafis semua variasi teknologi di atas.

Kesimpulan dan prospek

Seperti yang dapat Anda simpulkan dari semua hal di atas, untuk menjadi full-stack developer yang lengkap dan bahkan mungkin standar, Anda harus menghabiskan banyak waktu dan tenaga. Namun, latihan yang terus-menerus dan teratur memungkinkan Anda menguasai disiplin ilmu yang jauh lebih kompleks seiring berjalannya waktu. Hal utama adalah memahami ke mana harus pergi, melatih keterampilan utama dan tidak berhenti belajar mandiri. Namun apakah Anda perlu melakukan upaya seperti itu untuk menjadi Full Stack Developer yang sukses adalah pertanyaan lain. Jika kita berbicara tentang kelebihan dan kekurangan dari pekerjaan tersebut, maka kerugiannya jelas - Anda perlu banyak belajar dan memahami banyak hal yang berbeda. Kelebihannya lebih rumit. Seorang full stack developer biasanya memiliki peluang untuk memberikan dampak yang lebih besar pada proyek secara keseluruhan, dibandingkan dengan programmer yang sangat terspesialisasi. Bagi sebagian besar orang, hal ini meningkatkan kepuasan kerja, dan, sekali lagi, ChSV berkembang dan harum. Padahal memahami seluruh teknologi dan keterampilan yang diperlukan untuk keberhasilan pembangunan terkadang membuka kemungkinan yang benar-benar tidak terbatas. Dipercayai bahwa pengembang full-stack paling sering menjadi pengusaha TI yang sukses. Dan secara umum, seseorang dengan keterampilan seperti itu pasti tidak akan dibiarkan tanpa pekerjaan , terlepas dari krisis apa pun.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION