Joel Spolsky: Apa Artinya Menjadi Pengembang Perangkat Lunak (Pengantar Coder ke Pengembang)

gambar


Mike Ganderloy, pesan “Coder to Developer”

Tahukah Anda apa yang membuat saya gila?

"Semua?" - Anda bertanya. Beberapa dari Anda mengenal saya dengan baik.

Tapi serius, itu membuatku kesal karena sebagian besar pengembang bahkan tidak menyadari betapa kecilnya pengetahuan mereka tentang pengembangan perangkat lunak.

Ambil saya, misalnya.

Sebagai seorang remaja, segera setelah saya selesai membaca panduan bahasa assembler terkenal Peter Norton untuk IBM-PC, saya yakin bahwa saya tahu semua yang perlu diketahui tentang pengembangan perangkat lunak. Ya, sial, saya siap menemukan perusahaan perangkat lunak dan membuat pengolah kata. Saya benar-benar yakin bahwa kesuksesan besar menanti saya. Saya bahkan membayangkan bagaimana setiap jam perusahaan perangkat lunak saya akan mengatur rehat kopi dengan donat gratis. Nah, pada masa itu, banyak impian saya menjadi donat.

Setelah tentara, saya lulus dari perguruan tinggi dan menerima diploma dalam ilmu komputer. Sekarang saya benar-benar tahu segalanya. Tapi saya tahu lebih banyak hanya karena saya mempelajari banyak komputer dan sampah ilmiah tentang aljabar linier, masalah NP-lengkap dan kalkulus lambda sialan. Tapi semua ini jelas tidak berguna. Saya memutuskan bahwa mereka pasti telah kehabisan persediaan hal-hal berguna yang perlu kita latih, itulah sebabnya mereka menggosok remah-remah pada nyali.

Tapi tidak. Pada pekerjaan pertama saya, saya menyadari betapa banyak hal yang menurut departemen komputer tidak perlu untuk diperhatikan. Hal-hal seperti kerja tim pada perangkat lunak. Kiat desain antarmuka pengguna yang praktis. Alat-alat profesional seperti kontrol versi, basis data kesalahan kode, pen-debug, dan profiler. Hal yang efektif. Departemen ilmu komputer bahkan dari universitas paling bergengsi tidak akan mengajarkan Anda apa yang bukan murni bersifat akademis; dan lebih dari itu untuk mengajarkan apa yang dipelajari siswa sekolah menengah di sekolah kejuruan setempat, untuk kemudian menjadi mekanik mobil, teknisi perbaikan pendingin udara, atau "pengembang perangkat lunak yang bau".

Sebagian, saya mengerti sikap ini. Pada akhirnya, tujuan dari banyak universitas bergengsi adalah untuk mempersiapkan siswa seumur hidup, dan tidak menanamkan dalam dirinya keterampilan profesional yang akan menjadi usang dalam 10 tahun.

Selama dekade berikutnya, saya memperoleh pengetahuan luar biasa tentang pengembangan perangkat lunak dan nuansa yang terkait dengan proses ini. Saya bekerja di Microsoft di tim pengembangan Excel, di Viacom - di tim web, di Juno - di klien email mereka. Dan tahukah Anda? Pada setiap tahap pelatihan, saya benar-benar yakin bahwa saya tahu segalanya tentang pengembangan perangkat lunak.

"Jadi, mungkin Anda hanya orang tolol yang lancang?" - Anda bertanya, dan bahkan mungkin menggunakan kata tiba-tiba "tolol". Saya minta maaf, tapi ini perkenalan saya; jika Anda ingin menjadi nakal - tulis pengantar Anda, sobek milikku, dan masukkan milik Anda kemudian.

Ada sesuatu yang aneh, beberapa kekuatan mistik dalam pengembangan perangkat lunak yang membuat orang berpikir bahwa mereka tahu segalanya, apa dan bagaimana melakukannya. Saya bekerja di dotcom yang penuh dengan spesialis humaniora. Mereka tidak memiliki pengalaman bekerja dengan perangkat lunak dan tidak pernah belajar ini, tetapi tetap yakin bahwa mereka tahu bagaimana mengelola tim pengembangan dan mengembangkan antarmuka pengguna. Ini aneh, karena tidak ada yang berpikir mereka tahu cara menghilangkan radang usus buntu atau mengembalikan mesin mobil jika mereka tidak benar-benar memiliki keterampilan yang sesuai. Tetapi untuk beberapa alasan yang tidak diketahui, orang-orang yang sama ini yakin bahwa mereka sepenuhnya sadar bagaimana mengembangkan perangkat lunak.

Dengan satu atau lain cara, semua tanggung jawab berada di pundak Anda. Mungkin saja Anda harus belajar bagaimana mengembangkan perangkat lunak sendiri. Jika Anda beruntung, Anda tentu saja akan bekerja dengan pengembang perangkat lunak kelas satu dan mereka akan mengajari Anda, tetapi sebagian besar tidak akan memiliki kesempatan ini. Karena itu, saya senang bahwa Mike Ganderloy mengambil tanggung jawab untuk menulis buku yang sekarang Anda pegang di tangan Anda. Di sini Anda akan menemukan pengantar yang menyenangkan dan ditulis dengan baik untuk banyak hal terpenting yang perlu Anda ketahui ketika Anda beralih dari seseorang mengetik kode menjadi orang yang mengembangkan perangkat lunak. Tangkap bedanya? Ini seperti anak berusia enam tahun yang dapat menggambar beberapa kata sederhana dengan pensil dan tumbuh menjadi seorang novelis yang sukses yang menulis buku, menerima sambutan hangat dan menjual jutaan kopi.Menjadi pengembang perangkat lunak berarti mengambil konsep, membuat tim, mengkonfigurasi semua proses, mengembangkan produk perangkat lunak (produk perangkat lunak yang diinginkan) dan memproduksinya. Ini seharusnya bukan hanya produk perangkat lunak, tetapi produk perangkat lunak berkualitas tinggi yang memecahkan masalah dan menyenangkan pengguna. Dengan dokumentasi. Halaman web. Program pengaturan. Skrip uji. Versi dalam bahasa Norwegia. Percakapan dan sastra. Makanan ringan, makanan penutup, dua puluh tujuh foto berwarna mengkilap berukuran delapan kali sepuluh inci dengan panah, lingkaran, dan penjelasan di bagian belakang. (Saya minta maaf kepada Arlo Guthrie.)Ini seharusnya bukan hanya produk perangkat lunak, tetapi produk perangkat lunak berkualitas tinggi yang memecahkan masalah dan menyenangkan pengguna. Dengan dokumentasi. Halaman web. Program pengaturan. Skrip uji. Versi dalam bahasa Norwegia. Percakapan dan sastra. Makanan ringan, makanan penutup, dua puluh tujuh foto berwarna mengkilap berukuran delapan kali sepuluh inci dengan panah, lingkaran, dan penjelasan di bagian belakang. (Saya minta maaf kepada Arlo Guthrie.)Ini seharusnya bukan hanya produk perangkat lunak, tetapi produk perangkat lunak berkualitas tinggi yang memecahkan masalah dan menyenangkan pengguna. Dengan dokumentasi. Halaman web. Program instalasi. Skrip uji. Versi dalam bahasa Norwegia. Percakapan dan sastra. Makanan ringan, makanan penutup, dua puluh tujuh foto berwarna mengkilap berukuran delapan kali sepuluh inci dengan panah, lingkaran, dan penjelasan di bagian belakang. (Saya minta maaf kepada Arlo Guthrie.)lingkaran dan penjelasan di sisi lain. (Saya minta maaf kepada Arlo Guthrie.)lingkaran dan penjelasan di sisi lain. (Saya minta maaf kepada Arlo Guthrie.)

Dan kemudian, suatu hari, suatu hari, Anda akhirnya bangun dan berkata (meskipun mungkin sudah terlambat): “Hmm. Bagaimana jika saya benar-benar tidak tahu apa yang sebenarnya dibutuhkan untuk pengembangan perangkat lunak. " Dan hanya pada hari ini, dan tidak satu menit sebelumnya, yaitu pada hari ini, dan mulai hari itu, Anda akan menerima hak untuk menyebut diri Anda seorang pengembang perangkat lunak. Dan sekarang, sementara semuanya belum hilang, inilah berkah bagi Anda jika Anda ingin makan donat setiap jam.



gambar
Pelajari detail tentang cara mendapatkan profesi yang dicari dari awal atau Tingkatkan keterampilan dan gaji dengan mengambil kursus online SkillFactory:



Baca lebih banyak



All Articles