Apakah memiliki pekerjaan teknis yang dibayar lebih tinggi berarti Anda tidak dapat lagi membuat kode? [Tutup]

58

Saya bekerja di sebuah perusahaan besar di mana orang-orang teknis secara kasar masuk dalam salah satu kategori ini:

  1. Sebuah pengembang di tim scrum yang mengembangkan untuk satu produk dan mungkin bekerja dengan tim lain yang terkait erat dengan produk.
  2. Seorang arsitek yang lebih merupakan konsultan pada banyak tim (5-6) dan mencoba untuk mengenali kesamaan antara upaya tim yang dapat diabstraksikan menjadi perpustakaan (arsitek tidak menulis kode perpustakaan, namun). Arsitek ini juga menghadiri banyak pertemuan dengan manajemen dan upaya untuk menetapkan arahan teknis.

Di perusahaan saya, peran arsitek adalah tempat sebagian besar orang teknis bergerak sebagai langkah selanjutnya dalam karier mereka.

Pertanyaan saya adalah: Apakah sebagian besar perusahaan bekerja sedemikian rupa sehingga orang-orang teknis dengan bayaran tertinggi jauh dari menulis kode? Apakah ini kecenderungan alami untuk karier pengembang? Bisakah pengembang memiliki semuanya (kode DAN menetapkan arah?)

c_maker
sumber

Jawaban:

75

Apakah sebagian besar perusahaan bekerja sedemikian rupa sehingga orang-orang teknis dengan bayaran tertinggi jauh dari menulis kode?

Perusahaan yang paling buruk. Ada kecenderungan alami untuk lebih banyak tanggung jawab melibatkan lebih sedikit penulisan kode dan lebih fokus pada aspek lain dari pengembangan perangkat lunak. Yang mengatakan, sangat umum bagi orang-orang teknis untuk kehilangan kontak dengan apa yang umum / terbaik / mungkin jika mereka tidak menghabiskan waktu benar-benar coding. Ini memiliki efek buruk pada perusahaan.

Apakah ini kecenderungan alami untuk karier pengembang?

Iya. Pada akhirnya, seseorang dapat lebih banyak membantu produk dengan membimbing, mengoordinasikan, merancang, mengetahui domain masalah dan melakukan tugas pengembangan perangkat lunak lain daripada dengan menulis kode. Dan dalam semua kejujuran, memiliki keterampilan kepemimpinan atau desain yang baik jauh lebih jarang (baca: berharga) daripada keterampilan menulis kode.

Bisakah pengembang memiliki semuanya (kode DAN menetapkan arah?)

Benar. Meskipun Anda perlu menyadari bahwa jumlah pengkodean akan turun. Anda tidak dapat melakukan hal-hal berharga lainnya dengan baik jika Anda menghabiskan 80% hari ini dengan menggunakan IDE.

Pilihan lain yang terjadi adalah 'insinyur utama' karena tidak ada istilah yang lebih baik. Beberapa pengembang sangat terspesialisasi. Saya bekerja dengan seseorang misalnya yang menulis driver ethernet gigabit untuk Linux. Kami membutuhkannya untuk melakukan pekerjaan semacam itu untuk kami, dan karena hanya segelintir orang yang dapat melakukan pekerjaan itu dengan baik, ia menghasilkan banyak uang selain menulis kode sebagai mayoritas dari zamannya.

Sebagian besar perusahaan tidak memerlukan spesialisasi semacam itu. Mereka hanya menyatukan data bersama atau membuat situs web / mobileapp lainnya.

Telastyn
sumber
1
Ini. Namun, di sebagian besar hierarki ada beberapa posisi di antara "kode monyet" rata-rata dan seorang arsitek; Pengembang junior, pengembang, manajer senior, pemimpin tim, bahkan manajer proyek sering kali berada di bawah arsitek perangkat lunak. Hingga manajer proyek, sebagian besar posisi itu masih coders utama, dengan fungsi pekerjaan pengawasan / penasehat yang semakin meningkat, dengan lompatan kuantum ketika Anda naik ke PM yang cukup banyak mengurangi semua tugas pengkodean yang mendukung pengelolaan sumber daya dan manusia. Arsitek biasanya melompati PM untuk tetap lebih dekat dengan pengkodean, tetapi mendapatkan otoritas atas beberapa proyek.
KeithS
1
Jawaban yang bagus Dan komentar Anda tentang "memiliki semuanya" tepat. Baru-baru ini saya membuat keputusan sadar untuk mengubah jalur karier saya sehingga saya bisa kembali menulis kode. Saya cukup beruntung menemukan perusahaan yang dapat menggunakan keahlian arsitektur dan pemrograman saya. Mereka pasti sulit ditemukan.
3
"Perusahaan yang paling buruk." Akurat dan ringkas. +1
orip
Google / Temukan di twitter John Carmack ( twitter.com/ID_AA_Carmack ) Dia adalah pendiri / direktur teknis ID Software, namun dia menulis kode setiap hari. Contoh yang bagus
kodisha
Contoh konter @odisha Linus Torvalds . Dia sepertinya tidak kode sebanyak dulu.
Autodidact
8

Ini sangat tergantung pada budaya organisasi. Banyak perusahaan tidak memiliki posisi teknis senior yang sebenarnya, meskipun mereka mungkin memiliki beberapa posisi palsu.

Beberapa perusahaan memang memiliki posisi ini. Salah satu alasan mengapa para insinyur hebat cenderung tertarik pada beberapa perusahaan besar (misalnya Google) atau startup adalah karena mereka dapat terus menjadi pengembang dan mengerjakan hal-hal yang mereka sukai dengan kompensasi tinggi dan status organisasi. Di sebagian besar perusahaan, jika mereka ingin tetap menjadi pengembang, mereka akan berada di anak tangga paling bawah.

orip
sumber
4

Pengalaman pribadi adalah semakin saya berpengalaman dalam menulis kode, semakin sedikit waktu yang saya mampu untuk menulis kode.

Saya menghabiskan waktu mencoba untuk memperbaiki masalah sebelum mereka muncul. Untuk membantu orang lain ketika mereka macet. Untuk merencanakan bagaimana hal-hal akan duduk bersama. Bahkan hanya berusaha membuat orang menarik ke arah yang sama.

Rasanya tak terhindarkan dalam posisi saya. Saya lebih suka bekerja dengan kode, tetapi ada hal-hal yang bisa saya lakukan untuk perusahaan kami yang jauh lebih berharga.

Sekarang ini adalah pengalaman pribadi tetapi ya saya pikir itu akan mencerminkan sebagian besar perusahaan kecil. Namun saya sudah menjelaskan kepada bos saya sendiri bahwa saya tidak ingin dihapus sepenuhnya dari kode.

Saya pikir arsitek perangkat lunak terbaik adalah tangan-aku melihat artikel bagus http://www.infoq.com/articles/brown-are-you-a-software-architect Lihat bagian 4 Desain, Pengembangan dan pengujian.

Karena itu, mengapa kegiatan pengkodean sehari-hari tidak menjadi bagian dari peran arsitek? Sebagian besar arsitek adalah pembuat kode yang berpengalaman, jadi masuk akal untuk menjaga keterampilan itu tetap mutakhir. Selain itu, arsitek dapat mengalami rasa sakit yang sama seperti orang lain di tim, yang pada gilirannya membantu mereka lebih memahami bagaimana arsitektur mereka dilihat dari perspektif pengembangan.

Wes
sumber
0

Itu tergantung pada apa tanggung jawab Anda. Jika Anda bertanggung jawab untuk masalah teknis, maka Anda harus tetap dalam posisi coding. Memisahkan proses 'ide' dari proses 'implementasi' adalah jalan yang salah. Jika Anda pernah menemukan diri Anda dalam posisi seperti itu, Anda harus menahan keinginan untuk menjadi jenius yang tidak punya waktu untuk menerapkan ide-ide briliannya.

Di sisi lain, jika tanggung jawab Anda terletak pada manajemen, saya tidak berpikir Anda harus mengkode. Seorang manajer harus mengatur waktu pengisian. Posisi seperti itu termasuk memfasilitasi komunikasi antara coders yang berbeda, dan antara tim dan ekosistem birokrasi yang lebih besar. Manajer terburuk dalam pengalaman saya di mana orang-orang yang tetap kepala coding sementara tim berantakan karena konflik dan salah komunikasi.

nbv4
sumber
1
+1 "Manajer terburuk dalam pengalaman saya di mana orang-orang yang tetap melakukan coding"
Vadimo