Saya seorang pengembang web pemula (satu tahun pengalaman).
Beberapa minggu setelah lulus, saya ditawari pekerjaan untuk membangun aplikasi web untuk perusahaan yang pemiliknya tidak terlalu ahli dalam bidang teknologi. Dia merekrut saya untuk menghindari pencurian idenya, tingginya biaya pengembangan yang dibebankan oleh sebuah perusahaan jasa, dan untuk memiliki seseorang yang masih muda dia bisa percayai untuk mempertahankan proyek untuk jangka panjang (saya sampai pada kesimpulan ini sendiri jauh setelah dipekerjakan ).
Sombong ketika saya dulu, dengan ijazah ilmu komputer, saya menerima tawaran itu dengan berpikir saya bisa membangun apa saja.
Saya memanggil tembakan. Setelah beberapa penelitian saya menetap di PHP, dan mulai dengan PHP biasa, tidak ada objek, hanya kode prosedural yang jelek. Dua bulan kemudian, semuanya menjadi berantakan, dan sulit untuk membuat kemajuan. Aplikasi web sangat besar. Jadi saya memutuskan untuk memeriksa kerangka kerja MVC yang akan membuat hidup saya lebih mudah. Di situlah saya menemukan anak keren di komunitas PHP: Laravel. Saya menyukainya, mudah dipelajari, dan saya mulai mengkodekan segera. Kode saya terlihat lebih bersih, lebih teratur. Itu terlihat sangat bagus.
Tetapi sekali lagi aplikasi web itu sangat besar. Perusahaan menekan saya untuk memberikan versi pertama, yang ingin mereka gunakan, dan mulai mencari pelanggan.
Karena Laravel menyenangkan untuk dikerjakan, itu membuat saya ingat mengapa saya memilih industri ini sejak awal - sesuatu yang saya lupa ketika terjebak dalam sistem pendidikan yang buruk.
Jadi saya mulai mengerjakan proyek-proyek kecil di malam hari, membaca tentang metodologi dan praktik terbaik. Saya mengunjungi kembali OOP, beralih ke desain dan analisis berorientasi objek, dan membaca buku Paman Bob, Clean Code .
Ini membantu saya menyadari bahwa saya benar-benar tidak tahu apa-apa. Saya tidak tahu bagaimana membangun perangkat lunak CARA YANG BENAR. Tetapi pada titik ini sudah terlambat, dan sekarang saya hampir selesai. Kode saya tidak bersih sama sekali, hanya kode spaghetti, sangat menyebalkan untuk memperbaiki bug, semua logika ada di controller, dan ada sedikit desain berorientasi objek.
Saya terus-menerus berpikir bahwa saya harus menulis ulang seluruh proyek. Namun, saya tidak bisa melakukannya ... Mereka terus bertanya kapan semuanya akan selesai.
Saya tidak bisa membayangkan kode ini digunakan di server. Ditambah lagi, saya masih belum tahu apa-apa tentang efisiensi kode dan kinerja aplikasi web.
Di satu sisi, perusahaan sedang menunggu produk dan tidak bisa menunggu lagi. Di sisi lain saya tidak dapat melihat diri saya melangkah lebih jauh dengan kode yang sebenarnya. Saya bisa menyelesaikan, membungkusnya dan menyebarkan, tetapi hanya Tuhan yang tahu apa yang mungkin terjadi ketika orang mulai menggunakannya.
Apakah saya menulis ulang, atau terus mencoba mengirim, atau apakah ada opsi lain yang saya lewatkan?