Apa yang terjadi jika Anda tidak dapat menyelesaikan masalah? [Tutup]


58

Saya setahun lagi lulus dari universitas, dan saya benar-benar menantikan untuk menyelesaikan masalah-masalah praktis. Terutama yang non-sepele yang membutuhkan sedikit riset dan banyak pemikiran.

Tetapi pada saat yang sama, itu juga ketakutan terbesar saya - dihadapkan pada masalah yang tidak dapat saya selesaikan, tidak peduli seberapa keras saya berusaha. Dan dengan tekanan untuk mengirimkan kode pada tenggat waktu yang akan segera tiba, itu terlihat agak menakutkan ketika melihatnya dari taman bermain yang aman di uni (di mana hal terburuk yang dapat terjadi adalah Anda harus mengulang kursus atau ujian).

Jadi bagi mereka yang telah berkecimpung di dunia industri untuk waktu yang lebih lama, apa yang akan terjadi jika Anda disuruh menyelesaikan masalah yang tidak bisa Anda lakukan? Apakah itu terjadi, dan jika demikian, apa yang terjadi? Apakah mereka hanya menjatuhkannya dan berkata, "Oh, baiklah, kira kita bisa puas dengan sesuatu yang lain"? Adakah konsekuensinya? Apakah Anda ditegur, atau bahkan dipecat?


24
ini berlaku untuk profesi apa pun - gagal cepat, minta bantuan, cari solusi yang mungkin sebelum berkomitmen
Steven A. Lowe

9
Jangan khawatir. 80% dari pekerjaan di luar sana adalah mempertahankan tumpukan sampah yang lama.
Ayub

Tidak dapat menyelesaikan masalah? Itu mungkin?
WernerCD

3
Saya tidak berpikir ini akan menjadi masalah nyata, kecuali itu masalah yang tidak bisa dipecahkan oleh Jon Skeet dalam hal ini kita semua akan hancur!
Skizz

Jawaban:


56

Pertama-tama, ketakutan Anda sangat sehat, dan normal. Ini adalah renungan saya setelah sekitar 15 tahun di industri perangkat lunak.
Berikut beberapa pertanyaan untuk Anda tanyakan pada diri sendiri:

  1. Apakah Anda mengerti masalahnya?
  2. Apakah Anda tahu bahwa masalahnya tidak dapat diselesaikan (dalam batasan waktu / anggaran Anda)?
  3. Apakah Anda tidak tahu bagaimana menyelesaikan masalah?
  4. Apakah klien / bos Anda meminta hal yang mustahil.
  5. Apakah itu layak? (ROI)
  6. Apakah ini masalah NYATA ?

1) Pertama-tama, pastikan Anda memahami masalahnya. Tidak ada pertanyaan bodoh. Apakah Anda mengerti apa yang diminta klien / bos Anda versus apa yang mereka butuhkan?

2) Ini akan terjadi. "Bangun aku jembatan besok" . Pastikan Anda tahu pasti bahwa suatu masalah tidak dapat diselesaikan dalam batasan Anda. Klien / bos Anda mungkin fleksibel pada waktu / anggaran dan ini dapat dimodifikasi untuk memberi Anda lebih banyak waktu / anggaran.

3) Jika masalahnya dapat dipahami dan kendala ada dalam akal, dan ada teknologi yang dapat menyelesaikan masalah, tetapi Anda tidak cukup tahu ... itulah gunanya StackOverflowdan untuk apa Internet. Pastikan Anda melakukan riset terlebih dahulu. Cobalah untuk mengajukan pertanyaan eksplisit yang memiliki jawaban terukur. Tanyakan teman-temanmu. Memiliki sesi desain.

4) Ini adalah varian dari jawaban nomor 2. Sepertinya klien / bos Anda menanyakan hal yang mustahil. Lakukan beberapa penelitian. Jangan pernah mengatakan bahwa masalahnya tidak dapat diselesaikan, kecuali jika Anda tahu persis mengapa dan Anda bisa mengklarifikasi.

5) ROI adalah singkatan dari Return On Investment. Ini mengacu pada investasi dalam waktu. Waktumu!. Apakah masalah cukup penting untuk dipecahkan untuk menjamin jumlah waktu yang dibutuhkan untuk meneliti dan menyelesaikan masalah. Diskusikan ini dengan klien / bos Anda

6) Apakah ini masalah nyata. Klien, seringkali, memahami apa yang mereka inginkan, tetapi tidak harus memahami apa yang mereka butuhkan. Cobalah untuk memahami apa yang sebenarnya dibutuhkan oleh Klien / Bos Anda dan diskusikan hal ini dengan mereka.

Semoga panduan ini membantu Anda.


3
Jawaban paling informatif. Semoga mendapat lebih banyak suara.
gablin

6
Bukan jawaban yang buruk. Saya hanya ingin menambahkan bahwa peretas yang paling sukses mempertahankan tingkat kesombongan praktisnya: yaitu, anggap Anda dapat mengalahkan tantangan apa pun. Sebagian besar waktu Anda akan benar, dan Anda akan memecahkan lebih banyak masalah daripada seseorang yang tidak beroperasi di bawah dari asumsi. Yang mengatakan, tidak menyelesaikan masalah bukanlah akhir dari dunia - tapi jangan biarkan sampai menit terakhir. Mengelola berarti memastikan atasan Anda memiliki harapan yang masuk akal. Jika Anda tidak yakin bagaimana melakukan sesuatu, beri tahu bos bahwa Anda perlu waktu untuk meneliti dan kembali dengan rekomendasi.
HedgeMage

Saya suka itu # 4 bukan pertanyaan
endolith

57

Dua hal yang perlu diingat jika Anda terjebak dengan masalah yang tampaknya tidak terselesaikan:

  • Biarkan orang lain tahu Anda macet sesegera mungkin. Ini akan membantu mereka menyesuaikan perkiraan waktu sebelum terlambat.

  • Jika Anda melihat satu cara menyelesaikan masalah tidak berhasil - jatuhkan dulu sebelum Anda membuang banyak waktu. Minta bantuan atau cobalah pendekatan yang berbeda. Ini bukan tentang membuktikan diri Anda keras dan pintar, ini tentang menyelesaikan sesuatu.


11
+1 untuk "minta bantuan". Sepasang mata lain pada masalah bisa sangat berguna.
Michael K

5
+1 untuk poin kedua Anda ... waspadalah terhadap solusi 95%. Artinya, solusi yang membuat Anda 95% dari perjalanan ke sana sangat cepat, tetapi hampir tidak mungkin untuk membuat pekerjaan 100%. Saya merasa mudah untuk membuang banyak waktu ekstra untuk mencoba mendapatkan 5% terakhir karena Anda "hampir sampai".
Scott Whitlock

5
"Mr Corleone adalah pria yang bersikeras mendengar berita buruk sekaligus."
JeffO

3
Mampu meminta bantuan sangat penting. Sering kali saya melihat pengembang baru kembali setelah 2 minggu tanpa menunjukkan apa-apa karena mereka macet di hari pertama. Tentu saja, mentor / bos Anda seharusnya bertanya kepada Anda bagaimana keadaan Anda, dll, tetapi jangan berbohong dan katakan "semuanya baik-baik saja" padahal jelas tidak!
Dean Harding

4
Bahkan tindakan sederhana menjelaskan masalah kepada orang lain dapat memungkinkan Anda untuk menemukan solusi.
alexanderpas

26

Saya pergi ke StackOverflow ;)

Tapi semua bercanda, jangan takut pada yang tidak dikenal. Seluruh karier Anda akan menghadapi hal yang tidak diketahui, karena jika Anda sudah menyelesaikannya, itu tidak akan menjadi masalah di lain waktu.


12
Itu bukan lelucon bagi saya, ini biasanya merupakan tempat panggilan pertama saya. Faktanya, proses merumuskan suatu pertanyaan seringkali memberikan dorongan untuk menemukan solusi sendiri.
NimChimpsky

10
Terakhir kali saya hanya tidak bisa menemukan masalah dengan beberapa perangkat lunak, bertanya pada SO membuat saya mendapat jawaban yang benar segera.
David Thornley

Jawaban Hebat! +1 - Bagian terbaik dari pengembangan perangkat lunak - "Seluruh karier Anda akan menghadapi hal yang tidak diketahui."
Karthik Sreenivasan

10

Saya harus menjawab dengan sederhana: Saya minta bantuan. Sama seperti orang lain kadang meminta saya untuk membantu ketika mereka terjebak berusaha mencari solusi untuk sesuatu.

Sunting: Saya harus menyebutkan bahwa saya sering menemukan solusinya hanya dengan menjelaskan masalahnya kepada rekan kerja, atau kadang-kadang bahkan ketika saya mulai memposting pertanyaan di situs-situs seperti StackOverflow.


3
Terkadang berbicara dengan rekan kerja yang memahami pekerjaan dapat membantu, bahkan jika mereka tidak menawarkan saran, hanya membicarakannya dapat membantu Anda mengatasinya di kepala Anda sendiri
funkymushroom

9

Lihatlah dari sudut yang berbeda

Saya sudah sering menemukan ini, biasanya yang terjadi adalah:

  • Anda memiliki masalah, awalnya Anda memiliki ide di kepala Anda bagaimana Anda akan menyelesaikannya.
  • Ketika benar-benar menerapkan solusi Anda, ternyata itu tidak berhasil (mungkin karena model masalah sebenarnya yang lemah).
  • Setelah berjuang untuk menyelesaikan masalah, baik itu penelitian atau meminta orang lain. Tidak ada yang berhasil, frustrasi murni!

Akhirnya Anda memilih apa yang tidak ingin Anda lakukan ->

"Retasan Kotor"

Ini bekerja, tetapi Anda merasa kotor ...


3
+1 untuk peretasan kotor, kadang-kadang tidak tersedianya solusi yang tepat tampak seperti tidak ada solusi sama sekali ... tentu, tidak ada yang suka variabel global, tetapi jika ini adalah satu-satunya cara yang tersedia untuk mendapatkan sepotong informasi dari ... lebih baik daripada tidak mengirim sama sekali.
user281377

+1 - Deskripsi yang jelas tentang pengalaman paling umum yang dihadapi oleh pengembang perangkat lunak.
Karthik Sreenivasan

5

Biasanya, saya mendapatkan seseorang yang lebih pintar daripada saya untuk memperbaikinya. Dia melakukannya dan dia bos saya. Aku merasa bodoh. Kami melanjutkan.


4
Aku iri padamu --- kamu punya bos yang mengerti apa yang kamu lakukan bahkan lebih baik daripada kamu. Bersyukur!
JasonFruit

Sebenarnya aku senang milikku tidak. ;-) Bos saya melayani saya untuk menghalanginya, mengatur bantuan ketika saya membutuhkannya, membuat saya tetap termotivasi dan maju, dll. Jika dia lebih baik dalam pekerjaan saya dia seharusnya tidak menjadi bos saya tetapi melakukan pekerjaan saya.
johannes

Bos Anda harus tahu lebih banyak daripada Anda tentang banyak hal, imo.
johnny

5

Itu tergantung pada alasan mengapa Anda tidak dapat ...

  • secara logis tidak mungkin: Diskusikan dengan orang yang menulis persyaratan, mungkin ada kesalahpahaman. Contoh: pada satu titik, spesifikasi mengatakan bahwa aplikasi harus terlihat dan terasa asli pada semua platform (Windows / Linux / Mac), dan di tempat lain, dikatakan bahwa program harus terlihat persis sama pada semua platform.

  • secara teknis tidak mungkin: Mengevaluasi kembali alat yang Anda kerjakan, mungkin itu tidak sesuai. Diskusikan masalah dengan rekan-rekan Anda dan manajer proyek. Contoh: persyaratan waktu nyata yang sulit di lingkungan tempat pengumpulan sampah dapat menghentikan eksekusi untuk waktu yang tidak ditentukan

  • kinerja yang tidak memadai: Mungkin Anda menggunakan algoritma yang salah, atau mungkin masalahnya terlalu sulit (mis. NP-hard) dan persyaratan tidak memperhitungkannya. Evaluasi kembali algoritma yang Anda gunakan, mungkin ada cara yang lebih cepat. Diskusikan masalah dengan rekan-rekan Anda dan manajer proyek. Pertimbangkan beralih ke heuristik yang cukup baik alih-alih hasil yang sempurna. Contoh: optimisasi jalur dengan lusinan atau bahkan ratusan node

  • Anda tidak tahu bagaimana cara melakukannya: Tanya teman Anda, tanya stackoverflow, cari di internet. Hubungi dukungan alat / lib yang Anda gunakan. Diskusikan dengan manajer proyek.

  • itu harus bekerja, tetapi tidak, dan Anda tidak tahu mengapa: Refactor program untuk membuatnya lebih dapat diuji. Mempertimbangkan kondisi ras, mereka sering menjadi alasan untuk menemukan bug yang sulit ditemukan. Mintalah bantuan teman sebaya, empat mata melihat lebih dari dua. Periksa internet untuk bug yang dikenal di alat / lib yang Anda gunakan.


4

Saya pikir orang lain dengan baik menunjukkan bagaimana menghadapinya secara profesional. Saya ingin mengatakan bagaimana menghadapi perasaan pribadi seperti frustrasi, ketakutan.

Intinya adalah Anda akan menjadi HALUS bahkan jika Anda tidak menyelesaikan masalah secara tepat waktu. Hidup terus berlalu.

Terkadang, jadwal akan didorong. Proyek ini akan berhasil atau gagal. Anda mungkin dipecat dan kemudian memiliki pekerjaan hebat. Anda tidak pernah tahu.

Jangan salah sangka. Itu tidak berarti tidak apa-apa membiarkan masalahnya ada di sana. Yang bisa kita lakukan adalah melakukan yang terbaik dan melepaskannya.

Terkadang, saya pikir frustrasi, takut tidak menyelesaikan masalah adalah hidup saya sebagai pengembang rata-rata.


2

Saya tidak yakin saya akan mengatakan bahwa saya tidak dapat memecahkan masalah, tetapi ada beberapa kasus di mana saya menyerah untuk mencoba memecahkan masalah. Setelah menghabiskan waktu berjam-jam untuk mencoba memperbaiki bug atau mengimplementasikan beberapa fitur yang saya tidak punya ide bagaimana melakukannya, saya dapat memberitahu seseorang di tim saya, pemimpin tim atau manajer, "Saya terjebak dalam hal ini. Anda ingin saya lakukan? " sehingga mereka tahu di mana aku berada. Mereka dapat berkata, "Terus lakukan itu, kami pikir Anda akan mendapatkannya," atau "Beralih ke hal lain yang tidak begitu penting," atau beberapa hal lain dan kemudian saya akan tahu apa yang harus saya lakukan.

Saya memiliki bug yang tidak saya selesaikan dan beberapa fitur yang tidak diselesaikan, tentu saja. Sementara saya dapat mencoba untuk menyelesaikan sesuatu, tidak semuanya berada dalam kekuatan saya untuk menyelesaikannya dalam waktu yang wajar. Poin penting dalam hal ini adalah berkomunikasi agar atasan Anda tahu di mana Anda berada.

Yang mengatakan, saya memang memiliki beberapa kali di mana saya mengalami beberapa keadaan yang agak istimewa:

  1. Saat bekerja di sebuah bank besar Kanada di Toronto, saya akan diminta untuk melakukan segala macam hal yang tidak saya ketahui bagaimana harus dilakukan ketika saya diberi tugas. Sebagai contoh, saya diminta untuk menguji metode ini untuk mengamankan laptop di mana tombol "Esc" dan "Enter" di-swap pada boot-up dan dengan urutan tombol yang benar laptop akan dapat digunakan lagi yang sepertinya aneh untuk mencoba mencari keluar, "Apakah ini berfungsi? Bagaimana saya tahu ini akan atau tidak akan baik-baik saja dengan pengguna?" Ada tugas-tugas lain yang saya tidak punya perangkat keras atau sumber daya lainnya untuk menyelesaikannya. Pada saat yang sama itu agak mendidik karena ini memberi saya banyak hal untuk dicatat tentang situasi pekerjaan di masa depan untuk mencegah masalah. Hal-hal seperti memastikan ketika saya dibayar, bagaimana waktu saya dilacak,

  2. Saat bekerja di Penyedia Layanan Aplikasi di Calgary, saya diberi proyek ini untuk mencoba membuat salinan situs web lain dalam aplikasi internal kami yang kami jual sebagai layanan. Poin kunci di sini adalah bahwa saya tidak diberi garis waktu atau saran tentang bagian mana yang harus dilakukan pertama kali, hanya penelitian umum dan sebulan kemudian saya diminta untuk demo sama seperti saya memiliki reaksi buruk terhadap beberapa obat penghilang rasa sakit. Reaksi itu berlangsung seminggu ketika saya keluar dari pekerjaan tiba-tiba dan kemudian pada minggu berikutnya, saya pergi ke acara Microsoft yang merupakan jenis jerami terakhir ketika saya dipecat pada hari berikutnya. Yang perlu diperhatikan di sini adalah bagaimana saya memiliki hubungan yang agak buruk dengan bos saya karena kapan saja dia mendekati daerah saya, pikiran saya yang langsung adalah, "Sekarang apa yang salah?"


2

Seperti yang dikatakan orang lain, komunikasi itu penting - membuat orang tahu (siapa yang akan terkena dampak) ketika Anda terjebak: bos Anda, anggota tim, klien, dll.

Seorang rekan kerja yang tajam pernah menanamkan pada saya bahwa kesuksesan berakar pada dua hal:

  1. Hubungan
  2. Harapan

Memiliki hubungan yang baik, saya kira, adalah fungsi komunikasi yang baik dan menetapkan harapan di muka.


2

Saya mengikuti langkah Polya:

"Jika ada masalah yang tidak bisa kau selesaikan, maka ada masalah yang lebih mudah yang tidak bisa kau selesaikan: temukan."

George Polya

Keindahan prinsipnya adalah bahwa pada titik tertentu akan ada masalah yang cukup kecil dan bahwa Anda akan dapat menyelesaikannya, semoga jika Anda melakukan hal-hal yang benar, akan memungkinkan Anda untuk bootstrap solusi untuk masalah aslinya. Prinsip ini belum mengecewakan saya.


1

Jawaban " mencari bantuan " pasti benar. Sangat tidak mungkin bahwa Anda adalah orang pertama yang mengalami masalah tertentu.

Tetapi sebagai eksperimen, bagaimana jika tidak ada bantuan? Bagaimana jika Anda harus menyelesaikan masalah sendiri? Kemampuan memecahkan masalah yang paling penting adalah kemampuan untuk mengidentifikasi dan menantang asumsi Anda sendiri . Jika Anda dapat menyebutkan asumsi Anda tentang masalah satu per satu dan menghilangkan masing-masing pada gilirannya, Anda pada akhirnya akan menemukan asumsi yang keliru dan kemungkinan baru untuk solusi akan terbuka sebagai hasilnya.

(Ngomong-ngomong, ini juga merupakan pendekatan terbaik ketika Anda tidak dapat melihat jawaban untuk masalah yang Anda dapatkan dalam wawancara kerja. Secara verbal cantumkan asumsi Anda, dan tentukan mana yang salah dan kemudian serang kembali masalahnya. Hampir semua "pertanyaan jebakan" didasarkan pada asumsi alami namun salah).


1

Meminta bantuan benar-benar jawaban terbaik, tetapi ada sedikit lagi yang mungkin berguna.

Jadi bagi mereka yang telah berkecimpung di dunia industri untuk waktu yang lebih lama, apa yang akan terjadi jika Anda disuruh menyelesaikan masalah yang tidak bisa Anda lakukan? Apakah itu terjadi, dan jika demikian, apa yang terjadi? Apakah mereka hanya menjatuhkannya dan berkata, "Oh, baiklah, kira kita bisa puas dengan sesuatu yang lain"? Adakah konsekuensinya? Apakah Anda ditegur, atau bahkan dipecat?

Ya, itu terjadi pada saya, dan tidak, saya tidak pernah ditegur atau dipecat karenanya, karena ...

Dalam industri, ini semua tentang apakah Anda menyelesaikan masalah tepat waktu dan sesuai anggaran, dan manajer yang baik memahami bahwa itu tidak selalu mungkin.

Apa yang sebenarnya terjadi adalah manajer Anda berkata, "Saya ingin Anda melakukan X, menurut Anda apa yang diperlukan?" Dan Anda bisa memberikan banyak jawaban. Yang bagus termasuk:

  • Saya telah melakukan sesuatu yang sangat mirip dengan ini, jadi saya pikir itu akan memakan waktu tiga minggu dan senilai $ 3.000 untuk pengujian perangkat keras.
  • Saya memiliki sesuatu yang secara umum mirip dengan ini. Jadi izinkan saya memikirkannya dan kembali kepada Anda sore ini.
  • Saya tidak pernah melakukan hal seperti ini. Jadi, biarkan saya meneliti dan kembali kepada Anda besok.
  • Tidak ada seorang pun di planet ini yang pernah melakukan ini. Jika Anda ingin memeriksanya, saya butuh dua minggu untuk melakukan eksperimen yang cukup untuk membuat perkiraan.

Adalah tugas manajer untuk memutuskan apakah dan bagaimana melanjutkan. Jika mereka memang memilih untuk melanjutkan, itu tugas Anda untuk memenuhi taksiran Anda, atau beri tahu manajer jika ada halangan. Selama Anda melakukan itu, di perusahaan yang masuk akal tidak akan ada konsekuensi negatif.

Tentu saja, ada juga perusahaan tidak masuk akal yang tidak memberi Anda waktu atau sumber daya untuk menyelesaikan pekerjaan Anda. Saya sudah bekerja di beberapa dari itu, dan semua orang diberi masalah yang tidak dapat diselesaikan dalam kendala perusahaan. Salah satu dari mereka memberhentikan sekitar 98% staf pemrograman dalam waktu delapan bulan, dan itu tentu saja konsekuensinya, tetapi itu tidak secara langsung ditujukan kepada saya, dan saya masih menganggap bos saya dan bosnya dari sana sebagai teman baik.


+1 Daftar target yang sangat baik. Manajer harus menerima bahwa semakin sedikit masalah yang diketahui, semakin lama waktu yang dibutuhkan untuk mendapatkan perkiraan berapa lama waktu untuk menyelesaikannya, juga meningkatkan margin kesalahan pada estimasi tersebut. Pada akhirnya, jika Anda memiliki manajer yang tidak masuk akal, maka pekerjaan itu selalu berisiko - jadi Anda harus tetap melanjutkan seperti di atas, karena hal itu sedikit banyak menutupi punggung Anda. Setidaknya Anda bisa mengatakan "Aku sudah bilang begitu".
Orbling

1

Ada banyak jenis masalah yang akan membuat Anda bingung, dan banyak yang memiliki cara berbeda untuk mengatasinya.

Salah satu jenis masalah adalah mengimplementasikan sesuatu yang belum pernah Anda lihat seperti API suara aneh atau sesuatu. Dalam hal ini saya akan bertanya pada SO, dengan serius.

Lain adalah masalah yang sangat besar untuk dipecahkan. Jenis masalah ini dapat didekati secara iteratif. Mereka memberi tahu Anda "Implementasikan Humongous". Anda mencarinya dan menulis langkah-langkah sebanyak yang Anda bisa tahu. Kemudian Anda memecah langkah-langkah rumit menjadi langkah-langkah kecil. Ketika Anda dipaksa untuk memikirkan langkah-langkah kecil, mereka menjadi lebih jelas. Jika Anda mengalami kesulitan teknis, coba implementasi tes dan tanyakan di sini jika perlu.

Salah satu masalah yang lebih menyebalkan adalah permintaan yang tidak ditentukan. Mereka hanya menginginkan sesuatu yang "x" dan tidak memberi tahu Anda bagaimana hal itu harus dilakukan. Untuk ini pendekatan yang baik adalah prototipe antarmuka (biasanya GUI) dan biarkan seseorang bermain dengannya.

Lalu ada batasan waktu yang tidak bisa dipenuhi. Ini sering melibatkan memodifikasi harapan dan memberikan prototipe fungsional.

Anda biasanya akan menemukan jalan Anda melalui hal-hal satu atau lain cara. Ini menakutkan tetapi sekali Anda berada di dalamnya, Anda dapat menemukan jalan keluar.

Taruhan terbaik Anda mungkin hanya dengan melukis kata-kata "Don't Panic" di bagian luar laptop Anda. Dan jangan lupa handuk Anda.


+1 Untuk referensi HHGTTG ​​dan "Lalu ada batasan waktu yang tidak dapat dipenuhi." Terlalu benar Dalam dunia bisnis yang dipimpin oleh pemasaran modern, Anda mungkin diminta untuk membangun sesuatu yang segera, jika belum, dijual; tetapi akan mengambil tim dua kali ukuran, tiga kali waktu yang diberikan untuk menghasilkan.
Orbling

1

Urutan pemecahan masalah saya (setiap spet berikutnya dilakukan hanya jika sebelumnya tidak berhasil):

  1. Coba ke google
  2. Tanya seseorang
  3. Cari SO secara langsung (melewati Google)
  4. Berpikir
  5. Asap (== bersihkan kepala)
  6. Ajukan pertanyaan pada SO
  7. Tunggu sampai pagi (== bersihkan kepala lebih banyak lagi)
  8. Gunakan hack kotor itu dan merasa buruk tentang diriku sendiri :(

Masalah buruk diselesaikan pada langkah 5-6.

Masalah yang benar-benar buruk biasanya membutuhkan waktu (langkah 7 adalah solusi untuk sebagian besar masalah yang 'sepertinya-itu-saya-tidak bisa melakukan apa-apa'). Dan saya bersungguh-sungguh - beralih ke tugas lain untuk sisa hari itu dan mencoba untuk memecahkan masalah hal pertama di pagi hari. Itu keajaiban.

Dan baru kemudian datang langkah 8.


Saya biasanya menemukan tempat terbaik untuk mencari solusi untuk masalah adalah a) dengan sepeda saya atau b) di kamar mandi. Ini kemudian menjadi perlombaan antara mendapatkan suatu tempat di mana ada alat pencatat atau melupakan apa yang baru saja saya buat (saya mendapatkan sedikit sekarang dan memori jangka pendek saya adalah apa yang salah dengan apa yang saya bicarakan?)
Skizz

0

Saya belum pernah mendengar hal seperti ini terjadi. Pertama-tama Anda tidak pernah diberi masalah yang tidak bisa diselesaikan sama sekali. Masalahnya mungkin sulit dan mungkin perlu waktu untuk diselesaikan. Ketika diberi masalah, Anda harus mengatakan ini adalah waktu yang saya perlukan. Jika dalam penelitian Anda Anda berpikir bahwa masalah ini benar-benar tidak dapat diselesaikan, Anda harus mengibarkan bendera dan memberi tahu manajer Anda bahwa masalah ini akan membutuhkan waktu lebih lama, atau sangat sulit untuk dipecahkan. Ini semua tentang jadwal. Jika Anda menjanjikan sesuatu dan tidak akan bisa mewujudkannya maka itu masalah. Tetapi jika Anda terus memberi tahu status dan masalah Anda, itu adalah tanggung jawab manajer untuk mengurusnya. Dia harus mengarahkan Anda ke orang yang tepat yang dapat membantu, atau menyesuaikan jadwal.


3
-1, sangat mungkin untuk diberikan masalah yang tidak mungkin diselesaikan. "Rancang pemecah kata sandi brute force yang dapat memecahkan 30 kata sandi karakter dalam waktu kurang dari satu menit, yang perlu dijalankan pada Pentium 2 dengan ram 256 MB."
AttackingHobo

1
Ada banyak masalah yang tidak terpecahkan. Kuncinya adalah mengetahui bahwa mereka tidak dapat dipecahkan dengan sangat cepat. Lebih disukai sebelum orang pemasaran yang meminta Anda untuk menyelesaikannya telah selesai memberi tahu Anda masalahnya.
Orbling

@AttackingHobo ... itu bahkan bukan masalah yang realistis
Dacto

0

Ada beberapa saran bagus di sini! Nilai dua sen saya adalah; Jangan kewalahan oleh masalah BESAR, jangan lupa bahwa bagian yang menarik dan menantang dari pemecahan masalah adalah memecahnya menjadi serangkaian sub-masalah yang dapat dikelola dan lebih penting dipahami, yang pada gilirannya terurai lagi dan lagi menjadi lebih kecil sub-masalah. Setiap programmer yang baik biasanya akan melakukan ini setiap menit saat mereka membuat kode (menggunakan fungsi, metode, sub-rutin dll untuk membantu mengurangi kerumitan keseluruhan bagian kode) dan metodologi ini biasanya berlaku untuk masalah besar yang Anda alami hadapi dalam hidup (bukan hanya di tempat kerja).


0

Itu tergantung pada apa masalah spesifiknya, jelas. Tetapi jawabannya dapat berupa:

  1. Temukan solusi / substitusi
  2. Beli solusi komersial yang mendekati apa yang Anda inginkan
  3. Jangan menyerah dan terus bekerja selama Anda perlu sampai Anda berhasil .

Nomor 3 mungkin memerlukan cuti dari masalah dan mengunjungi lagi minggu atau bulan kemudian. Itu sering membantu.


0

Dalam pengalaman saya, terkadang ada masalah yang tidak bisa Anda selesaikan, setidaknya dalam batasan waktu. Jadi mencari bantuan sesegera mungkin, setelah beberapa upaya penyelesaian gagal Anda .

Ingat aturan praktis: selalu perhatikan alasan bos mempekerjakan Anda. Lakukan apa pun yang menurut Anda dapat Anda lakukan untuk hasil pekerjaan terbaik, dan kadang-kadang itu merupakan laporan kegagalan awal (jauh lebih baik daripada yang terlambat).

Singkatnya, jika Anda pikir Anda dapat menemukan solusinya, jangan ragu untuk mencoba, tetapi berikan perkiraan bos Anda tentang risiko dan biaya waktu. Itu masalah mereka sekarang.


0

Jika proyek seratus juta dolar bisa gagal bahkan dengan orang-orang yang berpengalaman, Anda tidak perlu khawatir bahwa Anda gagal karena Anda masih mahasiswa. Saya memiliki masalah untuk dikerjakan dan saya menemukan bahwa jika Anda terjebak - Anda harus mencatat setiap upaya yang Anda lakukan untuk menyelesaikannya.

Itu membantu:

  1. Bukti upaya yang dilakukan untuk menyelesaikan masalah.
  2. Mencatat jenis kegagalan ini penting agar Anda belajar darinya dan jangan melakukannya lagi beberapa hari kemudian dengan berpikir itu akan berhasil.

0

Pengalaman saya adalah bahwa lulusan baru tidak dilemparkan ke dalam. Alih-alih, Anda kemungkinan akan menjadi bagian dari tim yang juga menyertakan pengembang berpengalaman.

Saran saya adalah: manfaatkan mereka. Ketika Anda tidak yakin bagaimana cara mengatasi masalah, atau jika Anda ingin tahu apakah solusi Anda mengarah ke arah yang benar, diskusikan hal ini dengan mereka. Dan jika Anda merasa terjebak di suatu tempat, ambil salah satu dari orang-orang yang berpengalaman dan jelaskan masalah Anda dan minta bantuan.

Paling sering, hanya menjelaskan masalah Anda akan mengungkapkan solusi dan menjelaskan solusi Anda juga dapat mengungkapkan kelemahan di dalamnya.


0

Seringkali ini terjadi karena Anda belum mendefinisikan masalah dengan tepat dan akurat. Mungkin Anda mencoba memecahkan solusi yang sudah terbentuk sebelumnya alih-alih masalah yang sebenarnya.

Masalahnya hanya apa yang Anda amati, bukan apa yang Anda bayangkan.

"Mobilku yang berdarah tidak mau hidup" adalah masalah. "Baterai lemah." adalah solusi yang sudah ada sebelumnya untuk masalah permulaan mobil. Bahkan menguji baterai tidak membuktikan itu adalah satu-satunya penyebab masalah. Kecuali Anda benar-benar mengisi ulang atau mengganti baterai dan berhasil menyalakan mobil, maka Anda tidak memiliki bukti bahwa baterai adalah penyebab masalah.

Sederhanakan dan terus sederhanakan. Hancurkan menjadi beberapa bagian kecil. Jika Anda tidak dapat menyelesaikan bagian-bagian itu, hancurkan mereka. Anda akan merasa lebih baik. Kemudian pecah menjadi beberapa bagian kecil. Masing-masing bagian itu harus menjadi fenomena yang bisa diamati.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.