Peran Pekerjaan: Insinyur Perangkat Lunak

Pengarang: Laura McKinney
Tanggal Pembuatan: 2 April 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Meet the People Who Make the Technology You Use (Part 1) - #TechTeamTour
Video: Meet the People Who Make the Technology You Use (Part 1) - #TechTeamTour

Isi


Sumber: Dragonimages / Dreamstime.com

Bawa pulang:

Insinyur perangkat lunak sangat terlibat dengan siklus hidup pengembangan perangkat lunak dan memainkan peran besar dalam keberhasilan suatu proyek.

Apa yang dilakukan seorang insinyur perangkat lunak? Jawaban sederhananya adalah dia terlibat dalam rekayasa perangkat lunak, dalam proses penerapan prinsip-prinsip teknik pada produk-produk perangkat lunak.

Namun, benar-benar ada banyak detail dan nuansa dalam menggambarkan apa yang dilakukan insinyur perangkat lunak di dunia perangkat lunak. Kita akan membahas beberapa tentang itu ketika kita melihat "satu hari dalam kehidupan" seorang insinyur perangkat lunak yang bekerja untuk menciptakan semua hal digital hebat yang kita gunakan setiap hari. (Untuk mempelajari lebih lanjut tentang peran dari seseorang di lapangan, lihat How I Got Here: 12 Pertanyaan dengan Penulis dan Insinyur Perangkat Lunak David Auerbach.)

Siklus Hidup Pengembangan Perangkat Lunak

Untuk memahami peran insinyur perangkat lunak, sebaiknya ketahui tentang siklus hidup pengembangan perangkat lunak (SDLC).


Siklus hidup pengembangan perangkat lunak melibatkan berbagai fase utama, yang sering digambarkan sebagai perencanaan kebutuhan, desain, pengkodean, pengujian, implementasi, dan pengiriman (memberi atau mengambil beberapa langkah sesuai dengan proses berpemilik).

“Perangkat lunak dimulai dengan masalah yang kami coba selesaikan,” kata John Quigley dari Value Transformation LLC, yang menjelaskan siklus hidup pengembangan perangkat lunak konvensional dengan memulai dengan beberapa hal yang terjadi pada awal proses. "Ini akan diartikulasikan dalam beberapa bentuk dokumen, dan merupakan hasil wawancara dengan pelanggan atau orang yang menderita di bawah masalah ... Dokumen tersebut akan menggambarkan seperti apa masalah yang akan membantu menghasilkan ide untuk dibandingkan dengan ini sebagai solusi. Ini akan menjadi tujuan untuk pekerjaan ini, menetapkan apa yang kita coba capai. "

Dalam fase persyaratan, katanya, para insinyur menetapkan deskripsi teknis spesifik produk, baik perangkat keras (jika ada) dan perangkat lunak.


Lalu ada pengkodean: "Para insinyur perangkat lunak akan menulis pernyataan spesifik dalam kode yang akan menghasilkan produk yang diinginkan yang memenuhi persyaratan spesifik," kata Quigley tentang fase pengkodean.

Setelah itu, katanya, adalah pengujian, dan kemudian serangkaian langkah yang membawa perangkat lunak secara solid menuju lingkungan produksi. Menjelang akhir proses, ada ruang untuk beragam ide tentang implementasi dan penyebaran. Quigley juga menambahkan bahwa model "lincah" baru untuk SDLC bekerja sedikit berbeda.

Tanpa Bug, Tanpa Stres - Panduan Langkah Demi Langkah Anda untuk Membuat Perangkat Lunak yang Mengubah Hidup Tanpa Menghancurkan Kehidupan Anda

Anda tidak dapat meningkatkan keterampilan pemrograman Anda ketika tidak ada yang peduli dengan kualitas perangkat lunak.

“Di dunia yang gesit, banyak hal terlihat tetapi iterasi lebih kecil dan lebih dekat bersama,” kata Quigley. “Persyaratan tersebut dapat ditangani melalui cerita pengguna, sifatnya kurang teknis dan lebih tertulis untuk memahami aplikasi sehingga para insinyur perangkat lunak dapat membuat kesimpulan dan menyimpulkan atribut-atribut kunci yang diperlukan berdasarkan penggunaan aktual.”

Peran Bervariasi dari Insinyur Perangkat Lunak

Karena siklus hidup pengembangan perangkat lunak memiliki fase dan operasi yang beragam, masuk akal bahwa pekerjaan insinyur perangkat lunak juga bervariasi.

"Seorang Insinyur Perangkat Lunak memiliki peran yang lebih luas daripada kebanyakan dalam penciptaan solusi perangkat lunak," tulis Samuel Malachowsky, seorang profesor di Rochester Institute of Technology. “Setiap elemen SDLC memiliki spesialis: RE dan penjualan untuk langkah-langkah awal, arsitek untuk tahap desain, coders / programmer untuk build, QA untuk verifikasi / pengujian, TI untuk penyebaran / pemeliharaan, dan manajer proyek untuk pergerakan dan manajemen setiap anggota tim / fase, tetapi Insinyur Perangkat Lunak diharapkan untuk menerapkan diri mereka secara luas ke seluruh proses. Dengan sudut pandang ini, pertanyaan yang lebih baik mungkin adalah menanyakan apa yang tidak dilakukan oleh Insinyur Perangkat Lunak. "

Inilah poin menarik lain yang dibuat Malachowsky tentang perbedaan antara TI dan rekayasa perangkat lunak yang mengungkapkan banyak hal tentang seperti apa pekerjaan rata-rata insinyur perangkat lunak:

“TI itu operasional dan berulang, sedangkan rekayasa berputar di sekitar masalah baru yang harus dipecahkan sebagai proyek yang unik,” katanya. “Personel TI jauh lebih mungkin untuk mencari sertifikasi berbasis alat individual karena pengulangan ini. Berlawanan dengan sesuatu seperti Teknik Komputer yang melihat di mana persyaratan dipenuhi - CE cenderung berfokus pada pemecahan masalah dengan perangkat keras, dengan perangkat lunak yang mendukungnya. UK memecahkan masalah dengan perangkat lunak, dengan perangkat keras menyediakan dukungan. "

Insinyur Perangkat Lunak dan Tim Proyek

Di banyak perusahaan, insinyur perangkat lunak dikelompokkan dan didelegasikan peran sesuai dengan bagian mereka dalam proses yang kompleks.

Brennan Meagher menggambarkan contoh dari TeleTracking, sebuah perusahaan yang menjadi berita utama dalam inovasi perawatan kesehatan di Fierce Healthcare, American College of Emergency Physicians, Manajemen Data Kesehatan, Healthcare IT News dan di tempat lain.

“Di TeleTracking, insinyur perangkat lunak bertanggung jawab untuk mengkode dan menguji semua modul dan aplikasi yang merupakan bagian dari platform TeleTracking,” kata Meagher. “Mereka juga membantu dalam pengembangan solusi dan produksi perangkat lunak. Ini termasuk meneliti, merancang, mendokumentasikan dan mengembangkan perangkat lunak baru. Singkatnya, insinyur perangkat lunak kami menciptakan solusi perangkat lunak yang selaras dengan visi teknis TeleTrackings untuk meningkatkan akses ke pasien. "

Anda dapat membayangkan para profesional ini di kampus perusahaan, pertama-tama menyusun, kemudian mengubah model, kemudian menguji, dalam tim, dengan hati-hati menggiring sebuah proyek sampai selesai.

"Contoh sesuatu yang secara rutin bertanggung jawab atas insinyur perangkat lunak meliputi: penulisan, debugging, pengujian unit, dan kode uji kinerja di semua lapisan aplikasi," kata Meaghan. "Ini termasuk ujung depan (web), lapisan tengah (layanan web) dan lapisan akses data."

Intinya adalah bahwa insinyur perangkat lunak memiliki beragam pekerjaan khusus. Mereka semua perlu memahami beberapa dasar pengkodean, tetapi beberapa di antaranya perlu mempelajari secara spesifik pengujian, atau transparansi persyaratan desain, atau dalam beberapa kasus, dunia pengembangan yang gesit.

Kemudian model DevOps muncul, dan menggabungkan banyak proses berulang yang sangat spesifik diuraikan dan dikategorikan dalam model konvensional. Jadi peran insinyur perangkat lunak berubah. (Untuk mempelajari lebih lanjut tentang DevOps, lihat Manajer DevOps Menjelaskan Apa yang Mereka Lakukan.)

Ini memberi Anda sedikit untuk melanjutkan ketika Anda berangkat untuk belajar lebih banyak tentang pekerjaan para profesional sentral dalam produksi perangkat lunak. Insinyur perangkat lunak telah digambarkan sebagai "pisau Tentara Swiss" dari desain dan pembuatan perangkat lunak - dan akhirnya dapat memakai banyak topi di perusahaan yang sibuk.