Cara belajar pengembangan front-end, mencari pekerjaan pertama Anda dan tidak mendapatkan gundukan

gambar

Frontend, arah terbaik, terbaik dan paling ramah untuk masuk ke IT. Tetapi tidak semuanya begitu sederhana dengan dia - di front-end mudah untuk memulai dan sulit untuk menjadi master. Itu tidak akan menjadi siksaan memilih bahasa pemrograman, tetapi akan ada perjuangan dengan kekurangannya. Di bidang ini ada banyak alat, studi masing-masing mengacu pada pengembangan profesi tertentu.

Kami bertanya kepada Oleg Shikov, dekan departemen pengembangan web di GeekBrains, dan Daria Dyachkova, seorang pengembang web pemula , tentang bagaimana belajar dengan benar, bagaimana tidak mendapatkan benjolan besar dan bergerak melalui karier .



Pada 2015, Daria Dyachkova memasuki Sekolah Tinggi Ekonomi di Fakultas Ekonomi Dunia dan Urusan Internasional karena ia sangat menyukai bahasa di sekolah - ia belajar bahasa Inggris dan Jerman, ia terus memenangkan Olimpiade. Dia menyukai bidang ini, tetapi tidak dengan kemegahan di matanya, jadi Daria terus mencari profesi masa depan. Pada tahun 2018, ia datang pada hari karir ke salah satu agensi SDM, setelah itu ia mengubah arah ke arah yang tidak terduga.

“Saya melewati tes psikologis panjang, di mana mereka mempertimbangkan tipe kepribadian, pola pikir, dan banyak lagi. Jangan tersinggung psikolog, tetapi saya skeptis tentang tes seperti itu. Setelah tes, mereka mengatakan kepada saya, "eh, programmer menghilang" dan menawarkan untuk mendengarkan pembicaraan tentang transisi ke dunia IT. Saya mengangkat bahu, pergi dan menyala. "

Di rumah, ia mulai mencari di Google, menonton ulasan profesi. Sebelumnya, Daria membuat halaman web tentang Tilda dan Wix, menyimpan ulasan blognya tentang berita internasional, jadi saya memikirkan tentang frontend. Namun demikian, dia melihat melalui semua webinar pengantar profesi dan bahasa pemrograman, mencoba menulis sepotong kecil kode dalam beberapa bahasa pemrograman, dan memilih JS sebagai yang terdekat dalam semangat.



Apa yang dilakukan front-endors


“Jika Anda membuka halaman apa pun di browser, semua yang Anda lihat di depan Anda pada halaman adalah front-end. Tetapi pada kenyataannya, pekerjaan mereka jauh lebih rumit dari satu penampilan, ”kata Oleg Shikov, dekan departemen pengembangan web di GeekBrains.

Oleg menulis kode sejak kecil. Eksperimen pertama berada di C, dan pada 2011 ia beralih ke Javascript. Banyak dari apa yang ada dalam teknologi sekarang hanya dalam masa pertumbuhan. HTML dan CSS tidak memiliki banyak potensi, dan Flash menang di industri. Profesi secara keseluruhan jauh lebih sederhana - hanya tata letak HTML dan tata letak sederhana. Itu cukup untuk menulis tag dan menata mereka dengan indah di CSS. Pengguna mengklik tombol dan halaman itu sepenuhnya di-refresh. Permintaan ke server kiri, server memberikan tata letak baru. Tetapi pendekatan ini tidak memungkinkan untuk antarmuka yang responsif.

“Tugas vendor front-end akhir-akhir ini adalah membangun logika situs di sisi browser,” kata Oleg, “Logika ini dikembangkan dalam bahasa pemrograman JavaScript. Situs modern dapat sepenuhnya bekerja di sisi klien, membuat permintaan ke server hanya sesekali, misalnya, untuk menyimpan data pengguna atau mengunduh informasi yang diperlukan. Artinya, sekarang kami meminta halaman yang tidak sepenuhnya diperbarui, tetapi hanya informasi yang diperlukan, dan render dengan benar di browser. Berkat perilaku ini, situs menjadi lebih responsif dan menghemat beberapa lalu lintas pengguna. "



Frontend Belajar - apakah belajar JavaScript?


Setelah memutuskan arah, Daria memasuki fakultas pengembangan web di GeekBrains. Dalam pandangan banyak orang, pelatihan frontend digabung dengan studi bahasa Javascript, tetapi, menurut Oleg Shikov, ini tidak sepenuhnya benar.

“Hal pertama untuk memulai tentu saja adalah HTML. Ini sangat sederhana, sangat mudah untuk ditangani, sangat mudah untuk menulis situs web pertama Anda. Tentu saja, itu tidak akan responsif, tetapi itu akan berfungsi, dan itu sudah dapat diposting di Internet. Selanjutnya, Anda perlu menambahkan tampilan yang indah ke situs ini sehingga bukan hanya kanvas teks, tetapi halaman yang nyaman dan indah dengan elemen visual. Lembar gaya cascading CSS akan membantu. Beberapa minggu sudah cukup untuk menguasai HTML dan CSS. Dan tepat setelah itu Anda perlu memulai JavaScript, karena itu adalah dasar dari fondasi untuk membuat antarmuka yang responsif. "

Tetapi ketika popularitas datang ke teknologi, itu diikuti oleh lautan kritik. Banyak pengembang berpengalaman, satu demi satu, mengungkapkan masalah dan bahasa dalam laporan, pidato, dan artikel mereka serta menawarkan alternatif. Pemula diskusi ini hanya bisa menyesatkan. Menurut Oleg, itu akan menjadi kesalahan untuk mulai belajar frontends dari bahasa lain hanya karena mereka lebih dipuji oleh para profesional.

“Beberapa tahun yang lalu, semua orang menyalahkan PHP bersama-sama, sekarang semua orang menyalahkan JavaScript, itu arus utama. Tentu saja, JavaScript bukan tanpa masalah, tidak ada yang membantah hal ini. Tapi misalnya, TypeScript (bahasa populer lain dari Microsoft, yang merupakan perpanjangan dari kemampuan JS) tidak dieksekusi di browser itu sendiri - itu diterjemahkan (dikompilasi) ke dalam JavaScript. Jika kita menulis sesuatu di TypeScript, kita masih akan mendapatkan JavaScript, yang sudah berjalan di browser. Untuk men-debug kode dengan benar, Anda harus tahu JavaScript dan dapat bekerja dengan browser. "

Tetapi Daria meluangkan waktu untuk mempelajari hal-hal yang tidak termasuk dalam program.
“Saya terbiasa belajar dan memahami banyak hal sampai akhir, saya adalah salah satu dari orang-orang yang membaca semua materi tambahan untuk artikel dan melakukan tugas tambahan, karena mereka hanya tertarik. Saya meluangkan waktu untuk belajar, misalnya, Nuxt.js, Typcript, Vue.js, Webpack, dan Stylus. "



Apa itu Bereaksi, Vue, dan Angular dan bagaimana memilihnya


Selain Javascript dan bahasa lainnya, pengembang front-end membutuhkan pengetahuan tentang berbagai alat untuk bekerja. Dalam JavaScript murni, cukup sulit untuk mengembangkan antarmuka halaman web responsif interaktif tanpa menggunakan perpustakaan pihak ketiga.

Pustaka juga merupakan kode JavaScript yang sudah ditulis oleh pengembang lain. Ini memberikan serangkaian solusi yang mudah untuk melakukan tindakan yang disiapkan yang secara teratur diperlukan dalam pekerjaan. Ada berbagai macam perpustakaan di web yang membuatnya mudah untuk menulis antarmuka situs web yang responsif. Di antara mereka, yang paling terkenal adalah React, Vue, dan Angular.

“Pilihan di antara mereka adalah pertanyaan yang sulit. Anda bisa mempelajari ketiganya. Ini bukan tugas yang sangat sulit, karena ketika Anda mengerti cara bekerja dengan itu, masing-masing selanjutnya akan lebih mudah dipelajari. Tetapi menurut pengamatan saya, mereka digunakan sedikit di daerah yang berbeda. Angular adalah salah satu yang tertua. Ini sering digunakan di segmen perusahaan, pada proyek-proyek besar, dengan dukungan kode warisan yang ditulis beberapa tahun yang lalu. Bereaksi ada di mana-mana. Dia adalah yang pertama dalam daftar ketika mereka menulis antarmuka baru dan layanan web. Tentang Vue, Anda dapat mengatakan bahwa dia sederhana, muda, keren, dan arus utama.

Saya akan menyarankan mencoba menulis logika sederhana pada ketiga kerangka kerja - relatif berbicara selembar kertas - berdasarkan perasaan saya, memahami mana yang saya sukai dan mempelajarinya. Atau lihat lowongan di kota Anda, dan pilih, misalnya, Bereaksi, karena sebagian besar lowongan untuk pengembang front-end memerlukan pengetahuan tentang Bereaksi. Tetapi melatih kembali tidak akan sulit. ”

Daria menulis novel petualangan dan mengembangkan panduan menuju jagat bukunya di Nuxt.js. Dia juga mengerjakan proyek dan pendaratan untuk teman-temannya, jadi dia belajar tata letak adaptif, pertanyaan media, dan banyak lagi. “Saya memulai React.js, membuat proyek untuk masa depan yang ingin saya terapkan pada React Native. Sementara saya merencanakan arsitektur, menggambar dengan diagram alur, dan membaca tentang teknologi yang dapat digunakan. "



Bagaimana penelitiannya


“Ketika pelatihan dimulai, para guru menjelaskan semuanya dengan sempurna - penting bagi saya untuk membangun pengetahuan yang didapat ke dalam suatu sistem. Pekerjaan rumah membantu untuk mengkonsolidasikan keterampilan, bonus memberi tip di mana dan apa lagi yang harus diajarkan. Saya banyak membaca dan menguasai sendiri, menonton manual dan pelajaran mini di YouTube. Di GeekBrains, Anda selalu dapat menulis ke guru atau guru atau grup Anda untuk mengobrol. Semua akan membantu, mereka akan menjelaskan. Jika Anda menemukan artikel yang menarik, ada juga seseorang untuk dibagikan dan didiskusikan.

Saya pikir ketika Anda melihat dunia Hello pertama Anda, tidak ada yang akan lupa. Dan secara umum, perasaan ketika saya membuat UI yang indah dari tata letak, dan itu juga berfungsi, adalah sebuah drive. "

Belajar berlangsung satu setengah tahun. Oleg Shikov percaya bahwa hanya mempelajari sintaksis itu membosankan, jadi pembelajaran langsung dibangun di sekitar proyek. “Kami memberikan hal-hal dasar, sintaksis, dan segera mencoba mempraktikkannya, menulis halaman web sederhana. Setelah itu, kami memberikan PHP, dengan demikian mengajarkan siswa pengembangan backend (server). Untuk beberapa pengembang pemula, tampaknya cukup untuk belajar HTML dengan JavaScript, dan ini cukup untuk menjadi populer di pasar. Bahkan tidak begitu. Anda perlu mengetahui arsitektur, algoritme, pola, dan kerangka kerja - dan bukan hanya untuk mengetahuinya. Praktek lain diperlukan, kita harus menulis produk kita sendiri, berpartisipasi dalam pengembangan kolektif. "

Pada awal pelatihan, siswa menulis kode secara terpisah, memeriksanya dengan guru, dan pada pertengahan pelatihan mereka mulai mengembangkan produk dengan teman sekelas mereka, berkat itu mereka mendapatkan pengalaman dalam pengembangan tim.

Selain belajar, Daria suka belajar di platform Kodiri.com, tempat kompetisi internasional di JS diadakan. “Di sana Anda dapat berlatih sendiri, menyelesaikan tugas untuk waktu, ketepatan dan keindahan kode. Saya bertemu dengan pendiri platform Ricardo - dia adalah pria yang keren. Sekarang saya sedang menulis teka-teki untuk mereka. Untuk setiap tugas, saya menerapkan solusi referensi dan tes (jadi, omong-omong, saya mulai menulis tes unit). Sangat menyenangkan bagi saya untuk bersaing dengan pemain lain ketika probabilitas bahwa setidaknya satu dari lima tugas akan menjadi kepengarangan Anda adalah .90,94. Ya, saya pikir, saya ingin tahu mengapa saya sering bertemu mereka. Saya dengan jujur ​​memutuskan sendiri dan tidak melihat jawabannya. Ini menangkap unsur gamification, saya telah menerima tanda pangkat tertinggi (Imperial Majesty), sekarang tetap memindahkan Yurash sebagai pemain terbaik bulan ini. Secara umum, saya tidak memiliki elemen permainan ini dan semangat kompetisi dalam pelatihan.Saya pikir perlu menambahkan peluang seperti itu ke platform pendidikan. Beberapa hari teka-teki Kodiri tentang kecepatan, dan dalam mimpi aku akan menulis arr.map (e => ".



Menemukan pekerjaan pertama Anda


Pada tahap apa untuk memulai pencarian kerja adalah masalah yang sangat kontroversial di industri. Beberapa yakin bahwa hanya bertahun-tahun mengajar dan mengembangkan teori dalam praktik dalam kondisi aman memberi seseorang hak untuk meminta uang untuk pengembangan. Yang lain, sebaliknya, bahwa Anda perlu belajar sambil bekerja dalam pekerjaan saat ini. Menurut guru, banyak siswa yang menggunakan cara kedua.

“Saya kenal siswa yang menerima pesanan pertama atau mendapat pekerjaan di perusahaan pada kuartal ketiga. Mereka melanjutkan studi mereka, menggabungkannya dengan pekerjaan. Itu semua tergantung pada orang dan kemampuannya untuk belajar. Lebih mudah bagi pengembang pemula untuk masuk ke perusahaan kecil daripada yang besar. Di perusahaan seperti Mail.ru atau Yandex, seleksi ketat. Tidak semua pengembang yang berpengalaman akan dapat mencapainya. Tapi semua orang bisa mencoba keberuntungan mereka, tentu saja. "

Ketika Daria memiliki pelatihan selama enam bulan dan ringkasan portofolio dalam bentuk situs, ia menjalani beberapa wawancara, tetapi ia tidak memiliki keterampilan yang cukup untuk mendapatkan pengembang yang unggul.

“Pada wawancara pertama, itu menakutkan. Saya melamar pekerjaan sebagai pengembang front-end untuk Vue. Saya mempersiapkan dengan hati-hati, mengulang semua materi JS dan Vue, dan segala sesuatu yang dipelajari GeekUniversity dalam enam bulan, menyelesaikan pertanyaan rumit dan segala macam hal kecil di mana JS berperilaku tak terduga. Wawancara berlangsung di Skype. Perusahaan kecil, segera wawancara teknis, melewati HR. Saya menjawab pertanyaan dengan riang, kami berbicara selama satu jam ... dan ternyata mereka masih mencari tumpukan penuh pengembang. Itu terjadi".

gambar
Di Habr Career Anda dapat melihat lowongan terbaru untuk tender front-end dan berlangganan nawala untuk yang baru.

“Pengembang junior ditanyai pertanyaan sederhana untuk memastikan mereka mengetahui dasar-dasarnya,” kata Oleg. “Saya akan bertanya tentang tata letak semantic dan adaptif, tentang cara bekerja dengan JavaScript murni. Sekarang trennya adalah kerangka kerja dan perpustakaan, JavaScript Bereaksi, Vue dan Angular yang sama, dan “vanilla” tanpa perpustakaan tambahan - tidak semua orang mengetahuinya. Saya ingin memastikan bahwa pengembang tahu bagaimana bekerja dengannya, dan tidak segera bergegas ke kamp React bersyarat.

Bagaimanapun, Anda harus meluangkan waktu untuk menanggapi lowongan yang berbeda, untuk lulus wawancara yang berbeda. Melewati mereka juga merupakan pengalaman dan keterampilan tertentu. Kegagalan adalah situasi normal, Anda tidak perlu takut sama sekali. "

“Setelah dua wawancara lagi, saya disarankan untuk melanjutkan studi dan mencoba lagi nanti. Kami juga membutuhkan pengetahuan umum - protokol, solusi arsitektur dan banyak lagi. Saya sendiri mengerti, terlalu dini untuk diselesaikan. Oleh karena itu, saya menemukan pekerjaan terkait yang keren dengan IT - mendapat insinyur pendukung teknis di Bookmate. Merupakan tanggung jawab pembaca untuk menjawab pertanyaan tentang pengoperasian aplikasi dan situs, menyarankan sesuatu yang kecil tentang cara memperbaikinya, dan untuk memecahkan masalah yang lebih besar untuk mengeluarkan bug di JIRA dan Confluence. Plus, sekarang saya bisa membayangkan bagaimana pengguna biasa menggunakan UI / UX aplikasi kita. Petunjuk, "ini bukan bug, ini fitur." Atau ketika para pengembang menginginkan yang terbaik, tetapi para pengguna tidak mengerti bagaimana itu dan mengapa.

Peluang yang baik untuk melihat kedua sisi adalah bagaimana pengguna menggunakan aplikasi, dan bagaimana pengembang mengembangkan dan memperbaikinya. "



Cara berkembang dalam profesi


- Saya akan menyarankan Anda untuk berkembang menjadi pengembang full-stack, untuk mengetahui backend dan frontend. Jika kita hanya berbicara tentang frontend, maka - meskipun perlu mengenal JavaScript dengan baik - tanpa kerangka kerja di mana pun. Mereka perlu diajar.

TypeScript patut dilihat, meskipun tidak diperlukan di semua pekerjaan. Ini sebenarnya menarik, dan sangat mudah bagi pengembang JavaScript untuk mempelajarinya. Sebenarnya, ini adalah bahasa yang sama dengan fitur tambahan yang memungkinkan Anda untuk menulis sistem yang lebih andal. TypeScript menambahkan sistem tipe eksplisit ke bahasa, yang memungkinkan kita untuk mengatakan bahwa variabel ini akan numerik, dan variabel ini akan menjadi string.

Dalam JavaScript murni, ini tidak ada, variabel bisa dari jenis apa pun, dan ini kadang-kadang menyebabkan kesalahan. Anda mengharapkan angka dalam variabel, tetapi Anda mendapatkan, misalnya, string atau objek, dan karena itu, logika kerja program terputus. TypeScript membantu menghindari kesalahan seperti itu.

Sekarang banyak yang mencari PWA. Faktanya adalah, seperti yang saya katakan, pasar smartphone sangat besar. Sebagian besar pengguna yang mengunjungi situs Anda lebih cenderung melakukan ini dari telepon.

PWA (Aplikasi Web Progresif) - ini adalah situs yang memiliki fitur tambahan yang memungkinkan Anda untuk bekerja dengan nyaman, termasuk dari smartphone. Misalnya, di situs Android PWA, Anda dapat menambahkannya ke layar beranda dan meluncurkannya hanya dengan mengklik ikon. Ada peluang yang dapat meningkatkan situs sehingga akan berfungsi bahkan ketika tidak ada Internet di telepon pintar. Artinya, hampir merupakan aplikasi asli. Baru-baru ini, Google merilis pembaruan untuk Google Play, berkat itu Anda dapat menambahkan situs PWA Anda ke toko, dan pengguna dapat mengunduh dan memperbaruinya sebagai aplikasi asli biasa, yang hampir tidak dapat dibedakan dari yang biasa ditulis, misalnya, di Jawa. Namun sebenarnya ini ditulis dalam JavaScript dan dibuat menggunakan HTML.



Gaji


Gaji rata-rata peserta pelatihan front-end berada di level 35 ribu rubel. Spesialis tingkat junior dapat dihitung pada 50 ribu, tengah - sudah di 97 ribu. Signor dan timah menerima rata-rata 170-190 ribu rubel. Menurut kalkulator gaji Habr Career, gaji rata-rata pengembang front-end adalah kurang dari 110.000 rubel (diagram dapat diklik).






Apa yang harus dibaca dan dilihat untuk belajar sendiri



On line:



Buku langsung tentang JS dan HTML / CSS:

  • You Don't Know JS (ada terjemahan ke dalam bahasa Rusia "You don't know JS")
  • »HTML5. ".
  • « CSS3».
  • «JavaScript. ».
  • «JavaScript. ».
  • «JavaScript. ». .


:

  • «- ».
  • « ».
  • « SQL. MySQL 5». ,
  • « ».
  • « - . ». , , ,
  • « ».
  • « ». ,
  • « ». ,
  • «. ». . , . , . , .

Source: https://habr.com/ru/post/undefined/


All Articles