Saran untuk programmer tunggal yang timnya akan berkembang dalam waktu dekat [ditutup]

25

Selama 4 tahun sekarang, saya telah menjadi pengembang solo untuk sebuah perusahaan kecil. Kami memiliki beberapa produk yang mapan di industri niche. Kami akan segera merekrut 1-2 pengembang, dan itu kemungkinan akan mengubah cara operasi di sini.

Meskipun saya tidak akan memiliki gelar "nyata", saya akan "bertanggung jawab" atas tim ini. Yang ingin saya lakukan adalah mendirikan departemen pemrograman yang sangat terorganisir dan produktif untuk perusahaan saya. Saya mendapatkan pekerjaan solo ini sejak lulus dari perguruan tinggi, jadi walaupun saya sudah mahir sebagai programmer di industri ini, saya tidak memiliki banyak pengalaman pemrograman tim. Saya merasa bahwa memulai dengan kaki kanan akan menjadi kunci.

Sekarang ini hanya saya, beberapa komputer, dan server SVN. Saya mencari petunjuk umum tentang membangun tim dari bawah ke atas.

bufferz
sumber
Satu hal yang kurang dalam jawaban yang baik adalah: instruksi tentang bagaimana pengembang baru akan mengatur lingkungan pengembangan baru mereka. Misalnya, dapatkan SDK ini, instal IDE itu, instal FooTest, setup klien YourSQL Anda, dapatkan skrip build ini dan letakkan di sini, konfigurasikan NPM atau pip atau Maven, atau Webpack atau apa pun ... Anda harus membuat draf pertama, lalu biarkan draf pertama Anda pekerjakan tes dan edit.
user949300

Jawaban:

14

Dapatkan rumah Anda teratur dan pastikan semuanya siap untuk upaya kolaborasi.

  • Kontrol Versi - Anda menyebutkan bahwa Anda sudah memiliki server SVN, yang sangat bagus. Pastikan Anda telah membuat repo dan mengatur proyek dengan cara standar.
  • Pembuatan Otomatis
  • Perangkat lunak pelacakan masalah / bug
  • Tes Unit / Integrasi
  • Server Integrasi berkelanjutan

Memiliki pengaturan item berikut dan terintegrasi ke dalam proses pengembangan Anda membuatnya lebih mudah untuk membawa orang-orang di papan, melacak apa yang sedang dilakukan, dan menjaga hal-hal dari menjadi "berantakan".

Mads Hansen
sumber
Meskipun semua jawaban untuk pertanyaan ini luar biasa, jawaban ini paling dekat dengan apa yang saya cari. Terima kasih Mads
bufferz
Saya punya satu yang saya sarankan untuk menambahkan: Ulasan Kode. Ini akan membantu orang baru mempelajari sistem, membantu Anda memahami kontribusi baru, dan dapat membuat semua orang menjadi programmer yang lebih baik. Siapkan sistem dengan alat yang tepat dan pola pikir bahwa itu bukan permusuhan tetapi alat untuk belajar, perbaikan, dan klarifikasi.
BrianH
Juga wiki. Dan terbiasa dengan loop umpan balik yang sangat singkat. Komitmen akan terjadi setiap lima menit, Anda akan mendapatkan konflik penggabungan. Anda perlu mengoordinasikan refactoring yang lebih besar. Dan jangan takut melepaskan ketika orang lain menambah kecepatan, tetapi miliki ulasan dan lakukan pemrograman pasangan untuk menghindari penyimpangan. Oh, dan tetapkan tujuan yang jelas.
Alexander Torstling
Ketika memikirkannya, saya pikir sebaiknya seseorang yang lebih berpengalaman menunjukkan jalannya kepada Anda. Pengodean tunggal dan pengodean tim sangat berbeda, dan metode yang berfungsi mungkin sangat berlawanan dengan intuisi untuk seorang solois.
Alexander Torstling
11

merekrut seseorang yang jauh lebih kompeten daripada Anda

... dan dengan pengalaman dalam proyek perangkat lunak perusahaan besar.

Mereka akan membantu Anda mengembangkan proses Anda dan Anda mungkin akan belajar banyak dari mereka.

Anda akan mengajari mereka ceruk pasar Anda.

Jika Anda tidak dapat menemukan orang seperti itu, saya sarankan Anda pergi ke pelatihan yang berkaitan dengan manajemen tim. Saya menyarankan Anda Sertifikasi Scrum sebagai starter.

Komunitas
sumber
6

Ini mungkin jelas, tetapi pastikan Anda berpikir Anda akan benar-benar suka bekerja dengan karyawan baru. Cobalah untuk mengatur beberapa gelas bir ketika mereka berdua mulai mencoba dan membuat tim merasa seperti itu.

Anda juga harus membuat mereka mengetahui adanya standar pengkodean yang Anda ikuti dan segala teknik umum yang Anda gunakan, umum seperti yang diulangi dalam basis kode Anda.

Akhirnya, Anda semua dapat memberi umpan balik ke dalam proses dan meningkatkan ... dengan asumsi Anda mengikuti saran lain dan mempekerjakan seseorang dengan keterampilan untuk melengkapi milik Anda.

Kevin D
sumber
4

Karena tidak memiliki gelar nyata, saya akan "bertanggung jawab" atas tim ini.

Jangan membuat kesalahan dengan membiarkan keinginan / ambisi Anda untuk menjadi "penanggung jawab" menghalangi. Jika perusahaan Anda mempekerjakan pengembang dengan pengalaman lebih dari Anda, karyawan baru mungkin jauh lebih cocok untuk peran pemimpin tim daripada Anda.

Nilai nyata Anda bagi tim dan perusahaan adalah pengetahuan Anda yang mendalam tentang produk yang saat ini diterapkan.

Stephen C
sumber
4

Ini sangat mirip dengan situasi saya beberapa bulan yang lalu. Saran terbaik yang bisa saya berikan adalah membuang keangkuhan khas menjadi seorang programmer dan merekrut yang terbaik dari yang terbaik yang perusahaan Anda mampu.

Saya "bertanggung jawab" untuk sementara waktu, tetapi seorang anggota tim dengan lebih banyak pengalaman meningkat dan saya dengan senang hati melepaskan tugas administrasi saya sehingga saya bisa melakukan yang terbaik, menulis kode kualitas. Saya masih menjadi mentor bagi tim Anda.

Jika Anda melakukan yang terbaik untuk perusahaan dalam situasi ini, Anda akan dihargai.

Scott
sumber
4

Akan ada diskusi teknis yang dipanaskan: programmer baru memiliki bias, mereka telah mengalami beberapa cara untuk melakukan sesuatu dan ketika dihadapkan dengan cara baru yang mereka tidak mengerti, pertama-tama mereka akan berpikir itu tidak masuk akal dan perlu diubah . Programmer yang telah bekerja sendiri selama bertahun-tahun cenderung bersikap defensif tentang pekerjaan mereka, dan juga pekerjaan mereka akan menjadi agak aneh, karena jumlah masalah yang telah mereka selesaikan tanpa mendiskusikan berbagai hal dengan orang lain.

Waspadai bias-bias itu, sambut masukan segar, jangan terlalu defensif dan jangan membuat keputusan gegabah untuk mengubah segalanya juga.

Ada banyak sisi baik untuk bekerja dalam sebuah tim, terutama mendapatkan kode Anda ditinjau oleh seorang rekan. Bersikeras itu untuk semua anggota tim termasuk Anda dari awal.

RemcoGerlich
sumber
2

Sebagai pengembang senior, Anda akan memerlukan topi manajer dan mulai melihat kebijakan perusahaan Anda. (terutama barang-barang seperti hak liburan, prosedur cuti sakit dan proses disiplin meskipun saya harap Anda tidak akan pernah membutuhkannya)

Sekarang tergantung pada keterampilan dan kemampuan karyawan baru mulai mendelegasikan beberapa aspek pekerjaan Anda saat ini, Anda akan memerlukan waktu untuk mengelola prioritas dan penjadwalan.

Salah satu sumber keterampilan manajemen sederhana dan dasar yang baik tentang apa yang harus dilakukan dan bagaimana secara profesional adalah http://www.manager-tools.com . Mereka melakukan podcast reguler tentang saran manajemen dan karier, belum lagi katalog materi yang cukup besar untuk Anda.

GrumpyMonkey
sumber
1

Banyak tips yang diberikan sangat bagus, saya hanya akan menambahkan beberapa dari pengalaman saya di posisi yang sama.

  1. Terlibat dalam keputusan perekrutan dan jangan takut untuk memveto kandidat yang tidak. Anda harus bekerja sama dengan tim dan mereka akan mewakili Anda untuk klien dan manajemen Anda.
  2. Membangun budaya kejujuran dengan anggota tim Anda dan mengharapkan kejujuran dari mereka terutama ketika situasi sulit.
  3. Belajarlah untuk mendelegasikan dan kemudian fokus pada solusi dan bukan proses.
Eric Kigathi
sumber
0

Buku Pengembangan Aplikasi Brownfield di. Net memiliki beberapa ide yang saya pikir akan membantu. Bagian dari saran adalah bagaimana mengatur segala sesuatunya sehingga mereka dapat diulang di antara anggota tim, dan sepanjang waktu.

Tangurena
sumber