Kursus non-teknis penting untuk programmer? [Tutup]

22

Kursus pelatihan non-teknis seperti apa yang Anda sarankan untuk seorang programmer? Contohnya bisa kursus berbicara di depan umum, keterampilan presentasi, bahasa Inggris, penulisan bisnis, atau apa pun yang tidak terkait dengan pemrograman atau rekayasa perangkat lunak itu sendiri.

Louis Rhys
sumber

Jawaban:

45

Apa pun yang terkait dengan komunikasi, seperti berbicara di depan umum, akan sangat bagus. Anda akan dianggap BANYAK lebih berharga sebagai programmer jika Anda dapat berkomunikasi dengan baik dengan tim Anda dan para pemangku kepentingan dari perangkat lunak yang Anda buat. Kurangnya keterampilan komunikasi akan benar-benar menghambat pertumbuhan Anda di bidang ini.

Mark Freedman
sumber
+1, dan saya akan menambahkan tulisan teknis (tidak harus tulisan bisnis) sebagai bagian lain yang berharga dari jawaban "komunikasi" ini.
BlairHippo
+1, saya telah bertemu dengan begitu banyak programmer bagus yang tidak mau memimpin, hanya karena mereka takut berbicara di depan orang. Yang merupakan kerugian bagi mereka dan industri.
Zekta Chan
22

Desgin Grafis. Cobalah ini untuk pemula: http://net.tutsplus.com/articles/lectures/design-for-developers/ .

Sepotong perangkat lunak (dan produk apa pun pada umumnya) tidak hanya harus dapat digunakan dan fungsional, tetapi juga "cantik" untuk dapat dijual, dan itu adalah kebenaran yang menyedihkan.

dukeofgaming
sumber
9
Tidak ada gunanya - setiap programmer dapat melakukan desain grafis tanpa usaha sama sekali. Sebagai contoh, saya baru saja menciptakan skema warna yang cemerlang di saat - cyan dan magenta! (pengakuan - Saya pikir IBM yang menciptakannya lebih dulu untuk grafik CGA). Desainer grafis profesional sangat kagum pada programmer sehingga mereka menggunakan istilah seperti "warna programer" sebagai tanda rasa hormat mereka yang mendalam.
Steve314
2
Pengetahuan formal tentang subjek dapat mengatasi dan mereplikasi momen-momen inspirasi itu. Saya yakin ada juga banyak desainer grafis yang mengatakan "setiap desainer grafis dapat membuat situs web", karena mereka memiliki pengetahuan flash, dapat menggunakan dreamweaver, dan menjalankan semua script-kiddie di PHP. Tapi Anda ada benarnya.
dukeofgaming
7
+1 Setuju dengan Duke di sini. Banyak programmer berpikir bahwa mereka dapat melakukan desain grafis. Tetapi ada perbedaan besar antara desainer grafis profesional dan seorang programmer yang juga berpikir dia hanya bisa mendesain sayap. Beberapa pelatihan formal dalam desain grafis bagus untuk dimiliki
Jagmag
2
Pasangan keterampilan desain yang kuat dengan keterampilan pengembangan yang kuat sangat berguna. Keterampilannya saling melengkapi. Penting juga untuk menyadari ada ilmu di balik desain. Itu tidak semua kreatif dan berseni. Ada alasan mengapa lebih mudah untuk halaman dengan jenis yang dirawat dengan benar.
Andy Fleming
1
Kamu mendesain :) programmers.stackexchange.com/questions/32674/…
Lukasz Madon
18

Bisnis

Masalah terbesar yang saya lihat dengan orang-orang yang keluar dari perguruan tinggi (termasuk saya beberapa tahun yang lalu), adalah bahwa mereka ingin menulis aplikasi keren tidak peduli apakah mereka membantu bisnis menghasilkan uang atau tidak. Untuk benar-benar menjadi pengembang rockstar di mata semua orang, Anda harus menjadi pengembang yang hebat (agar pengembang lain memperhatikan) dan menghasilkan atau menyimpan uang perusahaan (agar orang-orang bisnis memperhatikan)! Ketika Anda dapat melakukan keduanya, Anda mengatur diri Anda bukan hanya untuk peluang karier yang hebat, tetapi orang-orang bisnis akan mulai MENDENGARKAN Anda! Mengapa? Karena Anda memberikan nilai. Bahkan para pemula yang menulis fokus utama aplikasi yang menyenangkan adalah untuk akhirnya menciptakan sesuatu yang menguntungkan.

Ryan Hayes
sumber
+1 untuk ini - saya menyimpang dari pemrograman untuk menghabiskan beberapa tahun sebagai manajer produk dan sekembalinya saya menemukannya sangat mengejutkan betapa sedikit pengembang lain yang tahu atau peduli dengan kemampuan untuk menjual perangkat lunak. Saya berhenti berbicara tentang fitur dalam siklus rilis baru dan mulai berbicara tentang manfaat bisnis.
Kevin
1
Pengantar singkat terbaik (terlalu pendek sendiri) untuk memahami atasan Anda bagi saya adalah Apa yang CEO Anda Ingin Anda Ketahui oleh Ram Charan - amazon.com/Apa-CEO-Ingin-Anda-Know/dp/0609608398/… - - Anda dapat membaca dalam 15 menit, tetapi dapat membantu memulai pengembang baru atau muda untuk menyadari apa sebenarnya yang dimaksud dengan "gambaran besar".
mctylr
+1 Sempit hanya berfokus pada pekerjaan Tek dan lupa melihat istilah bisnis tenggelam banyak proyek yang baik. Berpikir di sepatu orang lain (terutama pelanggan) membuat perangkat lunak yang hebat.
Zekta Chan
12

Keterampilan Ketegasan - Untuk dicatat di sini bahwa "Penegasan" TIDAK dengan cara apa pun berhubungan dengan "Agresi".

Walaupun ini berada di bawah gamut umum "soft skill", saya telah menemukan pelatihan ini sangat bermanfaat terutama ketika datang ke programmer.

Paling tidak dalam pengalaman saya, saya baru saja menjumpai terlalu banyak programmer yang lebih suka menghindari konfrontasi dengan seseorang tentang topik yang bahkan mungkin mereka ketahui lebih banyak karena sifatnya dan ini merugikan tim secara keseluruhan.

Kursus semacam itu terutama berfokus pada orang-orang yang membuat pendapat mereka didengar dan memberi mereka beberapa tips dasar tentang bagaimana memastikan bahwa sudut pandang / pendapat Anda tidak terperangkap hanya karena mulut besar dalam tim yang mungkin lebih baik daripada orang lain dalam mengemukakan pendapatnya. seberang.

Jagmag
sumber
9

Logika. Aljabar. Statistik. Kalkulus. Inggris. Berpikir kritis. Fisika? Analisis perilaku?

Itu tergantung apa yang Anda inginkan, dan apa yang secara alami Anda kuasai. Ada banyak kursus yang akan bermanfaat bagi Anda dalam beberapa cara. Banyak jawaban menyarankan kursus komunikasi, yang sepertinya sudah Anda ketahui - selain itu, pikirkan lama dan keras tentang bagaimana Anda ingin menerapkan pemrograman dan mengambil kursus yang melengkapi tujuan Anda.

Carson Myers
sumber
Banyak dari ini bersifat teknis, dan bukan itu pertanyaannya.
David Thornley
Statistik, Bahasa Inggris, Analisis perilaku (psikologi / sosiologi) yang bisa diperdebatkan bukanlah topik "teknis" yang biasanya dikaitkan dengan pemrograman. Jika setiap programmer membaca How To Lie With Statistics dan mengerti cukup psikologi untuk memahami bahwa tidak semua orang berpikir & bertindak seperti itu, saya percaya dunia mungkin menjadi (sedikit) tempat yang lebih baik.
mctylr
Saya berasumsi "teknis" berarti benar-benar bekerja dengan pemrograman dan komputer ...
Carson Myers
Fisika? Kamu gila? era server-side-nya, biarkan c ++ itu sendiri!
IAdapter
7

Tipografi

Tipografi adalah area terlewatkan yang sangat penting! Memahami tipografi dapat membantu Anda memahami cara membuat perangkat lunak yang lebih bermanfaat serta membuatnya terlihat bagus! Bahkan jika Anda tidak mengikuti kelas, itu bagus untuk membaca terus dan dapat memberi Anda keunggulan.

Buku Tipografi Hebat:

Berpikir dengan Tipe

Elemen Gaya Tipografi

Artikel Online:

http://en.wikipedia.org/wiki/Typography

http://www.informationarchitects.jp/en/the-web-is-all-about-typography- Period/

DesignerGuy
sumber
Sementara saya sepenuhnya setuju, saya berpendapat bahwa itu adalah bagian dari desain grafis, yang juga terdaftar.
Orbling
Benar benar, tetapi saya ingin menunjukkannya secara khusus karena saya merasa itu adalah salah satu yang paling penting jika bukan bagian terpenting dari desain.
Andy Fleming
4

Psikologi.
Pengembang perangkat lunak memerlukan pemahaman tentang apa yang memotivasi orang dan mengapa mereka bertindak seperti itu.

pertunjukan terbaik
sumber
tidak semua pengembang bekerja di microsoft = P
dan_waterworth
@dan_waterworth, saya tidak setuju, saya pikir semua programmer memiliki tanggung jawab kepada penggunanya untuk berperikemanusiaan . Juga memahami beberapa psikologi dapat membantu beberapa pengembang berinteraksi dengan orang-orang dalam suatu organisasi yang tidak begitu abstrak atau berfokus secara intelektual, tetapi sangat penting bagi organisasi untuk bertahan hidup. Tentu saja Psikologi Abnormal dapat diambil untuk kenikmatan diagnosis diri sendiri.
mctylr
@ Mctylr, yah, itu hanya lelucon, tapi ... sudahlah.
dan_waterworth
3

Tergantung pada apa yang Anda maksud dengan "non-teknis", saya memilih keterampilan menulis teknis. Mark Freedman benar untuk menyebutkan keterampilan komunikasi (interpersonal), tetapi keterampilan menulis teknis juga penting bagi pengembang.

Jika tidak ada yang lain, setiap komentar yang Anda tambahkan ke kode Anda adalah potongan dari penulisan teknis. Juga, tidak peduli seberapa baik keterampilan komunikasi lisan Anda, penjelasan tertulis tentang apa yang Anda pahami persyaratannya agar orang lain dapat pahami sangat penting - tanpanya, bahkan jika komunikasi lisan awal itu sempurna, persepsi Anda dan atasan / pelanggan Anda tentang apa yang Anda pahami. Anda seharusnya melakukan akan terhanyut ke arah yang berbeda dari waktu ke waktu.

Steve314
sumber
3

Pengujian dan Profil Kepribadian

Memahami kepribadian, kecenderungan, dan kimia adalah penting. Ini dapat membantu Anda memahami bagaimana menjadi lebih produktif secara individu dan sebagai tim.

Baca lebih lajut:

http://en.wikipedia.org/wiki/Personality_test

Indikator Tipe Myers-Briggs

Penyortir Temperamen Keirsey

Profil DISC

Andy Fleming
sumber
Apakah Anda memilih untuk menghindari seseorang dengan I yang kuat? kepribadian yang tidak cocok dengan tim Anda saat ini? Atau apakah Anda mendiskriminasikan seseorang dengan gangguan spektrum autistik yang pada dasarnya dipaksa mengadopsi gaya I? T?-Like? IIRC, skor saya maksimal I dan T, dengan beberapa bias terhadap N dan P. Banyak orang dengan ASD memiliki pola yang sama, menghasilkan sebanyak apa pun dari bagaimana orang lain bereaksi terhadap kecacatan. Introvert yang ekstrem (tidak ekstrovert) dan Berpikir (tidak Merasa) tidak benar-benar membantu saya berteman. Sebagian besar tim akan mengklaim saya tidak akan cocok dengan satu tim tertentu.
Steve314
1
+1 Saya suka ini, sangat membantu ketika merekrut - memang, saya sudah tahu calon majikan untuk menjalankan Myers-Briggs pada semua kandidat dan biasanya Keirsey juga. Secara pribadi, saya sedikit berbeda, karena saya memiliki kecenderungan untuk mengangkangi perbatasan - Saya selalu, lebih kuat dari E, biasanya menjadi TN jika pertanyaan berkaitan dengan pekerjaan yang sebenarnya, SF jika pelayanan pastoral.
Orbling
Saya tidak akan setuju. Sementara saya memahami bahwa pengujian psikometrik, dapat menjadi latihan yang bermanfaat bagi seorang individu, nilainya menurut saya terlalu banyak dalam perekrutan SDM untuk keefektifannya. Saya pikir nilai inti yang sebenarnya adalah dalam memahami / mengingat, mengakui, dan belajar untuk bekerja dengan (yaitu bekerja sama atau memanfaatkan kekuatan) kepribadian orang lain, dan belajar memanfaatkan kekuatan Anda. Yaitu Tidak semua orang berpikir / bekerja / bertindak seperti yang Anda lakukan, tetapi Anda paling produktif ketika Anda bekerja dengan cara yang sesuai dengan kepribadian Anda (dengan alasan dan keseimbangan yang sehat).
mctylr
3

Kursus Keuangan Dasar - Kategori ini agak luas tetapi peluangnya cukup bagus bahwa sebagian besar pengembang yang bekerja untuk perusahaan besar yang tidak menghasilkan perangkat lunak karena suatu produk harus menulis beberapa kode yang membentuk perhitungan keuangan sebelumnya. Demikian juga, ketika Anda mulai naik tangga karier Anda mungkin diminta untuk menghasilkan anggaran dasar untuk grup Anda. Akhirnya, mereka cenderung mengajarkan Anda informasi yang berguna untuk anggaran rumah tangga Anda sehingga Anda tahu di mana harus menginvestasikan uang untuk keuntungan jangka pendek dan stabilitas jangka panjang (yaitu untuk akun pensiun Anda).

rjzii
sumber
3

Menurut saya Melukis dan Memasak. Itu membuat kita menjadi lebih sabar, dan memungkinkan kita untuk rileks.

Kugathasan Abimaran
sumber
4
+1 untuk menyebutkan hobi. Berfokus hanya pada pengetahuan "berguna" dapat membuat orang terlalu berpikiran sempit, dan hobi memperbaikinya.
Goran Jovic
2
  • Bahasa asing!
  • Saya memiliki kursus di perguruan tinggi yang disebut "Ilmu Komputer dan Kemanusiaan" di mana kami berbicara tentang bertanggung jawab sebagai pengembang (misalnya masalah privasi).
  • Administrasi Bisnis (misal akuntansi, SDM) memungkinkan Anda memahami bos dan klien Anda dengan lebih baik.
  • Elektronik membuat Anda memahami alat Anda dengan lebih baik.
EricSchaefer
sumber
2

Ekonomi dan bisnis, karena inilah mengapa programmer memiliki pekerjaan. Selain itu, memahami ini hampir selalu akan mempesona manajer non-teknis dan pemilik bisnis karena mereka terbiasa mendengar hanya berbicara teknologi dari programmer dan administrator sistem.

bogeymin
sumber
2

Ini menari di garis antara teknis dan non-teknis, tetapi jika sekolah Anda menawarkan sesuatu di sepanjang garis Interaksi Manusia-Komputer (HCI) atau apa pun yang terkait dengan desain antarmuka pengguna, langsung saja. Itu beberapa barang berharga di sana.

BlairHippo
sumber
2

Saya terkejut bahwa tidak ada yang menyebutkan peningkatan kemampuan bahasa Inggris.

Saya selalu terkejut dengan jumlah CV / resume yang saya dapatkan yang hampir tidak dapat dibaca.

Jika Anda memulai sebagai teknisi murni, kecil kemungkinan Anda akan mengakhiri karier menggunakan keahlian yang sama. Akan tiba saatnya Anda perlu menulis laporan (atau banyak laporan) yang membutuhkan banyak kata untuk dituliskan di atas kertas.

Masalah yang mungkin Anda temui adalah untuk benar-benar menemukan jalan yang cukup baik untuk diambil.

Fortyrunner
sumber
1

Hukum

Ada banyak mata pelajaran yang harus diketahui oleh seorang profesional komputasi, bahkan profesi kita, seperti kebanyakan profesi konsultan bisnis, membutuhkan pengetahuan luas di seluruh domain yang kita jumpai dan analisis.

Namun, hukumlah yang akan saya pilih sebagai kebutuhan.

Profesi kami berada di garis depan kerangka hukum yang berubah dengan cepat, kekayaan intelektual adalah contoh yang terkenal, tetapi ada segala macam masalah hukum yang muncul sehari-hari. Kepatuhan terhadap peraturan, klausul kontrak yang valid dan tidak valid, hukum kredit, jika Anda bekerja di e-commerce, perlindungan data.

Saya pikir semua profesional TI, dan tentunya insinyur perangkat lunak senior harus memiliki pelatihan hukum dasar dan mengikuti hukum yang berlaku di bidang mereka. Universitas saya menerapkannya pada silabus wajib untuk siswa master untuk komputasi, sangat berguna secara teratur. Jawaban umum adalah bahwa "departemen hukum menangani itu", ya baik, mereka mungkin tidak menyadari masalah yang diciptakan oleh perangkat lunak ada kecuali staf di sana memiliki kesadaran yang cukup untuk memberi tahu mereka tentang hal itu - plus, biasanya sumber yang memiliki kepala di blok memotong.

Orbling
sumber
1

Perkiraan

Kami membencinya karena sangat sedikit dari kita yang memahaminya. Memahami itu dan itu tidak begitu menyakitkan.

MIA
sumber
1

Meskipun saya tidak akan membantah pentingnya keterampilan komunikasi baik tertulis maupun verbal, jika Anda mendapat kesempatan untuk mengikuti kursus tentang interaksi manusia-komputer, saya yakin Anda akan merasa sangat berharga. Beberapa masalah paling sulit yang saya lihat di tempat kerja biasanya melibatkan mencoba mencari tahu apa yang diinginkan pengguna ketika pengguna bahkan tidak mengenal diri mereka sendiri. Mengembangkan antarmuka pengguna intuitif yang bekerja dengan baik dan persis seperti yang diharapkan pengguna benar-benar sulit menurut saya.

Pemdas
sumber
1
  • Saya pikir Anda harus memiliki hobi yang baik jadi lebih baik belajar olahraga (di luar ruangan, jadi Anda juga bisa berolahraga)
  • Belajar Musik atau mencoba menulis puisi, proses, skrip untuk drama (mempelajari hal-hal itu akan meningkatkan kreativitas Anda yang saya pikir paling dibutuhkan untuk seorang programmer atau siapa pun)
  • Matematika (Sangat disarankan)
  • keterampilan berbicara di depan umum dan komunikasi
Keshan
sumber
0

Saya mengambil kursus "Komunikasi Internasional" di musim panas 2010. Ini tentang berbagai topik: bagaimana Anda berkomunikasi, bagaimana satu objek dapat menimbulkan perasaan yang berlawanan untuk orang yang berbeda, bagaimana bersikap baik, bagaimana tetap pada topik / mengubah topik sehingga orang lain akan menerima. Itu bahkan membantu saya dalam kehidupan sehari-hari.

Konstantin Petrukhnov
sumber
0

Beberapa jawaban di sini menyarankan Desain Grafis atau Tipografi dengan asumsi bahwa ini akan membantu dalam menciptakan GUI yang lebih baik dan memberikan pengalaman pengguna yang lebih baik.

Beberapa Universitas sebenarnya menawarkan kursus GUI Ergonomi yang mungkin lebih baik untuk itu, walaupun saya tidak yakin seberapa 'non-teknis' Anda dapat mempertimbangkan ini;)

Mchl
sumber
0

Perdebatan.

Ini membantu Anda belajar bagaimana meneliti dan mengembangkan argumen yang akan sangat membantu Anda dalam mendapatkan ide-ide Anda diadopsi oleh organisasi tempat Anda bekerja.

HLGEM
sumber
0

Itu tergantung pada apa yang ingin Anda lakukan dengan hidup Anda, saya pikir. Tetapi di sini ada beberapa yang umum bagus:

  • Komunikasi kelompok. Sebagai pengembang perangkat lunak, Anda mungkin akan bekerja dalam kelompok untuk sebagian besar karier Anda. Belajar tentang bagaimana kelompok berinteraksi dan bagaimana komunikasi dalam kelompok terjadi akan bermanfaat.
  • Ekonomi. Saya akan merekomendasikan kursus ekonomi rekayasa yang mencakup topik-topik seperti nilai sekarang dan analisis nilai masa depan, tingkat pengembalian, biaya siklus hidup, keputusan proyek, dan sebagainya. Namun, beberapa jenis jalan ekonomi harus diambil, bahkan jika itu hanya ekonomi mikro atau ekonomi makro.
  • Perilaku organisasi. Saya mengambil kursus OB dan sangat banyak kursus psikologi dan sosiologi terapan, mengambil konsep psikologis dan sosiologis dan menerapkannya pada cara kerja organisasi.
  • Penulisan teknis atau penulisan manual teknis. Meskipun segala jenis kursus menulis akan menjadi ide yang baik, penulisan teknis tidak hanya akan meningkatkan keterampilan menulis Anda, tetapi juga membantu Anda dengan pembuatan dokumentasi teknis, sesuatu yang mungkin Anda lakukan di tempat kerja.
Thomas Owens
sumber
0

Setiap kursus, lokakarya, atau bahkan buku Work-Life Balance berkualitas bagus dapat membantu untuk menekankan pentingnya, dan mengingatkan kita (kita semua) betapa pentingnya dalam jangka panjang untuk mempertahankan kehidupan yang seimbang sehingga kita tidak berakhir terbakar, bercerai, dan menderita gangguan depresi berat sendirian dan di-PHK.

Dalam masa ekonomi yang buruk mungkin bahkan lebih penting, karena tekanan yang luar biasa untuk menipu diri kita sendiri dari keseimbangan ini untuk apa yang biasanya merupakan harapan keamanan yang keliru (jika situasinya benar-benar genting, sebagian besar pada akhirnya akan gagal bagaimanapun).

Hindari pelatihan atau seminar yang terlalu menarik perhatian, atau berorientasi pada perbaikan cepat, tetapi keseimbangan sederhana yang berorientasi pada akal adalah pilihan terbaik menurut saya.

mctylr
sumber
0

1 Musik
2 Keterampilan Bahasa dan Komunikasi + Semua situs konsep yang dilaksanakan oleh stackexchange layak untuk berpartisipasi

Jigar Joshi
sumber
0

Pemasaran & periklanan

Programmer yang melakukan aplikasi WP7, iOS, Android ... Dapat meningkatkan angka penjualan Anda.

Lukasz Madon
sumber
0

Fotografi.....

Setidaknya bagi saya karena itu membuat saya bahagia, dan kadang-kadang saya serius menganggap ini sebagai pembawa alternatif.

Jadi bicara lebih umum, apa pun selain komputer yang Anda minati.

PS: Mempelajari bahasa lain sama sekali bukan ide yang buruk.

Prasham
sumber