Baca baca.
Tidak, sungguh, baca.
Baca segala sesuatu tentang algoritma dan desain yang dapat Anda temukan. Ada banyak buku fenomenal di luar sana. Buku-buku algoritma Sedgewick bagus. Manual Desain Algoritma oleh Skiena juga bagus. Bersama-sama, buku-buku ini mengikuti saya di setiap rak buku di setiap pekerjaan yang saya kunjungi, bersama dengan The Mythical Man-Month.
Lalu tanyakan.
Berbicaralah dengan orang yang Anda hormati. Tanyakan kepada mereka poin keputusan apa yang mereka miliki dan mengapa mereka membuat keputusan yang mereka lakukan. Yang baik akan selalu bisa memberi tahu Anda, "Saya memilih untuk melakukan X karena lebih baik daripada A, B dengan cara ini. Saya bisa saja menggunakan C, tetapi saya merasa ini adalah pilihan yang lebih baik karena ini".
Selanjutnya, lakukan.
Bangun barang. Bangun barang-barang yang tidak akan pernah Anda gunakan. Bangun barang-barang yang tidak akan Anda butuhkan. Pergi menulis sebuah program yang memecahkan teka-teki Sudoku. Sekarang lakukan lagi. Dan lagi. Buat 5 cara yang sangat berbeda. Bangun sebuah program yang menghasilkan teka-teki Sudoku dan memasukkannya ke dalam solver. Temukan pemecah mana yang tercepat. Lalu...
Cari tahu mengapa.
"Apa" hampir tidak pernah penting. Maksud saya, ya, sangat penting untuk menyelesaikan proyek yang ada, tetapi pada akhirnya jika Anda tahu "apa" tanpa mengetahui "mengapa", maka Anda mungkin tidak pernah melakukannya di tempat pertama. Anda mendapat poin penting di resume Anda. Dapatkan kue dan ucapkan selamat kepada diri sendiri. "Mengapa" jauh lebih penting daripada "apa".
Dan sebagai catatan, Sudoku adalah contoh. Saya menghabiskan banyak waktu luang melalui latihan itu dengan satu ton teka-teki logika tentang Kongregate dan belajar banyak di jalan.
http://www.amazon.com/Bundle-Algorithms-Parts-1-5-Fundamentals/dp/020172684X/
http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/