Apa kerugian memulai proyek opensource jika seseorang bukan programmer yang berpengalaman? [Tutup]

12

Saya punya banyak ide untuk produk yang akan dibangun. Masalahnya adalah bahwa saya memiliki kurang dari satu tahun pengalaman kerja profesional dan saya takut dihakimi secara negatif di masa depan berdasarkan apa yang saya hasilkan sekarang. Saya tidak tahu apakah kode saya bagus.

Saya tidak terbiasa dengan pola pengkodean apa pun. Yang saya tahu adalah membangun produk yang berfungsi. Saya ingin memiliki profil publik di github untuk proyek-proyek masa depan saya dan saya akan berusaha keras untuk memastikan bahwa itu berkomentar dengan baik, dioptimalkan dan bersih.

Inilah hal-hal yang saya takutkan terungkap ke publik:

  1. Kode saya mungkin tidak terlalu optimal.
  2. Penggunaan perpustakaan atau fungsi tertentu yang secara tidak sengaja menyelesaikan pekerjaan.
  3. Tidak mengetahui atau mengikuti pola pengkodean apa pun.
  4. Banyak bug / tidak mempertimbangkan kasus sudut, tepi
  5. Kurangnya pemahaman mendasar dan penerapan konsep tertentu seperti keamanan utas, masalah konkurensi dalam pemrograman multi-utas, dll.

Haruskah saya terus maju dan memulai atau terus berpegang teguh pada pembangunan barang secara lokal dan pribadi sampai saya mendapatkan lebih banyak pengalaman. Saya tidak ingin kesalahan yang dibuat di sini menghantui prospek karir saya dalam jangka panjang.

endrendum
sumber
4
Saya mengerti dari mana Anda berasal. Ketika Anda mengekspos proyek Anda ke dunia, Anda secara efektif mengekspos bagian dari diri Anda. Namun pertimbangkan ini, hampir semua kode di planet ini memiliki bug di dalamnya, kecuali mereka curang dengan memverifikasinya secara formal. Anda memiliki lebih banyak keuntungan daripada kerugian. Jika seorang calon majikan mengetahui Anda melakukan kesalahan dalam salah satu proyek Anda sementara Anda relatif tidak berpengalaman, mereka akan berpikiran besar, begitu pula saya dan semua orang di sini. Skenario yang lebih mungkin adalah mereka tidak akan punya waktu untuk memeriksa semua yang pernah Anda tulis.
dan_waterworth
1
Dalam pandangan saya memverifikasi secara formal suatu program tidak "curang".
4
All I know is to build products that work.- Yang merupakan hal yang sangat bagus. Sangat mudah untuk terjebak dalam pola dan desain dan akhirnya tidak pernah memberikan ...
Izkata
Saya katakan mengacaukan apa yang orang lain katakan dan jangan takut. Jika Anda ingin melakukan sesuatu yang positif dan Anda berpikir diri sendiri atau orang lain dapat memperoleh manfaat dari pekerjaan Anda daripada hanya melakukannya. (Nike plug)
Snake

Jawaban:

32

Setelah 30 tahun pengembangan perangkat lunak profesional, saya masih membuat bug. Saya masih menemukan pola yang tidak saya ketahui. Saya masih belajar dari rekan-rekan saya, dan menemukan hal-hal yang tidak saya ketahui setiap hari.

Pengembang yang paling berpengalaman akan menilai Anda tentang bagaimana Anda menanggapi masalah dan kritik, apakah Anda belajar dari kesalahan Anda dan meningkatkan produk Anda untuk memenuhi kebutuhan pengguna atau komunitas, apakah Anda mengakui apa yang tidak Anda ketahui dan berusaha untuk meningkatkan.

Salah satu keterampilan terbaik untuk pengembang adalah kemauan untuk mengajukan pertanyaan bodoh dan terlihat sedikit bodoh untuk menemukan jawaban yang baik secepat mungkin.

Setiap orang yang berpengalaman dan sangat mahir pernah berada di tempat Anda berada sekarang. Anda akan belajar lebih cepat jika Anda meletakkan pekerjaan Anda di sana dan bekerja dengan orang lain.

Tidak ada alasan untuk menunggu. Buat proyek Anda terbuka.

Lebih baik lagi, berkontribusi pada proyek terbuka lainnya dan belajar darinya.

joshp
sumber
+1. BTW, saya bertanya-tanya mengapa paragraf kedua Anda membuat saya berpikir tentang tim pengembangan PHP.
Arseni Mourzenko
+1 Memahami dan menghargai bahwa setiap orang dapat melakukan kesalahan adalah salah satu kualitas terpenting sebagai anggota tim.
jgauffin
6

Saya pikir Anda terlalu khawatir.

Komunitas OS lebih peduli tentang seberapa berguna aplikasi tertentu lebih dari seberapa baik itu ditulis. Jika ditulis dengan buruk, komunitas akan turun tangan dan membantu memperbaiki kesalahan. Yang lebih menarik adalah seberapa baik aplikasi ini memecahkan masalah yang dihadapi orang. Jika aplikasi / proyek memberikan solusi yang elegan untuk masalah yang menjengkelkan, maka kualitas kode menjadi titik diperdebatkan.

Taruh di sana, lihat apa yang terjadi. Anda tidak akan tahu seberapa bagus / seberapa buruk kode Anda sampai orang lain melihatnya dan mulai bermain-main dengannya. SEMUA kode memiliki bug. Yang lebih menarik adalah seberapa cepat penulis bekerja untuk menyelesaikan bug tersebut.

Anggap itu sebagai latihan belajar. Anda tidak akan mencari tahu apa yang tidak Anda ketahui sampai Anda menjulurkan leher sedikit dan mengambil beberapa kritik. Semoga sebagian besar kritik bisa menjadi konstruktif. Mengingat Anda bertanya tentang hal itu sejak awal, maka saya cukup nyaman mengatakan Anda akan memiliki setidaknya kode kualitas rata-rata atau lebih baik.


sumber
5

Kami menemukan orang-orang dengan pengetahuan tinggi di bidang Open Source. Itu benar, dan juga mengintimidasi bagi pendatang baru. Tetapi mereka juga sangat baik dalam memberikan bantuan untuk proyek-proyek yang baik, bahkan jika pengembang utama tidak mencerminkan persyaratan sebenarnya untuk perangkat lunak untuk mencapai kualitas tinggi.

Anda sudah tahu keterbatasan Anda. Itu bukan awal yang buruk. Itu awal yang bagus.

Masuki pesta dan temukan tempat Anda di sana.

Semoga berhasil!

rdconsolo
sumber