Halo staf editorial yang terhormat! Halo kolega.
Dalam beberapa bulan, sebagai frontend developer, saya akan berusia empat tahun. Dan hingga lima puluh di paspor akan tetap kurang dari dua tahun. Selama empat tahun ini, kehidupan berubah dengan cepat, dan sekarang, setelah beberapa saat, dimungkinkan untuk menganalisis keputusan mana yang berhasil dan mana yang tidak terlalu baik.
Mari kita mulai dengan memilih itu. tumpukan, dan sebagai konsekuensinya - spesialisasi. Saya pikir pilihan saya (frontend, javascript) ternyata berhasil, dan sekarang saya ingin menganalisis mengapa.
Latar belakang saya. Saya lulus dari Donetsk Polytechnic University dengan gelar Mishustin (system engineer), pada tahun 1994. Setelah bekerja selama beberapa tahun sebagai enikey di berbagai posisi di Donetsk, saya bergabung dengan bisnis keluarga kecil (percetakan), di mana saya bertahan selama 15-20 tahun berikutnya. 15 tahun di perusahaannya, dan 5 tahun lagi mencoba mendapatkan keuntungan dari pengalaman industri dengan bekerja untuk disewa. Lima tahun terakhir ini tidak melihat kesuksesan yang signifikan atau prospek yang menginspirasi. Mencari alternatif, saya mulai mencoba melakukan beberapa hal di web. Ini adalah situs sederhana untuk kenalan, atau untuk kebutuhan mereka sendiri.
Setelah beberapa percobaan, saya menyadari bahwa untuk mempelajari bagaimana melakukan sesuatu dengan baik, seseorang harus memilih spesialisasi. Saya memilih frontend, mengajarinya selama sekitar satu tahun, kemudian mendapatkan pekerjaan penuh waktu pertama saya, dan dalam tiga atau empat tahun saya beralih dari bulan Juni ke Signor. Sekarang, untuk mengambil langkah selanjutnya, saya belajar Java.
Hari ini saya pikir urutan ini - pertama js, lalu java - ternyata benar. Berikut alasannya.
Saat memutuskan dari mana harus memulai, mengapa Java menjadi opsi kedua di samping Fronted dan bukan Python, C #, Golang? Karena Java adalah kode perusahaan. Ini adalah unggahan yang besar dan sukses. Ini asuransi kesehatan. Ini adalah kolega dalam jumlah besar yang dapat Anda pelajari. Dan ada banyak lowongan seperti itu. Dan akan ada banyak dari mereka dalam 10 tahun.
Kami tidak membutuhkan Python - di web, ini adalah prototipe, stataps, dan skrip. Naskah adalah devops, dan kami adalah keluarga, kami membutuhkan gaji yang baik, bukan malam di tempat kerja. Python juga merupakan alat yang bagus untuk analis, tetapi ini adalah karier yang berbeda. Lama, tidak dijamin, di sini Anda harus segera ke tempat yang tepat.
C # adalah bahasa yang bagus, mungkin yang terbaik. Tapi dia tidak mengalahkan Java, dan dia tidak bisa. Dan ingat, bahasa mana yang lebih baik, bukan pengembang yang memutuskan, tetapi bisnis ketika mereka memilih tumpukan teknologi. Pengembang terkadang dapat memengaruhi pilihan ini, tetapi secara umum, baginya, pilihan ini sudah pasti.
Golang sepertinya akan tumbuh. Pelajari setelah Java sehingga Anda dapat menulis ulang kode lama dari Java ke Go di kantor besar yang stabil. Seperti yang terjadi sekarang, misalnya, di Yandex.
Dan pada akhirnya, mengapa itu Frontend dan bukan Java?
Di depan dengan ambang masuk yang lebih rendah. Ada empat topik "besar" untuk dijelajahi di javascript: closures, this, async, inheritance. Tentunya ada juga layout yang nanti akan dibahas tersendiri. Sementara itu, tentang empat topik tersebut.
Penutupan adalah Modul, pola Dekorator, dan cara kerja js di callback. Anda benar-benar perlu mengetahui hal ini. Anda harus membongkar, belajar, jika tidak maka akan menyakitkan. Tapi ini lebih dari nyata, dan dibandingkan dengan apa yang "tetapi" penutupan berhasil, misalnya, di Jawa, ini bukan apa-apa.
Pekerjaan di js ini sangat berbeda dari ini di bahasa lain. Di sini Anda perlu menganalisis beberapa opsi untuk penggunaannya - dalam konstruktor, dalam contoh, dalam metode, dalam fungsi panah, dan ya, js ini memiliki banyak wajah, tidak ada yang bisa dilakukan tentang itu ... Artinya, saya ingin mengatakan, terima kasih Tuhan. Tetapi sebagai permulaan, beberapa dari sepuluh kasus ini akan cukup bagi Anda untuk mulai bekerja, pertama mendapatkan uang yang baik, dan kemudian uang yang sangat baik.
Asinkron. Janji, setTimeout. Juga, topiknya tidak jelas untuk pemula, tetapi yang terakhir dari yang penting. Jika Anda menarik penutupan dan ini, Anda juga akan menguasai asynchrony, baik, ditambah sebulan.
Semua. Anda bertanya, bagaimana dengan warisan? Sebagai sebuah konsep, pewarisan prototipe sangat sederhana. Ini memiliki banyak nuansa implementasi, dan banyak implementasi itu sendiri di JS. Dulu. Sebelum kedatangan ES6. Mulai sekarang, pertanyaan tentang warisan lebih merupakan cara untuk menunjukkan kepada seorang newbie bahwa dia belum mengetahui segalanya, daripada harus memulai pekerjaan nyata.
Sekarang sebuah pertanyaan. Dapatkah ketiga topik "besar" ini dibandingkan dengan generik Java yang sama? Ya Mudah. Mari kita ingat bagaimana pemrograman fungsional diimplementasikan di java. Ini semua adalah tautan yang dipisahkan oleh dua titik dua ... Ini lebih dari sebanding dengan yang sulit dipahami ini di js ...
Secara umum, sebagai bahasa, js jauh lebih ramah bagi pemula.
Ya, ya, ya, tentu ada css. Lembar Gaya Bertingkat. Delapan cara untuk memusatkan div secara vertikal, tanpa manusia. Pengecut datang dengan enkapsulasi. Jadikan ini berfungsi di semua browser. Dan bos Anda biasanya memiliki blackberry, dan itu juga harus cantik di sana. Tapi.
Flex-box cepat dipelajari dan Anda sudah dapat menunjukkan sesuatu. Sisanya dapat dipelajari di tempat kerja, dan tata letak lintas browser dapat dibuang ke desainer tata letak, yang lebih dari sekadar pekerjaan bagus untuk mereka.
Ini adalah gambar awalnya. Akibatnya, jika Anda membandingkan awal di js dengan awal di java, Anda belajar kurang dari tiga hingga enam bulan, dan mendapatkan pekerjaan - yang pertama, sekitar 80 ribu - di Moskow. Dan ketika tetangga-javist mendapatkan pekerjaan pertamanya seharga 100 ribu, Anda siap mendapatkan yang kedua, seharga 120 ribu. Anda membuat javist di awal. Dan bulan-bulan pertama pemulihan ini sangat, sangat penting jika Anda sudah menantikannya.
Mari lanjutkan kompetisi dengan javist imajiner. Beberapa tahun lagi berlalu. Jika Anda berinvestasi dan Javist berinvestasi, Anda menjadi orang yang percaya diri. Javist mendekati kisaran 150 - 180 ribu. Frontender berada di kisaran 140-160. Jika dia tidak melakukan upaya ekstra (saya lakukan, oleh karena itu saya tidak menyebut diri saya sebagai contoh). Dan sangat menarik apa yang terjadi selanjutnya.
Pindah ke kategori pengembangan senior. Ternyata bagian depan lebih mudah untuk dialihkan ke tumpukan penuh. Karena js adalah bahasa multi paradigma. Ya, OOP lebih seperti mainan, tapi memang begitu. Dan fungsionalisme penuh, dan sedang populer. Bereaksi, rxjs. Fronend tanpa terasa mengajari Anda untuk belajar dengan cepat. Dan kemudian Anda menyalip javist dan bergegas ke ruang karir yang luas ...
Oleh karena itu - frontend!
PS Saya membantu mereka yang ingin menguasai frontend secara gratis. Tulis secara pribadi atau di komentar.