Kami sedang mempertimbangkan untuk mengajar beberapa karyawan yang memiliki nol atau pengalaman pemrograman tingkat hobi umum untuk mengambil beban kerja dari saya.
Kami menggunakan Python / Django yang memiliki beberapa dokumentasi paling ramah dan mudah dipelajari.
Saat ini saya adalah departemen TI satu orang untuk perusahaan saya dan saya tidak punya cukup waktu untuk mengembangkan semua yang dibutuhkan perusahaan. Kami bukan perusahaan perangkat lunak, tetapi membantu memiliki IT internal untuk mengotomatisasi tugas, mengembangkan fitur layanan pelanggan, menganalisis data, dll.
Bagaimana Anda perlahan-lahan mengintegrasikan pemula yang bekerja pada basis kode Anda? Katakanlah Anda memiliki magang - apa yang mereka lakukan? Saya benar-benar enggan untuk membiarkan mereka mendesain atau mengembangkan kode inti karena kami akan berurusan dengan kesalahan / pola desain aneh mereka selama bertahun-tahun. Sebagai pengembang utama, saya akan menjadi orang yang harus mengerjakan kode mereka.
Pikir saya adalah untuk pemula hanya memodifikasi kode yang ada, tidak pernah membangun fitur inti. Saya dapat menurunkan pekerjaan ke mereka dengan tugas-tugas sederhana setelah saya membangun fitur itu sendiri.
Kami ingin karyawan kami belajar / menemukan nilai di perusahaan, dan kami umumnya memiliki orang-orang yang 'naik peringkat'.
Apakah ini praktik standar untuk mengajar orang dengan pemrograman tingkat umum / hobi? Bagaimana cara "naik peringkat" di perusahaan perangkat lunak bekerja untuk pemrogram tingkat junior? Kapan mereka mulai bekerja pada kode inti?
Saya mencoba untuk memutuskan apakah itu akan menyebabkan lebih banyak kerusakan daripada bantuan, dan atau jika ada cara kita dapat menggunakan bantuan mereka tanpa berpotensi membahayakan kode situs inti (lingkungan terisolasi?).
Jawaban:
Jika Anda mendelegasikan rookie ke peran yang tidak efektif dia tidak akan pernah belajar sesuatu yang substansial, dan mereka tentu tidak akan terlalu berguna bagi Anda.
Biarkan saya memberi Anda nasihat, pekerjaan TI pertama saya di luar sekolah adalah di sebuah perusahaan manufaktur yang relatif kecil di mana saya akan bekerja pada perangkat lunak untuk membantu insinyur penjualan dalam menulis kutipan untuk berbagai proyek. Saya juga seharusnya membantu orang IT yang sendirian mengelola IT untuk seluruh perusahaan.
Lelaki itu adalah orang yang stres karena terlalu banyak pekerjaan, dan perfeksionis pengelola mikro terburuk yang pernah saya tangani. Saya seharusnya meringankan beban kerjanya tetapi dia menghabiskan waktu hampir sama dengan mengkhawatirkan memeriksa saya dan pekerjaan saya karena saya menghabiskan bekerja (dia hampir tidak pernah meninggalkan kantor, saya pikir dia membenci keluarganya). Jika saya membuat satu kesalahan tunggal, dia akan benar-benar kehilangan akal dan mulai mengamuk, "Saya tahu saya seharusnya tidak memercayai Anda dengan ini, itu terlalu penting!" dan kata-kata kasar lainnya.
Poin yang ingin saya sampaikan adalah TIDAK seperti itu. Tidak hanya akan membuat para pemula sedih dan menghancurkan moral mereka, Anda akan membakar lilin di kedua ujungnya khawatir tentang pekerjaan mereka.
Beri mereka kesempatan untuk membuktikan diri tetapi memiliki spesifikasi teknis formal, ulasan desain, dan ulasan kode. Anda juga dapat menguji apa yang mereka hasilkan untuk memastikan memenuhi persyaratan.
Saya pikir Anda akan terkejut betapa mampunya beberapa dari mereka.
sumber
Saya dulu bekerja di toko perangkat lunak, di mana kami mengkodekan proyek besar (waktu peningkatan yang signifikan).
Pemula diperlakukan seperti dokter hewan. Mereka ditugaskan sebagai pemimpin teknis dan memulai fitur "sendiri". Gaya arsitektur didikte, tetapi mereka bebas untuk membuat desain bersih mereka sendiri. "Pola desain aneh" dikeluarkan selama ulasan kode peer (harian).
Satu kesalahan yang saya lihat di toko lain: menganggap "inti" itu keras dan "ui" itu mudah. Rookies memiliki waktu yang lebih mudah di inti, dan mengacaukan kode front-end UI.
Semoga berhasil!
sumber
Anda ingin memulai dengan memberi mereka fungsionalitas potongan kecil dan terpisah untuk diterapkan. Tentukan input yang Anda janjikan dan output yang Anda harapkan, dan biarkan mereka menghubungkan titik-titik. Dan kemudian menggunakan peninjauan kode pimpinan tim untuk memastikan kualitas, dan tinjauan sejawat untuk melatih mereka untuk belajar dari satu sama lain dan untuk mengajar diri mereka sendiri.
Ini mengasumsikan bahwa Anda memiliki arsitektur aplikasi keseluruhan yang memungkinkan unit logika atom dibangun dengan cara dipisahkan. Jika tidak, Anda menuju dunia kesedihan karena banyak pengembang bekerja di dalamnya - itu akan menjadi masalah bahkan dengan pro lama.
Tak pelak Anda akan memiliki orang-orang tertentu yang melakukannya, belajar dengan cepat, dan bangkit. Pastikan Anda terus memberi mereka tugas yang hanya selangkah lebih kecil dari kemampuan mereka saat ini. Tidak ada yang mendidik seseorang seperti tugas yang dimulai mustahil. Tak pelak Anda akan memiliki beberapa orang yang mencoba dan tidak pernah benar-benar menangkapnya. Orang-orang itu harus berterima kasih atas upaya mereka dan dengan anggun beralih ke hal lain.
sumber
Bagaimana perusahaan Anda dapat mengambil waktu dari karyawan lain, tetapi tidak mempekerjakan seseorang dengan pengalaman pemrograman? Jumlah pelatihan waktu Anda, pemecahan masalah dan memegang tangan mahal.
Satu-satunya hal yang pernah saya lakukan di bidang ini adalah mengajarkan orang bagaimana menggunakan penulis laporan atau mungkin beberapa kode VBA / Makro untuk Excel. Saya biasanya memberikan set data untuk digunakan kembali. Meminta mereka belajar SQL adalah hal yang sulit, tetapi saya telah melihatnya (Dibayar untuk mereka mendapatkan pelatihan di luar.) Sebagian besar dari mereka adalah analis keuangan yang memiliki kemampuan untuk belajar kode, tetapi mungkin tidak memerlukan waktu. Mencoba ini dengan beberapa orang dalam operasi adalah langkah panjang.
Pastikan Anda mendapatkan orang yang tepat dan mereka benar-benar ingin belajar kode. Anda tidak akan punya waktu untuk mengajari mereka segalanya. Mereka harus melakukan banyak hal sendiri.
sumber
@ louisgab benar tentang ulasan kode. Itu akan menjadi langkah pertama saya juga. Satu hal penting yang akan membantu Anda adalah memastikan mereka harus memperbaiki kesalahan sendiri apakah Anda menemukannya dalam ulasan kode atau yang lebih baru. Mereka tidak akan menang, bahkan menyadari bahwa mereka membuat kesalahan kecuali mereka harus memperbaikinya. Pastikan juga untuk menjelaskan mengapa solusi yang mereka gunakan adalah kesalahan dan mengapa apa yang Anda usulkan lebih baik. Beberapa minggu pertama akan terasa seolah-olah Anda memiliki lebih banyak pekerjaan karena memiliki orang-orang ini, tetapi jika Anda melakukan review kode Anda dan menjelaskan hal-hal dan mengharapkan mereka untuk belajar, dalam beberapa minggu mereka akan jauh lebih membantu daripada jika Anda hanya lakukan semuanya sendiri. Tetapi ada komitmen awal waktu Anda untuk meningkatkannya yang perlu disadari manajemen Anda.
sumber