Bagaimana saya bisa merasa lebih percaya diri tentang keterampilan pemrograman saya? [Tutup]

37

Pemrograman tidak asing bagi saya. Saya pertama kali mulai melakukan markup (HTML, sekarang tolong jangan menertawakan saya) ketika saya berusia 12 dan sedikit BASIC ketika saya berusia 13 (saya tahu banyak tentang Flowchart, Pseudocodes pada titik ini), tetapi kemudian saya dinasihati ke dalam Biologi di sekolah menengah dan karenanya melewatkan pengetahuan pemrograman "nyata" dari bahasa seperti C, Java, dan sebagainya. Saya mengambil CS untuk UG BE saya (mirip dengan BS, tetapi jauh lebih teoretis). Saya belajar C&C ++ (pada tingkat yang lebih rendah) sendiri (prof saya sangat menyakitkan dan kelas dipenuhi dengan kode-atlet (yang sudah mempelajarinya di sekolah, dan karenanya tidak memperhatikan kelas dan tidak biarkan manusia yang lebih rendah seperti saya memperhatikan kelas juga)) dan bisa menyiapkan program penambahan atau perkalian yang mengagumkan (yang sekarang bahkan lebih baik tukang kebun)

Masalah utama saya adalah bahwa saya selalu merasa tidak mampu dan tercekik oleh keterampilan pemrograman saya yang terbatas dan diremehkan oleh para atlet kode (percayalah, saya telah menemukan situs ini berabad-abad yang lalu, tetapi sekarang bisa saja membangun keberanian untuk benar-benar memposting pertanyaan) dan kadang-kadang bahkan tertekan karena ketidakmampuan tersebut. Kebanyakan orang mengatakan bahwa Pemrograman tidak harus tentang bahasa tetapi keadaan pikiran yang dimiliki orang tersebut dan teknik yang mereka gunakan untuk memecahkan masalah / masalah. Saya setuju dengan sentimen seperti itu, tetapi bisakah saya mendapatkan "kondisi pikiran" seperti itu, dan jika demikian, bagaimana saya harus mendekati "Pemrograman / Pengkodean", dan jika ada cara dan langkah yang ditetapkan yang paling sering dilalui seseorang untuk mencapai "Zen dari Coding ". Bagaimana saya melakukannya? Juga, tidak ada salahnya jika beberapa Saint ingin mentor sepotong $ #! ^ Yang tertindas ini.

NB. Saya selamanya akan berterima kasih kepada siapa pun yang menganggap saya sepadan dengan waktu mereka, dan sebagai bonus akan memberi nama bagian pertama Perangkat Lunak saya, saya kirim setelah mereka. (Jika saya bisa mengirimkan satu, yaitu,)

TL; DR: Tidak pernah benar-benar belajar "Pemrograman / Pengkodean", tidak dapat menyelesaikan masalah bahkan jika saya mencoba. Tolong aku!

Ameen
sumber
22
Jangan terlalu merendahkan diri. Tidak ada yang keluar dari pemrograman rahim. Semakin banyak kode Anda, semakin Anda akan berpikir dalam kode. Bersenang-senanglah dengan itu.
Steven Evers
9
Jika Anda berpikir "Hm, bug itu mungkin ada dalam kode saya, bukan kompiler" Anda sedang berpikir seperti seorang programmer (well, seperti kebanyakan programmer).
gablin
5
@SnOrfus: Tidak seorang pun kecuali Jon Skeet;)
back2dos
4
dari satu noob ke yang lain: Latihan adalah kuncinya!
Chani
1
@Snorfus Saya bertaruh Beberapa orang melakukannya! : P
Mark C

Jawaban:

26

Saya berpendapat cara terbaik adalah dengan hanya menghabiskan lebih banyak waktu di atasnya (mencari aturan 10000 jam). Temukan sesuatu yang Anda ingin selesaikan dan bersiaplah untuk menyelesaikannya. Pilih sesuatu yang di luar kemampuan Anda saat ini, tetapi tidak terlalu jauh sehingga Anda tidak akan dapat menyelesaikan dalam jumlah waktu yang wajar. Jika Anda benar-benar menikmatinya, Anda akan menemukan diri Anda mengulanginya sampai Anda benar-benar pandai Jika Anda tidak menikmatinya, maka mungkin itu bukan hal yang tepat untuk Anda. Cobalah untuk menantang diri sendiri, Anda mungkin akan menikmatinya.

WhiteFang34
sumber
Saran aturan 10000 jam terdengar seperti adil. Sangat menarik, tetapi bahasa mana yang harus saya pilih yang masih relevan & menawarkan fleksibilitas yang sama dengan bahasa baru (misalnya: Jika saya mempelajari Java secara mendalam dengan semua konsep, saya akan dapat bermigrasi ke Scala, Processing, Clojure, dll cukup mudah).
Ameen
11
Ameen: Jangan khawatir tentang bahasa lain. Pelajari satu. Pindah nanti, setelah Anda menempatkan 10.000 jam di Jawa. Hidup itu panjang, ada banyak bahasa, Anda tidak akan mempelajari semuanya. Yang baru ditemukan sepanjang waktu. Pelajari satu hal sekarang. Khawatir tentang masa depan setelah itu.
S.Lott
2
"menghabiskan lebih banyak waktu untuk itu" dengan cara yang tidak jelas tidak efektif.
Rein Henrichs
1
Juga strategi yang baik adalah belajar bahasa pemrograman Berorientasi Objek dan belajar bahasa pemrograman Fungsional. Pelajari bahasa yang diketik secara statis dan bahasa yang diketik secara dinamis. Anda akan menjadi pengembang yang berpengetahuan luas.
Chiron
1
@Beven Anda perlu memeriksa esai Peter Norvig tentang "Belajar Pemrograman dalam 10 tahun" yang mirip dengan ini dan memberi banyak perhatian pada beberapa masalah besar yang dihadapi pendatang baru dalam pemrograman.
Ameen
16

Kirim barang . Itu satu-satunya cara. Selesaikan semuanya. Di tempat kerja, proyek Anda sendiri, proyek sumber terbuka. Mulai pengiriman barang. Mereka bisa berupa hal-hal yang sangat kecil, seperti perbaikan bug atau fitur yang dapat dipasarkan minimum. Mulai saja pengiriman barang . Tidak ada yang lebih memuaskan atau membangun kepercayaan selain kesuksesan.

Sunting: Anda harus membaca Kirim Ini . Itu bagus.

Sunting lagi: Pengalaman melakukan apa pun selain pengiriman hanyalah pengalaman yang gagal. Saya telah melihat banyak pengembang "senior" yang pengalaman utamanya bukan pengiriman barang (dan mencari alasan untuk tidak mengirimkannya). Artis sejati kapal .

Rein Henrichs
sumber
12

'masalah', 'tidak memadai', 'dicekik', 'keterampilan X terbatas', 'diremehkan', 'tertekan', 'ketidakmampuan' dalam satu kalimat, semua yang ditujukan kepada diri Anda menunjukkan kepada saya beberapa luka tidak sembuh dari masa lalu yang masih sakit. kamu. Jika Anda menemukan cara untuk mengatasinya, pemrograman atau seni / kerajinan semacam itu akan sangat mudah untuk dikuasai. Mungkin membaca tentang ketahanan orang lain akan membantu di sini. Setiap orang mengalami masa-masa menyakitkan dalam hidup mereka. Jika luka / luka itu tidak sembuh, kesuksesan mereka tidak akan datang. Sembuhkan luka Anda terlebih dahulu. Pemrograman bisa menunggu nanti.

Adapun keterampilan pemrograman, bagaimana saya belajar bahasa baru dan mulai berpikir seperti orang lain yang sudah memprogram dalam bahasa itu, pertama, baca semua yang bisa saya taruh di tangan yang terkait dengan bahasa itu. Kemudian, ketika saya sudah cukup membaca, mulailah menulis program kecil.

vpit3833
sumber
2
Dengan nada yang sama, jika Anda ingin melihat seseorang yang memiliki masalah yang sama dan komunitas berkumpul di sekitarnya dan masalahnya, pastikan untuk membaca utas Berita Peretas ini .
Wes Baker
3
+1 untuk saran untuk membaca dokumentasi dan tutorial. Dan untuk bagian pertama, saya setuju bahwa banyak luka tidak sembuh. (Apa yang dilakukan psikolog di situs ini?) Namun sayangnya beberapa luka tidak dapat disembuhkan semudah yang lain. Tapi aku sudah berdamai dengan mereka, dan terus terang mereka tidak terlalu sakit seperti dulu. Dan menjadi malas hanya mendorong saya ke arah pikiran negatif seperti itu dan satu-satunya cara untuk melakukan itu adalah dengan menjaga diri saya sibuk dengan Coding, dll. Terima kasih banyak atas saran Anda, dan Anda teman saya telah membuat saya bingung dengan keterampilan psikis Anda.
Ameen
@Wes Baker: Terima kasih banyak atas utas Berita Peretas itu. Saya tentu saja bisa mengaitkannya dengan pemikiran OP (walaupun saya belum pernah seburuk itu). Saya (berpikir) memiliki pengetahuan yang cukup baik tentang Sistem Operasi, Arsitektur Komputer, Algoritma, Struktur Data, Jaringan Komputer, Kriptografi, Data Warehousing, dll. (Walaupun saya perlu memolesnya). Seperti yang saya katakan saya tahu semua mata pelajaran ini dari POV teoritis, dan belum benar-benar melakukan hal-hal praktis di atasnya. Pasti akan membaca sekilas thread itu, banyak saran yang bagus di sana juga. Tyvm!
Ameen
@Ameen Dengan 'semuanya', saya tidak membatasi pada dokumen dan tutorial. Kode yang telah ditulis orang lain, idiom yang mereka gunakan, kesalahan, pengecualian, dll yang dihadapi dan solusi mereka, dll. Saya bukan psikis atau psikolog dengan cara apa pun.
vpit3833
9

Beberapa hal yang perlu Anda lakukan:

Ketekunan: Menjadi programmer yang baik membutuhkan waktu latihan. Anda harus menulis banyak kode buruk sebelum Anda menulis kode bagus - banyak kode buruk. Untungnya, Anda memiliki sumber daya seperti situs ini untuk membantu Anda. Selama Anda tetap berkomitmen untuk belajar memprogram, Anda akan dapat menyusun gim dan utilitas sederhana dalam waktu singkat!

Tujuan: Tetapkan beberapa tujuan untuk diri Anda sendiri. Katakanlah belajar bagaimana menggunakan STL dalam C ++ dalam dua minggu. Lihat seberapa baik Anda melakukannya. Jika Anda membutuhkan waktu lebih lama, perhatikan berapa lama lagi, ini akan membantu Anda melakukan yang lebih baik di masa depan. Saya belajar trik ini dari seorang rekan kerja; dia bisa memperkirakan, sampai hari itu, berapa lama hampir semua tugas akan membawanya. Melakukan ini telah membantu saya mengawasi berapa lama saya habiskan untuk proyek-proyek pribadi, dan membantu saya agar tidak menggelembung di luar kendali (manajemen ruang lingkup mereka menyebutnya).

Keingintahuan: Anda harus tertarik dan terlibat. Jika Anda bukan tipe orang yang tidak mendekati masalah dengan keinginan untuk menemukan solusinya, memulai pemrograman akan sulit pada awalnya, dan debugging bisa menjadi mimpi buruk. Tetapi tidak harus begitu. Jika Anda memiliki masalah, tanyakan di situs-situs seperti ini, google kesalahan Anda. Jika Anda tidak tahu cara mengimplementasikan sesuatu, tanyakan! Selalu ada orang di luar sana yang bersedia membantu!

Keyakinan: Percaya diri pada apa yang ingin Anda lakukan, dan cukup percaya diri untuk mengajukan pertanyaan. Jika seseorang menunjukkan kepada Anda cara lain untuk melakukan sesuatu, jangan bersikap defensif, atau meremehkan diri sendiri dengan berpikir Anda melakukan kesalahan; pikirkan itu ketika Anda diajari pendekatan yang berbeda untuk menyelesaikan masalah Anda!

Di atas segalanya, pertahankan pandangan positif, baca banyak tutorial, dan ajukan banyak pertanyaan, dan Anda akan menjadi programmer yang bahagia! Sedikit nasihat lain yang harus saya berikan adalah memilih bahasa, tetap dengan itu sampai Anda lebih percaya diri. Anda memiliki banyak waktu untuk mempelajari berbagai bahasa, tetapi ketika Anda memulai, hanya bekerja dengan satu bahasa.

Semoga berhasil! Dan ingat, ini seharusnya menyenangkan! = D

bryanegr
sumber
Terima kasih atas masukan wawasan Anda. Salah satu masalah saya adalah kenyataan bahwa saya (sering) membidik terlalu tinggi dan jatuh tertelungkup terlebih dahulu. Alam Bawah Sadar saya mungkin telah mengambil pendekatan "Terbakar sekali, dua kali malu" dan mungkin menghalangi upaya saya untuk memperbaikinya. Saya selalu ingin tahu, tetapi kurangnya mentor telah membuat saya mengabaikan keingintahuan saya. Dan serius SE terlihat jauh lebih awesomer seiring berjalannya waktu, saya pasti akan membaca dengan teliti sumber daya yang luar biasa ini dan mencapai tujuan saya untuk menjadi programmer yang tepat. Terima kasih banyak, saya benar-benar tidak bisa mengatakan berapa arti posting Anda bagi saya.
Ameen
Saya senang membantu! = D
bryanegr
Tujuan terbaik: kode pengiriman!
7

Dalam perkembangannya tampaknya paradoks "semakin Anda tahu, semakin Anda tahu Anda tidak tahu" benar.

Jika Anda adalah orang yang bijaksana dan jujur, Anda harus menerima fakta ini dan belajar menghadapinya.

Keyakinan, dalam arti tersirat oleh pertanyaan, adalah hal yang sangat pribadi yang benar-benar tidak ada hubungannya dengan keahlian atau metodologi tertentu.

Pada nada yang lebih dangkal, sentimen yang dijelaskan dalam http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (bagian: Anda secara radikal melebih-lebihkan keterampilan rata-rata dari kompetisi karena Kerumunan tempat Anda bergaul) selalu membantu saya.

Saya menyarankan agar Anda belajar untuk lebih percaya diri dalam pekerjaan yang telah Anda lakukan sebagai lawan membangun kepercayaan pada keterampilan Anda secara keseluruhan. Satu-satunya cara terbaik untuk melakukan ini adalah menulis tes berulang untuk semua kode Anda. Ini akan bekerja keajaiban pada jiwa Anda.

smp7d
sumber
4

WhiteFang34 sepenuhnya benar. Sebagai seorang ahli biologi sendiri, saya menemukan bahwa satu-satunya cara saya harus belajar pemrograman adalah dengan mulai melakukannya. Baca beberapa buku, miliki google dan SO selalu tersedia, dan "lakukan saja". Program Anda akan sangat dasar, kode buruk dan kereta pada awalnya, dan Anda akan menjadi lebih baik dan lebih baik seiring waktu. Saya tidak punya waktu untuk mengambil kelas pemrograman, tapi saya menghabiskan banyak waktu untuk coding (karena itu menyenangkan untuk melakukannya).

Pilih bahasa yang memungkinkan Anda berpikir lebih banyak tentang apa yang ingin Anda lakukan dan lebih sedikit bagaimana melakukannya. c bukan contoh yang sangat bagus untuk itu. Coba bahasa tingkat yang lebih tinggi seperti java atau c #, karena mereka akan membiarkan Anda melakukan lebih banyak, jadi Anda akan mendapatkan keberanian untuk mencoba lebih banyak dan lebih banyak lagi.

(Yaitu, tentu saja, dengan asumsi bahwa Anda tidak mengejar karir sebagai programmer profesional, dalam hal ini saya hanya akan mengatakan kembali ke sekolah ...)

Semoga berhasil, dan dapatkan coding yang menyenangkan

PS: Oh, dan kamu akan butuh banyak kemalasan, ketidaksabaran, dan keangkuhan

http://c2.com/cgi/wiki?LazinessImpatienceHubris

Aleadam
sumber
4

Lucunya adalah:

Pikiran programmer tidak banyak tentang komputer, bahasa pemrograman,
pola-desain atau algoritma

Ini tentang memahami seluk-beluk dunia nyata, interaksi antara berbagai hal. Kemampuan berpikir abstrak . Kemampuan untuk memperhatikan hal - hal dan mengingatnya . Itu pasti mengarah pada pemecahan masalah yang baik.

Implementasi, kode itu sendiri datang hanya setelah itu - setelah Anda berhasil
memecahkan masalah yang ada dalam pikiran Anda.

Arnis Lapsa
sumber
4

Keyakinan bukanlah sesuatu yang harus Anda coba rasakan tentang keterampilan Anda. Keyakinan itu buruk (bahkan mungkin negatif) berkorelasi dengan keterampilan yang sebenarnya. Anda harus bekerja untuk meningkatkan keahlian profesional Anda (atau hobi yang dihargai) yang ditetapkan, apa pun yang Anda rasakan tentang tingkat keahlian Anda saat ini.

Keyakinan adalah sesuatu yang orang lain, mereka yang Anda anggap kompeten, harus merasakan keterampilan Anda setelah bekerja dengan Anda atau melihat pekerjaan Anda.

hotpaw2
sumber
3

Ini sangat sederhana: tertariklah ! Anda tampaknya sudah, jadi temukan sesuatu yang menurut Anda akan keren untuk dilakukan, dan kemudian lakukan, ajukan pertanyaan apa pun yang Anda perlukan di jalan, menggunakan sumber daya apa pun yang Anda bisa, untuk menyusun proyek seperti yang Anda inginkan ingin. Bilas dan ulangi, dan Anda akan menemukan diri Anda menjadi programmer yang hebat tanpa harus berusaha keras, karena itu menarik / menyenangkan di sepanjang jalan.

Juga, temukan keseimbangan yang baik antara mencari tahu hal-hal dan mengajukan banyak pertanyaan. Pada awalnya, terutama, sangat membantu orang lain memberi tahu Anda di mana Anda salah, untuk mendorong Anda pada bagian pertama dari kurva pembelajaran. Dari sana, cobalah mencari tahu sendiri, dan jika Anda buntu setelah beberapa saat kemudian ajukan pertanyaan tentang itu. Yang sering saya lakukan adalah memposting pertanyaan pada SO, dan kemudian mencari jawabannya, memeriksa SO sesekali dalam proses. Terkadang saya menemukan jawabannya terlebih dahulu, kadang-kadang menemukan saya terlebih dahulu.

Jangan terlalu khawatir tentang teknologi yang mana, meskipun mungkin sangat menyenangkan untuk membuat grafik dengan HTML5 + JavaScript + tag kanvas, karena itu cukup mudah untuk diatur, hasilnya langsung, dan Anda dapat membaginya.

Claudiu
sumber
Terima kasih banyak. Saya sangat tertarik dengan Pemrograman (saya benar-benar menyelesaikan masalah di kepala saya - dan tentu saja dalam algoritma, diagram alur, dll.) Saya sepertinya kurang memiliki kemelekatan pada proyek dan terus mengerjakannya dan meminta bantuan ketika terjebak di jalan buntu. (semua itu harus diakhiri sekarang, :) Terima kasih kepada SE) Juga, saya sangat tertarik dengan hal-hal JavaScript + HTML5 (memuat sebagian halaman - Mashable mengimplementasikan ini dengan cara yang mengagumkan, Jawaban memuat di SE, dll). Tidak benar-benar tahu sumber daya yang layak bagi mereka untuk belajar dari (W3C-Schools seharusnya dukun; W3Fools mengatakan demikian!)
Ameen
3

Pendekatan pemrograman dengan sikap peserta didik yang lebih positif. Tidak ada yang tahu segalanya. Kedua, Cari tahu mengapa Anda tertarik pada pemrograman baik yang Anda sukai:

  • penyelesaian masalah
  • mempelajari hal-hal baru
  • membuat tikungan komputer sesuai keinginan Anda
  • sesuatu yang lain ...

Setelah Anda tahu apa yang Anda sukai dari pemrograman, Anda dapat memfokuskan upaya belajar Anda ke arah itu. Saya seorang pemecah masalah / pemecah masalah. Itu membuat saya sangat pragmatis. Algoritma dan struktur data, teori ilmu komputer pada umumnya membuat saya tertidur.

Latar belakang saya mirip dengan Anda. Mulai membangun komputer pada usia 10 tahun. Melakukan sedikit HTML / C ++ di usia remaja saya ... bosan dengannya ... berhenti selama beberapa tahun. Saya tidak pernah berhenti bermain-main dengan komputer.

Sekarang, saya suka pemrograman. Jadi apa yang berubah? Saya menemukan motivasi saya. Saya mulai bekerja di mana saya diberi banyak masalah untuk diselesaikan. Menemukan solusi cerdas dan sederhana untuk masalah kompleks benar-benar membuat saya terbakar.

Akhirnya, jangan khawatir tentang bagaimana kode orang lain atau apakah itu "benar" atau tidak. Benar jika melakukan apa yang Anda inginkan. Begitu Anda mulai bekerja di tim, standar menjadi penting. Hal ini disebabkan oleh fakta bahwa orang lain harus dapat menginterpretasikan dan memodifikasi karya Anda. Standar desain bukanlah sesuatu yang harus diperhatikan oleh programmer baru.

P.Brian.Mackey
sumber
3

Selalu ada kelemahan untuk diatasi ketika mempelajari hal-hal baru. Programmer yang penasaran yang saya kenal berjuang untuk menemukan motivasi untuk terus belajar bahasa dan paradigma baru. Mereka akan berkata, "Saya perlu proyek untuk mencoba X." untuk mempelajari X. Beberapa akan benar-benar menemukan / menciptakan proyek itu.

Maklum bahwa karier dalam pemrograman akan menjadi proses frustrasi seumur hidup, belajar, bereksperimen, dan memiringkan kincir angin. Sampai AI mengambil alih segalanya.

Jika Anda masih melakukan sains nyata, maka Anda harus dapat membayangkan suatu proyek / kebutuhan. Misalnya, menggabungkan data dari berbagai sumber di dalam atau di luar internet. Ini mungkin menginspirasi Anda sedang belajar javascript atau R atau bahkan Excel / VBA. Jika Anda dapat menghubungkan beberapa titik untuk orang lain di bidang Anda, Anda akan dikenali, dan voila, Anda akan menjadi seorang programmer.

Gunakan tapi hati-hati dengan mentor. Otoritas pertanyaan.

Dan omong-omong, "zen coding" adalah sebuah oxymoron.

stevej
sumber
3

Anda tidak akan pernah merasa yakin dengan keterampilan pemrograman Anda.

Cara Anda menggambarkan keterampilan Anda, menunjukkan pola pikir di mana Anda tidak akan pernah puas dengan keterampilan Anda. Anda menguasai C ++? Tunggu, ada Jawa! Anda menguasai Java? Tunggu ada Pemrograman Paralel. Anda menguasai Pemrograman Paralel dalam C ++ dan Java? Tunggu, ada SOA! Ada OOD! Dan MVC! PADAT! Pemrograman Fungsional! Pemrograman Web! Pemrograman Cloud! Pemrograman Seluler!

Intinya adalah jangan merasa tertekan karena hal ini. Anda perlu menekan beberapa tombol di kepala Anda: Keraguan Anda tentang keterampilan Anda adalah bahan bakar murni. Anda mungkin tidak akan pernah mencapai tingkat keterampilan pemrograman yang memuaskan. Selama ini masalahnya, Anda akan bergerak maju. Bagian yang sulit adalah menyadarinya dan melakukan sesuatu terhadapnya, meskipun tidak akan pernah ada tujuan. Semakin lama Anda tahan, semakin tinggi tingkat keahlian Anda.

Theo Lenndorff
sumber
Wow, itu cara yang sama sekali baru dalam memandang ini. Sukai cara Anda menggambarkannya, akan selalu ada sesuatu yang ingin Anda lakukan. Saya benar-benar harus mulai mengubah negatif saya menjadi positif. Terima kasih banyak. Menghargai itu!
Ameen
3

Dulu saya merasakan hal yang sama, dan sebenarnya situs Stack Exchange yang membantu memberi saya kepercayaan diri.

Saya mulai menggunakan StackOverflow untuk menemukan jawaban untuk pertanyaan saya, dan suatu hari saya melihat jawaban yang saya tahu jawabannya. Saya memposting jawabannya, mendapat suara terbanyak dan komentar yang mengatakan itu adalah jawaban yang baik, dan itu mendorong saya untuk mencari-cari pertanyaan lain yang bisa saya jawab.

Segera tumbuh menjadi kecanduan bagi saya, menemukan pertanyaan yang tidak bisa dijawab yang bisa saya pecahkan, dan seiring berjalannya waktu saya mulai mendapatkan kepercayaan pada jawaban saya. Saya tidak lagi harus mengatakan "Saya pikir ini karena ...." atau "Ini seharusnya menyebabkan ..." tetapi sebaliknya dapat mengatakan dengan keyakinan bahwa "Ini karena ..." atau "Ini menyebabkan ..."

Saya suka teka-teki, dan bagi saya SO pertanyaan seperti teka-teki pemrograman mini, dengan manfaat tambahan mendapatkan umpan balik positif jika saya mendapatkan jawabannya dengan benar. Jika saya mendapat jawaban yang salah, saya hanya menghapusnya dan belajar dari solusi orang lain untuk masalah yang sama.

Jadi rekomendasi saya adalah menggunakan SO dan menelusuri pertanyaan dengan tag apa pun yang Anda minati, dan mencari beberapa yang menurut Anda dapat menemukan jawabannya. Tidak ada yang seperti orang yang mengatakan kepada Anda jawaban pemrograman Anda sangat membantu / baik untuk memberi Anda kepercayaan pada kemampuan pemrograman Anda :)

Rachel
sumber
Tentu, saya perlu melakukan itu. Tapi egoku menendang dan berkata, "Kamu tidak cukup baik untuk orang lain untuk melakukan hal-hal, bahkan kamu tidak cukup baik untuk berada di sini". Saya tahu ini kedengarannya konyol, dan seperti yang disebutkan oleh beberapa orang di sini, mungkin saya hanya takut untuk membuat otak saya stres, tetapi saya akan melakukannya, saya akan menekankan gumpalan lemak itu sampai tidak ada hasilnya. Terima kasih banyak atas sarannya dan saya akan mencoba untuk tetap pada kebiasaan baru saya menjelajahi SE untuk pertanyaan menarik setiap hari untuk dipecahkan. Terima kasih telah meluangkan waktu Anda dan menjawab pertanyaan konyol saya. Saya sangat menghargai itu!
Ameen
3

Otak Anda tidak suka bekerja terlalu keras. Diberi pilihan, ia memilih untuk mengambil jalan keluar yang mudah. Inilah sebabnya mengapa mudah untuk menyerah pada hal-hal ketika Anda mencoba untuk mengatasi sesuatu yang terlalu ambisius - terlalu banyak untuk dipelajari, terlalu banyak detail fiddly untuk dikerjakan dengan benar, terlalu banyak bercukur.

Ada beberapa hal yang dapat Anda lakukan untuk mengatasi hal ini. Yang pertama adalah energi. Cobalah untuk berlatih ketika Anda cukup istirahat dan cukup makan, atau otak Anda secara harfiah tidak akan memiliki cukup bahan bakar untuk pemikiran abstrak yang kompleks. Trik kedua adalah minat atau kepentingan. Jika Anda dapat meyakinkan otak Anda bahwa mengetahui pakar sihir penting untuk melarikan diri dari harimau yang mengejar Anda, Anda akan belajar dan mempertahankan lebih daripada ketika otak Anda berpikir bahwa itu adalah tugas sampingan yang tidak berarti dalam perjalanan ke apa yang benar-benar Anda inginkan. Faktor ketiga yang penting adalah peregangan tanpa berlebihan. Beberapa upaya akan memberi Anda semangat dari prestasi, dan akan membantu membentuk jalur mental baru, tanpa menjadi tidak bisa diraih.

Ada juga sesuatu yang bisa dikatakan untuk latihan berulang. Anda ingin cukup variasi untuk menjadi novel, tetapi cukup kesamaan sehingga Anda bisa melakukan tindakan yang sama dan menggunakannya.

Satu hal lagi adalah Anda harus berusaha menyingsingkan lengan baju dan membuat tangan Anda kotor. Sangat mudah untuk menghabiskan banyak waktu memikirkan pendekatan alternatif atau solusi ideal, sejauh Anda tidak pernah memulai. Ini adalah contoh otak Anda yang mencoba mengambil jalan keluar yang lebih mudah. Coba kenali kapan ini terjadi pada Anda dan hindari dengan mencoba memulai. Bahkan tes atau eksperimen itu baik. Ini juga memiliki manfaat tambahan yaitu membuat otak Anda menginginkan penutupan untuk menyelesaikan tugas atau menemukan solusi yang lebih baik.

CPhelps
sumber
Wow, Anda baru saja menemukan pelaku terbesar yang pernah saya duga. Otak saya, saya selalu punya masalah dengan kaki dingin, dan sebagian besar waktu saya akhirnya menyabot diri. Selalu ada beberapa alasan yang saya buat untuk menghindari melakukan apa yang penting. Saya perlu menjadi seorang hacker dan berhenti khawatir tentang kegagalan secara monumental karena kegagalan di masa lalu. Saya perlu meretas hidup saya sehingga saya menjadi "Ya manusia" klasik. Terima kasih telah menunjukkan beberapa kekurangan dalam diri saya yang benar-benar perlu saya ubah, dan saya berharap untuk segera melakukannya. Terima kasih banyak, dan saya tidak akan pernah cukup berterima kasih untuk ini! Tepuk tangan.
Ameen
2

Tiga hal yang perlu dipertimbangkan: (Atau tidak, tentu saja.)

  1. Praktek. Bagaimana jika kegagalan tidak lebih dari indikasi Anda sedang berlatih? Jika Anda berhenti belajar berjalan saat pertama kali jatuh, Anda masih akan merangkak.
  2. Bermainlah dengan apa pun yang Anda lakukan. Bermain hanyalah mencoba sesuatu dan memperhatikan apa yang terjadi. Berhenti menilai hasil baik / buruk, mainkan saja dan lihat apa yang terjadi. Berhenti melekat pada hasil tertentu, coba saja sesuatu dan lihat apa yang terjadi.
  3. Bagaimana jika Anda bukan satu-satunya programmer di dunia yang pernah merasakan hal ini?
David Pointer
sumber
2

Ada banyak komentar bagus tentang latihan di sini, itu benar-benar membuat perbedaan.

Anda tidak perlu terlalu khawatir tentang "atlet kode" dan menerima saran atau komentar mereka apa adanya. Jika mereka sulit untuk ditangani dalam sebuah utas, mereka mungkin juga sulit untuk ditangani dalam kehidupan nyata; dan sungguh, siapa yang punya waktu untuk mengkhawatirkan ketidakmampuan sosial mereka?

Hasil akhirnya adalah, ada ribuan cara untuk mendekati tugas pemrograman. Banyak hal bermuara pada preferensi pribadi. Saya misalnya, benci membaca kode dengan operator tenary. Yang lain, cintai mereka. Apakah saya pikir mereka benar atau salah? ... sebenarnya, tidak juga. Ini adalah pilihan pribadi meskipun banyak perdebatan sengit akan terjadi pada topik tersebut.

Jika seseorang mencaci-maki kode Anda karena Anda mengambil 25 baris alih-alih 20 saya cenderung mengabaikannya kecuali mereka telah menemukan kesalahan aktual dalam logika. Terkadang di dunia nyata, kita harus menyelesaikan sesuatu (dan siapa yang benar-benar ingin mendengarkan seseorang membusungkan tentang betapa rumitnya ... err, anggun mereka berhasil membuat sepotong kode yang seharusnya selesai dalam 10 menit) . Bisakah Anda belajar sesuatu dari perdebatan filosofis yang tak ada habisnya tentang seberapa jauh hal-hal abstrak? Tentu ... tapi ada pengembalian yang redup karena tersedot ke dalam keanggunan 100% yang konstan. Itu tidak realistis sepanjang waktu seperti yang kita inginkan. Beberapa kode saya yang paling tidak elegan yang akan saya malu untuk dibagikan kepada siapa pun (yang saya tulis di awal karir saya) telah menyelamatkan orang dari minggu ke minggu, senilai waktu,

Ada posting blog yang luar biasa oleh Joel Spolsky yang disebut Duct Tape Programmer. Ini adalah bacaan yang bagus dan IMO menempatkan beberapa ketakutan Anda ke dalam perspektif.

http://www.joelonsoftware.com/items/2009/09/23.html

Saya tidak mengatakan menulis kode omong kosong dan mengabaikan praktik terbaik, tetapi mengambil programmer ranty dengan sebutir garam.

b.pell
sumber
1

Tanyakan pada diri sendiri mengapa Anda sebenarnya merasa kurang percaya diri. Saya pikir itu karena Anda peduli dengan apa yang teman-teman Anda pikirkan, dan itu bisa dimengerti. Tetapi untuk menjadi benar-benar zen tentang hal itu, Anda perlu menjernihkan pikiran seperti itu dan hanya membandingkan diri Anda dengan diri sendiri dari waktu ke waktu. Dipandu oleh minat Anda, belajar dan bekerja keras, dan Anda akan menjadi programmer yang baik tanpa semua BS psikologi.

Ini bukan kepercayaan diri yang Anda butuhkan, lebih sedikit kebisingan di jalur kemajuan Anda.

Kevin Hsu
sumber