Apa pelajaran terbaik yang Anda pelajari dalam karier Anda? [Tutup]

26

Saya pikir saya adalah "tidak ada yang namanya pekerjaan lima menit" - bahwa programmer cenderung terlalu optimis tentang pengembangan dan bahwa kita harus benar-benar memikirkan implikasi sebelum menjanjikan solusi cepat untuk masalah dan kemudian masuk ke kode

Ryan
sumber

Jawaban:

26

Selalu ada cara yang lebih baik untuk menulis kode Anda.

Tidak peduli seberapa baik Anda menemukan kode yang Anda tulis, Anda akan terkejut betapa buruknya jika Anda meninjaunya dalam beberapa tahun. Hanya karena beberapa tahun sebelumnya, Anda tidak mengetahui beberapa pola yang Anda kenal hari ini, atau beberapa fitur bahasa yang telah Anda pelajari sementara itu, dll.

Arseni Mourzenko
sumber
Dan begitu Anda berhasil melakukannya, berhentilah menyalahkan diri sendiri tentang hal itu. Belajar, tingkatkan tetapi selesaikan pekerjaan. Saya telah lumpuh di IDE karena saya khawatir saya kehilangan trik. Itulah gunanya refactoring. :-)
Iain Holder
17
  1. Pikirkan sebelum Anda mulai coding.

  2. Tidak ada yang lebih permanen daripada solusi sementara :)

  3. Jika sangat sulit untuk menyelesaikan suatu masalah, kemungkinan besar masalah itu sendiri telah ditimbulkan sejak awal.

Konrad Morawski
sumber
11

Perangkat lunak Anda akan hidup jauh lebih lama daripada yang Anda pikirkan pada saat Anda menulisnya.

Saya memulai karir saya di tahun 80-an. Saya mulai menggunakan perangkat lunak yang berasal dari tahun 70-an dan masih digunakan pada tahun 90-an (mungkin lebih lama, saya tidak tahu pasti nasibnya). Beberapa kode open source saya sendiri setengah jalan melalui dekade kedua.

Bryan Oakley
sumber
9

Bekerja dengan baik dengan orang lain sangat penting.

"Tunjukkan padaku 'Pergi ke cowok' dan aku akan menunjukkan padamu masalahmu"

Slapdash Hero Coders - mereka yang hanya membuat kode tanpa memperhatikan konvensi, keterbacaan, atau apa pun yang sedang dikerjakan orang lain - dapat menyebabkan lebih banyak kerugian daripada kebaikan.

Tidak mengatakan bahwa orang yang dapat menulis banyak kode berkualitas baik adalah hal yang buruk. Sangat jarang.

Iain Holder
sumber
Saya pikir jawaban ini layak mendapat suara lebih banyak. +1 dari pihak saya :-)
Geek
7

Itu akan menjadi pelajaran kerendahan hati.

Sparky
sumber
7

Belajar bahasa baru adalah bagian dari pekerjaan

Saya belajar tentang empat bahasa pemrograman di sekolah pada tahun 80-an tetapi telah menggunakan salah satu dari mereka dalam pekerjaan. Saya memiliki empat pekerjaan di mana saya bahkan tidak tahu bahasa yang saya gunakan.

Secara keseluruhan, saya telah belajar dan menggunakan secara profesional mungkin selusin bahasa dalam karier saya, termasuk FORTRAN, c, c ++, c #, java, perl, Tcl, ruby, groovy, awk, python, sh, batch, DCL, javascript, dan beberapa DSL kecil. Melakukan sedikit matematika, saya tampaknya rata-rata bahasa baru setiap beberapa tahun, meskipun ada banyak tumpang tindih.

Jika ada sesuatu yang konstan dalam karier saya, itu berubah.

Bryan Oakley
sumber
6

Perangkat lunak tidak pernah lengkap.

Selalu ada beberapa perubahan dalam persyaratan, peningkatan, perbaikan bug yang Anda harus siap tangani. Dengan demikian, bersikap fleksibel dan menerima kenyataan itu "software is never complete"dan selalu memiliki ruang untuk perbaikan.

ElYusubov
sumber
5

Teruslah belajar setiap hari. Pengetahuan hari ini sudah usang besok.

Ironisnya, jawaban ini juga harus usang besok. Tapi sungguh, belajarlah keras satu atau dua hal dan disertifikasi jika memungkinkan, jadilah Tuhan dalam hal itu (mungkin bahasa pemrograman atau sistem / jaringan / administrasi basis data) dan selalu awasi hal-hal kecil lainnya, seperti bahasa lain tanpa penting untuk kamu.

Maksud saya misalnya, jadilah seorang profesional yang luar biasa dari administrasi Java dan Oracle DB, tetapi pelajari sedikit tentang Python, PHP, C ++, HTML5, Javascript, meskipun tidak ada pada tingkat sertifikasi. Pelajari setiap kerangka kerja web atau bahasa yang ada. Pelajari atau coba untuk mendapatkan pengalaman (dasar) dengan setiap basis data yang ada, seperti SQL Server, MySQL, Cassandra, HBase, PostgreSQL, dan seluruh dunia No-SQL seperti MongoDB dan CouchDB. Cobalah untuk memiliki pengalaman dengan administrasi dan virtualisasi linux.

Itu pelajaran terbesar yang saya pelajari dari 16 tahun pengalaman saya. Saya selama hampir 10 tahun seorang programmer mono-bahasa, menggunakan Pascal di masanya, dan Visual Basic 6 pada awal milenium, dan seorang pengembang PHP sejak 9 tahun yang lalu. Tapi sejak saat itu saya belajar bahwa pengembang perlu tahu setidaknya sedikit dari segalanya.

Luis Arriojas
sumber
1
Hal-hal teoretis merupakan pengecualian untuk ini.
5

"Jika matematika Anda salah, Anda bersulang."

Belajar pertama kali beberapa tahun lalu. Belajar lagi dua minggu lalu.

craGon
sumber
3

Saya akan mengatakan pelajaran terbaik yang saya pelajari adalah

"Anda harus selalu pergi untuk pendekatan yang terbaik mungkin dan tidak Anda pendekatan."

Saudara
sumber
3

Saya telah belajar bahwa prinsip desain terbaik adalah CIUMAN (Tetap sederhana, Bodoh!) .

Saya telah belajar bahwa menjaga kode Anda sederhana dan bersih harus menjadi perhatian utama, dan setiap anggota tim harus memahami kode yang Anda miliki. The KISS principlemenyatakan bahwa sebagian besar sistem bekerja paling baik jika dibuat sederhana daripada dibuat rumit, oleh karena itu kesederhanaan harus menjadi tujuan utama dalam desain dan kompleksitas yang tidak perlu harus dihindari.

EL Yusubov
sumber
3

Jika tidak rusak, jangan perbaiki!

Mencoba untuk memperluas dan memperbaiki hal-hal yang sudah berfungsi mungkin membuat Anda pusing

bart s
sumber
3

Tidak ada percobaan

Katakanlah Anda memiliki tugas atau banyak tugas yang diperkirakan memakan waktu 4 hari. Kemudian bos atau manajer proyek Anda bertanya apakah Anda dapat mencoba menyelesaikannya dalam dua hari karena beberapa alasan penting. Ingin menjadi karyawan yang baik dan fleksibel, Anda mungkin tergoda untuk mengatakan: tentu saja, Anda dapat mencoba. Kemungkinan hasil dari ini adalah bahwa Anda melewatkan tenggat waktu, atau Anda akan melakukan peretasan setengah-setengah untuk menyelesaikannya. Dan itu bukan kesalahan bos Anda karena meminta Anda melakukannya, itu tugasnya. Ini salah Anda karena tidak mengatakan tidak, yang merupakan pekerjaan Anda.

Anda tidak dapat menawar dengan waktu. Anda bisa tawar-menawar dengan ruang lingkup. Bersikaplah profesional dan jangan menjual diri Anda dengan singkat.

simoraman
sumber
Apa yang Anda pikirkan tentang keadaan di mana bos / manajer Anda benar-benar ingin Anda berkompromi dengan mengorbankan pekerjaan di masa depan dan hal-hal lain untuk menyelesaikan pekerjaan dengan lebih cepat?
Sam
3

"Itu tidak akan pernah terjadi" sebenarnya berarti "Itu tidak akan pernah terjadi sampai hari pertama produksi"

Jens Schauder
sumber
2

Rasanya menyenangkan menulis kode bersih, mutakhir, dan bersih.

Bahkan jika saya diminta untuk melakukan perbaikan cepat yang akan merusak basis kode, saya lebih baik melakukannya dengan cara yang baik.

Adronius
sumber
1
  • Menulis kode itu mudah. Membaca kode itu sulit. Bahkan jika kodenya adalah milik Anda. Jadi, jika memungkinkan, gunakan pendekatan yang mudah dibaca.

  • Anda tidak lebih pintar dari yang lain. Jangan pernah berpikir bahwa pendekatan Anda adalah yang terbaik hanya karena itu milik Anda.

  • Perhatikan APA yang dikatakan, bukan OLEH SIAPA katanya. Ide-ide cemerlang mungkin datang untuk sumber yang paling tidak terduga.

  • Jangan malas. Luangkan waktu Anda untuk menulis kode yang bagus. Anda harus memperbaikinya dengan biaya lebih tinggi.

superM
sumber
0

Jangan gunakan fitur OOP mewah hanya karena Anda bisa! - YAGNI (Anda tidak akan membutuhkannya)

Use fancy OOP featureskarena mereka memiliki manfaat spesifik yang dapat ditunjukkan untuk masalah yang Anda coba selesaikan . Anda tertawa, tetapi saya melihat ini sepanjang waktu. Kebanyakan programmer tidak pernah bertemu objek yang tidak mereka sukai. Saya pikir itu harus sebaliknya: teknik ini bersalah sampai terbukti tidak bersalah di pengadilan KISS .

EL Yusubov
sumber