Saya telah mendengarkan podcast Scott Hanselman dan Rob Conery, This Developer's Life .
Dalam episode terbaru, mereka membahas ciri-ciri kepribadian:
1.0.4 - Menjadi Berarti.
Apa yang membuat orang berarti dalam industri kita? Bagaimana dengan agresif? Percaya diri? Apa bedanya? Apakah Anda lebih suka memiliki sersan latihan untuk bos, atau master zen? Kami berbicara dengan Cyra Richardson dan Giles Bowkett.
Itu membuat saya berpikir, sifat-sifat apa yang dimiliki oleh para manajer terbaik yang pernah bekerja dengan Anda?
EDIT: Hanya untuk memperjelas, karena ada beberapa suara yang dekat, saya tertarik pada apakah ada ciri-ciri umum untuk manajer pengembang yang belum tentu sifat-sifat yang diperlukan oleh manajer dari beberapa profesi lain.
Mengenai apakah ini terkait pemrograman atau tidak, well, saya tidak ingin menanyakan pertanyaan ini di situs yang bukan tentang pemrograman karena, terus terang, saya tidak tertarik pada apa yang orang-orang yang membuat kaleng sup untuk mencari nafkah inginkan dari manajer mereka karena saya tertarik pada apa yang diinginkan pengembang dari manajer mereka.
sumber
Jawaban:
Dalam pengalaman saya, ini merupakan kombinasi dari yang berikut:
sumber
Joel Spolsky menyebutnya " Abstraction Layer ". Lakukan apa yang diperlukan untuk membuat saya tetap pemrograman. Biarkan saya tahu apa yang terjadi di perusahaan, tetapi jauhkan saya dari politik. Walaupun saya masih harus melakukannya, paling tidak mengakui bahwa permintaan itu adalah omong kosong!
sumber
Seseorang yang akan bertempur dalam pertarungan politik untukku dan menghilangkan rintangan yang mencegahku menyelesaikan sesuatu.
Periode.
sumber
Bersedia mendengarkan orang-orang yang bekerja untuk mereka.
Saya memiliki manajer yang cenderung memiliki kecenderungan teknis, dan saya memiliki beberapa yang bahkan tidak tahu tentang multitasking ("oh wow! Dari mana Anda mempelajari trik Alt-Tab?"), Tetapi masalahnya semua hal Saya benar-benar menikmati bekerja untuk memiliki kesamaan adalah bahwa mereka tahu mereka tidak tahu segalanya, dan bersedia mendengarkan ketika kita benar-benar melakukan pekerjaan mereka seharusnya mengelola ide yang disajikan, masalah atau saran tentang pekerjaan itu.
sumber
Dia melindungi timnya dan mengasumsikan tanggung jawabnya
Satu di tim Anda menabrak server dengan data produksi. Manajer Anda akan bertanggung jawab penuh. Dia akhirnya akan menolak memberi tahu atasannya siapa yang melakukan kesalahan dan berdiri di depan anak buahnya.
sumber
Mereka mengelola berdasarkan tujuan, bukan waktu, dan terutama peduli dengan saya mencapai tujuan itu
Alih-alih peduli dengan berapa lama saya duduk di meja saya, mereka lebih peduli dengan apa yang saya butuhkan untuk menyelesaikan tugas yang diberikan. Jika ini berarti menghilangkan hambatan atau hambatan, atau memungkinkan saya bekerja berjam-jam / akhir pekan, mereka bersedia untuk menukar waktu. Jika saya menyelesaikan pekerjaan lebih cepat dari jadwal dan membutuhkan waktu untuk janji dokter atau kegiatan keluarga, mereka fleksibel dan pengertian.
Saya tentu ingin dimintai pertanggungjawaban di tempat kerja, tetapi itu harus untuk apa yang saya capai, bukan berapa banyak waktu yang saya habiskan di meja saya.
sumber
Jauhkan saya dari rapat yang tidak perlu saya ikuti. Jika manajer bisa melakukan ini, mereka akan jauh lebih berharga.
sumber
Pengakuan bahwa saya disewa dan dibayar untuk membuat keputusan.
sumber
Mereka mendukung Anda ketika Anda mengatakan TIDAK
Salah satu sifat yang paling mendemotivasi seorang manajer adalah kurangnya keberanian untuk membela orang-orangnya dan selalu tunduk di depan atasannya sendiri walaupun itu berarti mempengaruhi produk atau tim.
sumber
jangan berteriak, tolong jangan. (Tidak peduli seberapa menekankan Anda tentang tenggat waktu besar, penguji bodoh, dll.)
sumber
Seseorang yang membiarkan saya melakukan pekerjaan saya.
sumber
Memahami apa yang terdiri dari pemrograman. Anda akan terkejut betapa banyak manajer tidak tahu apa-apa tentang masalah ini.
sumber
Pengakuan bahwa saya disewa dan dibayar untuk membuat keputusan.
Saya bukan karyawan layanan makanan $ 7 / jam. Saya di sini untuk mengambil keputusan. Jika saya diberi tahu setiap detail tentang apa yang harus dilakukan, saya mungkin juga seorang juru ketik.
sumber
(Deep) Keahlian Empati .
sumber
Saya harus melakukan ini dari sudut pandang bos terburuk yang pernah saya bekerja - bos yang baik TIDAK akan memiliki sifat-sifat ini:
Ketidakmampuan untuk membuat keputusan _ hal terburuk yang pernah saya tangani adalah seorang bos yang berubah pikiran setiap kali seseorang berbicara dengannya. Kami mengubah arah 4-5 kali sehari pada proyek tiga tahun.
Mencuri kredit untuk hal-hal yang dilakukan anggota tim. Suatu ketika bos saya mendapat penghargaan besar yang mereka berikan kepada publik. Semua yang mereka sebutkan yang dia lakukan, sebenarnya saya lakukan. Tidak perlu dikatakan bahwa ini sangat menurunkan motivasi.
Panik ketika segalanya tidak berjalan dengan baik. Lebih buruk lagi bila panik membuatnya jahat. Itu tidak membantu menyelesaikan sesuatu, sungguh.
Kembali menusuk bangsanya sendiri. Dia mendapat pujian, kita disalahkan. Dan tidak mendukung kita dalam rantai komando ketika dia seharusnya.
Tidak memiliki pemahaman tentang proses pengembangan perangkat lunak dan bahkan tidak peduli untuk cukup belajar untuk mengetahui kami menggunakan C # (atau bahasa lain pilihan Anda). Berpikir bahwa semuanya dapat dilakukan dalam waktu singkat dan bahwa perubahan sederhana di luar halaman User_interface berarti itu tidak akan lama untuk diimplementasikan. Jenis orang yang duduk pada perubahan sampai hari sebelum batas waktu dan kemudian berkata, "Oh, omong-omong yang perlu kita lakukan ..." dan apa pun yang dia minta adalah sesuatu yang mengubah arsitektur dasar.
Manajemen mikro atau tidak mengelola sama sekali. Keduanya sama-sama buruk. Saya memiliki terlalu banyak bos yang tidak tahu ada masalah dengan satu karyawan sampai terlambat dan semua orang harus membayar harga untuk memperbaiki kekacauan. Saya juga punya bos yang harus saya katakan agar mereka berhenti mengganggu saya setiap lima menit atau itu tidak akan pernah selesai.
Secara politis naif. Jika bos Anda tidak berprestasi baik secara politis dengan orang-orang di atasnya, Anda akan kesulitan mendapatkan orang yang Anda butuhkan, Anda akan memiliki ruang terburuk dan Anda berada dalam kelompok yang kemungkinan besar akan kehilangan pekerjaan Anda dalam PHK atau karena itu adalah cara mudah untuk menyingkirkannya. Bos harus pandai dalam politik kantor.
Seseorang yang berpikir dia dapat memangkas jam proyek menjadi setengah (karena klien tidak akan menyukai nomor itu) dan kami akan dapat menyelesaikannya dalam jumlah waktu itu tanpa perubahan persyaratan yang sesuai.
sumber
Kredit dimana kredit jatuh tempo dan pengetahuan yang cukup untuk dapat menetapkannya
Saya akan menambahkan mendengarkan dengan baik tetapi sebaliknya.
sumber
Mereka mempercayai orang-orang mereka untuk menyelesaikan pekerjaan dan tidak mencoba "menggiring kucing".
Berikan ruang kepada orang-orang mereka untuk membuat kesalahan (bukan yang besar tentunya) dan belajar dari mereka.
sumber
Seseorang yang mendengarkan dengan baik
dan
Seseorang yang benar-benar berbicara kepada saya setidaknya setiap minggu
sumber
Saya memiliki manajer yang baik dan buruk. Ini adalah beberapa sifat yang saya perhatikan pada manajer yang buruk:
Minggir sehingga Anda bisa melakukan pekerjaan Anda
Manajer yang baik akan memastikan bahwa Anda memiliki peralatan yang tepat untuk menulis kode.
Mikro mengelola detail yang salah
Manajer semacam ini akan membohongi Anda karena gagal melampirkan tanda tangan ke email Anda sementara mengabaikan pekerjaan ekstra yang Anda lakukan sebelum email itu.
Tidak tertarik dengan proses pengembangan
Ini benar-benar pertanda buruk bagi manajer yang bertanggung jawab atas pengembang perangkat lunak. Dia tidak peduli menyelidiki pendekatan pengembangan lain, tidak akan tahu nomor versi apa yang seharusnya dikeluarkan oleh perangkat lunak berikutnya, tidak akan membaca blog seperti Joel di Perangkat Lunak atau apa pun yang terkait dengan mengelola pengembang, seperti Peopleware.
Berpikir bahwa dia ada di sana untuk saya laporkan
Manajer seperti ini tidak suka orang-orang melapor kepadanya tentang segalanya.
Salah mengalokasikan waktu
Diberi waktu satu bulan untuk mengirimkan proyek pengembangan dari awal hingga selesai, manajer ini akan mengalokasikan 3/4 bulan untuk tim desain dan persyaratan untuk menghasilkan 1000 kata dokumen garis dan mengharapkan tim pengembang untuk mengimplementasikannya dalam seminggu. Dia juga akan beralih pada persyaratan sampai mereka 'sempurna', menambahkan jumlah detail yang banyak hingga dokumen menjadi tidak dapat digunakan. Tetapi kemudian dalam proses pengembangan Anda akan menemukan bug dalam desain dan dokumentasi persyaratan dan menyadari bahwa penekanan pada mencoba menulis dokumen yang sempurna adalah kesalahan.
sumber
Saya pikir dua karakteristik paling penting adalah pemahaman dasar prinsip-prinsip manajemen, dan menjadi "salah satu dari kita." Sayangnya, keduanya tidak cenderung terjadi bersama terlalu sering, tetapi ketika mereka melakukannya, Anda telah menemukan orang yang baik untuk bekerja.
Di tempat saya bekerja, manajer proyek kami adalah mantan pengembang. Dia pandai memprioritaskan dan mengarahkan pekerjaan - hal-hal yang perlu diketahui seorang manajer - tetapi dia juga memiliki ide yang cukup bagus apa yang terjadi ketika saya perlu mengajukan pertanyaan tentang bagaimana menerapkan sesuatu yang membutuhkan kedua visi tingkat manajemen darinya dan masukan teknis dari saya.
Bos juga memiliki kedua keterampilan ini. Dia sebenarnya adalah pengembang saat ini , yang sesekali bekerja pada basis kode dan membuat komitmen, ketika tanggung jawab lain tidak menyeretnya menjauh darinya. Dia memastikan kita memiliki lingkungan kerja yang baik, karena dia tahu secara intuitif seperti apa lingkungan kerja yang baik bagi kita: itu adalah kondisi yang dia inginkan untuk bekerja!
sumber
Berjuang untukku. Saya tidak harus membahasnya dengan IT. Memberi saya alat yang saya butuhkan. Mengkomunikasikan kebijakan perusahaan ke bawah. Membuat keputusan saat diminta dan tetap keluar saat tidak.
Penafian: Saya sebelumnya pernah dalam peran manajerial, tetapi saat ini tidak. Dari itu saya bisa mengatakan itu bisa sangat sulit berada di sisi lain meja juga.
sumber
Seseorang yang jelas dalam hal apa yang perlu dilakukan, biarkan saya mengerjakan rincian teknis, memberikan konteks ketika diperlukan, dan tidak mengubah persyaratan ketika saya lebih dari setengah selesai.
sumber
Dua hal:
Poin 1 akan memberi Anda, sebagai pengembang, seorang manajer yang benar-benar memahami apa pekerjaan Anda dan terdiri dari apa, dan memahami apa yang Anda butuhkan (dan juga tidak perlu) untuk melakukan pekerjaan Anda dengan kemampuan terbaik Anda. Jika mereka bukan pengembang sekarang (dan mereka seharusnya tidak benar-benar menjadi pengembang langsung sekarang karena mereka adalah manajer - dan itu adalah pekerjaan penuh waktu itu sendiri) mereka harus memiliki pengalaman pengembangan sebelumnya, tetapi itu harus cukup baru-baru ini (mis. dalam beberapa tahun terakhir) sehingga mereka setidaknya akrab dengan bahasa, alat, metode, dan teknik pembangunan modern.
Titik 2 akan memberikan seorang manajer yang menerima tanggung jawabnya, melindungi timnya dari politik kantor dan gangguan perlu dan perkelahian untuk timnya harus disediakan dengan hal-hal yang mereka perlu (sehingga memungkinkan titik 1) dan dapat mengelola ekspektasi dari bisnis dan orang-orang di atasnya (Ini bahkan lebih penting dalam sebuah perusahaan besar di mana banyak tingkatan dan lapisan manajemen ada di antara Anda (pengembang) dan pengambil keputusan bisnis (manajemen senior))
Singkatnya, memiliki sifat (1) memberi Anda seorang manajer yang mengerti apa yang Anda butuhkan untuk menyelesaikan pekerjaan Anda, dan memiliki sifat (2) memberi Anda seorang manajer yang akan menyediakan apa yang Anda butuhkan.
Joel Spolsky's Talk di Yale (dan artikel terkait " Command and Conquer and the Herd Of Coconuts ") menyatakan dengan sangat ringkas:
Dalam berbicara tentang manajemen (buruk) di Juno:
Dalam berbicara tentang manajemen (umumnya baik) di Microsoft:
sumber
Saya ingin seseorang yang mampu (dan memiliki keberanian untuk) mengenali dan menyingkirkan kayu mati. Orang-orang ini merusak produk dan memperlambat penyelesaian, membuat mereka keluar dari jalan saya! Terlalu banyak manajer yang tidak dapat mengenali siapa yang merupakan pengembang yang buruk (atau berpikir bahwa yang memiliki meja yang berantakan itu buruk atau orang yang tampaknya memulai banyak hal di luar angkasa meskipun ia sebenarnya adalah dev yang paling cerdas atau paling produktif) atau tidak ingin menjadi orang yang memberi tahu seseorang bahwa mereka dibiarkan pergi dan biarkan kayu mati itu tinggal tahun demi tahun yang menyebabkan kerugian dan ketidakpuasan di antara yang kompeten.
Saya tidak ingin dipermalukan oleh seorang manajer yang bahkan tidak tahu bahasa apa atau backend database atau alat penting lainnya yang kami gunakan. Saya pernah bertanya (di depan klien) bahasa apa yang kami programkan setelah terlibat dalam proyek selama 3 tahun! Saya tidak berharap orang-orang yang sudah lama berada di manajemen tetap mengikuti perkembangan segalanya, tetapi mereka setidaknya harus tahu apa yang kami gunakan. Dan mereka harus cukup pintar untuk tidak bertanya hal-hal seperti itu di depan orang lain jika mereka tidak.
Saya menginginkan seorang manajer yang memiliki keberanian. Jangan terima tenggat yang tidak realistis itu tanpa mundur, jangan biarkan orang-orang menggertak karyawan Anda atau membiarkan pengembang pemalu mengikuti cara mereka tanpa dibesarkan. Jangan gagal memberi tahu saya jika saya melakukan sesuatu yang salah karena Anda takut saya mungkin akan kesal. Manajer ada sebagian untuk menangani berita buruk, saya ingin orang yang bisa.
Saya ingin seorang manajer yang mengerti bahwa saya memiliki kehidupan rumah tangga, yang memahami bahwa para dev yang kelelahan membuat kesalahan dan butuh waktu lebih lama untuk melakukan proyek yang bekerja 60 jam seminggu daripada 40.
Yang terpenting, saya menginginkan seorang manajer yang mengakui pekerjaan yang baik dan secara verbal menghargai saya secara pribadi dan menaiki rantai ke atasannya. Meskipun saya benar-benar membencinya ketika mereka berpikir bahwa pekerjaan buruk adalah pekerjaan yang baik dan memberi penghargaan kepada orang yang salah!
sumber
Keramahan akan menjadi sesuatu yang saya taruh di sana. Saya tidak suka memiliki rasa takut jika bos saya memutuskan untuk mengunjungi bilik saya setiap saat . Kinerja saya mungkin sedikit lebih baik jika saya merasa saya sedang membantu seorang teman yang meminta bantuan di sana-sini kadang-kadang, misalnya untuk menyelesaikan proyek untuk tenggat waktu saya mungkin harus tinggal di kantor untuk sejumlah jam yang mungkin tidak ingin saya lakukan.
Kompetensi dalam mengelola banyak hal akan menjadi aspek lain yang saya cari meskipun hal ini dapat dilihat sebagai sifat yang jelas sampai batas tertentu. Resolusi konflik dan keterampilan rekonsiliasi juga akan menjadi sesuatu yang saya ingin tahu bahwa manajer saya dapat menangani karena mungkin ada saat di mana itu adalah pengembang melawan pengembang atau pengembang terhadap analis dalam hal masalah yang membutuhkan seseorang untuk menjadi benar yang mungkin bukan dalam beberapa kasus beberapa aspek dalam pekerjaan dapat memiliki beberapa interpretasi.
sumber
Seseorang yang mengerti bahwa pembangunan bukanlah pekerjaan pabrik. Menempatkan lebih banyak jam per hari sepertinya tidak akan mendapatkan hasil yang jauh lebih tinggi. Pemrogram perlu mengambil hidung mereka dari batu asah cukup sering dan hanya tidak memikirkan apa yang sedang mereka kerjakan untuk menyelesaikan masalah dan menyelesaikan sesuatu.
sumber
Manajer yang baik bersedia membiarkan saya mengatakan tidak . Mereka menyadari bahwa pengembangan perangkat lunak adalah masalah jahat . Dengan demikian, bahkan jika manajer lebih kompoten daripada saya secara teknis, mereka menyadari bahwa saya mungkin tahu masalahnya lebih baik hanya karena saya yang mengimplementasikan solusi. Pada saat yang sama, mereka memberi tahu saya ketika saya kehilangan konteks. Sering kali, manajer mungkin membuat keputusan berdasarkan hal-hal yang mereka tahu tidak saya ketahui. Jika itu masalahnya, maka mereka harus mengisi rinciannya atau setidaknya memberi tahu saya bahwa mereka tahu sesuatu yang tidak saya ketahui.
sumber
Saya telah bekerja di beberapa tempat sekarang di mana manajemen secara eksplisit non-teknis. Majikan saya saat ini memiliki kebijakan bahwa manajer yang membuat keputusan teknis adalah alasan untuk dihapus. (Ini bukan perusahaan kecil yang belum pernah Anda dengar, kira-kira sepertiga dari Anda menjalankan produk kami). Sebagian sebagai akibat dari kebijakan ini, setidaknya menurut saya, para manajer di sini jauh "lebih kuat" daripada di perusahaan lain. Karena mereka tidak terlibat dalam pengambilan keputusan teknis, tidak ada rangkaian keputusan teknis 'sedikit ke sangat salah' yang dibuat oleh manajemen, dan mereka hanya membuat keputusan "tingkat lini produk" yang besar.
Manajer terbaik yang saya miliki adalah mereka yang 'menjalankan interferensi' untuk pengembang. Manajer yang baik dapat membedakan antara 'rapat wajib' dan rapat wajib, dan akan memberi tahu Anda.
Keterampilan manajemen dasar adalah membuat pengembang merasa dapat mengendalikan lingkungan mereka, ini bisa berupa pengingat atau ilusi, tergantung pada perusahaan, tetapi itu keterampilan yang sangat penting.
sumber