Hai! Hari ini kita akan berbicara tentang jalur pertumbuhan pengembang Java dan apa yang harus dia ketahui agar diminati.
Dalam 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".
Saya 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.
MySQL 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.
Selain 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.
Mengetahui 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:
Dan ini hanyalah sebagian dari kerangka kerja yang disediakan oleh Spring. Untuk seorang pemula, mengetahui hanya beberapa dari mereka sudah cukup baik:
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.
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.
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.
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.
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.
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.

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.
- "Berpikir di Jawa," Bruce Eckel;
- "Java Efektif" oleh Joshua Bloch;
- "Java: Referensi Lengkap" oleh Herbert Schildt.

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.
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 .
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.
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.

- 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.
GO TO FULL VERSION