it-swarm-id.com

Saya tidak memprogram waktu luang saya. Apakah itu membuat saya pengembang yang buruk?

Banyak blog dan saran di web tampaknya menyarankan bahwa untuk menjadi pengembang yang hebat, melakukan pekerjaan harian saja tidak cukup. Misalnya, Anda harus berkontribusi untuk proyek sumber terbuka di waktu luang, menulis aplikasi ponsel cerdas, dll. Sebenarnya banyak saran ini menyarankan bahwa jika Anda tidak suka pemrograman cukup untuk melakukannya sepanjang hari maka Anda mungkin dalam karier yang salah.

Itu tidak benar dengan saya. Saya menikmati pekerjaan saya, tetapi ketika saya pulang dari kantor saya tidak berminat untuk langsung melompat kembali ke komputer dan mulai menulis kode sampai tidur. Saya hanya memiliki sejumlah jam waktu luang setiap hari, dan saya lebih suka menghabiskannya untuk hobi lain, melihat teman atau pergi keluar daripada di depan komputer.

Saya mendapatkan tendangan keluar dari pemrograman, dan melakukan hack di luar pekerjaan sesekali. Saya berkomitmen untuk pengembangan pribadi saya dan menghabiskan waktu membaca blog dan buku teknologi sebagai cara untuk terus belajar dan menjadi lebih baik. Tapi itu tidak meluas sejauh keinginan saya untuk menggunakan semua waktu luang saya untuk pengkodean.

Apakah ini berarti saya bukan pengembang perangkat lunak 'benar'? Apakah mungkin untuk menjadi pengembang perangkat lunak yang baik tanpa melakukan pekerjaan ekstra di luar Anda? Saya akan sangat tertarik mendengar pendapat Anda.

Perbarui: terima kasih semuanya atas komentar & jawaban Anda. Banyak pemikiran dan saran yang bagus!

387
not-my-real-name

IMO sikap ini berasal dari orang-orang yang memiliki pekerjaan mengerikan, menghisap jiwa, dikombinasikan dengan keterampilan manajemen waktu yang buruk. Jika pada dasarnya Anda mengetikkan formulir web sepanjang hari, keluarlah dan dapatkan pekerjaan yang lebih menantang, atau mulai pekerjaan Anda sendiri.

Inilah masalahnya. Seorang musisi konser (pemain cello/pianis/apa pun), akan berlatih paling banyak 6 jam per hari. Sebagian besar hanya berlatih beberapa jam per hari. di level tertinggi

Orang mengatakan program lebih banyak karena Anda belajar lebih banyak, tetapi itu adalah tabir asap. 8 jam per hari adalah banyak .

Kemajuannya adalah [~ # ~] tidak [~ # ~] linier. Ini logaritmik:

enter image description here

Satu-satunya alasan bahwa seorang musisi dapat berlatih lebih dari 3 jam, adalah bahwa mereka perlu memeras tambahan 1% yang diberikan oleh jam itu. Jika Anda berpikir itu berlaku untuk Anda, menyelesaikan kembali masalah yang diselesaikan CS 2 dekade lalu, maka Anda memiliki kompleks prima-donna untuk di-boot.

Saya pernah bekerja di perusahaan pressure cooker sebelumnya, dan percayalah, jumlah pekerjaan sebenarnya yang dilakukan orang-orang itu tidak lebih baik daripada perusahaan seperti sinyal yang menempatkan batasan pada jumlah pekerjaan: http://37signals.com/svn/posts/996-why-i-love-working-with-family-people

Apa yang akhirnya terjadi adalah itu pasti, Anda mungkin berada di depan komputer selama 10-12 jam, dan di kantor untuk 2 lagi, tetapi itu tidak termasuk makan siang 90 menit yang Anda ambil, 2 jam yang Anda habiskan untuk menelusuri diskusi forum, dan jam istirahat Anda harus memainkan salah satu dari banyak game yang diletakkan di kantor (foosball, pool, yada ...).

Lihat kembali grafik itu. Sekarang kembali padaku.

Pikiran Anda sebenarnya memiliki kesempatan untuk berkembang lebih banyak jika Anda terlibat dalam beberapa aktivitas lain: Belajar bermain sebuah instrumen. Belajar bahasa asing . Lebih baik lagi keluar dan berolahraga, dan terhubung dengan orang-orang nyata .

Pada sifat produktivitas logaritmik:

Dalam studi terkenal pada tahun 1993 tentang pemain biola muda, peneliti kinerja Anders Ericsson menemukan bahwa yang terbaik semua berlatih dengan cara yang sama: di pagi hari, dalam tiga peningkatan masing-masing tidak lebih dari 90 menit, dengan jeda di antara masing-masing. Ericcson menemukan pola yang sama di antara musisi, atlet, pemain catur, dan penulis lainnya.

Untuk Produktivitas Nyata, Less is Truly More

Ini sebenarnya adalah prinsip terkenal di dunia bisnis, saya terkejut lebih banyak programmer belum pernah mendengarnya.

Pembaruan: Lebih banyak tentang studi Ericsson.

Seluruh gagasan itu membutuhkan 10.000 jam/10 tahun untuk menjadi mahir sebenarnya berasal dari studi yang dilakukan oleh Ericsson, bukan dari Malcom Gladwell.

Seperti yang kita semua tahu, Anda dapat memiliki 1 tahun pengalaman diulang 10 kali ... jadi hanya memiliki pantat Anda di kursi selama 10 tahun tidak memenuhi syarat. Apa yang lakukan memenuhi syarat adalah apa yang panggilan Ericsson praktik yang disengaja .

Dia telah menemukan prinsip ini berlaku dalam atletik, musik, penulisan, catur, dan matematika. Dia lebih lanjut mendefinisikan latihan yang disengaja sebagai begitu mudah, sehingga bahkan pada tingkat tertinggi Anda hanya dapat mengajukan sekitar 4 jam per hari . Kalau tidak, Anda akan menderita overtraining atau kelelahan. Sekali lagi, ia mengakui bahwa ada hasil yang semakin berkurang untuk latihan yang disengaja, hingga sekitar 4 jam.

Tentang masalah tidak memiliki pekerjaan yang baik/menantang:

Omong kosong. Entah mendapatkan pekerjaan yang lebih baik, atau ini sebuah ide: Jadikan pekerjaan Anda saat ini menjadi sesuatu yang bukan , setidaknya saat ini.

Salah satu programmer terbaik yang saya kenal masuk ke pekerjaan sebagai programmer pemeliharaan pada sistem lama yang terdiri dari puluhan program dan ratusan ribu baris kode. Sebagian besar telah diretas selama bertahun-tahun sehingga Anda harus mengatakan tidak ada desain yang koheren lagi.

Ini adalah pekerjaan yang buntu dan tidak ada jalan keluarnya. Manajemen ingin Anda tetap tenang, dan perbaiki bug-bug itu. Pengembang yang baik sedang mengerjakan proyek greenfield. Orang-orang datang ke sini untuk menghabiskan sisa hari mereka sampai mereka pensiun, atau mendapatkan beberapa tahun pengalaman sebelum melanjutkan ke pengembangan aplikasi baru. Sedangkan sebagian besar programmer akan mengeluh tentang kurangnya pengembangan karir, atau kesempatan untuk mempelajari hal-hal baru, atau tidak memiliki proyek yang menarik untuk dikerjakan, atau lebih umum hanya mengeluh tentang tidak ada yang memungkinkan mereka , pria ini hanya duduk, dan pergi melakukan pekerjaan yang perlu dilakukan.

Dan selama 2 tahun, ia telah mengubah sistem itu dari neraka kode spaghetti menjadi sesuatu yang cantik dan berfungsi seperti arloji swiss. Begitu lengkapnya transformasi, sehingga Wakil Presiden divisi mulai lebih memperhatikan & lebih memperhatikan proyek yang ada, dan mulai mempertanyakan nilai proyek greenfield. Meskipun dia tidak memiliki gelar, orang-orang operasi pergi kepadanya sebagai pemimpin de-facto kelompok. Ketika saya pergi, VP berbicara tentang menciptakan peran baru baginya sebagai arsitek sistem ...

Saya tidak yakin apa yang terjadi padanya setelah itu, tetapi dia mengajari saya beberapa pelajaran yang sangat penting:

  1. Pekerjaan Anda adalah apa yang Anda buat, dan ada masalah menarik yang harus diselesaikan di mana-mana . Jika Anda benci menulis layar CRUD, selesaikan masalah dengan membuatnya secara otomatis.

  2. Jangan duduk menunggu kesempatan untuk datang kepada Anda. Kemungkinan mereka tidak akan pernah.

446
red-dirt

Ada yang lebih tersembunyi dalam pesan ini.

Banyak programmer yang antusias suka mengeksplorasi berbagai hal, bereksperimen, mengikuti ide-ide mereka, itulah cara kami belajar dan memperoleh keterampilan dan visi kami.

Biasanya Anda tidak bisa mengikuti minat Anda selama jam kerja. Anda hanya melakukan hal-hal yang harus Anda lakukan dan hanya itu. Hanya sedikit dari kita yang cukup beruntung untuk melakukan apa yang akan kita lakukan secara pribadi walaupun tidak dibayar.

Karena itu, jika Anda tidak melakukan sesuatu yang ekstra, Anda tidak mengembangkan potensi Anda. Dan itulah masalahnya.

150
user8685

Itu tidak membuat Anda menjadi pengembang yang buruk, tetapi sayangnya, Anda masih harus bersaing dengan yang melakukannya.

Baca ini, dari Blog Seth Godin :


Tidak masuk akal

Tidak masuk akal untuk bangun dari tempat tidur pada hari salju, ketika sekolah telah dibatalkan, dan mengubah waktu henti menjadi enam jam kerja di laboratorium fisika kredit tambahan.

Tidak masuk akal untuk meluncurkan produk teknologi yang melampaui kurva pengembangan sembilan bulan, membuat generasi berikutnya jauh lebih awal daripada pesaing yang lebih masuk akal.

Tidak masuk akal bagi perusahaan angkutan untuk menjawab telepon pada deringan pertama.

Tidak masuk akal untuk memulai perusahaan baru tanpa uang jaminan yang dapat diberikan oleh uang.

Tidak masuk akal untuk mengharapkan kantor dokter memiliki staf meja depan yang menyenangkan dan bermanfaat.

Tidak masuk akal untuk meninggalkan pertunjukan yang bagus dalam perekonomian saat ini, bahkan jika Anda ingin melakukan sesuatu yang berani dan orisinal.

Tidak masuk akal bagi para guru untuk berharap bahwa kita dapat memungkinkan anak-anak di kota yang kurang beruntung untuk berprestasi di sekolah menengah.

Tidak masuk akal untuk memperlakukan kolega dan pesaing Anda dengan rasa hormat mengingat tekanan yang Anda alami.

Tidak masuk akal untuk mengharapkan bahwa siapa pun kecuali seorang wanita hebat, seseorang dengan dorongan dan kelebihan, dapat melakukan sesuatu yang penting di dunia di mana geladak ditumpuk melawan orang-orang biasa.

Tidak masuk akal untuk mengabdikan tahun hidup Anda membuat produk yang kebanyakan orang tidak akan pernah menghargai.

Untungnya, dunia dipenuhi dengan orang-orang yang tidak masuk akal. Sayangnya, Anda harus bersaing dengan mereka.

70
Ryan Hayes

Untuk menjawab pertanyaan yang diajukan: Tidak memprogram di waktu luang Anda tidak menjadikan Anda pengembang yang buruk, namun, memprogram di waktu senggang Anda dapat menjadikan Anda pengembang yang lebih baik.

Memprogram di waktu luang Anda tentu tidak akan mengganggu keterampilan Anda, tetapi Anda seharusnya tidak merasa berkewajiban untuk melakukannya. Pemrograman tampaknya menjadi bidang yang relatif unik karena bagi banyak orang itu adalah pekerjaan dan hobi mereka, sehingga mereka menikmati pemrograman di waktu luang mereka.

57
shortkaik

Tidak, itu tidak menjadikan Anda seorang programmer yang buruk. Tergantung pada apa yang Anda lakukan itu mungkin membuat Anda seorang programmer yang lebih baik dalam jangka panjang. Di awal karir Anda, hal itu mungkin memengaruhi seberapa cepat Anda mempelajari berbagai keterampilan yang Anda butuhkan. Namun, Anda mungkin mengambil keterampilan dan informasi yang akan membantu dalam jangka panjang. Berolahraga juga tidak ada salahnya.

Ada sejumlah penelitian yang menunjukkan kinerja mengintip sekitar 40 minggu kerja. Meskipun kita dapat berproduksi untuk jangka waktu yang lama, namun dalam jangka panjang kita kehilangan efisiensi. Penelitian yang saya lihat menunjukkan orang yang bekerja 80 minggu sama produktifnya dengan mereka yang bekerja 40 jam seminggu.

Ada beberapa hal yang dapat Anda refleksikan dari (atau pada) jam yang dapat membantu Anda tampil lebih baik:

  • Apa yang sedang kamu lakukan? Bisakah Anda melakukannya dengan lebih baik? Apakah Anda perlu melakukannya?
  • Apa yang kamu pelajari Apa yang perlu kamu pelajari?
  • Masalah apa yang Anda hadapi? Siapa yang terbaik untuk menyelesaikannya? Apa yang bisa kau lakukan?
23
BillThor

Apakah mungkin untuk menjadi pengembang perangkat lunak yang baik tanpa melakukan pekerjaan ekstra di luar Anda?

Pastinya.

Mungkin butuh waktu lebih lama daripada jika Anda menghabiskan waktu ekstra mengasah keterampilan Anda. Saya juga merasa sulit untuk memasukkan cukup waktu ke dalam perbaikan diri jika saya bekerja penuh waktu dan melakukan sedikit pemrograman di luar jam kerja.

Ketika saya masih muda, saya memasukkan lebih banyak waktu untuk belajar daripada yang saya lakukan sekarang. Konsep yang saya gunakan sehari-hari sudah tertanam kuat pada titik ini, dan tampaknya lebih mudah untuk memperoleh pengetahuan tambahan dengan pengalaman ini di bawah ikat pinggang saya.

Pemrogram yang "baik" tampaknya memberikan lebih banyak waktu karena mereka pada dasarnya obsesif, cenderung ke arah anti-sosial dari spektrum, dan benar-benar menikmati pemrograman dan keseluruhan menyelesaikan masalah siklus.

15
quentin-starin

Dalam skema besar, ini semua tentang menemukan keseimbangan yang tepat dalam hidup.

Yang penting adalah apakah Anda menikmati pemrograman dan apakah Anda terus belajar tidak peduli pada level apa Anda berada. Apakah Anda memprogram pekerjaan luar atau tidak tidak secara otomatis membuat Anda seorang programmer "baik" atau "buruk".

Untuk memberikan perspektif pribadi, saya telah memprogram selama sekitar 25 tahun (pertama sebagai seorang anak, kemudian secara profesional). Saya sangat menyukainya.

Namun, saya hampir tidak pernah memprogram pekerjaan di luar. Ini ada hubungannya dengan beberapa hal:

  • Saya sangat beruntung karena di tempat kerja saya bisa melakukan apa yang saya sukai, setiap hari, sepanjang hari.
  • Sederhananya, ada hal-hal lain dalam hidup dan hanya ada begitu banyak jam dalam sehari.
13
NPE

Anda bisa menjadi programmer yang bagus hanya coding selama bekerja, terutama jika Anda mengelola karir Anda dengan baik. Namun, kode programer terbesar selama jam kerja mereka juga. Karena itu, seseorang yang memilih pekerjaan bagus dengan banyak kesempatan belajar, menggunakan waktunya di tempat kerja dengan baik, dan sebagainya akan menjadi programmer yang lebih baik daripada seseorang yang kode di rumah karena dia tidak dapat menemukan pekerjaan yang memberikan tantangan menarik selama hari kerja.

Walaupun pengkodean di rumah sangat berharga, saya akan mengatakan bahwa memaksimalkan nilai lingkungan kerja Anda (dengan belajar dari rekan kerja, memilih pekerjaan yang baik, mengelola karier Anda secara agresif) seringkali bahkan lebih berharga. Pemrogram terhebat melakukan keduanya, plus memiliki sikap yang baik terhadap pembelajaran dan bimbingan orang lain.

9
Ethel Evans

Masalah sebenarnya adalah apakah pengembang baru mengkode cukup (pada masalah yang cukup menantang) untuk melewati beberapa ratus ribu baris kode praktik dan menjadi programmer yang layak.

Secara teori ini bisa dilakukan di tempat kerja, atau di waktu Anda sendiri, atau keduanya. Latihan memang harus diarahkan sendiri, sehingga Anda dapat mempelajari apa yang perlu Anda pelajari. Itu berarti pekerjaan yang sedikit fleksibel.

Banyak kali pekerjaan entry-level adalah sekelompok perbaikan bug atau pekerjaan lain yang tidak akan mengajarkan Anda untuk menjadi baik. Yang perlu Anda lakukan adalah menulis banyak kode dari awal, dan kode itu mungkin akan buruk. Sulit bagi pengusaha untuk membayar ini. Itu sebabnya orang akhirnya melakukan proyek open source di samping atau meluncurkan startup atau apa pun.

Ketika orang mengatakan Anda harus memprogram di waktu luang Anda, saya pikir itu benar-benar berarti bahwa Anda harus berkuasa selama bertahun-tahun sejak latihan yang bermakna. Anda harus melakukan apa pun untuk mendapatkan latihan dan belajar menulis dan memelihara basis kode besar dari awal. Jika tidak ada yang membayar Anda untuk menulis serangkaian proyek yang mungkin petaka dari awal, maka waktu luang adalah satu-satunya pilihan.

Jika Anda sudah melakukan latihan ketika muda dan menjadi programmer yang baik, saya tidak berpikir Anda akan kehilangan keterampilan dasar jika Anda menyimpannya 9-ke-5 nanti. Kemudian itu lebih merupakan masalah mengikuti teknologi baru yang tidak begitu memakan waktu.

Namun, ini adalah pekerjaan entry-level yang jarang yang akan memberi Anda kuantitas dan kualitas praktik dengan sendirinya untuk menjadi programmer yang baik. Seorang pengembang baru perlu mengambil inisiatif untuk belajar, tidak hanya bergaul dalam pekerjaan entry-level melakukan tugas entry-level.

Akan sangat sulit untuk menjadi programmer yang baik dari awal jika Anda sudah memiliki keluarga dan sangat menekankan keseimbangan kehidupan kerja. Sama seperti itu akan sangat sulit untuk menjadi dokter atau menjadi musisi ahli atau hal lain dalam situasi itu. Ada alasan mengapa orang cenderung menjalani ribuan jam latihan mereka ketika mereka lebih muda daripada ketika mereka lebih tua.

7
Havoc P

Dibutuhkan 10.000 jam usaha untuk menjadi Pakar dalam segala hal. [Michael Gladwell, "Pencilan"]

Jadi, melakukan pekerjaan ekstra sebelum Anda mencapai level itu akan mempercepat Anda di sepanjang jalan menuju status Pakar nyata.

Setelah Anda melewati level itu, maka menghabiskan lebih banyak waktu akan memiliki pengembalian yang kecil/berkurang.

5
Jorgen Thelin

Jika saya menghabiskan waktu dalam enam bulan ke depan mengembangkan permainan dasar di waktu luang saya dan Anda tidak, dan seandainya semua hal lain adalah sama (tidak pernah ada), siapa di antara kita yang akan tahu lebih banyak? Siapa di antara kita yang akan memiliki lebih banyak keterampilan dan pengalaman?

Efek ini akan bersifat kumulatif, karena pengetahuan di luar jam kerja akan memberi makan pekerjaan baru dan pengetahuan di luar jam kerja.

Dan itu sebabnya orang menyarankan untuk memprogram di waktu luang mereka, sejauh yang saya tahu.

5
Paul Nathan

Antara besar dan buruk ada banyak tingkatan di antaranya. Anda tidak dapat menjadi pengembang yang hebat dengan melakukannya hanya 8 jam atau lebih sehari, mungkin mengatasi masalah dari bidang yang sangat terbatas.

Jika pekerjaan Anda cukup bervariasi, Anda bisa menjadi "layak" atau "berprestasi" atau kata sifat apa pun yang Anda suka, tetapi untuk menjadi pengembang yang hebat Anda harus sedikit mental, saya khawatir.

Alasan lain untuk melakukan pemrograman hobi adalah bahwa dalam suatu pekerjaan Anda sering harus mematuhi standar yang tidak optimal dan membuat kompromi secara umum dan bahkan ketika Anda mempelajari sesuatu yang baru, Anda mungkin tidak diizinkan untuk menggunakannya.

Dan satu lagi, bahkan lebih sederhana adalah bahwa kode apa pun yang Anda tulis di tempat kerja adalah milik perusahaan Anda. Anda tidak dapat kembali ke sana dan belajar dari kesalahan lama Anda bertahun-tahun kemudian, ketika Anda bekerja untuk orang lain.

5
biziclop

Anda tidak harus melihatnya sebagai "Apakah itu membuat saya seorang programmer yang buruk" karena seperti setiap keterampilan lebih banyak latihan hanya membuat satu lebih baik.

Jadi, jika Anda ingin menjadi lebih baik daripada saat ini dan mempelajari teknologi dan domain baru yang pekerjaan Anda tidak izinkan, di situlah upaya ekstra dan waktu yang dihabiskan berguna.

Tetapi pengkodean menghabiskan waktu ekstra (hanya untuk membuktikan kepada seseorang bahwa Anda memberi kode tambahan) tidak berarti Anda menjadi pemrogram yang baik kecuali jika Anda mempelajari apa yang Anda lakukan dan melakukan sesuatu yang berbeda atau meningkatkan apa yang sudah Anda ketahui, daripada memotong/menyalin/menempel secara membabi buta. dan mengumpulkan retas. Menempatkan jam ekstra dan melakukan hal yang sama berulang kali sama sekali tidak saya pikir akan membantu Anda meningkatkan.

4
Simon

Siang hari pemrograman Anda adalah taruhan pendek. Ada uang yang bisa diperoleh, Anda tahu persis berapa banyak dan untuk apa, dan Anda tidak punya banyak hal untuk diraih daripada gaji.

Di malam hari Anda bekerja dengan taruhan panjang - ide gila yang sebagian besar tidak akan berhasil sama sekali. Ini adalah proyek yang akan melontarkan Anda keluar dari pangkat dan file. Ini adalah bagaimana Anda menjadi penemu PHP daripada monyet kode yang menggunakannya).

Saya mewawancarai banyak programmer, dan apakah mereka telah melakukan hal-hal aneh yang menarik di luar jam kerja adalah lampu hijau instan. Sangat jarang.

Meskipun saya akan mengatakan ini: ada satu kali seorang pria yang melakukan banyak hal keren di luar jam kerja ternyata benar-benar tak berguna dari seorang karyawan. Saya masih bingung oleh orang itu.

4
lucas

Untuk menjawab pertanyaan Anda: Tidak, itu tidak membuat Anda menjadi pengembang yang buruk.

Namun, itu mungkin membuat kehidupan profesional Anda agak sulit. Jika Anda memiliki pekerjaan di mana Anda terus-menerus mempelajari teknologi baru yang akan membantu Anda memajukan jalur karier Anda (apakah itu promosi di pekerjaan Anda saat ini atau pekerjaan baru di perusahaan yang berbeda), maka Anda sudah siap.

Tetapi jika Anda saat ini bekerja di perusahaan di mana teknologi yang digunakan jarang berubah, maka dalam 2 atau 5 o 10 tahun Anda mungkin akan kesulitan mendapatkan pekerjaan berikutnya. Jika Anda membuat kode di rumah dengan teknologi baru dan memiliki sesuatu untuk ditunjukkan (aplikasi, situs web, proyek open source, dll), maka Anda akan merasa jauh lebih mudah untuk mendapatkan pekerjaan berikutnya.

Tentu saja, Anda mungkin benar-benar bahagia melakukan hal yang sama persis selama 40 tahun ke depan, dan selama perusahaan Anda dan teknologi terus ada, maka Anda siap!

3
taggartgorman

Pertanyaan sebenarnya adalah apa yang Anda lakukan sepanjang hari. Analogi dengan atlet dan musisi biasanya tidak diterapkan dengan benar. Pekerjaan harian Anda bukan latihan, melainkan kinerja, kecuali jika Anda memiliki kemampuan eksplisit untuk menghabiskan sebagian dari hari kerja Anda dalam "latihan" sejati. Bagaimana Anda tahu? Jika Anda tidak pernah punya waktu untuk melakukan sesuatu yang "benar" atau mempelajari bahasa/teknologi/kerangka kerja baru dll, maka Anda tidak berlatih, Anda sedang melakukan. Atlet dan musisi profesional tidak menjadi lebih baik selama pertandingan atau konser, mereka menjadi lebih baik selama latihan fokus. Jadi, jika Anda seperti kebanyakan, satu-satunya waktu yang Anda miliki untuk "latihan" pengkodean asli adalah pekerjaan di luar. Yang sedang dikatakan, itu hanya bermanfaat jika itu fokus. Jika Anda meretas sepanjang hari dan kemudian meretas sepanjang malam, Anda hanya lelah, tidak lebih baik.

Sebagai contoh, Anda perlu mengoptimalkan sepotong kode di tempat kerja dan Anda melemparkan alat profiling yang biasa padanya dan mempercepatnya mungkin 50% dan beralih ke tugas berikutnya tetapi Anda berpikir ada hal-hal lain yang mungkin Anda lakukan yang akan membantu bahkan lebih tetapi Anda tidak punya waktu untuk mencobanya. Jika Anda membawa potongan kode itu pulang dan menghabiskan beberapa jam ekstra, Anda belajar teknik yang membuat Anda lebih baik saat berikutnya Anda mengoptimalkan sesuatu. Anda tidak melakukan hal yang sama di rumah seperti di tempat kerja.

Latihan adalah tentang menambah keterampilan dan mengasah keterampilan dan kegiatan-kegiatan itu perlu dilakukan dengan cara buatan (seperti mengisolasi kelompok otot di gym, tidak ada yang melakukan itu dalam aktivitas fisik normal). Membangun aplikasi di rumah tidak secara otomatis dilakukan. Pekerjaan di rumah harus fokus pada teknik dan proses, bukan produk akhir. Jika produk akhir adalah apa yang Anda butuhkan untuk termotivasi, hebat. Hanya saja, jangan jatuh ke dalam perangkap mengembangkannya dengan cara yang sama Anda lakukan di tempat kerja.

Pergerakan kata koding adalah contoh dari apa itu praktik.

3
wai

Menjadi pengembang perangkat lunak yang baik di hati, sangat tergantung pada hati Anda. Anda dapat mencoba menjadi musisi yang hebat dan menghabiskan banyak waktu untuk bermusik, tetapi tetap saja itu tidak menjadikan Anda seorang musisi yang baik. Anda harus menikmati apa yang Anda lakukan untuk menjadi ahli dalam hal itu. Awalnya saya memiliki pertanyaan yang sama dengan Anda. pernah, tetapi sekarang karena suka saya, saya sudah mulai melakukan hal-hal tambahan pada perangkat lunak selain pekerjaan normal. Ini meningkatkan kinerja saya dalam pekerjaan normal dan juga memberi saya banyak waktu untuk terlibat dalam kegiatan lain yang tidak terkait dengan perangkat lunak. Jadi garis dasarnya adalah menikmati apa yang Anda lakukan dan pada akhirnya Anda akan melakukan apa yang diperlukan.

3
Siva

Jika memiliki pekerjaan yang memberi Anda pengalaman intelektual yang benar-benar menarik, kemungkinan itulah yang akan menjadi kehidupan mental Anda - pekerjaan di luar adalah untuk mengeluarkan Steam. Jika pekerjaan Anda tidak melibatkan Anda, kemungkinan besar Anda akan menemukan kepuasan intelektual setelah jam kerja. Itu benar dalam bisnis apa pun, bukan hanya coding.

Pengkodean di kantor menyedot kreativitas Anda, titik. Setidaknya 8 jam per hari, pikiran Anda melakukan sprint terus menerus atas nama orang lain. Adalah normal untuk keluar dari itu dan tidak ingin kembali ke komputer. Ketika saya bekerja dari kantor, itu sama bagi saya - saya akan pulang dan hanya ingin memasak, atau pergi menonton film, bergaul dengan teman-teman atau hanya bermain zona di depan TV. Kemudian, dari tahun 2001-2004 atau lebih, setelah perusahaan tempat saya bekerja mabuk dan hancur, saya keluar dan mengendarai taksi dan menunggu meja. Saat itulah saya benar-benar mulai menulis kode di jam libur saya.

Yang benar adalah, saya tidak berpikir ada orang yang memiliki lebih dari 8 jam nilai waktu coding berkualitas tinggi di dalamnya. Banyak coders hanya memiliki 2-3, tetapi mereka mungkin orang yang paling efisien di luar sana. Hanya bagaimana Anda menggunakannya, bagaimana Anda menyebarkannya.

1
strike

Ini adalah pos yang bagus.

Saya akan mengatakan, tidak, itu tidak membuat Anda seorang programmer yang buruk. Jika ulasan Anda bagus dan Anda menyelesaikan tugas dengan baik dan tepat waktu, maka Anda justru sebaliknya. Dalam semua kejujuran, saya iri kepada Anda bahwa Anda mendapatkan kode Anda saat bekerja.

Alasan utama saya memprogram waktu luang adalah karena saya tidak terlalu peduli dengan apa yang saya lakukan di tempat kerja dan saya menggunakan waktu luang saya untuk melakukan apa yang saya suka. Yang saya senang lakukan adalah pemrograman video game. Tidak ada perusahaan game yang valid untuk bekerja di tempat saya tinggal (saya punya keluarga di sini sekarang) jadi saya membantu dengan permainan indie di samping ketika saya bisa. Ini satu-satunya cara untuk menyembuhkan gatal. Jika saya melakukan apa yang saya sukai sepanjang hari, kemungkinan besar saya tidak akan melakukannya di waktu senggang.

1
Corv1nus

Apakah mungkin untuk menjadi pengembang perangkat lunak yang baik tanpa melakukan pekerjaan ekstra di luar Anda?

Itu tergantung pada industri tempat Anda bekerja. Beberapa lebih kompetitif daripada yang lain.

Jika Anda tidak suka mempelajari hal-hal baru sendiri, kemungkinan besar Anda akan tetap pada tingkat keahlian Anda saat ini. Itu mungkin cukup ... atau tidak.

Ini bukan tentang waktu yang didedikasikan, ini tentang rasa ingin tahu, dan haus akan pengetahuan dan penguasaan. Jelas, itu tidak ada hubungannya dengan tetap p to date, ini adalah tentang hal-hal mendasar-sering: kompiler, monad, arsitektur memori, dll. Hal-hal yang meregangkan dan memperluas otak Anda.

Ingin Kode di rumah hanya merupakan efek samping yang penting. Tetapi jangan meremehkannya, tanpa melakukan, belajar seringkali dangkal.

Semua dev terbaik yang saya tahu memiliki sifat tesis.

1
Lionel Barret

Saran saya adalah: Gunakan waktu perjalanan Anda untuk mempelajari hal-hal, untuk membuat Anda mendapat informasi: membaca buku-buku IT, mendengarkan podcast Dev, dll. Mengenai kegiatan pasca-kerja Anda: tidak mengubah apa pun. Kalau tidak, Anda akan menjadi orang yang membosankan.

1
Pierre Watelet

Itu tidak membuat Anda menjadi pengembang yang buruk, itu mungkin bahkan tidak membuat Anda menjadi semacam pengembang "ok", itu hanya membuat Anda menjadi apa adanya. Tapi saya pikir, bahwa Anda akan menemukan kebanyakan orang yang benar-benar peretas cenderung suka mencoba hal-hal baru. Setiap saat saya akan menyelidiki banyak bahasa, basis data, kerangka kerja web, robotika, dll. Saya punya dua anak kecil dan seorang istri, hipotek, semua itu - tapi saya menantikan saat-saat saya bisa mendapatkan 2 atau 3 jam untuk kembali dengan barang-barang. Tentu, C # dan. NET semuanya baik dan bagus untuk mendapatkan gaji dan saya benar-benar menikmati pekerjaan saya, tetapi bermain-main dengan Scala dan Lift telah menjadi ledakan nyata bagi saya beberapa tahun terakhir ini) Ada beberapa pengembang yang akan mengklasifikasikan diri mereka sebagai "bersemangat" dan yang hanya "bertahan". Saya cenderung menemukan bahwa pengembang yang terus-menerus menantang diri mereka sendiri cenderung untuk maju lebih cepat daripada yang tidak.

1

Apakah ini berarti saya bukan pengembang perangkat lunak 'benar'?

Benar-benar tidak. Itu hanya berarti bahwa Anda suka melakukan hal-hal selain coding. Tidak ada yang salah dengan itu, dan itu tidak membuat Anda lebih baik atau lebih buruk daripada orang lain, pengembang atau tidak.

Apakah mungkin untuk menjadi pengembang perangkat lunak yang baik tanpa melakukan pekerjaan ekstra di luar Anda?

Tentu saja. Beberapa dari itu tergantung pada seperti apa lingkungan kerja Anda. Jika Anda memiliki pekerjaan yang membosankan, menghisap jiwa, yang menyedot seluruh waktu Anda dan kemudian beberapa melakukan pekerjaan pemeliharaan yang membosankan, maka dapat menggunakan waktu kerja untuk mengembangkan keterampilan Anda akan sangat terbatas. Jika Anda memiliki jenis lingkungan di mana Anda memiliki kebebasan untuk melakukan apa yang ingin Anda jelajahi dan pelajari, maka manfaatkan kesempatan itu untuk mengembangkan keterampilan baru yang juga membantu atasan atau rekan kerja Anda keluar.

Jika Anda menemukan sesuatu yang menarik yang ingin Anda pelajari lebih lanjut dan tidak memiliki waktu atau kemungkinan untuk menggunakannya di tempat kerja, maka Anda harus mempertimbangkannya terhadap tuntutan lain pada waktu Anda, baik itu keluarga, teman, atau hobi.

1
afrazier

Tidak, itu tidak membuat Anda menjadi programmer yang kurang dari orang lain. Anda lebih sosial. Saya iri jujur.

Anda tidak harus menggunakan semua waktu luang Anda untuk menulis kode. Pekerjaan saya cukup sederhana: manajemen server. Saya menulis banyak kode karena saya tidak perlu melakukan banyak hal di tempat kerja. Itu tidak membuat saya lebih baik atau lebih buruk daripada siapa pun. Jika Anda bersemangat tentang pemrograman, mengapa tidak bekerja freelance? Saya sering memasang iklan Craigslist untuk layanan saya dan menghasilkan banyak uang darinya. Ini juga merupakan pengalaman belajar yang hebat karena Anda akan bekerja dengan startup dan kadang-kadang bahkan situs web besar. Semoga ini membantu. :)

1
iamandrus

Saya sudah mengikuti sejumlah wawancara untuk merekrut programmer baru-baru ini. Saya telah menemukan bahwa kandidat yang paling mengesankan saya, baik sebagai programmer dan sebagai orang yang saya tidak keberatan bekerja dengan, adalah orang-orang yang menghabiskan banyak waktu pada pengejaran NON-pemrograman (terutama musik, tetapi juga matematika murni, filsafat dan sastra). Yang pasti, sebagian besar juga melakukan pemrograman hobi, tetapi mereka memiliki minat yang seimbang juga.

1
PSU

Ada saat-saat dalam hidup saya di mana saya melakukan banyak pengkodean di luar pekerjaan, dan saat-saat ketika saya tidak melakukan pengkodean karena saya mengerjakan hal-hal lain. Anda harus selalu belajar, tetapi itu tidak berarti Anda harus selalu belajar tentang pemrograman di waktu luang Anda. Jika Anda ingin mengerjakan beberapa keterampilan lain, baik itu pertukangan, sulaman, berkebun dll di waktu luang Anda akan membantu Anda tumbuh sebagai pribadi.

Hanya saja, jangan terjebak dalam pemikiran bahwa Anda tahu semua yang perlu Anda ketahui tentang pemrograman sehingga Anda bisa berhenti belajar.

1
Zachary K

Ini memang posting yang menarik. Saya telah mengembangkan perangkat lunak selama 10 tahun pas dan mencintai pekerjaan saya! Saya juga punya banyak hobi dan berusaha mengelolanya dengan baik. Tapi saya mendapatkan tendangan mencoba hal-hal baru menghabiskan satu atau dua jam di depan komputer sebelum tidur. Dalam kasus saya, saya kecanduan mempelajari dan menulis kode permainan. Saya tidak selalu punya waktu bermain game, tetapi saya suka membaca kode tentang game. Sejujurnya, saya pikir kode terbaik yang pernah saya lihat berasal dari permainan dan saya menerapkan keterampilan ini ke kode saya di tempat kerja. Saya selalu belajar SETIAP HARI TUNGGAL, jadi IMO, jika Anda seorang pengembang, Anda tidak akan pernah mencapai puncaknya, SELALU ada cara yang lebih baik untuk melakukan sesuatu ....

1
user17544

Saya bertanya serupa pertanyaan beberapa hari lagi. Tampaknya orang-orang tampaknya lebih bersemangat tentang pekerjaan kita jika kita tidak hanya mencurahkan seluruh waktu kita untuk itu, tetapi juga sepanjang waktu yang kita miliki untuk kehidupan pribadi kita.

Saya kadang-kadang menulis beberapa kode di waktu luang saya, tetapi saya melakukannya untuk bersenang-senang, bukan karena saya berniat untuk mendapatkan pertumbuhan atau pengakuan profesional. Saya memuji orang-orang yang memiliki energi untuk itu, tetapi Anda lebih suka kelelahan dengan bekerja lebih lama dan pada proyek-proyek tambahan daripada benar-benar menjadi lebih ahli dalam hal apa pun.

Pada akhirnya, yang terpenting adalah kemampuan Anda untuk mempelajari hal-hal baru (terutama di tempat kerja), kemampuan Anda untuk berkomunikasi dengan baik, dan memiliki keterampilan manajemen waktu yang baik. Bahwa Anda menjadikan Anda seorang profesional yang baik.

0
Pablo

Apakah mungkin untuk menjadi pengembang perangkat lunak yang baik tanpa melakukan pekerjaan ekstra di luar Anda?

Bagi saya itu semua tentang keseimbangan.

Meskipun saya suka memprogram itu hanya satu sisi dari saya, saya memiliki minat lain. Ketika saya melihat ini jika saya senang (melakukan hal-hal lain yang saya suka lakukan) dan saya menemukan pekerjaan saya menarik dan memuaskan (yang saya lakukan) daripada, dalam jangka panjang, saya sedang dalam perjalanan untuk menjadi pengembang perangkat lunak yang lebih baik.

P.S. Saya akui saya belum membaca semua posting sebelumnya di halaman ini.

0
Ilan Huberman