Skip to main content

Bagaimana Menjadi Software Engineer yang Baik: 6 Tips Yang Tidak dipelajari di Kampus

Matthew/Wikimedia Commons

Menjadi pengembang perangkat lunak kini menjadi salah satu pilihan karir yang cukup menjanjikan. Selain merupakan perkerjaan yang cukup menantang, pekerjaan ini juga terus-menerus berkembang dan juga memberikan kepuasan tersendiri bagi pelakunya. Selain itu permintaan atas pengembang perangkat lunak juga cukup besar tentunya menjadi daya tarik tersendiri. Akan tetapi ada beberapa aspek yang tidak dipelajari dikampus tentang bagaimana menjadi pengembang perangkat lunak yang baik, aspek-aspek yang akan membantu Anda untuk menggapai sukses - Terlepas apakah Anda sudah bekerja atau baru mau memulai mencari pekerjaan pertamamu. Berikut adalah tips yang menurut saya sangat penting berdasarkan pengalaman saya selama 12 tahun bekerja sebagai pengembang perangkat lunak.

1. Menjadi Developer yang Baik Lebih dari Sekedar Bisa Coding

Mungkin Anda pernah berfikir sudah cukup hanya dengan mahir berbagai bahasa pemrograman seperti C++, JavaScript atau Python. Jawabnya belum, menjadi pengembang perangkat lunak yang baik juga membutuhkan softs skills yang mumpuni - misalnya kemampuanan untuk berempati dengan orang lain. Bagaimanapun Anda  bekerja dengan manusia lainnya. Empati membantu Anda memahami keinginan rekan kerja dan bagaimana keinginan client dan juga bagaimana user berinteraksi dengan perangkat lunak yang Anda buat. 

2. Ide Adalah Segalanya - Maka Keahlian Berdebat Sangatlah Penting

Hal penting lainnya adalah memampuan dalam berkomunikasi, khususnya kemampuan persuasif yang sangat penting dalam seni berdebat. Supaya ide-ide terbaik anda dapat berkembang, team harus mendiskusikan dan berani untuk bediskusi dan berdebat dengan cara yang tetap beretika. Mampu untuk mendiskusikan perubahan prioritas, requirement dan urgensi dalam kegiatan kolaborasi, cara yang positif akan sangat membantu karir Anda.

Kemampuan untuk selalu membuka peluang diskusi dengan lebih banyak orang yang mungkin berbeda pendapat dengan anda membantu anda untuk terus berkembang, dengan membina lingkungan yang lebih inklusif yang menarik bagi orang-orang dengan berbagai macam tipe dan latar belakang. Hal ini pada gilirannya dapat memperluas pengetahuan orang-orang pada suatu organisasi dan ini berlaku pada semua sektor

3. Pengembangan Perangkat Lunak Berbeda dengan Apa yang diajarkan di Kampus

Menulis program yang digunakan oleh banyak orang, di akses oleh banyak komputer dan digunakan dalam banyak bisnis pada kenyataannya berbeda dengan menulis program untuk tujuan belajar dan akademis.

Pada aplikasi enterprise yang harus berjalan terus-menerus, tanpa batasan dan dapat diandalkan. Maka kode harus bekerja dengan baik, dan mudah untuk di maintain, diperiksa dan diperbaiki, dan bisa menghadapi perkembangan dimasa depan dengan scalability yang teruji juga masuk dalam pertimbangan dalam mendesain perangkat lunak yang baik. Anda harus dapat memastikan  kualitas terbaik dengan mengikuti proses pengembangan perangkat lunak yang telah matang dan mapan. Yang mana memiliki 6 tahap yaitu: Planning, Analysis, Design, Implementation, Testing & Integration, dan Maintenance.

Membuat regular testing dalam proses pengembangan juga merupakan hal yang sangat penting, mulai dari desain dan mereview kode oleh developer lain hingga automated testing.

4. Bekerja dengan Team yang Berbeda Membuatmu Banyak Belajar

JIka Anda diberi kesempatan untuk bekerja diluar divisi anda atau unit bisnis lain dengan team yang berbeda, ambil saja! Anda akan melihat banyak hal baru, berbagai sudut pandang yang berbeda akan menambah keahlian Anda.


InnerSource dapat dijelaskan sebagai sebuah proses collaborative dalam software development berdasarkan teknologi open source, tetapi dilakukan pada batas-batas dari  lingkungan perusahaan terbatas.


InnerSource merupakan pendekatan yang bagus yang mana memanfaatkan perangkat lunak kode sumber terbuka dan and proses pengembangan yang collaborative  untuk mengembangkan kode antar team – Maka sangat layang bila anda belajar mengenai hal ini dan mulai mempertimbangkan tentang bagaimana hal ini akan membantu organisasi anda.

Saat seseorang memiliki sebuah ide, terlepas dari unit/divisi apa mereka berasal, mereka dapat dimentoring oleh team lainnya, dan juga dipandu untuk melakukan perubahan yang diperlukan, diri mereka sendiri. Ini adalah cara yang sangat memuaskan melihat orang lain  diberi kesempatan untuk mengembangkan kreativitas mereka sendiri dan menjadikannya sebuah produk.

5. Apapun dan Siapapun Anda, Teruslah Belajar

Kembali ke tahun 2012, investor dibidang teknologi Marc Andreessen menulis “Why software is eating the world,”, berargument bahwa perubahan besar-besaran dibidang teknologi dan ekonomi sedang terjadi, dan perusahaan-perusahaan perangkat lunak mengambil bagian besar pada ekonomi dunia. 

Lebih lanjut, dunia bisnis pada umumnya kini berjalan diatas perangkat lunak (berjalan secara online atau melalui teknolgi cloud). Ini mengapa apapun bidang yang sekarang Anda geluti maka suatu waktu (sebentar lagi) Anda akan membutuhkan tenaga pengembang perangkat lunak. Bila Anda bukan programmer professional maka setidaknya pemahaman tentang bagaimana perangkat lunak bekerja dan hubungan dengan bagaimana bisnis moderen bekerja untuk memberi nilai lebih pada pelanggan akan menjadi hal yang sangat berguna.

6. Sotware Engineer Penyendiri Hanyalah Mitos

Cukup sering kita melihat di TV dan filem-filem yang menggambarkan seorang programmer atau pengembang perangkat lunak bekerja secara dramatis ditempat gelap dan dikelilingi dengan berbagai macam layar monitor, kotak hitam dan lampu yang berkedap kedip, dan mungkin dengan setumpuk gelas kopi bekas berantakan diatas meja. Hal ini benar-benar berbeda dengan kenyataan tentang menjadi pengembang perangkat lunak (Okalah, masalah gelas kopi bisa jadi adalah kenyataan) .

Berdasaarkan pengalaman saya, kebanyakan pekerjaan sebagai pengembang perangkat lunak adalah tentang kerjasama team dan komunikasi. Melakukan kerjasama team dan komunikasi dengan baik benar-benar kunci kesuksesan dalam meniti karir sebagai pengembang perangkat lunak. Ini membuat pekerjaan lebih menyenangkan dan menambah kualitas dari apa yang kita lakukan sebagai dampaknya (KIta lebih kuat saat bekerja bersama-sama).

Ini benar-benar menakjubkan melihat banyak inovasi yang muncul dan seberapa banyak masalah yang diselesaikan karena seseorang berjalan melewati meja rekan kerjanya dan bertanya pada mereka apa yang sedang mereka kerjakan dan bagaimana keadaannya.

Bila saya dapat terus menambahkan poin-point di list ini, maka nasehat terbaik yang saya dapat berikan adalah lakukanlah semua tips yang ada disini. Dengan mengimplementasikan ini semua dari hari kehari, Anda akan menjadi programmer yang lebih baik dengan waktu yang lebih cepat. Entah anda masih kuliah/belajar atau sudah bekerja dan mungkin sedang mencari cara untuk meningkatkan kemampuan koding anda ditempat kerja.

Semoga sukses dan selamat coding!

Sumber

Ditulis oleh Becky Plummer di artikel aslinya yang berjudul "How to Be a Good Software Engineer: 6 Tips They Don’t Teach You at University", Senior Software Engineer, Bloomberg.

Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....