JavaRush /Java Blog /Random-ID /Apa yang perlu Anda ketahui untuk menjadi Java Junior, da...

Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?

Dipublikasikan di grup Random-ID
Persyaratan untuk calon pengembang Java terus berubah dan sulit untuk diikuti. Apakah cukup mengetahui Java Core saja untuk menjadi Trainee? Seberapa baik Anda perlu memahami Spring dan Hibernate untuk mendapatkan posisi Java Junior? Apakah layak mempelajari database dan memahami algoritma penyortiran dan pencarian? Dan karena siswa JavaRush sangat sering khawatir dengan pertanyaan-pertanyaan ini, kami memutuskan untuk menanyakannya kepada lulusan kami yang sudah bekerja sebagai Java Juniors atau magang di perusahaan sebagai Java Trainee. Perhatikan bahwa 13% responden cukup beruntung mendapatkan posisi Java Middle pada percobaan pertama mereka, melewati tahap Junior. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 1Responden berbagi informasi tentang teknologi apa yang mereka perlukan untuk lulus wawancara dan teknologi apa yang mereka gunakan pada tahun pertama pekerjaan pertama mereka di Java.

Setiap orang membutuhkan Java Core

Istilah Java Core cukup luas. Nama ini mengacu pada sintaksis dasar bahasa dan topik kompleks seperti multithreading. Sebenarnya, kursus JavaRush terutama dikhususkan untuk Core. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 2Sintaks Java. Dasar-dasar Bahasa. Semua tipe data, operator, loop dan cabang ini. Tentu saja, 92,4% dari mereka yang mendapatkan pekerjaan tersebut menilai pengetahuan mereka tentang sintaksis sebagai “baik atau sangat baik.” Namun, 7,6% responden berhasil menjadi Java Trainee dengan pengetahuan sintaksis rata-rata. Namun hal ini sebaiknya dinilai lebih sebagai keberuntungan (atau bualan responden :)). Tentu saja, setiap orang yang melamar pekerjaan sebagai programmer harus mengetahui sintaks bahasa tersebut. Pemrograman berorientasi objek (OOP). Segala sesuatu di Java terdiri dari objek, jadi OOP dapat dianggap sebagai salah satu tema bahasa yang paling penting. Pendekatan berorientasi objek mungkin terasa asing pada awalnya, terutama jika Anda baru mempelajari bahasa prosedural sebelumnya, namun tidak sulit untuk beralih ke objek. Kesulitan terbesar bagi pemula adalah tingkat abstraksi dan distribusi independennya - seorang programmer pemula harus mampu membuat hierarki objek dengan benar, memahami apa yang menjadi tanggung jawab antarmuka dan apa yang dapat dimasukkan ke dalam kelas abstrak, membuat warisan tangga, dan sebagainya. Seperti biasa, kesulitan ini diatasi dengan latihan. Mayoritas responden, 80,3% dari mereka yang pertama kali mendapatkan pekerjaan, mengetahui prinsip-prinsip OOP dengan baik dan terus menggunakannya. Pada tahun pertama bekerja sebagai Java Juniors dan magang, 78,8% responden sangat sering menggunakan prinsip OOP, 12,1% - dari waktu ke waktu. 7,6% pendengar jarang menggunakannya - orang-orang ini sebagian besar sibuk dengan pengujian unit dan berbagai tugas kecil. Artinya, tentu saja, mereka juga menggunakan kelas atau objek (Anda tidak dapat melakukannya tanpa ini di Java), namun jarang membuat hierarki kelas. Kerangka Koleksi. Koleksi adalah kumpulan benda-benda individual yang disajikan secara keseluruhan. Java memiliki Kerangka Koleksi yang sangat cerdas untuk merepresentasikan koleksi. Koleksi didasarkan pada struktur data populer - daftar, biasa dan terhubung, kumpulan, tabel hash. Jadi saat menjelajahi koleksi, ada baiknya Anda lebih memahami struktur data. Kesulitan utama dalam mempelajari koleksi adalah memahami dan mengingat cara kerjanya. Jika Anda memahami cara mereka mengakses suatu elemen, mengekstraknya dari koleksi, dan menambahkannya ke dalamnya, maka Anda mulai memahami di mana menerapkan struktur ini atau itu. Itu datang dengan latihan. Namun untungnya, tidak semua koleksi yang jumlahnya banyak tersebut digunakan secara aktif dalam karya nyata. 80,3% responden menyatakan bahwa mereka memiliki pengetahuan yang baik atau bahkan sangat baik tentang koleksi sebelum menerima tawaran pekerjaan pertama mereka, dan hampir semua 96,9% Junior dan peserta pelatihan menggunakan koleksi dalam pekerjaan pertama mereka. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 3Penanganan Pengecualian.Pengecualian adalah situasi luar biasa yang mungkin terjadi saat menjalankan program Anda. Semua kelas pengecualian adalah subtipe dari kelas java.lang.Exception. Mekanisme penanganan pengecualian sangat menyederhanakan proses menemukan kesalahan dalam program. Biasanya, siswa mulai menggunakan pengecualian cukup awal, misalnya, di JavaRush. Di JavaRush, topik ini diangkat dalam pencarian Sintaks Java yang pertama. Hampir semua lulusan JavaRush yang mendapatkan pekerjaan pertamanya mengetahui cara menangani pengecualian, dan tentu saja menggunakannya saat bekerja. I/O Streaming Java. Program pertama yang ditulis di Java biasanya berisi sesuatu seperti System.out.println(“Halo dunia”). Seringkali, pemula memahami bahwa metode println mencetak baris ke konsol, tetapi tidak tahu mengapa System dan out ada di sana dan bagaimana cara kerjanya. Beberapa saat kemudian ternyata Java melakukan operasi input dan output menggunakan stream, aliran data yang berkelanjutan. Thread bukanlah topik yang paling mudah untuk dipahami, dan topik ini tidak terlalu sering digunakan dalam pekerjaan pemula: hanya 22,7% orang yang mendapatkan pekerjaan Java Junior/Trainee pertama mereka mengatakan bahwa mereka sering menggunakan thread I/O, 31,8% - dari waktu ke waktu waktu, 25,8% - jarang. Jadi hanya kurang dari 20% yang tidak menggunakannya sama sekali selama tahun pertama mereka sebagai pengembang Java. Selama studi mereka, 18,2% tidak mengalami kesulitan khusus dengan arus dan mengetahuinya dengan baik, 36,4% menilai pengetahuan mereka baik, tetapi 10,6% mengabaikan topik ini. Multithreading (Java Multithreading/Konkurensi). Mungkin topik inilah yang menyebabkan kesalahpahaman terbesar di kalangan pengembang pemula. Meskipun multithreading di Java diimplementasikan dengan sangat baik, namun sulit untuk dipahami, dan masalah dapat muncul bahkan ketika menulis program sederhana (misalnya, multithread “Halo, dunia”). Banyak perusahaan memahami hal ini dan tidak memerlukan pemahaman mendalam tentang multithreading dari pemula, dengan harapan bahwa hal itu akan datang dengan pengalaman. Hanya 12% responden menyatakan bahwa mereka mengetahui topik tersebut dengan baik sebelum menerima tawaran pertama, sementara hampir 32% responden mengaku bahwa mereka tidak tahu apa-apa tentang topik tersebut. Mayoritas, 56,2%, mengatakan mereka “memiliki pemahaman” tentang multithreading. Jadi, jika kesulitan dalam bekerja dengan thread tampaknya tidak dapat Anda atasi saat ini, angka-angka ini mungkin dapat meyakinkan Anda. Namun, jika Anda ingin mendapatkan keunggulan kompetitif dalam sebuah wawancara, topik ini bisa menjadi kelebihan Anda. Pada proyek nyata, pemula juga jarang diperbolehkan bekerja dengan thread. Dengan demikian, 15,1% programmer pemula belum pernah menemukan Java Multithreading sama sekali dalam pekerjaan mereka, dan 39,4% pernah menemukannya, tetapi jarang. Seringkali pada tahun pertama bekerja, hanya 9,1% responden yang harus bekerja dengan multithreading. Ekspresi Lambda.Ekspresi Lambda dan petunjuk pemrograman fungsional muncul di Java 8, tetapi pemula tidak terlalu sering menggunakan alat praktis ini. Ekspresi lambda adalah fungsi yang dapat dibuat tanpa menjadi bagian dari kelas apa pun, dan Anda dapat meneruskannya sebagai objek atau menjalankannya sesuai permintaan. Hanya 22,7% lulusan yang disurvei mengetahui ekspresi Lambda dengan baik sebelum menerima tawaran pekerjaan pertama mereka, dan 48,5% menilai pengetahuan mereka tentang topik tersebut “mendekati nol.” Pada saat yang sama, lebih dari 85% programmer baru mengatakan bahwa mereka menggunakan ekspresi lambda di tahun pertama mereka. Agar adil, kami menunjukkan bahwa rendahnya persentase mereka yang mengetahui topik ini mungkin disebabkan oleh fakta bahwa di JavaRush, ekspresi lambda sejauh ini hanya disajikan dalam pencarian dan artikel Java Syntax Pro yang baru . Oleh karena itu, kita dapat dengan aman mengatakan bahwa pengetahuan tentang Core Java untuk setiap calon Java Junior dan bahkan Trainee sangat diperlukan. Tentu saja, beberapa topik, seperti multithreading, dapat diterima untuk diketahui lebih sedikit, tetapi sintaksis Java, OOP, dan koleksi harus tertanam kuat di benak Anda.

Algoritma dan struktur data

Ada perdebatan terus-menerus tentang studi tentang algoritma pengurutan dan pencarian. Di satu sisi, algoritma terbaik telah lama ditulis dan dimasukkan ke dalam perpustakaan semua bahasa pemrograman populer, termasuk Java. Dan mereka dapat digunakan secara legal tanpa perlu repot menulis kode Anda sendiri. Namun para ahli yang melatih programmer tetap menyarankan agar setiap developer pemula melatih otaknya dengan menulis semua algoritma bubble, penggabungan, pencarian biner dan sejenisnya. Pertama, algoritma ini adalah semacam ujian lakmus terhadap keterampilan seorang programmer (yaitu, bukan pengetahuan, tetapi keterampilan) dan pemahaman seseorang tentang apa itu pemrograman pada prinsipnya. Jika otak Anda sudah terbiasa dengan pekerjaan semacam ini, Anda akan menulis algoritma dengan relatif mudah. Namun, Anda harus ingat: Anda memerlukan algoritma yang tepat untuk melatih otak Anda... dan untuk lulus wawancara: para pengembang Senior yang korosif yang melaksanakannya sangat suka menyiksa pelamar dengan permintaan untuk menulis algoritma ini atau itu. Namun dalam pekerjaannya, mayoritas (48,5%) menggunakan algoritma perpustakaan standar, efektif dan terbukti, sedangkan 16% responden tidak menggunakan sortir sama sekali pada tahun pertama bekerja sebagai programmer. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 469,6% lulusan menyatakan bahwa sebelum menerima tawaran pekerjaan pertama mereka, mereka memiliki pemahaman yang baik tentang algoritma pengurutan dan pencarian dan dapat menulisnya sendiri. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 5Kami telah menyentuh topik struktur data ketika kita berbicara tentang koleksi Java. Ya, lebih baik memahaminya untuk mengetahui di mana dan struktur apa yang akan diterapkan. Membuat struktur data Anda sendiri sesuai dengan gambar perpustakaan adalah latihan bagus yang akan membantu Anda memahaminya dengan lebih baik. Anda dapat, misalnya, mencoba menulis ArrayList versi Anda sendiri atau mengusulkan daftar tertaut tunggal Anda sendiri (LinkedList yang biasa di Java ditautkan ganda). Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 6Saat bekerja, pemrogram pemula terutama menggunakan struktur data standar.Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 7

Pengujian satuan

Perpustakaan JUnit bertanggung jawab untuk pengujian unit di Java. Faktanya, Anda dapat memulai pengujian unit hampir di awal pelatihan. Setidaknya, saat Anda mengerjakan proyek mandiri pertama Anda, bahkan proyek yang sangat kecil, sebaiknya Anda sudah mahir dalam alat ini. Menulis tes unit tidak terlalu sulit, meskipun ada beberapa perbedaan. Mempelajari JUnit tidak akan memakan banyak waktu, namun manfaat mengetahuinya sangat besar. Anda akan dapat menutupi kode Anda sendiri dan kode orang lain dengan tes. Seringkali, para pemula ditugasi menulis unit test untuk rekan kerja, sehingga ini dapat berguna secara langsung dalam pekerjaan baru mereka. 57,5% responden mengatakan mereka menggunakan JUnit sebelum wawancara Java pertama mereka berhasil, dan lebih dari 83% telah menggunakan pengujian unit pada tahun pertama mereka.

Pustaka utilitas, GUI, dan komponen berguna

Kami menanyakan seberapa familiar lulusan JavaRush dengan sejumlah alat, beberapa di antaranya dibahas dalam kursus kami.
  • Servlet adalah komponen perangkat lunak Java yang memperluas kemampuan server.
  • JDBC adalah standar platform-independen untuk interoperabilitas antara aplikasi Java dan database. JDBC diimplementasikan sebagai paket java. sql disertakan dengan Java SE (Edisi Standar).
  • log4j adalah perpustakaan pencatatan pesan paling terkenal. Ini memungkinkan Anda untuk menulis panggilan perpustakaan dalam kode Java, dan kemudian menyesuaikannya secara fleksibel tanpa mengubah kode yang sudah ditulis.
  • Jackson/JSON. JSON (JavaScript Object Notation) adalah format pertukaran data dan file standar terbuka yang sangat populer, dan Jackson adalah prosesor JSON berkinerja tinggi untuk Java.
Semua alat ini sangat berguna dan sering digunakan dalam pekerjaan, dan sebagian besar siswa tidak mengabaikannya saat mempersiapkan wawancara. Hal ini terutama berlaku untuk Jackson, yang ditemui oleh 72,7% pelamar untuk posisi programmer Java, JDBC - perpustakaan ini telah dicoba oleh lebih dari 78% responden. Hampir semua orang menggunakan teknologi ini dalam pekerjaan mereka. Pengembang Java tidak terlalu sering menemukan GUI. Kami mengajukan pertanyaan tentang JavaFX: hanya 18% responden yang menemukan teknologi ini di tempat kerja. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 8Dua pertiga responden bekerja dengan servlet; sejumlah kecil responden mencobanya selama masa studi mereka. Ternyata beberapa pemrogram Java baru juga menemukan proyek seperti Apache Commons (sekumpulan perpustakaan yang berfokus pada semua aspek komponen Java yang dapat digunakan kembali) dan Guava (sekumpulan perpustakaan umum sumber terbuka untuk Java, terutama dikembangkan oleh para insinyur Google).Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 9

Kerangka kerja

Sebelumnya, tidak ada yang menyangka Java Junior mengenal Spring atau Hibernate. Namun waktu terus berubah, dan saat ini hal ini terkadang diharapkan bahkan dari Trainee. Mempelajari teknologi ini sendiri tidaklah mudah. Sekalipun semuanya tampak jelas, siswa sering kali cepat melupakan apa yang terjadi. Kadang-kadang bahkan aplikasi yang ditulis secara mandiri di Spring bukanlah obat mujarab. Hanya kerja aktif yang akan membantu. Namun, sebelum wawancara berhasil, sepertiga responden mengenal Spring pada tingkat yang baik, dan 45,5% memiliki pemahaman rata-rata tentang Spring. Situasi dengan booting Spring agak lebih buruk (36,4% tidak mengetahuinya sama sekali), dan hampir 44% lulusan JavaRush yang disurvei mengatakan bahwa mereka memiliki pengetahuan yang baik tentang Hibernate. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 10Pada saat yang sama, saat bekerja, kerangka utama Java digunakan oleh hampir 88% programmer baru, Spring Boot - 83%, Hibernate - 81%.Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - sebelas

Bangun alat Otomatisasi dan server aplikasi

Sebagian besar lulusan JavaRush yang diwawancarai telah mencoba bekerja dengan pembuat proyek. Paling sering itu adalah Maven (40,9% mencobanya dalam praktik, 30,3% lainnya menggunakannya dari waktu ke waktu, dan 12,1% menggunakannya terus-menerus selama studi mereka). Saat bekerja dengan Maven, saya menemukan 72,7% (sering), 7,6% (kadang-kadang) dan 3% (jarang). Sedangkan untuk Gradle, situasinya agak lebih buruk. Hanya 22,7% yang pernah berlatih dengan kolektor ini, dan sebagian besar baru mencoba teknologinya. Hampir separuh responden menggunakan Gradle dalam pekerjaan mereka. Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 12Ant sudah lama kehilangan posisinya, dan hal ini tercermin dari popularitasnya di kalangan lulusan kami: hanya 3% responden yang pernah mengutak-atiknya. Dan 12% dari mereka yang menjawab pertanyaan harus bekerja dengannya. Di antara server aplikasi, Tomcat adalah pemimpinnya; lebih dari 77% responden mengetahuinya selama studi mereka, 11% mencoba GlassFish, 12% mencoba JBoss. Popularitas server di kalangan mereka yang sudah berfungsi terlihat serupa. Hanya 31,8% dari mereka yang mendapatkan pekerjaan tersebut tidak memiliki pengalaman dengan Tomcat. Selain itu, lulusan JavaRush, pada tahun pertama mereka bekerja sebagai programmer, mencoba server seperti WebSphere, Jetty, Netty, Wildfly, Weblogic.Apa yang perlu Anda ketahui untuk menjadi Java Junior, dan apa yang harus dilakukan dengan itu semua?  - 13

Apa lagi?

Mayoritas responden, bahkan sebelum mendapatkan pekerjaan pertama mereka:
  • memiliki pemahaman tentang HTML, CSS dan JavaScript;
  • bekerja dengan database, tahu SQL;
  • hampir semua orang menggunakan Git dan GitHub;
  • mencoba bekerja dengan XML murni.
Semua teknologi ini berguna bagi mereka dalam pekerjaan mereka selanjutnya. Seorang programmer Java, atau siapa pun, secara default diharapkan memahami semua hal di atas. Itu adalah kenalan, bukan pengetahuan yang mendalam. Jadi kami menyarankan Anda untuk sesekali beristirahat dari Java dan memperluas wawasan Anda dengan mempelajari teknologi ini. Selain itu, beberapa dari mereka yang menjawab pertanyaan mencatat bahwa pada wawancara mereka diharapkan memiliki pengetahuan, setidaknya teoritis, tentang pola desain, pola arsitektur, serta sopan santun dalam pemrograman (semua ini KISS, DRY, SOLID). Namun, seringkali dalam wawancara, hanya definisi saja yang cukup: mereka yang melakukan wawancara sangat menyadari bahwa pemahaman yang sebenarnya tentang hal-hal tersebut hanya dapat dicapai dengan latihan terus-menerus. Apakah mereka berguna dalam pekerjaan Anda? Tentu saja itu berguna.

kesimpulan

Kami harap kami tidak terlalu membuat Anda takut dengan banyaknya teknologi yang harus Anda pelajari. Tidak semua hal ini perlu diketahui secara menyeluruh, dan selain itu, mencari tahu semuanya cukup menarik. Bukan tanpa alasan Anda memutuskan untuk menjadi seorang programmer, bukan? Jadi teruslah belajar Java dan tetap termotivasi. Semoga beruntung! PS Jika Anda sudah mendapatkan pekerjaan dan ingin menceritakan pengalaman Anda, selamat datang di komentar!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION