Seberapa pentingkah menyelesaikan proyek? [Tutup]

42

Saya seorang mahasiswa (belum pergi ke uni) dan saya sudah pemrograman selama sekitar 5 tahun sekarang. Selama waktu itu, saya telah berpindah dari satu bahasa ke bahasa lain, dari API ke API, dan proyek ke proyek. Saya sudah mencoba mengatur diri saya pada satu hal, tetapi saya kehilangan minat. Seluruh PC saya penuh dengan proyek setengah jadi (dan setidaknya empat kali lebih banyak diformat dari disk saya).

Saya mulai bertanya-tanya apakah motivasi saya yang lebih rendah terhadap pemrograman untuk bersenang-senang (itu adalah salah satu kegiatan yang benar-benar saya nikmati) adalah karena saya tidak pernah mendapatkan proyek yang selesai pada akhirnya. Saya tidak tahu apakah saya memiliki tujuan yang terlalu terbuka, atau hanya rentang perhatian yang rendah. Saya mencoba melakukan beberapa proyek kecil hanya untuk menyelesaikannya, tetapi mereka tidak menarik sama sekali.

Mungkinkah ini menjadi penyebab jatuhnya motivasi saya? Juga, ketika saya melamar ke uni (dan di masa depan mudah-mudahan, pekerjaan perangkat lunak) apakah itu akan menjadi masalah?

Singkatnya:

Seberapa pentingkah menyelesaikan proyek sampingan / hobi, baik untuk karir, motivasi, atau pendidikan?

Bebek Komunis
sumber
8
Saya tidak berpikir ini buruk, ketika kita berbicara tentang proyek pribadi. Saya punya banyak proyek yang saya mulai karena saya ingin belajar sesuatu atau untuk menguji alat dan berhenti ketika saya belajar apa yang saya inginkan, meskipun kenyataannya proyek itu sendiri belum selesai: produk sedang belajar, bukan perangkat lunak dan produk selesai! Anda akan menyelesaikan semua proyek dan ketika Anda membutuhkannya selesai untuk membayar tagihan. Nikmati selagi bisa! : D
Vitor Py
2
Saya pernah mendengar bahwa perbedaan antara programmer amatir dan programmer profesional adalah bahwa seorang profesional menemukan cara untuk menyelesaikan proyek. Mencari bantuan adalah salah satu cara untuk mendapatkan proyek yang macet dan menyelesaikannya. :-) Seperti yang dikatakan orang lain, tidak masalah menyelesaikan proyek pribadi Anda, meskipun belajar bagaimana menyelesaikan suatu proyek adalah sesuatu yang berharga untuk dipelajari.
Gilbert Le Blanc
1
Apakah Anda menyelesaikan apa yang Anda mulai? adalah pertanyaan wawancara umum.
Aditya P
1
@AdityaP: Dan jawabannya adalah "Tidak". Sebuah perusahaan mengatakan, "Kami tidak tahu apakah X layak dilakukan atau tidak. Tetapi jika kami menunggu sampai kami tahu, persaingan jauh di depan kami. Jadi kami mulai X sekarang. Mungkin dalam setengah tahun, kami membatalkan proyek dan kehilangan setengah juta. Atau mungkin dalam setengah tahun, kita maju penuh dan menghasilkan sepuluh juta ". Menyelesaikan semua yang Anda mulai adalah bodoh.
gnasher729

Jawaban:

40

Jelas menyelesaikan proyek itu penting di "dunia nyata" karena kecuali proyek itu selesai dan dikirimkan Anda tidak (atau majikan Anda tidak) dibayar.

Namun, untuk hobi dan proyek pembelajaran, ini sedikit lebih rumit. Setelah proyek selesai menunjukkan kepada calon pemberi kerja bahwa Anda dapat memberikan apa yang Anda inginkan, tetapi itu tergantung pada apa yang Anda maksud dengan "proyek".

Jika Anda melakukan proyek dengan maksud untuk memiliki produk lengkap yang memamerkan semua keterampilan Anda dan mungkin sesuatu yang Anda ingin menghasilkan uang pada akhirnya maka ya Anda harus menyelesaikannya, atau setidaknya menunjukkan bahwa itu sedang dikerjakan secara aktif .

Jika Anda melakukan proyek untuk mempelajari hal-hal tertentu (cara streaming video, enkripsi kata sandi, apa pun) maka setelah Anda memiliki aspek yang berfungsi itu kurang penting untuk memiliki produk yang berfungsi penuh karena Anda telah menyelesaikan proyek secara efektif. Apa yang harus Anda miliki adalah sesuatu yang dapat Anda tunjukkan kepada calon pemberi kerja untuk menunjukkan keterampilan Anda.

Sebagai contoh, ini mungkin hanya situs web yang mengatakan "Selamat datang kembali, Joe" setelah berhasil masuk dan tidak ada yang lain - tetapi itu tidak masalah karena Anda memamerkan kode di belakang situs web yang menunjukkan Anda memahami enkripsi kata sandi dan koneksi aman dll.

ChrisF
sumber
1
Contoh Anda selesai karena tujuannya hanya untuk memahami enkripsi kata sandi. Menyelesaikan proyek sangat penting karena Anda belajar banyak tentang proyek, apa yang berhasil dan tidak berhasil, pengetahuan ini berguna untuk bagaimana Anda dapat menangani proyek Anda berikutnya.
DBlackborough
1
@ G3D - titik wajar, tetapi seluruh situs web sebagai proyek belum "selesai". Saya akan mencoba dan mengklarifikasi sedikit itu.
ChrisF
48

Ambillah dari seseorang yang memiliki masalah yang sama, menyelesaikan setidaknya beberapa proyek Anda sangat penting. Tidak apa-apa untuk melakukan beberapa proyek eksperimental dan meninggalkannya ketika Anda telah mempelajari apa yang Anda butuhkan atau itu bukan ide yang baik untuk memulai.

Namun, orang-orang kreatif cenderung menyukai bagian pertama yang menantang dari setiap proyek lebih dari fase membosankan "merapikan, mengemas, dan keluar dari pintu" pada akhirnya. Anda perlu membuat beberapa strategi untuk mengatasinya atau Anda akan melakukannya

1) Jangan pernah mendapatkan kredit publik untuk apa pun yang Anda lakukan (jika itu yang Anda inginkan)

2) Jangan pernah dapat menghasilkan uang dari apa yang telah Anda lakukan (jika itu yang Anda inginkan)

Tetapi yang terburuk adalah bahwa orang lain dan diri Anda akan mulai mengidentifikasi Anda sebagai seseorang yang tidak menyelesaikan sesuatu, dan itu adalah label yang sangat buruk bagi Anda untuk orang lain dan buruk untuk pola pikir Anda sendiri.

Jadi temukan mitra, alasan atau disiplin untuk setidaknya mulai menyelesaikan beberapa proyek Anda.

Strategi Bermanfaat untuk menunda-nunda programer

  • Buatlah daftar semua hal baik yang bisa terjadi jika Anda menyelesaikan proyek dan semua hal buruk jika tidak. Lalu rekatkan ke monitor Anda :)

  • Tetapkan jadwal! Proyek membutuhkan waktu yang ditentukan untuk mereka, sehingga proyek tanpa tenggat waktu akan berlangsung selamanya. Tetapkan jadwal dengan tonggak bulanan dan mingguan

  • Tetapkan tujuan harian, "Hari ini saya akan mencapai ini"

  • Jika Anda melakukan aplikasi atau sesuatu yang serupa, berkonsentrasilah untuk membuatnya bisa dijalankan dan digunakan sehingga Anda dapat mulai memakan makanan anjing Anda sendiri. Anda mungkin sedang mengerjakan sesuatu yang Anda minati sehingga sebenarnya menggunakannya secara teratur akan memotivasi Anda untuk memperbaikinya.

  • Berhati-hatilah dengan kunjungan refactoring yang besar, saya merusak aplikasi saya selama empat bulan karena refactoring yang luas dan pengembangan melambat menjadi merangkak hanya karena saya tidak bisa menjalankannya dan terdemotivasi untuk mengerjakannya. Lakukan refactoring tetapi usahakan jangan lakukan semuanya sekaligus :)

  • Buatlah daftar semua yang perlu dilakukan untuk menyelesaikan (saya sarankan toddler abstrakspoon) Jika kita tidak tahu berapa banyak yang tersisa maka akankah kita tahu kapan kita selesai? Bekerja menuju tujuan yang tidak diketahui bisa sangat mendemotivasi

  • Periksa daftar dan potong semua yang tidak perlu (masukkan ke dalam kategori yang bagus). Menyelesaikan produk akan memberi Anda dorongan dan hal-hal itu dapat dilakukan kemudian. Lebih baik melepaskan sesuatu daripada tidak sama sekali . Bahkan iPhone tidak memiliki segalanya di awal.

  • Jangan terganggu oleh hal-hal baru yang berkilau. Alasan utama saya tidak menyelesaikan proyek adalah karena saya menemukan tantangan baru yang baru. Jika Anda benar-benar tidak dapat menahan untuk memulai proyek baru sebelum yang lama selesai tetap bekerja pada yang lama secara paralel atau itu akan mati sepenuhnya. Juga, lihat poin berikutnya.

  • Tetapkan waktu kerja minimum. Jika Anda benar-benar muak dengan suatu proyek, tentukan waktu minimum untuk mengerjakan proyek tersebut setiap hari, walaupun itu hanya 15 menit atau satu jam. Kemungkinannya adalah jika Anda memulai Anda akan bekerja lebih lama dari itu.

/ saya pergi untuk menyelesaikan aplikasi besar berikutnya / bahasa pemrograman / pembunuh facebook;)

Homde
sumber
21

Seluruh PC saya penuh dengan proyek setengah jadi

Apakah Anda yakin mereka bahkan setengah jadi? Nilai sebenarnya menyelesaikan sesuatu adalah bahwa hanya pada saat itulah Anda benar-benar menghargai betapa besarnya tugas untuk menyelesaikan sesuatu. Programmer memiliki optimisme bawaan untuk mempertimbangkan hampir semua hal yang 80% dilakukan sebagian besar waktu, tetapi selalu ternyata bahwa 20% sisanya akan mengambil setidaknya waktu dan upaya yang sama dengan 80% pertama dilakukan.

Jadi, saya sangat merekomendasikan untuk menyelesaikan setidaknya satu proyek. Pelanggan yang membayar tidak peduli jika suatu proyek selesai 50%, 80% atau 99%. Hanya 100% yang dilakukan yang diperhitungkan.

Joonas Pulakka
sumber
Setengah selesai sebagai istilah umum. Saya tidak tahu seberapa jauh mereka sudah selesai, tetapi hampir pasti jauh lebih sedikit dari itu. (Yaitu Lexer dan mungkin 30% dari pengurai, tetapi tidak ada backend)
The Communist Duck
3
90% pertama dari pekerjaan, tentu saja, membutuhkan 90% dari waktu. 10% terakhir dari pekerjaan mengambil 90% lainnya dari waktu.
Buttons840
Sangat benar. Proyek hobi terakhir yang saya lakukan adalah "selesai" setelah 5 jam. Menambahkan semua lonceng dan peluit butuh 10 jam lagi.
Carra
5

Saya memiliki banyak proyek dari masa mahasiswa saya yang belum selesai. Saya pikir tidak penting untuk menyelesaikannya. Saya tidak pernah menyelesaikan sebagian besar milik saya. Beberapa dari mereka benar-benar berotak rambut, seperti membuat kelas string yang lebih baik atau memanipulasi bitmap dengan array kelas Pixel.

Mungkin Anda memilih proyek yang terlalu besar. Pilih sesuatu yang sangat kecil. Sesuatu yang tidak akan memakan waktu lebih dari satu Sabtu sore untuk diselesaikan. Anda akan puas setelah menyelesaikannya. Mungkin Anda akan merasa bersemangat untuk melakukan yang lain.

Satu hal penting untuk diingat adalah bahwa ketika Anda mencapai dunia kerja Anda akan menghabiskan 8 jam sehari untuk menyelesaikan masalah. Ini memberi Anda lebih banyak waktu untuk menangani proyek-proyek besar daripada dalam pengaturan gaya hidup siswa sporadis.

Tjaart
sumber
1
+1 untuk "benar-benar diserang" (kebetulan, diserang , tidak berambut). Deskripsi yang sangat baik tentang begitu banyak proyek saya yang ditinggalkan. Itu dan megalomaniacal mustahil.
Tom Anderson
5

Banggalah dalam folder proyek Anda yang belum selesai dan jangan menyalahkan diri sendiri tentang hal itu! Jika Anda berada di disiplin lain, misalnya seni, maka proyek-proyek yang belum selesai tidak akan terlalu penting, intinya adalah bahwa Anda sedang berusaha dan itu sendiri mengagumkan. Anda bisa duduk di rumah menonton televisi saja? Atau buang-buang waktu Anda di situs Stack Exchange (oops!)

Microsoft tidak pernah mengirim API 'Fahrenheit' 3D yang pernah saya harapkan, mereka tidak pernah mengirim sistem file 'database' yang menggantikan NTFS dan mereka membunuh proyek DeepZoom 'Seadragon' yang bisa jadi luar biasa. Mereka mungkin gagal menyelesaikan dan menyelesaikan ratusan produk lain, tidak harus karena motivasi untuk 'merangkul, memperluas, dan memadamkan'. Mereka juga telah mengirimkan seluruh sistem operasi yang jauh lebih sedikit dari '98% selesai '. Apakah itu membuat mereka finisher-finishers miskin?

'Completer-Finisher' sebenarnya adalah ungkapan dari Model Tim Belbin . Mungkin Anda seorang 'Spesialis' atau 'Penyelidik Sumberdaya' dan cocok untuk tim di mana orang lain melakukan tugas menyelesaikan-finisher. Melihat hal-hal seperti ini memungkinkan Anda untuk melihat situasi Anda dengan lebih positif.

Mathew
sumber
3

Jika ada penghiburan meskipun menjadi pengembang perangkat lunak profesional selama lebih dari 8 tahun saya masih merasa sulit untuk menyelesaikan proyek pribadi. Saya selalu merasa bahwa ini adalah kombinasi dari tujuan terbuka, keinginan untuk 'melakukan yang terbaik terlebih dahulu' dan kurangnya tekanan nyata untuk menyelesaikannya .... untuk menjawab dua pertanyaan Anda:

Saya pikir memperlakukan proyek sebagai kegagalan karena tidak selesai 100% akan memengaruhi motivasi Anda dan mungkin menghentikan Anda untuk benar-benar masuk ke bidang pekerjaan yang luar biasa. Alih-alih melihat mereka sebagai kegagalan, coba pikirkan tentang apa yang Anda pelajari dari mereka - bahasa / kerangka kerja baru apa yang Anda ketahui sekarang, pelajaran pemrograman apa yang Anda pelajari, alat apa yang sekarang Anda miliki keterampilannya dan orang / komunitas yang berinteraksi dengan Anda saat melakukannya. Dilihat dari perspektif itu, sangat jarang menemukan proyek pribadi yang tidak berkontribusi pada pengetahuan Anda.

Anda akan menemukan ketika di Universitas atau di tempat kerja bahwa ada dua perbedaan utama yang memastikan bahwa Anda menyelesaikan proyek Anda. Pertama, tujuan Anda biasanya didefinisikan dengan sangat baik - khususnya selama dua tahun pertama universitas. Kedua Anda memiliki tekanan nyata untuk menyelesaikan proyek - Anda harus melakukannya untuk lulus kelas / modul atau manajer Anda memberi tahu Anda bahwa proyek XYZ perlu diserahkan kepada tim uji untuk tanggal tertentu. Ini memberikan fokus yang saya tidak pernah bisa tiru pada proyek pribadi.

Jon Malcolm
sumber
2

Pertama, penting untuk kepuasan diri. Anda telah mencapai sesuatu dari awal hingga akhir yang jelas. Anda kemudian dapat mengeluarkan satu item dari "project-stack-in-mind" Anda, dan bagi saya itu selalu melegakan.

Untuk karier Anda, dan lebih tepatnya untuk wawancara kerja, sampai Anda menyelesaikan proyek Anda, Anda tidak memiliki apa pun untuk ditampilkan atau dibicarakan ... Menampilkan setengah proyek tidak pernah baik. Mungkin buggy, jelek atau tidak berfungsi. Anda bahkan tidak dapat menyebutkannya kepada pewawancara jika tidak, mereka akan bertanya "Mengapa Anda tidak menyelesaikannya?" ... Jika Anda menjawab "Saya tidak punya waktu", itu berarti Anda tidak dapat menjadwalkan tugas Anda dengan benar, kamu tidak gigih. Selain itu, Anda punya waktu untuk memulai proyek lain sehingga argumen Anda salah. Anda harus menemukan jawaban yang cerdas ...

rockeye
sumber
2

Saya berada dalam situasi yang sama dengan Jon Malcolm, tetapi saya membuang-buang waktu di tempat yang salah. Untuk proyek pribadi, saya memutuskan untuk menurunkan standar saya demi fungsionalitas lengkap. Itu berarti tidak ada ajax, tidak ada lokalisasi, tidak banyak validasi, tidak ada otentikasi, tidak ada pagination, UI barebones, tidak ada tes unit dan sebagainya. Buat saja bagian bisnisnya berfungsi ... Saya menyebutnya 'garis lurus'. Solusinya akan lengkap dan harus bekerja dalam kondisi ideal. Setelah itu selesai, jika proyek masih menarik, saya akan melanjutkan iterasi refactoring sampai saya kehilangan minat.

Kinjal Dixit
sumber
2

Saya memiliki pengalaman serupa dan 5-10% terakhir dari bahkan proyek hewan peliharaan kecil bisa menjadi pembunuh .

Saran saya jika Anda ingin selesai? Beri tahu teman, rekan kerja, keluarga, atau siapa pun yang tertarik dengan hal baru yang keren ini yang sedang Anda kerjakan. Libatkan mereka, ajukan pertanyaan kepada mereka. Semoga Anda akan mendapatkan beberapa pengikut yang akan bertanya tentang kemajuan Anda. Tekanan mengetahui itu akan memotivasi Anda untuk terus melalui langkah-langkah duniawi tetapi perlu untuk mengirimkan proyek Anda.

pojo
sumber
1

Proyek finishing adalah apa yang memisahkan anak-anak dari orang dewasa, gandum dari sekam, pria / wanita dari anak laki-laki / perempuan.

"Programmer sungguhan dikirimkan."

quant_dev
sumber
9
Itu juga yang memisahkan pekerjaan dari bermain.
Tom Anderson
1

Untuk mengetahui apakah Anda harus menyelesaikan suatu proyek atau tidak, Anda harus mengevaluasi nilai yang akan Anda dapatkan dari itu dibandingkan dengan waktu Anda harus berinvestasi di dalamnya untuk menyelesaikannya.

Jika nilai yang dapat Anda ambil darinya lebih rendah dari investasi , Anda dapat mempertimbangkannya dengan Biaya Sunk .

Dalam pengambilan keputusan ekonomi dan bisnis, sunk cost adalah biaya retrospektif (masa lalu) yang telah dikeluarkan dan tidak dapat dipulihkan.

Terlalu banyak proyek yang belum selesai menyebabkan pemborosan . Sampah adalah salah satu musuh lean yang paling kuat .

Yang mengatakan, kadang-kadang, lebih baik meninggalkan proyek untuk memfokuskan upaya Anda pada satu yang akan memberikan ROI lebih banyak. Banyak orang menyelesaikan semuanya dengan keras kepala , dan gagal menangkap peluang yang benar-benar bagus .


sumber
1

Polos dan sederhana: jika Anda ingin menyelesaikannya, selesaikan! Jika Anda tidak mau, jangan! Anda tidak punya orang yang menunggu pengiriman, jadi mengapa sangat menderita? Melakukan proyek hobi tidak sama dengan proyek industri. Mereka sangat berbeda. Tidak ada yang akan bertanya kepada Anda mengapa Anda tidak menyelesaikan proyek hobi Anda jika Anda tidak memberi tahu mereka bahwa Anda meninggalkannya belum selesai. Ada satu miliar kode proyek hobi mengambang di internet. Anda pikir ada yang peduli dengan mereka? (Selain mahasiswa univ yang malas mencari proyek akhir tahun yang cepat dan siap)

DPD
sumber
1

Seth Godin telah menulis banyak hal tentang kebiasaan pengiriman:

http://the99percent.com/tips/6249/seth-godin-the-truth-about-shipping

Saya pikir ini penting, dan inilah alasannya: itu tidak cukup untuk melakukan proyek sendiri, meskipun itu mungkin bernilai pendidikan bagi Anda. Jika Anda tidak pernah membagikan hadiah Anda dengan dunia, Anda seperti seorang seniman yang tidak pernah menunjukkan lukisannya kepada siapa pun.

Itu adalah sesuatu yang saya perjuangkan juga. Jika saya harus menganalisis alasannya, saya akan mengatakan bahwa saya cenderung terlalu merekayasa dan terlalu memikirkan proyek pribadi saya. Saya akan membuat terlalu banyak asumsi tentang masalah, banyak di antaranya tidak valid, maka saya akan melakukan terlalu banyak pekerjaan sebelum saya sampai pada realisasi ini. Itu menghilangkan motivasi, dan pada saat itu saya kehilangan momentum. Ada satu ide yang telah saya iterasi selama beberapa tahun terakhir dan saya telah mengulangi pola ini beberapa kali.

Rencana saya ke depan untuk semua proyek pribadi adalah fokus pada subset kecil dari keseluruhan visi, mengimplementasikannya dan meletakkannya di sana (apakah itu proyek github open-source, situs web, artikel dalam serangkaian artikel).

Maka jika saya masih cukup termotivasi, saya akan mengulanginya lagi. Saya berharap bahwa kepuasan yang saya dapatkan dari pengiriman akan menopang saya melalui iterasi tambahan.

Nate Reed
sumber
0

Ini sangat penting.

Saya mengerti mencambuk sesuatu sebagai bukti konsep dan kemudian membiarkannya duduk di sana. Tidak apa-apa. Namun, pelanggan tidak akan membayar kurang dari satu proyek yang selesai.

Intinya adalah ini ... Sales Drive Everything . Tanpa penjualan tidak ada gaji. Tanpa penjualan tidak ada peningkatan modal. Tanpa penjualan tidak ada perusahaan. Penjualan berasal dari pelanggan. Pelanggan hanya akan membayar ketika mereka puas. Kepuasan berarti proyek yang sudah selesai bekerja dan bekerja dengan baik.

Untuk menggunakan analogi sepakbola: Zona merah adalah 20 yard terakhir di depan garis gawang. Ini adalah bagian yang paling melelahkan dalam mencetak gol. Hal yang sama berlaku untuk proyek pemrograman. 20 persen terakhir seringkali merupakan yang paling sulit untuk diselesaikan, tetapi harus diselesaikan.

Michael Riley - AKA Gunny
sumber