Saya memiliki pertanyaan yang diajukan oleh pekerjaan terakhir saya (agak magang).
Hanya untuk memasukkan segala sesuatunya ke dalam konteks - Saya berusia 21 tahun dan saya telah menyelesaikan tahun ke-2 di universitas sebelum saya memiliki sekitar 2 tahun pengalaman melakukan pekerjaan sys admin / QA dan pada dasarnya saya dapat mengatakan bahwa saya telah melihat betapa berbedanya Sektor TI dioperasikan. Berkedip maju ke masa sekarang dan inilah saya mendapatkan pekerjaan magang di salah satu lembaga penelitian terkemuka di Inggris.
Apa yang harus saya lakukan adalah membuat beberapa alat internal menggunakan campuran teknologi - terutama AWS / Java / Bash - Anda mendapatkan gambar. Semuanya baik-baik saja, saya melakukan pekerjaan saya TETAPI saya tidak bahagia. Kenapa begitu - karena saya diharapkan bekerja dalam masalah ad-hoc. Yaitu menciptakan sesuatu dengan cepat, tanpa menghabiskan waktu untuk mendesain. Manajer saya secara eksplisit mengatakan bahwa itu diharapkan "tergesa-gesa" melalui masalah saat mereka muncul dan kami pada dasarnya. Akibatnya ternyata hal-hal yang harus dilakukan kembali dan rekayasa ulang dan mereka masih belum sempurna. Sejauh menyangkut pengujian - pertahankan seminimal mungkin, selama masih berfungsi maka itu OK.
Apakah saya salah untuk tidak setuju dengan cara melakukan pekerjaan ini? Apakah salah jika ingin memikirkan sistem secara keseluruhan, kemudian fokus pada komponen yang berbeda dan melihat bagaimana mereka dapat beroperasi, untuk membidik "titik-titik kunci" yang berbeda yang mungkin ternyata bermasalah di masa depan? Apakah kejahatan ingin melakukan pekerjaan dengan baik dan bukan "pekerjaan cepat"? Apakah itu kesalahan atau sikap yang salah untuk ingin meneliti struktur data yang berlaku untuk masalah sehingga Anda dapat memilih yang terbaik tergantung pada set masalah tertentu? Sejauh yang saya mengerti, "Rekayasa" dalam "Rekayasa Perangkat Lunak" harus benar-benar dilakukan dengan ini - meneliti domain masalah Anda dan menghasilkan solusi yang tepat lalu memperbaiki yang diperlukan?
Saya pernah ke sebuah wawancara di kantor Arm di Inggris dan mereka menunjukkan kepada saya kamar SCRUM mereka dan tampaknya mereka memiliki ide yang cukup bagus tentang bagaimana mengelola proyek mereka - mereka memiliki tumpukan, mereka memiliki metrik tentang berapa lama masing-masing masalah mungkin diperlukan untuk menyelesaikan - hal-hal biasa untuk SCRUM - benar-benar berbeda dari cara menjalankan "di sini"
Sudahkah saya membangun ide yang salah tentang industri perangkat lunak secara umum? Saya ingin mendengar masukan Anda tentang itu. Maksud saya, saya "memasuki" pengembangan perangkat lunak semata-mata karena saya ingin membuat sesuatu - sederhana dan sederhana, tetapi saya ingin membuat barang berkualitas. Saya ingin melihat perangkat lunak saya digunakan dalam berbagai skenario, saya ingin melihatnya sebagai bukti - bukankah itu kekuatan pendorong untuk semua insinyur perangkat lunak? Saya pikir semua orang bisa menjadi programmer / programmer dengan hanya mempelajari sintaksnya tetapi bagi saya di mana kesenangan sebenarnya dimulai adalah ketika Anda benar-benar harus datang dengan desain yang bisa dilakukan di dunia nyata.
Saya biasa mengerjakan tugas universitas saya hanya dengan melihatnya dan langsung memulai pengkodean dan dapat dengan mudah mendapatkan nilai di atas 75% dan tidak pernah benar-benar menghargai modul "siklus pengembangan perangkat lunak". Tapi sekarang ketika saya melihat di dunia nyata betapa buruknya bekerja tanpa proses formal dan frustrasi yang melekat dalam situasi di mana Anda tidak tahu apakah persyaratannya akan berubah besok (oh, apakah saya mengatakan bahwa kami tidak dapat memiliki analisis persyaratan yang jelas?)
Saya benar-benar ingin percaya bahwa saya baru saja mendapatkan posisi di mana beberapa orang hanya memerlukan kode monyet untuk melakukan pekerjaan kotor mereka dan ini bukan kasus bagaimana dunia perangkat lunak beroperasi secara luas.
because I'm expected to work in an ad-hoc matter. That is create things quickly, without spending time on designing
- Selamat datang di The Real World ™, di mana ada tenggat waktu dan perusahaan diharapkan untuk memberikan hasil.