Tertarik pada sejuta hal, memiliki sejuta tujuan: bagaimana memilih apa yang akan difokuskan [ditutup]

19

Saat ini saya bekerja sebagai pengembang Aplikasi Web menggunakan .NET Technologies. Saya tertarik mempelajari lebih lanjut tentang teknologi yang bekerja dengan saya, tetapi saya juga tertarik pada jutaan hal lainnya ... (termasuk pemrograman Sistem, Jaringan, Pengembangan Game, Pengembangan Seluler, topik Ilmu Komputer, Matematika, berpartisipasi dalam Open Sumber proyek, memulai bisnis saya sendiri, dll).

Saya sepertinya tidak bisa fokus pada satu hal untuk menjadi 'ahli' ketika ada begitu banyak hal lain untuk 'dikuasai' yang menarik perhatian saya, dan hanya ada berjam-jam dalam sehari ...

Pertanyaan saya adalah, apa sajakah strategi yang baik untuk berhenti menunda-nunda dan mengatur waktu secara efektif, sehingga Anda dapat memanfaatkan waktu luang Anda sebaik-baiknya dan mempelajari apa yang Anda minati, sementara tidak mengabaikan prioritas lain dan membiarkan minat lain jatuh melalui retak? Atau apakah saya harus berkorban, dan jika demikian, bagaimana saya memprioritaskan apa yang harus saya korbankan?

donnovan9
sumber
Maaf, saya diedit untuk mencoba dan mengklarifikasi pertanyaan yang diajukan.
donnovan9
Hai Konrad, pertanyaan Anda sangat panjang, dan ada banyak orang yang akan menganggap "ranty" di dalamnya. Saya tahu ini adalah permintaan yang agak ironis karena pertanyaan itu, tetapi bisakah Anda menyaring dan memfokuskan pertanyaan Anda ke beberapa pokok penting yang diperlukan untuk menjawab pertanyaan spesifik yang dapat dipecahkan? Jika tidak, pertanyaan Anda berisiko ditutup karena lebih banyak kata-kata kasar daripada pertanyaan.
Tentu ... lebih baik? Ini sungguh ironis haha
donnovan9
7
Saya pikir ini adalah pertanyaan yang menarik ... Dan saya serius!
Sal
3
Bukan pertanyaan yang sama, tetapi beberapa jawaban mungkin menarik bagi Anda: programmers.stackexchange.com/questions/16708/…
Benjol

Jawaban:

4

Temukan area dalam bidang yang ingin Anda pelajari dengan tumpang tindih. Anda mungkin tidak berpikir secara intuitif tetapi pemrograman sistem dan pemrograman game bisa sangat mirip. Terutama ketika datang ke akselerasi perangkat keras.

Contoh lain, jika Anda mencurahkan 10 jam atau lebih dalam seminggu untuk membangun perusahaan startup yang mengembangkan game seluler multi-pemain, Anda telah menyertakan pengembangan Seluler, Game, dan Jaringan bersamaan dengan memulai perusahaan Anda sendiri. Temukan pustaka Open Source yang bagus yang akan menjadi bagian utama dari proyek Anda dan bantu kembangkan lebih lanjut sebagai cara untuk mulai dan mengenal kerangka kerja Anda.

Cobalah untuk mengikuti prinsip KISS tidak hanya dalam pemrograman tetapi juga dalam kehidupan :) Konsolidasi dan buat diri Anda mendapatkan keterampilan yang lebih dapat digunakan kembali. Dalam situasi saya, saya biasanya mengembangkan perangkat lunak internal untuk menjalankan tugas perusahaan sehari-hari, melacak data, dll. Dalam waktu senggang saya bekerja pada mesin permainan.

Keduanya memiliki sejumlah besar data yang perlu dialihkan melalui saluran yang kompleks. Keduanya mendapat manfaat dari optimasi dan keduanya menggunakan basis data, jaringan, cache, dan 'presisi pintar' di antara banyak hal lainnya. Saya telah belajar dari masing-masing pihak bagaimana meningkatkan kinerja dan kualitas di pihak lain.

Saran saya adalah menemukan set tugas terbaik dengan mengingat apa yang paling Anda pedulikan dan kemudian, sedekat mungkin, seberapa baik mereka saling berhubungan.

Garet Claborn
sumber
1
Ini persis seperti apa yang saya cari! Saya kira triknya sekarang adalah menghasilkan proyek yang memiliki tumpang tindih ini. Saya suka ide membuat game justru karena melibatkan begitu banyak keterampilan yang berbeda, tumpang tindih, belum lagi, menyelesaikan permainan 'pong' sederhana akan memberi saya rasa percaya diri dan kesejahteraan tertinggi - itu adalah sesuatu yang saya telah menunda sebentar. Mesin permainan adalah ide yang bagus juga, karena menjadi titik peluncuran untuk proyek masa depan, dan sesuatu yang bisa saya bangun dan kembangkan. Hal yang keren!
donnovan9
1
Mesin yang bagus dan segar adalah tantangan besar yang telah meningkatkan keterampilan saya! Jauhkan staleness dari kode pekerjaan harian saya :) ... + 1 untuk kesejahteraan tertinggi
Garet Claborn
1
+1 untuk "mesin berair"
donnovan9
> _ <; berair salah eja ~~ Semoga aku melihat permainanmu ketika itu keluar = P
Garet Claborn
7

Ya, saya dulu berpikir seperti kamu. Saya ingin bisa membuat game. Maka saya akan pergi "tidak! Saya ingin membuat aplikasi web!" maka saya akan berkata "tidak! Saya ingin menguasai Unix!" Dan seluruh siklus "tidak, aku ingin ini, tidak, aku ingin itu" tidak pernah berhenti.

Jadi, inilah jawaban singkat untuk semuanya: tetaplah melakukan apa yang ada di ujung jari Anda .


Jadi, inilah sebuah cerita

Saya selalu ingin membangun program secara umum. Tidak masalah apa; Saya hanya ingin membangun sesuatu . Pada akhirnya, cara terbaik yang berhasil saya jalani dalam hidup saya adalah mencoba melakukan sesuatu dengan menggunakan satu alat yang saya "dengar" sedang dibicarakan. Jika saya gagal sepenuhnya, saya akan pindah ke hal lain.

Dan itulah bagaimana saya masuk ke pemrograman game.

Semuanya dimulai dengan Visual C # Express yang dipamerkan di beranda Microsoft.com. Seluruh IDE secara terang-terangan tersedia tepat di depan saya, jadi, saya mengklik tautan unduh dan segera memulainya. Saya menonton tutorial video, menulis banyak kode, dan di sana, saya siap.

Saat itulah saya mulai ke kiri dan kanan untuk menemukan sesuatu untuk dilakukan. Saya bisa membangun aplikasi Windows Forms, atau saya bisa membuat situs web. Kemudian saya akan memikirkan fitur yang dapat saya sertakan dalam proyek saya, tetapi saya tidak akan pernah melanjutkan untuk benar-benar membangun sesuatu. Aku hanya tidak cukup termotivasi.

Tidak sampai feed berita MSDN di Visual Studio mengumumkan rilis kerangka kerja gratis untuk membangun game Anda. Itu adalah XNA Game Studio Express v1.0! Saya memulai segera. Saya membangun beberapa game kecil di sana-sini.

Tapi inilah intinya: Saya merasa lebih termotivasi untuk mengerjakan permainan yang baru saja muncul di benak saya, daripada yang harus dipikirkan dengan keras. Saya punya ide bagus untuk membuat permainan ular 3d, mengerjakannya selama dua hari berturut-turut - sambil istirahat tentu saja - dan voila! Game yang sangat tampan yang berfungsi!

Dan ketika itu akan datang ke game-game itu di mana niat saya satu-satunya adalah untuk mengesankan teman-teman saya. Saya akan mengerjakannya selama dua atau tiga jam dan menyerah, dan tidak pernah melihatnya lagi. Sebenarnya, saya belum melihatnya selama setidaknya dua tahun.

Jadi inilah moral dari cerita ini: biarkan inspirasi membimbing Anda. Jangan memaksakan diri untuk melakukan sesuatu . Jika Anda ingin membuat aplikasi web, mungkin Anda mungkin ingin mempertimbangkan untuk menyelesaikan masalah yang selalu mengganggu Anda . Jika Anda ingin membuat game, maka saya sarankan agar Anda melihat hal-hal kecil dalam hidup yang Anda temukan "menyenangkan." Sekali lagi, semuanya bermuara pada inspirasi.

Saya harap itu membantu.

Sal
sumber
1
Memberi +1 untuk itu bukanlah teknologi semata yang benar-benar menarik, tetapi memenuhi ide nyata seseorang (bermimpi jika Anda inginkan) dan memecahkan masalah nyata dengannya.
Péter Török
Terima kasih, ini saran yang bagus, dan poin yang bagus. Kadang-kadang saya mencampuradukkan apa yang 'ingin' saya lakukan dengan apa yang menurut saya 'harus' saya lakukan - tetapi jika saya memiliki proyek yang menginspirasi untuk fokus, harus menjadi jelas apa yang harus saya pelajari selanjutnya untuk memajukan proyek. . Satu-satunya masalah yang tersisa, saya kira, adalah keinginan saya untuk memahami bagaimana hal-hal lain bekerja yang belum tentu termasuk dalam lingkup proyek. Akan sulit untuk menghasilkan sebuah proyek yang menginspirasi DAN memanfaatkan semua topik yang saya sebutkan di posting - tapi saya punya perasaan bahwa saya bisa mendekati :)
donnovan9
2

Saya sarankan melakukan proyek yang bagus di samping. Munculkan sesuatu yang keren yang ingin Anda buat, tetapi tidak tahu cara pendekatan - mungkin permainan atau bahasa pemrograman atau ...

Alih-alih memilih topik dan mempelajarinya, pelajari apa yang Anda butuhkan untuk mencapai tonggak berikutnya pada proyek Anda.

Dalam pengalaman saya, ini memfokuskan pembelajaran Anda sambil memastikan bahwa itu lengkap. Anda hanya belajar mata pelajaran apa pun yang Anda butuhkan untuk menyelesaikan proyek Anda, tetapi (selama Anda benar-benar menyelesaikan proyek) Anda cukup mempelajarinya . Bagian terbaiknya adalah bahwa proyek non-sepele cenderung mencakup berbagai macam mata pelajaran, sehingga Anda tidak akan menjadi terlalu spesialis.

Pada akhirnya, Anda tidak hanya akan belajar hal-hal (kadang-kadang bukan hal-hal yang Anda harapkan akan dipelajari, bahkan!), Tetapi Anda akan memiliki sesuatu yang berkilau untuk diperlihatkan untuk usaha Anda.

Tikhon Jelvis
sumber
Saran bagus. Saya sering cenderung berfokus pada "menyelesaikan buku teknologi" sebagai proyek untuk membangun fondasi untuk menciptakan sesuatu 'suatu hari', tetapi sekarang saya mulai melihat betapa cacatnya pendekatan itu: kemajuan yang lambat, retensi pengetahuan yang buruk dan tidak ada yang menunjukkan untuk itu! Kebalikannya terdengar lebih menarik: mulailah dengan sebuah proyek, dan KEMUDIAN tekan buku tech dengan haus untuk memecahkan tantangan berikutnya dalam proyek Anda.
donnovan9
0

Nah situasi Anda bisa dimengerti. Terjadi pada pemula. Nah, pekerjaan Anda saat ini akan sangat menentukan apa yang akan dilakukan dalam sisa hidup Anda. Akan sulit (baca hampir tidak mungkin) untuk beralih ke jalur lain seperti Sistem pemrograman semakin lama Anda bekerja di jalur Anda saat ini. Jika Anda ingin beralih, lakukan dalam 2 tahun. Anda dapat menindaklanjuti minat Anda yang lain di samping. Cari proyek di sourceforge.

DPD
sumber
-1

Sepertinya ini akan memakan waktu bertahun-tahun. Learn Unix, itu tidak akan menjadi usang.

Christopher Mahan
sumber
Ya, itu adalah bagian dari masalah ... teknologi datang dan pergi, jadi saya mulai berkeringat karena fakta bahwa Silverlight 5 akan keluar dan saya belum menyelesaikan buku itu di Silverlight 3 ... misalnya
donnovan9
dan Unix juga ada dalam daftar;)
donnovan9
@Konrad - Jika Anda tidak dapat memutuskan, dan tidak dapat mengikuti, maka akan lebih bijaksana untuk memilih jalur teknologi yang mengubah "lebih lambat" untuk meletakkannya, seperti * nix, Perl, C, Fortran ... yang memiliki sejarah dan pasti akan berada di sini beberapa waktu dari sekarang. Masalah dengan teknologi baru adalah bahwa mereka terbakar terlalu cepat, dan kecuali Anda berkonsentrasi pada mereka hanya, paling sering Anda tidak bisa hanya mengikuti.
Benteng
Menarik ... Saya tetap baik-baik saja dengan apa yang perlu saya lakukan di tempat kerja, setidaknya ... hanya kewalahan dengan pilihan apa yang harus dipelajari di waktu luang saya. Namun, saya suka ide untuk kontras dengan bekerja lebih pada sesuatu seperti internal OS atau jaringan di waktu luang saya (yang berubah lebih lambat juga). Saya masih ingin melakukan lebih banyak lagi.
donnovan9