Apakah keterampilan komunikasi saya akan terbuang dalam karier rekayasa perangkat lunak? [Tutup]

40

Saya telah berada di arena rekayasa keuangan (setelah BA Matematika dan Ilmu Komputer BA) selama sekitar 5 tahun (analisis / pemrograman 20%, 80% berkomunikasi) dan bangga dengan kemampuan saya untuk berkomunikasi dengan orang-orang dan mendiskusikan masalah teknis (yaitu berinteraksi dengan tim). Saya suka bagian ini dari pekerjaan saya. Pergi ke papan tulis untuk menggambar ide-ide abstrak dan bertukar pikiran.

Namun, karena banyak alasan, saya ingin mengubah karir saya menjadi perusahaan teknologi (rekayasa perangkat lunak) tetapi saya sangat takut bahwa saya akan jatuh ke dalam pekerjaan pemrograman stereotip di mana kode programmer dengan headphone besar aktif. Saya tentu tahu ini hanya stereotip tetapi saya telah menyaksikan lingkungan yang sama sebelumnya (saat startup) dan membuat saya takut untuk berpikir bahwa saya akan bermigrasi ke karir isolasi.

Saya suka coding dan berpikir secara algoritmik, tetapi saya tidak ingin berhenti berinteraksi dengan orang-orang. Saya mengerti bahwa memiliki keterampilan komunikasi hanya positif, tetapi saya mempersiapkan diri untuk kegagalan karier-kebahagiaan dengan beralih ke rekayasa perangkat lunak. Saya ingin sekali mendengar klarifikasi dan / atau saran.

Ryan
sumber
14
Anda sadar bahwa jawaban di sini mungkin sedikit bias, bukan?
JB King
2
Tentu saja, tetapi jawabannya sejauh ini, sangat bagus dan sangat informatif.
Ryan
Saya harap Anda menyadari bahwa pertanyaan Anda terdengar aneh bagi orang-orang seperti saya yang pandai pemrograman tetapi dijauhi oleh HR (dan tidak mendapatkan pekerjaan emas itu ...) karena mereka sedikit kurang di departemen komunikasi. Keterampilan komunikasi jelas merupakan nilai tambah, terutama dalam konteks proyek tim (rapat scrum + standup ...) dan jarak kerja. Anda juga akan menemukan bahwa beberapa reformulasi terjadi ketika melewati persyaratan. Ada beberapa tanggung jawab yang melibatkan lebih sedikit pemrograman dan lebih banyak koordinasi.
James P.
Sama sekali Tidak ..
Louis Rhys
2
Seorang insinyur perangkat lunak yang tidak dapat mengungkapkan idenya baik dalam bahasa lisan dan bahasa komputer tertulis tidak ada artinya.
Ramhound

Jawaban:

53

Inilah rahasia tentang pemrograman: hampir 100% komunikasi . Bagian penting dari itu adalah berkomunikasi dengan manusia; sisanya mengomunikasikan apa yang baru saja Anda pelajari ke komputer.

Bagian terakhir adalah yang lebih mudah dari keduanya. Komputer melakukan persis apa yang diperintahkan dan Anda selalu dapat menguji apakah yang Anda katakan itu benar.

Yang pertama adalah sesuatu yang lain. Perbedaan dalam terminologi, dalam pemahaman, dalam prioritas, dari orang ke orang membuatnya sangat sulit untuk mendapatkan pesan yang benar untuk diumpankan ke komputer. Miskomunikasi pada level ini jauh lebih umum daripada miskomunikasi antara programmer dan komputer.

Pemrogram yang baik pandai berkomunikasi dengan komputer; programmer hebat juga pandai berkomunikasi dengan orang lain, oleh satu media atau lainnya.

Pemrogram yang Anda lihat itu tidak pernah keluar dari headphone mereka? Mereka masih melakukan komunikasi ini, apakah itu melalui email atau pelacak bug, atau bahkan messenger. Itu semua terjadi, kalau tidak mereka tidak mungkin tahu apa yang harus dilakukan komputer.

Jadi ya, keterampilan komunikasi Anda akan melayani Anda dengan baik.

pdr
sumber
Poin bagus tentang komunikasi secara keseluruhan, tetapi dapat bergeser dalam penekanan pada pertemuan pribadi menjadi lebih pribadi dan tertulis.
JeffO
Jika Anda benar-benar percaya bahwa implementasi lebih mudah dari dua bagian yang disarankan, maka Anda bekerja dengan tim yang buruk atau implementasi yang Anda lakukan terlalu mudah. Hitung jumlah jam kerja yang dihabiskan untuk implementasi versus berbicara tentang implementasi: implementasi harus jelas 2/3 dari total; jika tidak, manajer Anda perlu pertemuan khusus dengan bosnya.
Jonathan Cline IEEE
6
@ Jonathan: Saya akan membedakan cukup kuat antara sulit dan memakan waktu.
pdr
3
dari waktu ke waktu saya belajar bahwa berkomunikasi dengan komputer sama sulitnya dengan manusia. Masalahnya adalah sebagian besar kode yang saya tulis kemudian dibaca oleh orang lain (bahwa orang lain mungkin saya sebulan kemudian yang secara mengejutkan tidak membuatnya menjadi lebih sulit) - yang bagi saya pada dasarnya mengembalikan kita kembali untuk berkomunikasi dengan manusia, hanya dalam formulir tertulis dan tidak langsung. Kode adalah surat untuk masa depan, coder adalah penulis. Joyce siapa saja?
nyamuk
Siapa pun dapat menulis kode yang dapat dimengerti komputer, programmer yang baik dapat menulis kode yang dimengerti orang.
Michael Brown
23

Programmer mungkin suka kode dengan headphone besar aktif (well, tidak semua dari mereka melakukannya), tetapi itu tidak berarti mereka tidak dapat berkomunikasi, itu hanya berarti bahwa mereka tidak ingin diganggu pada saat itu - bukan karena mereka tidak akan pernah berkomunikasi.

Keahlian komunikasi verbal masih sangat penting dalam pertemuan dengan anggota tim lainnya, dalam pertemuan ad-hoc, dengan pengguna bisnis, dengan tim lain, dll.

Keterampilan komunikasi tertulis juga akan sangat penting ketika Anda mengirim email kepada rekan kerja Anda dengan headphone besar sehingga mereka dapat membalas Anda nanti.

FrustratedWithFormsDesigner
sumber
1
Sepenuhnya setuju dengan ini. Saya hanya memakai headphone untuk menunjukkan bahwa saya sibuk.
Ivan
7

Bagi saya sepertinya Anda harus mencari pekerjaan sebagai konsultan teknis. Ini sering melibatkan pemrograman, tetapi juga membutuhkan banyak komunikasi - dengan pelanggan, dengan kolega, konsultan dari perusahaan lain ... OTOH juga berarti memperbaiki banyak masalah teknis tanpa benar-benar menulis kode, jika Anda tidak suka Anda harus mungkin mencari jalur yang berbeda. HTH.

SL Barth - Pasang kembali Monica
sumber
2
Apakah Anda seorang programmer?
CenterOrbit
2
Ya, benar. Saya telah menjadi konsultan teknis untuk sementara waktu. Apa yang membuat Anda begitu kesal dengan jawaban saya?
SL Barth - Reinstate Monica
Konsultan teknis sebagai individu yang pergi menemui klien?
James P.
@ James P. Itulah yang saya maksud, ya - dan itulah yang saya lakukan ketika saya menjadi konsultan teknis. Pergi ke kantor pelanggan dan membantu mereka memecahkan masalah teknis mereka. Jelas, pengembang juga membutuhkan keterampilan komunikasi yang kuat, tetapi hal itu sudah dibahas panjang lebar oleh orang lain di sini.
SL Barth - Reinstate Monica
6

Keterampilan komunikasi sangat penting bagi pengembang perangkat lunak. Di suatu tempat ada stat (mungkin di sebelah stat yang mengatakan 68% dari semua statistik dibuat) yang mengatakan bahwa sebagian besar proyek perangkat lunak gagal karena komunikasi yang buruk. Menjadi orang yang dapat berkomunikasi dengan bisnis (dan memahami bisnis) pada tim pengembangan perangkat lunak TELAH menjadi tempat yang baik untuk menjadi.

Terima kasih
sumber
6

Saya dengan tegas menyatakan bahwa keunggulan kompetitif terbesar saya daripada programmer lain dan tipe-TI yang saya tahu adalah kemampuan saya untuk berkomunikasi dengan orang-orang yang tidak fasih dalam konsep-konsep TI. Ini adalah keterampilan tunggal yang paling diremehkan dan terbelakang oleh rata-rata anggota komunitas TI, namun itu adalah salah satu yang paling penting.

Dalam hampir setiap peran yang dapat dibayangkan, pada titik tertentu, Anda perlu berbicara dengan seseorang yang hampir tidak memahami apa yang Anda lakukan, dan Anda harus dapat menjualnya pada apa yang sedang Anda lakukan.

Anda mungkin juga perlu berurusan dengan pengguna untuk mengumpulkan persyaratan untuk spesifikasi - jenis mendengarkan yang khusus (ditambah dengan permintaan dan pertanyaan yang tepat) juga merupakan komunikasi!

Memang ada satu manfaat lebih lanjut, tentu saja - keterampilan komunikasi yang baik membuat mendapatkan pekerjaan di tempat pertama jauh lebih mudah.

John N.
sumber
4

Selamat. Anda memiliki masa depan yang cerah sebagai insinyur aplikasi dan kemudian manajer rekayasa aplikasi (FAE Manager).

Sebagai bagian dari profesi yang luar biasa ini, Anda akan membuat presentasi powerpoint untuk pelanggan tingkat-I dengan teks "Stack Perangkat Lunak" yang ditulis di atasnya dan abstrak desain rekayasa perangkat lunak yang sangat kompleks menjadi blok-blok persegi panjang dengan warna yang berbeda, sering kali disusun secara acak; presentasi ini akan diprakarsai dari insinyur perangkat lunak utama di tingkat atas R&D, menjadi dipermudah ke dalam mentalitas pelanggan denominator paling rendah, dan kemudian disisipkan kembali ke dokumen persyaratan yang disajikan kembali ke insinyur perangkat lunak utama di tingkat atas R & D sebagai spesifikasi make-or-break-the-business. Salah satu bonus Anda akan bergantung pada penggunaan kata "cloud" secara bebas.

Jonathan Cline IEEE
sumber
Perlu dicatat bahwa insinyur aplikasi biasanya membuat rata-rata 20% hingga 30% lebih banyak daripada desainer di tingkat yang sama. Ini hanya karena, sebagai komunikator yang lebih baik, mereka lebih mampu menuntut bayaran yang lebih tinggi; sedangkan tipikal insinyur desain, sebagai komunikator yang buruk, biasanya tidak menuntut lebih. Jadi standar telah ditetapkan, dan App Engrs tertawa jauh-jauh ke bank, semuanya meninggalkan pekerjaan lebih awal daripada desainer setiap hari. Dan apakah saya menyebutkan makan siang di luar kantor dengan harga mahal, lebih mahal, sementara dev beruntung makan pizza dibawa pulang di ruang konferensi?
Jonathan Cline IEEE
3

Anda akan lebih baik dengan keterampilan komunikasi yang hebat. Programmer head-down seringkali adalah orang-orang yang tidak ditempatkan pada proyek yang menarik, karena manajer mereka mungkin tidak memahaminya juga. Pada dasarnya, jika Anda tidak pernah mengudara, Anda akan dianggap "orang aneh di sudut".

Sekali lagi, kami bekerja pada stereotip, dan tidak semua lingkungan seperti itu, tetapi paling tidak, keterampilan komunikasi yang baik membantu Anda memahami bisnis dan orang-orang di sekitar Anda dengan lebih baik, sehingga Anda akan menjadi lebih siap untuk menangani masalah kompleks di domain tertentu.

Seberapa banyak Anda berkomunikasi terserah Anda. Akan jarang bagi Anda untuk berakhir di sebuah tim yang penuh dengan programer yang tidak ada yang ingin berbicara, tetapi jika Anda tidak terbiasa dengan humor lucu, bersiaplah untuk diperkenalkan dengan cepat. Juga, bersiaplah untuk programmer yang canggung secara sosial tidak terhindarkan. Setidaknya selalu ada satu.

Jordan
sumber
3

Dapat dikatakan, sebagian besar proyek perangkat lunak gagal bukan karena masalah teknis, tetapi karena masalah komunikasi. Menulis kode yang hebat tentu saja penting bagi seorang insinyur perangkat lunak, tetapi keterampilan komunikasi yang baik merupakan aset besar bagi tim - dan juga lebih sulit untuk ditingkatkan daripada keterampilan pengkodean.

Mathias
sumber
2

Saya sedang pemrograman dengan headphone besar aktif. Yah, saya hanya pemrograman. Jelas saya sekarang di StackExchange ... siapa pun:

Memang benar bahwa banyak pemrograman dilakukan dalam solidaritas. Untuk memprogram dengan baik, Anda MEMBUTUHKAN fokus dan privasi itu. Namun, apakah Anda benar-benar berpikir bahwa sebagian besar waktu Anda dihabiskan untuk pemrograman? Banyak waktu Anda akan dibagi antara rapat tim, pembicaraan strategi, berjalan, berpikir, berdiskusi dll. Sebenarnya duduk di meja Anda mengetik tidak akan menjadi seluruh hidup Anda. Saya ingat pernah membaca sebuah studi dalam kursus rekayasa perangkat lunak saya bahwa programmer terbaik / paling produktif di tim adalah yang keluar dan BUKAN introvert.

Pemrogram yang baik dapat berkomunikasi dengan baik dengan tim mereka. Mendapatkan dan memahami persyaratan dari pimpinan teknis atau manajer seringkali bukan tugas yang mudah. Dibutuhkan keterampilan komunikasi yang baik untuk mengklarifikasi tugas Anda, serta berkomunikasi dengan tim. Jika Anda berusaha keras untuk memimpin teknis atau manajer, keterampilan komunikasi akan sangat penting untuk menyatukan tim.

Saya juga seseorang yang suka keluar. Saya harus mengakui, pada awalnya, saya menemukan jumlah solidaritas dalam pekerjaan pemrograman saya sedikit menyedihkan. Saya mengambil beberapa langkah untuk membuat pekerjaan lebih sosial, terutama: 1) Menolak makan siang sendirian 2) Beristirahat olahraga / basket dengan teman-teman

Pekerjaan pemrograman tidak boleh anti-sosial.

Casey Patton
sumber
2

Keterampilan komunikasi pasti tidak akan sia-sia. Bahkan jika Anda menghabiskan 80% dari waktu Anda menulis kode program, Anda harus jelas tentang apa yang kode lakukan. Komunikasi yang efektif dengan klien Anda (atau pemimpin proyek) diperlukan untuk memastikan upaya Anda tidak sia-sia, dan benar-benar menghasilkan apa yang diperlukan. Selain itu, Anda akan dapat menjelaskan pekerjaan Anda, masalah potensial dengan desain, implementasi yang lebih sederhana, dll lebih mudah bagi mereka yang kurang terbiasa dengan pemrograman. Terakhir, ketika memprogram perangkat lunak interaktif pengguna, keterampilan komunikasi akan sangat membantu dalam merancang antarmuka pengguna yang menghasilkan informasi yang benar dengan cara yang ramah pengguna yang akan dipahami. Ini juga akan membantu Anda mendapatkan informasi yang benar dari pengguna untuk melakukan pekerjaan itu.

yoozer8
sumber
1

Saya setuju dengan semua orang di sini yang berpendapat bahwa komunikasi adalah kunci dalam pemrograman komputer. Jujur saya berpikir bahwa dari apa yang dijelaskan, Anda akan membuat programmer yang hebat atau lebih dari tipe 'software engineer'. Saya mulai sebagai IT umum di sebuah perusahaan dan segera setelah saya dapat membuktikan keterampilan pemrograman saya, saya beralih ke programmer, karena saya sangat sosial dan berorientasi pada tim, saya sekarang menjadi programmer utama pada dua proyek. Anda akan menemukan bahwa semakin tinggi Anda dalam rantai pemrograman, semakin banyak papan tulis dan pemecahan masalah yang akan Anda mulai lakukan.

Jika kepribadian Anda memiliki sifat 'kepemimpinan' (yang Anda maksudkan), Anda akan naik ke puncak dengan sangat cepat. Hanya dengan menyediakan Anda berada di perusahaan yang memungkinkan Anda bangkit dengan cara itu.

Keterampilan sosial, pemecahan masalah, dan pemrograman yang baik seringkali lebih jarang daripada yang Anda kira. Pengusaha membunuh karena keterampilan semacam itu. Saya pikir Anda di jalur yang benar. Terus bekerja dengan baik!

CenterOrbit
sumber
1

Saya setuju dengan semua orang yang mengatakan bahwa ada banyak komunikasi dalam pengembangan perangkat lunak, dan saya akan menambahkan bahwa bahkan menulis kode yang baik memerlukan keterampilan komunikasi yang baik.

Menulis kode yang benar itu penting; menulis kode yang bisa dipahami orang lain jauh lebih penting. Jika kode Anda mengandung beberapa bug, tetapi ditulis sedemikian rupa sehingga saya dapat dengan mudah memahami apa yang terjadi, tidak akan sulit bagi saya untuk menemukan dan memperbaiki bug. Jika kode Anda sepenuhnya benar tetapi ditulis sedemikian rupa sehingga saya tidak begitu yakin saya memahaminya, maka saya tidak dapat benar-benar yakin bahwa itu benar, dan kemungkinan saya dapat memodifikasinya dengan benar di masa mendatang jauh lebih rendah. .

Caleb
sumber
1

Tentu saja komunikasi yang baik itu penting! Apa yang akan saya fokuskan adalah menjadi guru yang unggul. Pemrogram yang benar-benar efektif dapat menjelaskan dasar dari sesuatu yang membutuhkan waktu bertahun-tahun untuk dipahami dalam panggilan telepon 15 menit. Dalam percakapan yang sama, Anda harus menjelaskan perincian dalam istilah non-teknis sehingga orang di ujung telepon dapat membuat keputusan berpendidikan yang terbaik untuk bisnis mereka dalam jangka waktu yang lama.

Dylan Valade
sumber
1

Itu tergantung di mana Anda pergi. Saya tahu perusahaan perdagangan kuant di mana Anda akan menghabiskan banyak waktu di papan tulis, bertukar pikiran dengan PhD. Saya tahu sebuah perusahaan konsultan bergengsi di mana Anda juga akan melakukan banyak komunikasi, tetapi dengan orang-orang yang tidak memiliki latar belakang teknologi ... Saya tahu perusahaan besar 100-perangkat lunak Fortune 100 di mana Anda juga akan melakukan banyak hal berkomunikasi, tetapi terutama akan bermain politik.

OTOH, banyak perusahaan pemula dan produk perangkat lunak membutuhkan orang-orang untuk pengkodean head-down. Tentu, Anda mengkomunikasikan beberapa, tetapi bangun untuk memberikan presentasi yang menjual perusahaan Anda jauh berbeda dari hanya berbicara dengan coders lain ...

Satu-satunya bidang di mana komunikasi benar-benar berperan adalah teknik penjualan / konsultasi teknis / dll ... Di situlah, jika Anda benar - benar komunikator yang hebat (dan bukan hanya insinyur SW yang tidak canggung secara sosial), Anda akan mendapatkan membayar uang yang bagus. Ada beberapa penjualan yang terlibat di sana juga.

kotoran merah
sumber
0

Oh, well, dari sudut pandang orang-orang yang datang dari luar ... Saya tidak bisa mengatakan (seperti yang lainnya) bahwa pemrograman adalah tentang komunikasi.

Ini tidak benar-benar biasa hari untuk komunikasi hari berdasarkan timbal balik rasa hormat , dan kepentingan , dan taruhannya ... itu lebih tentang membaca pikiran , jenis keperawatan , dan beberapa berdebat tentu terlibat. Ada banyak negosiasi juga, tetapi bukan jenis yang Anda mungkin terbiasa.

Anda tidak benar-benar menjual sh-t kepada programmer, Anda harus memainkannya , atau merayu mereka dengan bukti dan fakta yang berat. Meskipun ini mungkin tampak adil untuk masalah-masalah yang relevan dengan misi , terapkan itu untuk gangguan kecil, tidak seorang pun, bahkan yang mengangkatnya, benar-benar seharusnya pernah peduli, dan ... selamat datang di neraka komunikasi .

Jika Anda mendapatkan byte di dunia luar (penjualan barang / transaksi penutupan / berjabat tangan dunia) itu benar-benar sulit untuk beradaptasi kembali ke jenis (agak remaja, agak akademik) pengalaman programmer interaksi di bilik.

The bisnis bagian dari kurikulum Anda akan sia-sia berat , kecuali Anda akan menemukan cara untuk menaiki tangga manajemen lebih cepat dari kucing di atas api.

ZJR
sumber
0

Keahlian komunikasi sangat membantu, tetapi kompetensi teknis mengalahkan segalanya untuk pengembang.

Anda mungkin akan lebih bahagia sebagai insinyur aplikasi, yaitu seorang insinyur yang membantu pelanggan beradaptasi dan memanfaatkan produk perangkat lunak yang dihasilkan oleh pengembang 'head down'. Dengan begitu Anda bekerja dengan perangkat lunak, tetapi habiskan sebagian besar hari Anda untuk berbicara.

Jim In Texas
sumber
0

Karena Anda telah memisahkan pemrograman dari interpretasi Anda tentang berkomunikasi (berdiskusi dengan orang lain) dan ingin berbicara dengan orang-orang 80% dari waktu, pemrograman bukanlah pilihan yang baik. Mungkin jika Anda masuk ke dalam situasi di mana Anda bisa menjadi analis penuh waktu, arsitek, manajer, atau klien (Anda bisa berbicara dengan klien dan pemrogram, Anda adalah intepreternya (Maaf sedikit humor Ruang Kantor.).

Ada fase proyek di mana Anda bisa menghabiskan sepanjang hari di papan tulis, tetapi akhirnya, Anda harus menulis kode. Ini adalah bentuk komunikasi, tetapi tidak seperti yang Anda gambarkan. Mungkin di toko pemrograman pasangan Anda dapat banyak mengobrol sambil kode. Sebagian besar waktu, Anda harus fokus pada keyboard. Mengenakan headphone berarti Anda dikelilingi oleh terlalu banyak orang yang tidak.

JeffO
sumber