Bagaimana saya bisa menilai kemajuan saya sebagai pengembang solo junior [ditutup]

38

Saat ini saya bekerja untuk perusahaan 2 orang, sebagai pengembang utama tunggal. Bos saya mendapatkan klien, membuat beberapa templat desain png dan menyerahkannya kepada saya.

Sistem ini telah bekerja dengan baik dan saya sangat menikmatinya.

Jenis proyek yang saya kerjakan adalah untuk usaha kecil menengah dan mereka biasanya menginginkan sistem CMS. Dikembangkan dari awal saya akan membuat backend yang disesuaikan untuk klien untuk menambah / mengedit / menghapus kategori, tag, produk dll dan kemudian menampilkannya ke ujung depan sesuai dengan templat desain yang diberikan kepada saya. Seiring berjalannya waktu, proyek-proyek tersebut semakin meningkat kompleksitasnya, dengan fitur shopping cart / pemesanan dan fitur tipe e-commerce umum lainnya.

Sekali lagi, sistem ini telah bekerja dengan baik dan saya sangat menikmatinya.

Masalah saya adalah pengembangan pribadi saya sebagai seorang programmer. Saya menghabiskan banyak waktu luang saya membaca blog pemrograman, memeriksa melalui stackexchange, membaca buku-buku pemrograman yang disarankan (saat ini di ' The Pragmatic Programmer ', sangat bagus sejauh ini), melakukan latihan otak ( lumosity.com dan masalah matematika khanacademy ), melakukan banyak hal latihan fisik dan kegiatan jenis pengembangan pribadi lainnya.

Saya tidak bisa menahan perasaan, bahwa saya kehilangan umpan balik, kritik. Bos saya hebat dan tidak pernah menahan pujian sehubungan dengan pekerjaan saya, tetapi dia sayangnya sibuk untuk memeriksa kode saya, atau jujur, saya tidak berpikir itu salah satu spesialisasinya sehingga tidak dapat memberikan umpan balik .

Saya ingin tahu apa yang saya lakukan salah dan apa yang saya lakukan dengan benar. Haruskah saya meletakkan banyak logika di controller, apakah saya memodulasi kode saya cukup dll.

Jadi apa yang telah saya lakukan adalah mengembangkan sedikit aplikasi 'Penganggaran Keluarga' dan mencoba melakukannya sebersih dan seefektif yang saya tahu saat ini.

Yang ingin saya ketahui adalah, apakah ada tempat di mana saya dapat mengirimkan aplikasi ini, dan minta beberapa pengembang berpengalaman memberikan umpan balik. Ini bukan hanya subbagian dari kode saya seperti 'codereview.stackexchange' tampaknya perlu, itu seluruh alur kerja saya yang ingin saya kritik.

Saya tahu ini banyak yang harus ditanyakan, dan saya berharap saran utama yang diberikan adalah mencari pekerjaan di dalam tim, yang tentunya merupakan sesuatu yang akan saya perhatikan nanti, tetapi untuk saat ini saya ingin bertahan dengan yang sekarang. situasi kerja, tetapi tidak ingin mengembangkan terlalu banyak kebiasaan buruk.

Beri tahu saya jika saya dapat memberikan informasi lebih lanjut untuk membantu memperjelas, atau jika ini bukan tempat yang tepat untuk jenis pertanyaan ini, saya minta maaf sebelumnya. Tidak ingin menggunakan reddit karena saya merasa komunitas ini mengembangkan respons yang dipikirkan dengan lebih baik.

hoppipolla
sumber
3
Sebagai yang sebelumnya belum lama pengembang junior saya menemukan itu ide yang buruk untuk membiarkan pengembang junior menjadi liar seperti ini. Belum lagi PNG mock up hampir tidak memberi Anda info yang diperlukan untuk menulis CMS yang efektif. Plus mengapa terus menerus menulis CMS ketika ada dari pengaturan mandiri jauh lebih efektif daripada pengembang solo bisa menulis dalam waktu yang wajar untuk klien termasuk micro CMSes.
Rig
2
Yah awalnya dia punya CMS sendiri di rumah yang telah dibangun di Coldfusion. Saya belajar bahasa melalui coba-coba dan kami menyelesaikan beberapa proyek menggunakannya. Seiring waktu meskipun saya meyakinkannya itu akan menjadi ide yang baik untuk pindah ke PHP, karena saya memiliki lebih banyak pengalaman menggunakannya dan ada komunitas yang lebih besar untuk diandalkan (karena tidak memiliki atasan saya sangat bergantung pada google). Sejak itu saya secara bertahap membangun CMS modular yang dapat digunakan kembali di ciBonfire. Itu datang dengan sangat baik, sistem katalog cukup lengkap. Masalahnya adalah saya belajar sambil jalan, kami punya klien untuk menyenangkan.
hoppipolla
2
@OliverHyde "Masalahnya adalah saya belajar sambil jalan, kami punya klien untuk menyenangkan." Ini juga tidak akan berbeda di tempat lain.

Jawaban:

21

Anda berada di jalur yang benar untuk meningkatkan keterampilan Anda, dan dapat dimengerti bahwa Anda tidak yakin tentang keandalan dan kesiapan perusahaan dari kode Anda.

Ini adalah proses normal yang harus dilalui untuk pengembang junior, dan minat Anda untuk meningkatkan sangat penting, karena itu adalah kunci untuk suatu hari menjadi pengembang rock-star.

Sebagai referensi untuk mempelajari praktik terbaik, saya akan merekomendasikan bergabung dengan proyek open-source yang diselenggarakan gratis untuk programmer yang bersemangat / ingin tahu. Mereka akan sangat membantu Anda memahami cara menggunakan praktik terbaik dan cara memutuskan desain aplikasi. Selain itu, cobalah untuk terlibat dalam pengembangan proyek sumber terbuka, karena akan meningkatkan pembelajaran mandiri dan peningkatan Anda secara dramatis.

Saya juga merekomendasikan menghadiri acara komunitas lokal untuk pengembang perangkat lunak. Anda dapat menemukan beberapa grup ini di communitymegaphone.com . Berbicara dengan programmer teman lokal, mereka kebanyakan adalah orang baik yang tidak keberatan membantu kolega.

EL Yusubov
sumber
Hmm, mungkin saya akan melihat bergabung dengan beberapa proyek open source, tidak yakin harus mulai dari mana: / Harus melakukan riset. Mengenai acara komunitas, saya telah pergi ke pertemuan lokal, di Selandia Baru mereka jarang dibandingkan dengan apa yang Anda dapatkan di negara-negara bagian tetapi terjadi dan sangat membantu. Terima kasih untuk umpan baliknya.
hoppipolla
Pasti terlibat dengan orang-orang nyata yang melihat kode Anda. Tidak ada pengganti untuk itu.
jeffreypriebe
Ya saya merapikan aplikasi 'anggaran pribadi' saya dan akan mengirimkannya untuk evaluasi mungkin pada redit atau di beberapa forum komunitas lainnya.
hoppipolla
9

Ketika Anda mendapatkan lebih banyak pengalaman, Anda tentu dapat kembali dan meninjau proyek / kode Anda sebelumnya untuk melihat kesalahan Anda. Pertengkaran adalah hal yang indah. Saya tahu pasti saya telah melihat kode / dokumentasi yang saya tulis x lalu dan menyadari di mana saya salah dan di mana saya bisa memperbaiki.

Fakta bahwa Anda membaca blog, buku, SE, dll. Harus memberi Anda wawasan yang lebih luas tentang pemrograman sebagai bagian dari pengembangan pribadi Anda dan percobaan dan kesalahan serta evolusi proyek dan kode Anda tentunya harus menjadi bukti dari fakta bahwa Anda sedang membaik. Mengkritik diri sendiri bisa menjadi hal yang sangat baik.

Karena itu, memiliki mata kritis pengembang lain selalu menambah nilai dan dapat memberikan pendapat / opsi yang mungkin tidak Anda pikirkan. Meskipun saya tidak tahu ada situs tertentu yang dapat Anda buang proyek penuh untuk ulasan kode - Anda dapat menempatkan potongan dari apa yang Anda anggap tersangka ke codereview.stackexchange untuk teliti dan komentar mereka, kemudian ambil umpan balik itu di papan tulis dan terapkan di tempat lain yang sesuai.

Atau, Anda dapat menulis beberapa hal sumber terbuka dan membuangnya di github (atau yang setara). Komunitas open source pasti akan mengkritik pekerjaan Anda dan memperbaikinya jika mereka mau.

Pada akhirnya, jika produk yang Anda hasilkan berfungsi sebagaimana mestinya, penuhi persyaratan bisnis dan dapat dipertahankan - Anda melakukan sesuatu dengan benar.

Untuk pertanyaan pemrograman, pola, dll. Anda selalu dapat memposting pertanyaan-pertanyaan itu di sini di PSE dan untuk masalah implementasi kode pada SO.

Deco
sumber
Cheers, saya pikir mungkin saya akan merusak aplikasi anggaran saya dan memposting beberapa cuplikan pada codereview.
hoppipolla
3

Le me membagikan pendapat saya, beberapa kata-kata bijak dan beberapa pertanyaan untuk Anda renungkan.

Menjadi programmer yang berpengalaman, saya telah menemukan selama bertahun-tahun bahwa kode terbaik adalah salah satu yang sederhana (lihat konsep KISS) dan lebih mudah untuk dimodifikasi oleh programmer lain.

Juga, menyisakan ruang yang cukup agar kode tidak menjadi padat (ruang bernafas) dan terstruktur secara merata. Gunakan konvensi penamaan yang terkenal untuk variabel Anda, beri mereka nama yang dapat dimengerti (yang dapat dipahami oleh programmer lain) dan tulis komentar yang langsung pada pokok permasalahan, tidak terlalu banyak dan tidak terlalu sedikit.

Jika Anda mengikuti di atas, Anda sudah berada di jalan yang baik.

Selain itu, karena pengembang adalah sesuatu seperti arsitek, saya akan memberikan Anda pepatah yang sangat penting yang harus Anda renungkan;

  1. “Kesempurnaan tercapai, bukan ketika tidak ada lagi yang perlu ditambahkan, tetapi ketika tidak ada lagi yang tersisa untuk diambil” - Antoine de Saint-Exupery.

dan

  1. "Berjuang untuk keunggulan memotivasi Anda; berjuang untuk kesempurnaan itu menurunkan moral" - Harriet Beryl Braiker.

Namun,

  1. "Banyak peristiwa, kira-kira 80% dari efek berasal dari 20% penyebabnya" - Prinsip Pareto

Dengan hal di atas saya ingin Anda mengerti bahwa ada keseimbangan yang baik antara upaya dan efek, biaya dan kualitas.

Dan pertanyaan untuk direnungkan;

  1. Apa yang ingin saya lakukan dalam lima tahun ke depan mulai sekarang?
  2. Apakah upaya meningkatkan keterampilan pengkodean saya akan menguntungkan karier profesional saya dalam jangka panjang?
Kyrsid
sumber
1

Anda mungkin ingin memeriksa https://codereview.stackexchange.com/

Itu akan menjadi tempat yang bagus untuk mendapatkan umpan balik tentang kode atau desain Anda dari para profesional berpengalaman.

Jessica Brown
sumber
Ya, saya kira inti dari pertanyaan saya adalah, apakah aplikasi yang lengkap cocok untuk dikirim ke sana, atau ada tempat lain yang bisa saya lakukan ini. Sepertinya codereview lebih ditargetkan sebagai potongan kode yang akan diperiksa. Pada dasarnya berikan tautan ke proyek github dan biarkan longgar. Saya merapikannya hari ini dan akan mencari di sekitar beberapa forum komunitas untuk mengirim tautan. :)
hoppipolla
1
Sekaligus mungkin banyak bagi satu pengembang untuk mengunyah tme. meta.codereview.stackexchange.com/questions/537/… mengatakan cobalah satu per satu. Ini tidak akan cocok untuk codereview tetapi dokumentasi desain tingkat tinggi atau semacamnya mungkin dapat membantu peninjau melihat basis kode Anda untuk pertama kalinya
Jessica Brown
@OliverHyde Jika Anda memposting satu file sumber, katakanlah salah satu yang paling rumit, maka Anda akan mendapatkan umpan balik pada file yang berlaku untuk seluruh proyek. Ini akan menjadi cara yang baik untuk mendapatkan umpan balik tentang bahasa program Anda dan gaya pengkodean. Jika Anda mencari umpan balik tentang desain program secara keseluruhan, Anda dapat (menurut FAQ) mempostingnya ke situs ini.
1

Lanjutkan membaca buku, blog, dan Tanya Jawab Stack Overflow. Jika Anda ingin meningkatkan diri dengan cara yang lebih sosial, mengapa tidak melakukan pekerjaan pada proyek open source? Maksud saya bukan membuat proyek sendiri , tetapi kerjakan yang sudah ada.

Karena Anda adalah satu-satunya pengembang di perusahaan ini, saya membayangkan bahwa mungkin suatu hari nanti, Anda akan mempekerjakan orang lain. Katakan pada diri Anda bahwa hari ini, orang itu harus membaca kode Anda. Apakah Anda sudah menulis beberapa dokumentasi tentang alat Anda? Ingatlah bahwa pekerjaan Anda dapat dibaca oleh orang lain adalah hal yang baik untuk pengembang solo dan membantu Anda membuat kode yang lebih baik.

Smonff
sumber
1
Ya itu yang saya mulai lakukan dengan coding saya sekarang. Bos saya telah menyarankan dia mungkin akan mencari mempekerjakan pengembang tambahan tahun depan .... bertaruh dapatkan di atas dokumentasi saya :)
hoppipolla
1

Saya dalam situasi yang sama dengan Anda, dipekerjakan sebagai programmer tunggal untuk perusahaan 5 orang, dan hanya satu dari mereka yang terlibat langsung dengan aplikasi yang saya kembangkan / tambahkan. Untungnya, saya tidak harus membuat apa pun dari awal tetapi sampai sekarang hanya aplikasi yang dimodifikasi yang dibangun oleh pendahulu saya. Dengan melakukan itu, saya yakin saya telah meningkatkan diri saya dengan mengenali bagian mana dari kodenya yang baik, bagian mana yang buruk dan bagaimana seseorang dapat memperbaikinya.

Membaca kode adalah bagian besar untuk meningkatkan pengkodean Anda sendiri, jadi di atas semua itu saya sarankan Anda mencari sendiri proyek open-source, membaca kode, memahaminya, dan mencoba menilai apa yang baik, apa yang buruk dan apa yang bisa ditingkatkan. Mungkin bahkan menulis ulasan kode tentang hal itu di blog Anda.

Tepuk tangan!

scd
sumber
Ya sorakan! Saya telah bekerja di sini beberapa saat lagi dan menemukan ritme yang baik dalam menggunakan situs web ulasan kode dan ulasan mandiri.
hoppipolla
-1

Meninggalkan. Temukan perusahaan baru tempat Anda akan bekerja di tim pengembang yang lebih besar, termasuk beberapa orang keren yang bisa Anda pelajari.

Anda jelas memiliki semua motivasi yang tepat dalam menginginkannya.

Dom Barker
sumber
4
Ini seharusnya bukan pilihan pertama. OP menikmati pekerjaannya dan dia tampaknya juga punya bos yang layak, yang tampaknya jarang terjadi saat ini. Sebelum melompat, pertimbangkan bahwa Anda mungkin berakhir dengan pekerjaan yang tidak Anda sukai, dengan bos yang buruk, dan tidak ada jaminan bahwa Anda akan benar-benar mempelajari hal-hal baru.