CodeGym /Java Blog /Acak /Daftar periksa pengembang Java. Apa yang harus diketahui ...
John Squirrels
Level 41
San Francisco

Daftar periksa pengembang Java. Apa yang harus diketahui pengembang

Dipublikasikan di grup Acak
Hai! Hari ini kita akan berbicara tentang jalur pertumbuhan pengembang Java dan apa yang harus dia ketahui agar diminati. Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 1Dalam sebuah wawancara, pengembang mana pun dapat menanyakan kandidat pekerjaan. Misalnya, mereka mungkin mulai mengajukan pertanyaan tentang topik tertentu yang mereka temui dalam proyek mereka saat ini. Tetapi tidak mengetahui semuanya adalah normal. Fakta bahwa Anda tidak dapat menjawab beberapa pertanyaan juga normal. Sebagai aturan umum, setiap programmer Java harus memiliki pemahaman dasar tentang pengembangan perangkat lunak. Jadi mari kita lihat apa yang dianggap "dasar".

1. Algoritma dasar

Hal pertama yang harus diperhatikan saat mulai belajar pemrograman (bukan hanya Java) adalah memahami dasar-dasarnya. Misalnya, algoritma. Jumlahnya tidak terbatas, dan Anda tidak boleh menghabiskan waktu bertahun-tahun dalam hidup Anda untuk mencoba mempelajari algoritme sebanyak mungkin: kebanyakan dari algoritme tersebut tidak akan berguna bagi Anda. Anda bisa mendapatkan pengetahuan minimum yang diperlukan dari buku "Grokking Algorithms". Ini cukup untuk membantu Anda memulai, tetapi jika mau, Anda dapat belajar dari buku "Struktur dan Algoritma" atau "Algoritma di Java" oleh Robert Sedgewick dan Kevin Wayne. Saya juga merekomendasikan agar Anda meningkatkan pengetahuan Anda tentang dasar-dasar ilmu komputer. Ini dapat dilakukan dengan kursus Harvard CS50.

2. Sintaks Java

Setelah mempelajari dasar-dasar algoritma, kita perlu mempelajari sintaks Java. Lagi pula, kita semua belajar untuk menjadi programmer Java di sini, bukan? Kursus CodeGym sangat cocok untuk ini. Saat Anda melakukan tugas yang tak terhitung jumlahnya, Anda akan mendapatkan sintaks Java dan kemudian, tanpa banyak keraguan, Anda akan menulis/membaca kode Java seolah-olah itu adalah bahasa asli Anda. CodeGym adalah praktik, tetapi lebih dari itu, Anda juga perlu melihat teori untuk memahami apa yang Anda lakukan. Untuk melakukan ini, Anda dapat membaca buku. Misalnya, salah satu dari berikut ini:
  • "Kepala Pertama Jawa",
  • "Java for Dummies" oleh Barry Bird;
  • "Java: Panduan Pemula" oleh Herbert Schildt.
Setelah membaca buku-buku ini, Anda dapat beralih ke buku-buku yang lebih sulit:
  • "Berpikir di Jawa," Bruce Eckel;
  • "Java Efektif" oleh Joshua Bloch;
  • "Java: Referensi Lengkap" oleh Herbert Schildt.
Tiga buku terakhir bukanlah bacaan yang mudah untuk pemula, tetapi memberikan dasar yang kuat dalam teori Java. Juga, jangan lupa tentang artikel CodeGym, karena mereka memberikan penjelasan untuk sebagian besar topik yang mungkin menarik bagi Anda. Anda dapat menemukan artikel yang relevan dengan mengetikkan topik yang Anda minati di bilah pencarian: Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 2Saya juga sangat menyarankan untuk mencari pertanyaan dari wawancara Java. Ini akan membantu Anda memahami apa yang sebenarnya perlu Anda pelajari dan pertanyaan apa yang harus dipersiapkan.

3. Pola desain

Pola desain adalah pola berulang tertentu yang memecahkan masalah dalam konteks yang sering ditemui. Mereka menyertakan pola dasar dan sederhana yang harus diketahui oleh setiap programmer yang menghargai diri sendiri. Untuk memahami topik ini, ambil buku "Head First Design Patterns". Ini menjelaskan pola desain dasar dengan cara yang mudah diakses. Tetapi buku tersebut berbicara banyak tentang Java, jadi ketika Anda membaca buku ini, Anda juga memerlukan kefasihan dalam bahasa pemrograman ini. Untuk menyelami pola lebih dalam, Anda juga dapat membaca "Pola Desain: Elemen Perangkat Lunak Berorientasi Objek yang Dapat Digunakan Kembali" dari Gang of Four ( Catatan editor: Gang of Four adalah tim penulis yang mencakup Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Setelah Anda mempelajari topik ini, Anda akan mulai melihat pola hampir di semua kode Anda. Perhatikan hal ini, terutama pola yang digunakan di Musim Semi, karena ini adalah pertanyaan wawancara yang populer.

4. Paradigma pemrograman. kebersihan kode

Selain pola desain standar, ada berbagai prinsip dan paradigma yang harus diperhatikan ( SOLID , GRASP ). Anda juga perlu menjaga agar kode tetap bersih dan mudah dibaca. Untuk semuanya, Anda perlu tahu tentang topik ini, lihat Clean Code oleh Robert Martin, atau lihat "Code Complete" oleh Steve McConnell.

5. SQL

Langkah kita selanjutnya adalah mempelajari bahasa untuk basis data relasional — SQL . Database adalah tempat informasi (data) yang digunakan oleh aplikasi web disimpan. Basis data terdiri dari beberapa tabel (buku alamat di ponsel Anda adalah contoh sederhana). Pengembang Java bertanggung jawab tidak hanya untuk aplikasi Java, tetapi juga database yang berinteraksi dengannya dan di mana ia menyimpan datanya. Dalam database relasional (yang merupakan tipe paling umum), semua interaksi terjadi melalui bahasa khusus yang disebut Structured Query Language, atau SQL. Untuk memahami topik ini, yang perlu Anda lakukan hanyalah membaca salah satu buku ini:
  • "Belajar SQL" oleh Alan Beaulieu;
  • "SQL" oleh Chris Fehily;
  • "Head First SQL" oleh Lynn Beighley.
Tapi praktik tanpa teori tidak cukup, bukan? Dan pada wawancara Anda dapat mengharapkan tes pengetahuan Anda tentang SQL. Pewawancara sering (hampir selalu) memberikan satu atau dua tugas yang melibatkan penulisan kueri SQL. Akibatnya, sangat penting untuk mengasah keterampilan SQL praktis Anda untuk menunjukkan diri Anda dengan baik.

6. MySQL/PostgreSQL

Setelah mempelajari bahasa SQL, Anda harus terbiasa dengan implementasi basis data tertentu. Bergantung pada database, beberapa perintah mungkin sangat bervariasi. Dan ada perbedaan yang cukup mencolok dalam kemampuan database. Database relasional yang paling umum adalah MySQL dan PostgreSQL . Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 3MySQL jauh lebih sederhana, tetapi PostgreSQL memiliki kemampuan yang jauh lebih luas. Menjadi akrab dengan setidaknya satu dari mereka sudah cukup untuk memulai. Anda dapat mempelajari implementasi basis data jika Anda menggunakan keahlian googling — temukan artikel dan tutorial yang relevan di YouTube. Anda perlu mengembangkan kemampuan Anda untuk membuat kueri penelusuran yang tepat untuk pertanyaan yang perlu Anda jawab. Lagi pula, seorang programmer adalah seseorang dengan sabuk hitam di googling.

7. Maven/Gradle

Anda perlu mempelajari kerangka kerja Gradle atau Maven . Mereka untuk membangun proyek, dan untuk Anda, Java sekarang tidak hanya untuk tugas yang melibatkan beberapa kelas, tetapi juga bahasa untuk menulis aplikasi lengkap. Anda perlu memahami cara membuat proyek, apa tahapan pembuatannya, cara memuat pustaka eksternal yang diperlukan dengan kode pihak ketiga, dan banyak lagi. Terlepas dari kenyataan bahwa Gradle lebih baru dan lebih ringkas, Maven digunakan dalam banyak kasus. Jadi, beri perhatian khusus pada siklus hidup pembuatan Maven.

8. Git

Git adalah sistem kontrol versi terdistribusi. Teknologi ini memungkinkan pengembang berkolaborasi dalam satu aplikasi tanpa mengganggu satu sama lain. Tentu saja, ada sistem kontrol versi lainnya. Misalnya, Subversi . Tapi Git paling banyak digunakan, dan Anda harus bisa bekerja dengannya.Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 4Selain banyak artikel tentang Git yang dapat Anda temukan online, YouTube memiliki lebih dari cukup video untuk membantu Anda menguasai teknologi ini, selangkah demi selangkah. Pada awalnya, lebih baik menggunakan Git dari baris perintah daripada semacam implementasi GUI, karena Anda akan dipaksa untuk melakukan semuanya menggunakan perintah. Dalam wawancara, orang sering bertanya tentang beberapa perintah Git, jadi saya sarankan Anda menuliskannya dan menyimpannya di dekat Anda. Saya juga menganjurkan agar Anda membuat catatan, melacak poin-poin terpenting untuk menjalankannya sebelum wawancara dan menyegarkan ingatan Anda.

9.JDBC

Teknologi ini menghubungkan aplikasi Java Anda dan database relasional. Untuk dasar-dasarnya, saya sarankan membaca tutorial JDBC apa pun. Ada banyak sekali artikel yang menjelaskan JDBC dan memberikan contoh dasar, meskipun tidak ada lagi yang menggunakan JDBC telanjang secara langsung.

10.JPA. Hibernasi

JPA adalah cara untuk membuat koneksi antara aplikasi Java dan database, seperti halnya JDBC. Tetapi pada saat yang sama, JPA adalah teknologi tingkat tinggi dan karenanya lebih mudah digunakan. Tapi JPA hanyalah spesifikasi, bukan implementasi. Perlu implementasi yang konkrit. Banyak dari mereka ada, tetapi yang paling dekat dengan cita-cita JPA, yang paling populer dan paling berkembang adalah Hibernasi. Anda akan menemukan teknologi ini lebih dari sekali dalam karir pengembangan perangkat lunak Anda. Jadi, selain berkenalan dengan teknologi ini dengan membaca artikel, mungkin ada baiknya memikirkan membaca buku, misalnya "Java Persistence API".

11. Musim semi

Saat Anda menjadi pengembang Java, Spring bukan lagi sekadar kata untuk Anda. Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 5Mengetahui kerangka kerja ini sekarang sama pentingnya dengan mengetahui Sintaks Java. Bisa dibilang Spring memiliki saudara kandung yaitu Java EE. Tapi Java EE sudah usang dan tidak lagi digunakan pada proyek baru. Sebagian besar pengembang Java sekarang adalah pengembang Java-Spring, jadi mengetahui beberapa teknologi dasar Spring adalah suatu keharusan. Spring bukan hanya kerangka kerja, tetapi keseluruhan kerangka kerja: Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 6Dan ini hanyalah sebagian dari kerangka kerja yang disediakan oleh Spring. Untuk seorang pemula, mengetahui hanya beberapa dari mereka sudah cukup baik:

  • Inti Musim Semi

Anda harus meletakkan ini di tempat pertama, sehingga Anda dapat memahami apa itu Spring — semua tentang wadah Spring, kacang, DI, IoC, dan seterusnya. Untuk memahami filosofi penggunaan Spring, begitulah. Studi Anda lebih lanjut tentang kerangka kerja Spring akan dibangun di atas dasar ini. Mungkin Anda harus membuat aplikasi kecil Anda sendiri di mana Anda dapat menggabungkan semua teknologi yang baru dipelajari secara bertahap.

  • musim semi JDBC

Sebelumnya kami menyebutkan JDBC sebagai teknologi untuk membuat koneksi database. Secara umum, penggunaan teknologi secara "telanjang" tidak lagi dapat ditemukan dalam proyek, sehingga Anda dapat menyimpulkan bahwa mempelajari JDBC tidak diperlukan. Ini bukan sikap yang tepat. Dengan menjelajahi penggunaan JDBC secara telanjang (langsung), Anda dapat melihat teknologi di tingkat yang lebih rendah dan memahami masalah dan kekurangannya. Kemudian ketika Anda mulai mempelajari Spring JDBC, Anda akan menyadari apa sebenarnya yang diperbaiki, dioptimalkan, dan disembunyikan oleh kerangka ini.

  • Hibernasi Musim Semi

Analog dengan situasi dengan JDBC telanjang, framework ini memanfaatkan teknologi yang sudah ada, dalam hal ini, Hibernate. Jika Anda mempertimbangkan untuk menggunakan Hibernate tanpa Spring, Anda pasti akan menyadari manfaat yang ditawarkan oleh Spring Hibernate.

  • JPA musim semi

Sebelumnya kami berbicara tentang JPA dan menyebutkan bahwa itu hanya spesifikasi, meskipun memiliki berbagai implementasi. Di antara implementasi ini, Hibernasi paling mendekati ideal. Spring memiliki implementasi JPA idealnya sendiri yang menggunakan Hibernate di bawah tenda. Ini sedekat mungkin dengan spesifikasi ideal JPA. Ini disebut Musim Semi JPA. Singkatnya, ini sangat menyederhanakan akses database. Anda hanya dapat mempelajari JPA tanpa mempelajari JDBC, Hibernate, Spring JDBC, atau Spring Hibernate. Tetapi jika Anda menggunakan pendekatan ini, pengetahuan Anda tentang cara terhubung ke database akan sangat dangkal.

  • MVC musim semi

Teknologi ini memungkinkan untuk menampilkan antarmuka web aplikasi kami kepada pengguna dan memfasilitasi komunikasi antara antarmuka dan aplikasi lainnya. Teknologi ini juga dapat digunakan tanpa tampilan saat Anda memiliki aplikasi yang bertanggung jawab menangani tampilan dan Anda berinteraksi dengan aplikasi menggunakan teknologi RESTful . Agar lebih menyerap informasi tentang Spring, selain artikel dan ceramah YouTube, Anda bisa membaca beberapa buku. Saya sangat menyukai buku "Spring in Action" oleh Craig Walls. Saya menyarankan Anda untuk membaca versi ke-6, jika Anda menguasai bahasa Inggris dengan baik. Buku hebat lainnya tentang Musim Semi adalah "Spring 5 for the Professionals". Ini lebih padat. Lebih seperti referensi yang lebih berharga untuk tetap dekat daripada membaca sampul demi sampul.Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 7

  • Boot Musim Semi

Teknologi ini sangat menyederhanakan penggunaan Spring. Saya tidak sengaja meletakkannya di akhir daftar. Memang, itu menyembunyikan banyak hal di balik tudung, dan bagi seseorang yang tidak terbiasa dengan Vanilla Spring, banyak poin mungkin tidak jelas atau tidak dapat dipahami. Pertama, untuk pemahaman yang lebih baik tentang cara kerja kerangka kerja Spring, Anda harus menggunakan Spring biasa, dan kemudian mengambil semua manfaat lebih tinggi menggunakan Spring Boot. Saya juga menyarankan agar Anda membiasakan diri dengan Spring Security dan Spring AOP. Namun berbeda dengan teknologi di atas, pengetahuan mendalam tentang keduanya belum dibutuhkan. Teknologi ini bukan untuk pemula. Saat wawancara, dev junior tidak akan ditanyai tentang mereka (kecuali satu pertanyaan dangkal, mungkin). Baca ikhtisar tentang apa teknologi ini dan prinsip di balik pekerjaan mereka. Dalam artikel ini, Saya telah berulang kali menyebutkan membaca buku. Di satu sisi, ini tidak wajib. Anda bisa menjadi programmer tanpa membaca satu buku pun, memperoleh semua pengetahuan yang diperlukan dari artikel online dan video pelatihan. Di sisi lain, di pasar kerja, persaingan di antara pengembang pemula saat ini tinggi, yang meningkatkan standar untuk apa yang perlu diketahui oleh seorang pemula. Jadi, semakin banyak Anda tahu, semakin cepat Anda menemukan pekerjaan pertama Anda dengan mengesankan pewawancara dengan tingkat pengetahuan Anda. Terima kasih semuanya, dan semoga Java bersamamu. yang meningkatkan standar untuk apa yang perlu diketahui oleh seorang pemula. Jadi, semakin banyak Anda tahu, semakin cepat Anda menemukan pekerjaan pertama Anda dengan mengesankan pewawancara dengan tingkat pengetahuan Anda. Terima kasih semuanya, dan semoga Java bersamamu. yang meningkatkan standar untuk apa yang perlu diketahui oleh seorang pemula. Jadi, semakin banyak Anda tahu, semakin cepat Anda menemukan pekerjaan pertama Anda dengan mengesankan pewawancara dengan tingkat pengetahuan Anda. Terima kasih semuanya, dan semoga Java bersamamu.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION