Jadi Anda ingin menjadi pengembang Ruby?



Pada suatu waktu, saya diminta untuk membuat tim Ruby untuk unit Codequest yang terpisah, yang berarti bahwa saya akan menjadi Timlid (neraka, ya !!!) dan - yang lebih penting, pada kenyataannya, menjadi orang yang didekati oleh semua SDM yang mencoba merekrut pengembang baru (hmm ...). Jelas, sebagian besar pengembang ini adalah pemula dengan pengetahuan rata-rata. Mendekati setiap wawancara, saya tidak lupa bahwa belum lama ini saya sendiri adalah seorang siswa pemula yang duduk di sisi lain meja, jadi saya mencoba untuk bersabar, baik hati dan memberikan setiap kandidat umpan balik yang jujur ​​dan berguna, bahkan jika kita memutuskan bahwa dia adalah kita tidak cocok. Meskipun demikian, saya mengungkapkan beberapa pola - banyak pengembang, terutama pemula, membuat kesalahan yang tidak hanya membuat sulit untuk memulai, tetapi itu dapat dengan mudah dihindari jika hanya seseorang yang memberi tahu mereka tentang ini sebelumnya.Saya sendiri membuat sebagian besar kesalahan dalam waktu saya dan jika seseorang telah memperingatkan saya tentang hal itu, meskipun mungkin saja, saya hanya tidak mendengarkan, itu mungkin akan menyelamatkan saya dari banyak kekecewaan - karena itu, untuk membuat hidup seseorang lebih mudah, saya Saya akan mencoba menunjukkan bahwa seorang pemula (atau bahkan menengah) dapat melakukan lebih baik jika dia ingin berkembang secara efektif sebagai pengembang dalam arah pengembangan perangkat lunak yang bergengsi.

GitHub


Semua orang di komunitas tahu bahwa repositori GitHub Anda adalah hal yang sangat penting bagi pemberi kerja di masa depan. Bukankah begitu? Jika Anda menulis pustaka sumber terbuka yang digunakan orang atau berkontribusi, ya, itu bisa menjadi kartu truf yang sangat berharga. Jika Anda menulis aplikasi, bahkan jika itu adalah aplikasi pelatihan yang memecahkan beberapa masalah sehari-hari yang Anda miliki, itu juga dapat menunjukkan keahlian Anda. Namun, jika semua repositori yang dapat Anda perlihatkan adalah tugas setengah jadi dari perusahaan lain yang belum pernah disentuh dalam sembilan bulan terakhir, atau Rails super-dasar, "rails new" pertama Anda, maka apakah Anda benar-benar ingin kami melihatnya? Mungkin Anda sekarang jauh lebih baik daripada 9 bulan yang lalu, sial, mungkin itu,tetapi kami tidak tahu pasti dan kapan Anda mengirimi kami tautan ke kuburan kode Anda - yah, seperti kata mereka, Anda hanya memiliki satu kesempatan untuk membuat kesan pertama yang bagus, bukan?

Dan ini tidak hanya berlaku untuk yang junior - jika Anda melihat pada repositori GitHub saya, Anda akan menemukan hal-hal yang persis sama di mana-mana - merekrut tugas dari tahun-tahun sebelumnya atau beberapa percobaan yang ditinggalkan pada bahan nuklir yang saya pelajari dalam proses dan dll. Saya berkomitmen pada GitHub setiap hari - tetapi komitmen ini adalah repositori pribadi, tidak ada yang bisa dilihat. Yang ingin saya katakan adalah normal jika tidak ada yang muncul di GitHub Anda, tetapi kemudian jangan perlihatkan kepada kami.

Rubi


Kita semua suka Rails! Dan kami juga membenci mereka. Dan terkadang kita mencintai dan membenci pada saat bersamaan. Atau kadang-kadang suatu hari kita mencintainya, dan hari berikutnya kita membenci dan mengutuknya. Namun, kita semua sepakat bahwa Rails adalah standar de facto ketika datang untuk membuat aplikasi web di Ruby - dibutuhkan banyak dedikasi dan upaya untuk bekerja dalam bisnis ini dan bahkan tidak menyentuhnya secara singkat (walaupun saya bertemu orang-orang yang mengklaim telah melakukannya). Karena itu, wajar jika ketika Anda memutuskan untuk menjadi pengembang web Ruby, Anda belajar Rails. Dan tidak bagus ketika Anda belajar Rails tanpa belajar Ruby!

Anda mungkin berpikir bahwa ini akan mempercepat kemajuan Anda - pada akhirnya, menyiapkan aplikasi Rails dasar sangat sederhana - tetapi segera Anda akan menemukan bahwa Anda tidak benar-benar mengerti mengapa itu bekerja, Anda hanya akan tahu bahwa itu berfungsi, tetapi di sini adalah kesalahan sederhana pertama, dan Anda sudah berada di Stack Overflow, mencari seseorang yang memiliki masalah serupa.

Pikirkan seperti ini - Anda tidak akan mencoba menulis buku dalam bahasa asing hanya dengan menggunakan Google Translate dan kutipan dari film favorit Anda, bukan? Hal yang sama dengan menulis aplikasi - Anda benar-benar menulis apa yang seharusnya masuk akal dan semakin Anda tahu bahasa, semakin baik Anda menyampaikan makna yang dimaksud dan semakin efektif Anda membuat kalimat - semakin masuk akal. Ketika Anda hanya tahu Rails, kosakata Anda terbatas. Dan saya dapat meyakinkan Anda bahwa Anda tidak ingin bekerja untuk sebuah perusahaan yang membutuhkan "terbatas", karena segera Anda akan berubah menjadi robot yang hanya mengimplementasikan fungsi CRUD dasar, yang menarik untuk, misalnya, dua bulan, tetapi kemudian dengan cepat bosan, seperti menyikat gigi, Anda harus melakukannya, Anda harus melakukan ini, tetapi sebenarnya tidak begitu,apa yang kamu inginkan, kan?

Saya memulai setiap wawancara dengan pertanyaan yang sangat sederhana dan mendasar:

- Apa kelas di Ruby, apa modul, apa perbedaan mereka dan untuk apa mereka?

Anda akan terkejut mengetahui berapa banyak orang yang benar-benar tidak tahu jawaban untuk pertanyaan ini! Dan ini adalah orang-orang yang ingin menjadi pengembang perangkat lunak. Semuanya dapat membuat blog dengan posting dan komentar dalam hitungan menit - dan itu saja. Saya punya satu kandidat, untuk posisi mid developer, yang mengaku telah bekerja pada aplikasi klien selama satu tahun sebagai pemimpin tim - jadi dia masih tidak tahu apa itu modul Ruby.

Jangan seperti itu. Pelajari Ruby. Ada banyak sumber daya untuk ini. Salah satu yang terbaik yang saya tahu adalah The Ruby Reference- Ruby online - buku yang merujuk pada dokumentasi resmi, tetapi lebih nyaman dan dapat dibaca. Baca, pelajari, dan rasakan bagaimana profesionalisme Anda tumbuh.

Rel


Seperti disebutkan di atas, jangan lupa bahwa Rails adalah kerangka kerja Ruby untuk menulis aplikasi web. Ada kemungkinan besar bahwa itu akan menjadi alat utama Anda sehari-hari - jadi bawa neraka untuk memahami cara kerjanya! Rails Guides adalah dokumentasi yang sangat mudah diakses dan cukup luas - luangkan waktu untuk membaca dan mempelajarinya.

Banyak dari apa yang Anda baca tidak akan masuk akal bagi Anda pada awalnya, ada potongan besar materi yang akan Anda gunakan sangat jarang, mungkin bahkan tidak pernah, tetapi pengetahuan tentang itu akan memberi Anda lebih banyak daripada yang lain .


Pelajarannya bagus - semua orang menggunakannya! Namun, mengikuti instruksi seseorang tidak cukup, ingat bahwa tujuan tutorial ini bukan untuk membuat blog yang berfungsi dengan posting dan komentar, tetapi untuk mengajari Anda cara membuat aplikasi Anda sendiri. Dan itulah tepatnya yang harus Anda pelajari untuk dilakukan sesegera mungkin. Ingat semua saat ketika Anda berpikir "seandainya saya punya aplikasi untuk ini!". Atau tanyakan pada teman dan keluarga aplikasi apa yang paling mereka butuhkan. Itu bisa apa saja - pengatur tugas sederhana, daftar keinginan, atau aplikasi lain. Aplikasi pertama saya adalah semacam buku catatan untuk eksperimen istri saya di laboratoriumnya (dia adalah seorang ilmuwan). Saya tidak menyelesaikannya, tetapi tidak masalah - dalam hal ini kita berbicara tentang suatu proses, bukan hasil. Saat melakukan pelajaran,Anda berhadapan dengan masalah yang dibuat secara artifisial dan solusi turnkey. Ketika Anda membuat barang Anda sendiri, Anda terpaksa berpikir tentang cara membangunnya. Anda harus menemukan solusi untuk masalah Anda sendiri. Saya sangat yakin bahwa tidak ada cara yang lebih baik untuk belajar cara membuat selain mulai membuat, karena ini adalah apa yang akan Anda lakukan sebagai pengembang web. Mengatasi kesulitan akan memberi Anda perasaan puas yang luar biasa, memperkuat kepercayaan diri Anda dan menyalakan percikan yang membuat kami duduk berjam-jam membungkuk di atas keyboard, hanya untuk melihat JSON yang benar atau formulir pendaftaran yang berfungsi. Ini akan memberi Anda pengalaman dan sesuatu untuk ditampilkan. Kode Anda tidak harus cantik atau mencolok - Anda seorang pemula, tidak ada yang mengharapkan Anda untuk menulis sistem operasi!Anda terpaksa berpikir bagaimana cara membuatnya. Anda harus menemukan solusi untuk masalah Anda sendiri. Saya sangat yakin bahwa tidak ada cara yang lebih baik untuk belajar cara membuat selain mulai membuat, karena ini adalah apa yang akan Anda lakukan sebagai pengembang web. Mengatasi kesulitan akan memberi Anda rasa kepuasan yang besar, memperkuat kepercayaan diri Anda dan menyalakan percikan yang membuat kami duduk berjam-jam membungkuk di atas keyboard, hanya untuk melihat JSON yang benar atau formulir pendaftaran yang berfungsi. Ini akan memberi Anda pengalaman dan sesuatu untuk ditampilkan. Kode Anda tidak harus cantik atau mencolok - Anda seorang pemula, tidak ada yang mengharapkan Anda untuk menulis sistem operasi!Anda terpaksa berpikir bagaimana cara membuatnya. Anda harus menemukan solusi untuk masalah Anda sendiri. Saya sangat yakin bahwa tidak ada cara yang lebih baik untuk belajar cara membuat selain mulai membuat, karena ini adalah apa yang akan Anda lakukan sebagai pengembang web. Mengatasi kesulitan akan memberi Anda rasa kepuasan yang besar, memperkuat kepercayaan diri Anda dan menyalakan percikan yang membuat kami duduk berjam-jam membungkuk di atas keyboard, hanya untuk melihat JSON yang benar atau formulir pendaftaran yang berfungsi. Ini akan memberi Anda pengalaman dan sesuatu untuk ditampilkan. Kode Anda tidak harus cantik atau mencolok - Anda seorang pemula, tidak ada yang mengharapkan Anda untuk menulis sistem operasi!apa yang akan Anda lakukan sebagai pengembang web. Mengatasi kesulitan akan memberi Anda rasa kepuasan yang besar, memperkuat kepercayaan diri Anda dan menyalakan percikan yang membuat kami duduk berjam-jam membungkuk di atas keyboard, hanya untuk melihat JSON yang benar atau formulir pendaftaran yang berfungsi. Ini akan memberi Anda pengalaman dan sesuatu untuk ditampilkan. Kode Anda tidak harus cantik atau mencolok - Anda seorang pemula, tidak ada yang mengharapkan Anda untuk menulis sistem operasi!apa yang akan Anda lakukan sebagai pengembang web. Mengatasi kesulitan akan memberi Anda rasa kepuasan yang besar, memperkuat kepercayaan diri Anda dan menyalakan percikan yang membuat kami duduk berjam-jam membungkuk di atas keyboard, hanya untuk melihat JSON yang benar atau formulir pendaftaran yang berfungsi. Ini akan memberi Anda pengalaman dan sesuatu untuk ditampilkan. Kode Anda tidak harus cantik atau mencolok - Anda seorang pemula, tidak ada yang mengharapkan Anda untuk menulis sistem operasi!tidak ada yang mengharapkan Anda untuk menulis sistem operasi!tidak ada yang mengharapkan Anda untuk menulis sistem operasi!

Tetapi sebagai orang yang merekrut pendatang baru, dalam 10 kasus dari 10, saya akan memilih seseorang dengan kode mereka sendiri, bahkan jelek dan menggunakan kruk, dan bukan seseorang yang menunjukkan kepada saya beberapa aplikasi dari pelajaran pelatihan (seperti teka-teki silang).

Tuan pria yang baik.


Item terakhir ini tidak berlaku untuk satu tingkat pengalaman tertentu, tetapi pada dasarnya untuk semua orang yang bekerja di industri kami. Semuanya sangat sederhana - jangan menjadi bajingan. Bersikap baik kepada orang lain. Berguna. Tersenyum Tanyakan apakah Anda tidak tahu, jelaskan jika ditanya. Jangan memandang rendah orang jika mereka tidak tahu apa-apa, karena kita masing-masing dapat menggantikannya, ilmu komputer, pemrograman, ini adalah area yang sangat luas sehingga hampir tidak mungkin menjadi ahli dalam segala hal. Ketahuilah bahwa Anda dapat belajar dari siapa pun, bahkan jika mereka hanya memiliki sebagian kecil dari pengalaman Anda. Mengajar orang lain karena mengajar orang lain adalah salah satu cara terbaik untuk menguji apa yang benar-benar Anda ketahui. Dan terimalah kenyataan bahwa jika Anda adalah orang terpintar di dalam ruangan, Anda harus mengganti ruangan, karena ini adalah satu-satunya cara untuk tumbuh dan tidak menjadi sombong.Uji pengetahuan dan keterampilan Anda sesering mungkin. Seperti praktik umum di gym mengatakan, "jika sakit, maka ia tumbuh", tinggalkan zona nyaman, jangan tinggal di dalamnya.

Jika Anda juga terlibat dalam pengembangan front-end, pastikan untuk memeriksa daftar lengkap kesalahan paling umum dari pengembang front-end awal yang disusun oleh Timlid Petr Kabrinsky front-end kami.

All Articles