Apa yang membuat arsitek / manajer / pengembang timbal yang baik?

12

Saya adalah Pengembang Utama untuk perusahaan perangkat lunak kecil. Selama dua tahun terakhir, tim saya telah berkembang dari satu pengembang (saya) menjadi sekelompok sekitar sembilan orang. Sebagian besar dari kita sangat cakap, insinyur senior (20+ tahun pengalaman membangun perangkat lunak per orang), sehingga sangat sedikit memegang tangan pada umumnya diperlukan. Kami menggunakan Scrum untuk mengelola upaya kami, dan kami biasanya menyelesaikan banyak hal dengan cepat dengan persyaratan tertulis minimal.

Ketika tim telah berkembang, saya telah mencapai titik di mana sulit bagi saya untuk mempertahankan pengawasan teknis atas seluruh proyek sambil juga menulis sejumlah besar kode baru sendiri, jadi sekarang saatnya bagi saya untuk menyesuaikan peran saya. Bagaimana saya bisa membuat diri saya paling berguna bagi tim ketika saya tidak lagi menghabiskan sebagian besar waktu saya untuk berkembang?

Tujuan saya adalah untuk memungkinkan grup saya tumbuh lebih jauh (yaitu meningkatkan kecepatan Scrum) dengan menambahkan lebih banyak pengembang , jadi saya tidak ingin sekadar menjadi "polisi arsitektur" yang memaksakan kehendak saya pada tim. Dengan kata lain, saya ingin menjadi orang yang membantu hal-hal bekerja lebih baik / lebih lancar, daripada menjadi orang yang memperlambat hal-hal dengan menambahkan lapisan birokrasi yang tidak perlu. Namun, salah satu risiko utama kami adalah bahwa hal-hal akan menjadi tidak terkendali jika kita menambah lebih banyak orang tanpa memiliki struktur yang cukup untuk membuat kita semua berada di halaman yang sama.

Apa cara terbaik untuk mencapai tujuan saya?

brianberns
sumber
6
Tidak yakin ini adalah jawaban, tetapi saya pribadi ingin Anda menjaga tim tetap terorganisir dan sedikit menyesuaikan manajemen Anda. Ketahuilah apa yang sedang mereka kerjakan, tetap up to date dengan apa yang sedang mereka kerjakan, dll. Ketika Anda tidak mengorganisir mereka sebagai sebuah kelompok, ambil bagian dalam ulasan kode, bantu menulis modul yang membutuhkan sedikit bantuan ekstra dan mungkin menghabiskan waktu dengan pengembang individual. Saya sudah memiliki satu atau dua manajer yang tidak membantu dan tidak memeriksa kami untuk melihat bagaimana keadaan - tetapi juga tidak ingin tahu (ya, manajer yang buruk).
Simon Whitehead
Saya pikir peran yang Anda sebutkan dalam judul semua memiliki spesifikasi yang berbeda dan menggunakan serangkaian keterampilan yang berbeda. Yang mana?
Euforia
3
Persyaratan terperinci dan "lapisan birokrasi yang tidak perlu" tidak sama. Persyaratan dapat menyelamatkan hidup Anda terutama ketika bekerja dengan tim besar. Jangan meremehkan kekuatan mereka.
superM

Jawaban:

12

Jika Anda berada di tim seperti ini, apa yang Anda ingin bos Anda lakukan dengan waktunya?

  1. Hapus hambatan untuk maju.
  2. Mediasi perselisihan antara anggota tim.
  3. Berinteraksi dengan orang-orang bisnis sehingga kita tidak perlu.
  4. Terus beri tahu kami tentang hal-hal bisnis / proyek tingkat tinggi agar kami tidak merasa terisolasi.
  5. Jaga kami jujur, terutama jika / ketika apel buruk masuk ke tim.
  6. Jadilah advokat bagi tim ke departemen lain.
  7. Jadilah suara serentak yang terpadu terhadap permintaan bisnis yang tidak masuk akal.
  8. Fasilitasi komunikasi di antara tim.

Mungkin ada banyak yang saya lupa, tapi itulah intinya. Jangan menerapkan proses, tangani sebagian overhead / inefisiensi yang secara alami berkembang seiring bertambahnya ukuran tim.

Telastyn
sumber
5
Saya merasa daftar ini berorientasi negatif. Ini seperti "melindungi saya dari hal-hal buruk." Bagaimana dengan dampak positif ?
Nicole
1
@NickC Saya pikir di atas adalah bagian dari pekerjaan manajer. Apa yang Anda maksud dengan dampak positif ?
BЈовић
2
@nickC eh, saya cenderung memiliki pandangan negatif tentang berbagai hal, tetapi juga dalam pengalaman saya, mengurangi dampak negatif memiliki dampak positif terbesar pada produktivitas dan moral tim. Terutama jika Anda khawatir tentang orang yang sibuk dengan proses.
Telastyn
@NickC Saya sepenuhnya setuju dengan Telastyn, pada akhirnya daftarnya mungkin hanya menyoroti apa yang akan dihadapi para pengembang jika tidak memiliki keunggulan teknologi. Meskipun, poin yang lebih positif dapat ditambahkan, yaitu. "Pimpinan teknologi yang baik memiliki visi keseluruhan untuk arah teknis produk dan memastikan tim memahaminya. Mereka mendelegasikan area fitur kepada anggota tim lain dan membiarkan mereka memiliki keputusan sendiri. Mereka menyadari bahwa anggota tim mereka cerdas, percaya kepada mereka," dan andalkan mereka untuk menangani bagian penting dari proyek. " lihat engineering.foursquare.com/2014/01/30/...
Adrien Be
6

Saya tidak memiliki masalah dengan pimpinan tim yang mampu menyeimbangkan tugas manajerial dan teknis, tetapi sulit untuk menemukan orang yang mengelola keseimbangan itu dengan baik.

Jika saya harus memilih antara dua ekstrem dari pemimpin tim di tim yang sedang tumbuh ... itu adalah pilihan yang sangat sulit tetapi pada akhirnya saya pikir saya ingin pemimpin tim menjadi lebih dari seorang manajer. Pada tim yang cukup besar Anda berharap akan ada kandidat lain untuk masuk ke peran pengembang senior yang dapat memelihara anggota tim yang lebih baru dan masih melakukan beberapa peningkatan berat dalam pengembangan.

Tetapi di tim yang sedang berkembang Anda pasti ingin manajer yang baik juga. Faktanya, memiliki orang yang baik dengan jabatan manajemen adalah penting karena Anda ingin dia memiliki kekuatan yang cukup untuk melakukan keputusan yang baik. Manajer yang baik memiliki pengaruh besar terhadap kebahagiaan tim dan untuk alasan yang tepat Anda tunjukkan; dengan membantu menjaga mereka tetap produktif - dan bagus untuk Anda karena berpikir seperti Anda. Ada banyak manajer yang tidak peduli.

Saya akan merekomendasikan beberapa posting lain di sini di Programmer. Meskipun mereka lebih diarahkan untuk memimpin tim daripada peran manajerial resmi, mereka dapat membantu:

Membuat pindah ke Memimpin Tim

Bagaimana cara saya berhasil sebagai Pengembang Utama?

Bagaimana cara agar anggota tim dihormati sebagai pemimpin tim?

Bernard Dy
sumber
"Seorang manajer yang baik memiliki pengaruh besar terhadap kebahagiaan tim": Saya pikir Anda benar, tetapi ini menimbulkan pertanyaan lain, "Bisakah tim bahagia bahkan dengan manajer yang tidak berguna?"
Adrien Be
4

Saya pikir ini adalah keseimbangan dari sifat-sifat ini:

  • Keahlian teknis : Anda tidak ingin seseorang yang memimpin tidak dapat menilai kualitas pekerjaan yang ia arahkan.
  • Didorong sendiri : Dapat menentukan tujuan dan tidak reaktif.
  • Tahu cara memanfaatkan konflik : Konflik memicu percakapan
  • Auto-didaktik : Tidak penting bahwa dia tahu segalanya, tetapi tahu cara belajar.
  • Sikap dan energi yang baik : Anda menginginkan seseorang yang memotivasi dan membuat pekerjaan semua orang lebih mudah, bukan diva yang menyalak.
  • Pengalaman dengan kegagalan : Mungkin yang paling penting. Saya telah melihat pemimpin yang sangat muda yang mungkin tidak memiliki masalah dengan semua yang sebelumnya, tetapi pada tanda kegagalan pertama mereka membeku atau menghindari tanggung jawab. Senioritas tidak ada hubungannya dengan usia, tetapi jumlah yang tepat dari pengalaman yang tepat, dan kegagalan jelas merupakan sesuatu yang perlu dipertimbangkan.

OTOH, wawancara adalah bagian penting untuk mendapatkan orang yang tepat, saya sarankan Anda untuk mengajukan pertanyaan berikut dalam wawancara:

  • "Katakan padaku proyek di mana kamu mengalami kegagalan, bagaimana kamu mengelolanya dan apa yang kamu pelajari dari itu"
  • "Katakan padaku tentang suatu kali di mana kamu melanggar aturan untuk menyelesaikan sesuatu"
  • Terapkan tes Fizz Buzz , dengan sedikit putaran yang dapat Anda pikirkan.

Tes FizzBuzz benar-benar suatu keharusan, menjadi benar atau salah itu tidak sepenting:

  • Waktu yang diperlukan untuk menjawab : rata-rata 15 menit, batas minimum 30 menit,> 30 menit TIDAK OK
  • Jika dia dapat men-debug kodenya sendiri : Saya pernah memiliki seorang pria dengan 15 tahun pengalaman melamar posisi senior ... dia membutuhkan waktu 40 menit untuk menyelesaikan tes ... di pseudocode ... dapatkan itu salah dan tidak bisa mencari tahu mengapa. Saya memiliki kasus lain di mana seorang pria lain, menghabiskan waktu sekitar 5 menit untuk membenarkan dirinya sendiri dan tidak dapat menerima bahwa dia salah sama sekali.
dukeofgaming
sumber
1
+1. Setiap orang harus tahu cara belajar.
superM
Tes FizzBuzz adalah untuk menghilangkan orang dengan apa yang disebut inertia of mind, bukan? Setelah berurusan dengan masalah rumit untuk sementara waktu, kebanyakan dari kita tidak dapat melihat solusi sederhana untuk masalah sederhana.
superM