Cara bekerja sebagai pengembang perangkat lunak

Pengarang: Peter Berry
Tanggal Pembuatan: 19 Lang L: none (month-012) 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Dasar-Dasar Pengembangan Perangkat Lunak dan Gim | Proses Bisnis Menyeluruh Bidang PPLG Part 1
Video: Dasar-Dasar Pengembangan Perangkat Lunak dan Gim | Proses Bisnis Menyeluruh Bidang PPLG Part 1

Isi


Tidak pernah ada waktu yang lebih baik untuk menjadi pengembang perangkat lunak. Permintaan pengembang perangkat lunak meningkat setiap saat, seperti juga variasi pekerjaan yang harus diselesaikan. Lalu ada bayarannya.

Menurut USNews.com, pengembang perangkat lunak rata-rata menghasilkan $ 101.790 pada 2017. Menurut Gorroo.io, pengembang C # rata-rata memperoleh $ 102rb per tahun.

Singkatnya, pemrograman adalah salah satu keterampilan yang paling laris di dunia saat ini. Jika Anda ingin bekerja secara online, atau untuk mempersiapkan diri Anda untuk langkah selanjutnya dalam karier Anda, ada beberapa langkah yang lebih cerdas daripada mempelajari kode.

Pengembang C # rata-rata menghasilkan $ 102k per tahun.

Tapi dari mana memulainya? Jika Anda adalah seseorang yang belum mencoba-coba kode di masa lalu, maka Anda mungkin akan bingung bagaimana cara memulainya. Dalam pos ini, kami akan mengeksplorasi semua yang perlu Anda ketahui: apa yang dilakukan pengembang perangkat lunak, kualifikasi apa yang mungkin Anda butuhkan, dan bagaimana cara mencari pekerjaan.


Apa yang dilakukan pengembang perangkat lunak?

Pengembang perangkat lunak adalah seseorang yang mengembangkan perangkat lunak. Itu berarti mereka akan menulis kode, menggunakan alat, dan sering membawa proyek dari awal hingga selesai. Atau, mereka mungkin disewa untuk mengidentifikasi bug dalam kode yang ada, atau untuk meningkatkan / menambah fitur baru.

Apa pun itu, pekerjaan Anda sebagian besar terdiri dari pemecahan masalah menggunakan berbagai bahasa pemrograman, API, dan alat. Anda dapat mengerjakan proyek secara langsung untuk klien, melalui agen, atau sebagai bagian dari organisasi yang lebih besar.

Jenis pengembang perangkat lunak

Alasan "pengembang perangkat lunak" adalah istilah yang luas, adalah bahwa ada begitu banyak jenis perangkat lunak yang mungkin diminta untuk Anda kerjakan, dan begitu banyak alat yang dapat Anda gunakan untuk mewujudkannya.


Pengembang perangkat lunak juga dapat berfungsi sebagai pengembang web, atau “pengembang tumpukan penuh,” untuk membangun situs web atau menambahkan fitur interaktif. Mereka dapat mengembangkan aplikasi seluler, atau bekerja pada alat industri in-house.

Perbedaan lain yang perlu dipertimbangkan: pengembang perangkat lunak vs insinyur perangkat lunak, apa bedanya?

Meskipun kedua istilah ini dapat digunakan secara bergantian, perbedaannya tergantung pada jenis pekerjaan yang diselesaikan dan pendekatan yang diambil. Insinyur perangkat lunak melihat kode dari sudut pandang teknik: mereka mempertimbangkan siklus hidup, mereka melihat kesalahan dan bug, dan mereka biasanya bekerja pada proyek besar di antara tim yang lebih besar.

Pengembang perangkat lunak, di tangan, lebih cenderung menjadi direktur kreatif utama pada suatu proyek. Mereka mengembangkan perangkat lunak dari awal hingga akhir untuk klien atau organisasi, biasanya untuk memenuhi peran tertentu.

Jadi, jika Anda bekerja untuk Facebook sebagai bagian dari tim tekniknya, Anda adalah seorang insinyur perangkat lunak. Jika Anda membuat aplikasi untuk klien, Anda adalah pengembang perangkat lunak. Tetapi Anda mungkin dipanggil keduanya dalam situasi apa pun.

Keterampilan dan kualifikasi apa yang dibutuhkan pengembang perangkat lunak?

Untuk menjadi pengembang perangkat lunak, Anda perlu belajar memprogram.

Pertanyaan selanjutnya adalah: "apa bahasa pemrograman terbaik untuk dipelajari" atau "bahasa pemrograman apa yang diinginkan majikan?"

Meskipun memang benar bahwa beberapa bahasa pemrograman lebih diminati oleh klien dan majikan (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby), kenyataannya adalah ini sepenuhnya tergantung pada jenis pekerjaan yang ingin Anda lakukan . Berikut ini beberapa contohnya.

Pengembang tumpukan penuh

Python, JavaScript, PHP, dan Ruby adalah semua bahasa yang digunakan untuk pengembangan web. Jika Anda bekerja di portal online, atau membuat pembaruan ke aplikasi web seperti Twitter, beberapa di antaranya mungkin akan berguna. Dalam peran ini mungkin juga menguntungkan untuk memahami basis data (SQL) dan untuk mengetahui jalan di sekitar server.

“Pengembang tumpukan penuh” adalah pengembang web yang telah mencapai bentuk akhir: seseorang yang dapat menangani setiap aspek desain dan pemeliharaan web, dari ujung depan (HTML, CSS, JavaScript), hingga ujung belakang (PHP, Python, Ruby), untuk pemeliharaan server. Profesional jenis ini sangat diminati.

Ini kursus yang bagus dari Udemy jika Anda ingin mempelajari lebih lanjut: Bootcamp Pengembang Web Stack Lengkap.

Pengembang seluler

Jika Anda tertarik untuk mengembangkan aplikasi Android, maka Anda harus mempelajari Java atau Kotlin (keduanya idealnya). Anda harus membiasakan diri dengan Android Studio, Android SDK (Perangkat Pengembangan Perangkat Lunak), dan semua konsep baru yang terus-menerus diperkenalkan oleh Google (seperti aplikasi instan, atau gelembung).

Baca lebih lajut: Cara menemukan pekerjaan sebagai pengembang Android

Jika Anda ingin membuat aplikasi iOS sebagai mata pencaharian, Anda harus mempelajari Swift dan Objective C dan membiasakan diri dengan Xcode. Jika Anda ingin membuat aplikasi Windows, atau pergi lintas platform, maka Anda perlu C # dan pemahaman tentang Visual Studio.

Pengembang game

Untuk menjadi pengembang game, maka Anda harus belajar C # dan idealnya C ++. Anda harus mengenal mesin permainan besar (Unity dan Unreal), dan Anda mungkin ingin menambahkan sedikit CAD ke skillet Anda.

Panduan Ultimate untuk Persatuan untuk Pengembangan Game di Udemy adalah tempat yang baik untuk memulai.

Ini hanya menggores permukaan. Pengembang perangkat lunak lain akan bekerja pada perangkat lunak dengan elektronik, menangani data besar, dan banyak lagi.

Lalu ada alat khusus yang akan digunakan perusahaan untuk mengelola alur kerja mereka dan berkolaborasi pada proyek yang lebih besar. Ketika saya mengunjungi Facebook di London beberapa bulan yang lalu, saya diperkenalkan dengan berbagai alat yang digunakan perusahaan untuk menjaga proyek tetap pada jalurnya. Mereka termasuk Phabricator, Mercurial, Sapienz, dan banyak lagi.

Tentu saja, alat-alat seperti Github (digunakan untuk kontrol versi) cenderung berguna bagi insinyur dan pengembang perangkat lunak yang bekerja di berbagai industri. Aplikasi manajemen proyek seperti Asana atau Basecamp juga sangat berguna untuk pekerjaan jarak jauh. Menunjukkan bahwa Anda memiliki pengalaman dalam bidang-bidang ini akan melengkapi CV Anda lebih lanjut, dan membuat Anda lebih mudah dipekerjakan.

Singkatnya: apa yang perlu Anda ketahui tergantung pada jenis pengembang perangkat lunak yang Anda inginkan.

Sertifikasi pengembang perangkat lunak terbaik

Jadi, sekali Anda memilih jenis pekerjaan yang ingin Anda lakukan, dan jenis kode yang ingin Anda tulis, pekerjaan Anda berikutnya adalah mengidentifikasi jenis pelatihan yang akan Anda butuhkan. Apakah Anda memerlukan gelar untuk menjadi pengembang perangkat lunak?

Jawaban singkatnya adalah tidak. Jawaban yang lebih panjang adalah tidak, tetapi tentu membantu.

Meskipun dimungkinkan untuk dipekerjakan tanpa gelar, gelar ilmu komputer tetap akan menjadi persyaratan untuk berbagai organisasi dan pengusaha. Ini juga akan memberi Anda pemahaman dasar yang sangat baik dan keunggulan kompetitif atas pelamar yang tidak menggunakan gelar.

Baca lebih lajut: Tingkatkan karier dan gaji Anda sebagai analis keamanan informasi

Demikian juga, gelar akan memberi Anda keunggulan dibandingkan kandidat lainnya selama proses aplikasi.

Namun gelar mahal dan kebanyakan orang dewasa tidak akan memiliki opsi untuk menyesuaikannya dengan gaya hidup mereka yang sibuk. Dalam hal ini, hal terbaik berikutnya adalah mengikuti kursus online dan mendapatkan sertifikasi yang dapat menunjukkan pemahaman dasar.

Ada banyak sertifikasi yang diakui industri yang akan memberi Anda sejumlah pengaruh ketika melamar posisi.

Misalnya, Anda bisa mendapatkan sertifikasi Persatuan langsung dari perusahaan, yang mungkin terbukti berharga bagi pengembang game. Jika Anda ingin menjadi pengembang Android, Anda mungkin mendaftar untuk menjadi Pengembang Android Terkait yang merupakan program resmi yang dijalankan oleh Google. Atau Anda mungkin memilih untuk menjadi Pengembang Aplikasi Bersertifikat Android, yang cukup dikenal.

Sertifikasi seperti ini memberikan ketenangan pikiran bagi klien dan perusahaan yang mempertimbangkan untuk mempekerjakan Anda. Mereka menunjukkan bahwa Anda benar-benar memiliki pengetahuan yang Anda klaim miliki, yang berarti mereka dapat mempercepat Anda dengan pelatihan tambahan minimal.

Cukup Google jenis pekerjaan yang Anda minati dan temukan sertifikasi paling terkenal di bidang itu. Jika Anda tidak yakin, maka pilih salah satu bahasa besar seperti C # atau Java, atau cari ilmu komputer atau kursus tumpukan penuh yang akan mencakup banyak bidang.

Apakah Anda memerlukan sertifikasi untuk menjadi pengembang perangkat lunak?

Pilihan termurah adalah menjadi pengembang perangkat lunak tanpa sertifikasi atau kualifikasi. Tetapi apakah mungkin menemukan pekerjaan sebagai pengembang otodidak?

Saya dapat menjamin Anda, karena ini adalah persis apa yang saya lakukan. Saya belajar pemrograman BASIC pada ZXSpectrum, dan dari sana berkembang pengetahuan saya dengan QBASIC, B4A, kemudian Java, C #, Python, dan banyak lagi.

Cara saya bisa melakukan ini, adalah dengan membiarkan CV saya berbicara untuk saya. Saya mengembangkan aplikasi Android yang sukses yang memiliki lebih dari 100.000 unduhan berbayar, bekerja dengan beberapa nama besar di belakangnya, dan kemudian menulis buku teknis tentang pengembangan game untuk Apress Media (Springer).

Prestasi itu memberikan jenis jaminan yang sama persis untuk klien seperti sertifikat, dan memungkinkan saya untuk menagih jauh lebih banyak daripada yang seharusnya.

Saya sangat merekomendasikan mengembangkan aplikasi dan situs web di waktu luang Anda untuk dijadikan contoh pekerjaan Anda, melakukan pekerjaan murah bagi teman-teman untuk membangun portofolio, terlibat dalam proyek sumber terbuka di GitHub, atau menghadiri hackathon.

Sebagian besar situs lepas seperti UpWork juga menyediakan tes singkat yang dapat Anda selesaikan untuk menunjukkan pemahaman dasar Anda.

Bahkan tanpa pengalaman seperti itu, jika Anda setuju untuk menerima pembayaran pada saat diterimanya, tidak mengenakan biaya terlalu banyak, dan memberikan contoh pekerjaan Anda, maka Anda harus dapat langsung mendapatkan pekerjaan.

Adapun untuk mencari pekerjaan dengan pengusaha besar, beberapa profesional menyarankan sertifikasi mungkin tidak membantu sama sekali.

Itu karena, setelah Anda tahu satu bahasa pemrograman, relatif mudah untuk memahami yang lain. Sementara sintaks, alat, dan beberapa aturan mungkin berbeda; bahasa pertama yang Anda pelajari masih yang paling sulit. Ada padanan untuk "jika" di hampir semua bahasa yang akan Anda pelajari.

setelah Anda tahu satu bahasa pemrograman, relatif mudah untuk memahami yang lain.

Saat bekerja dalam suatu organisasi, pelatihan akan selalu diperlukan. Sangat sedikit pengusaha yang mengharapkan Anda untuk mengetahui segalanya dengan segera, dan - dalam semua kejujuran - ada sejumlah besar penghancuran yang terjadi dalam karier insinyur perangkat lunak mana pun. Berharap untuk merasa benar-benar keluar dari kedalaman Anda dan dipenuhi dengan "sindrom peniru" ketika Anda mulai. Tapi jangan khawatir, itulah yang dirasakan semua orang!

Cara mengajari diri sendiri kode

Mengajari diri Anda sendiri untuk membuat kode adalah proses yang menantang, dan konsep-konsep canggih seperti pemrograman berorientasi objek bisa sangat sulit untuk diretas. Untungnya, ada sejumlah besar materi gratis yang tersedia online; kami sudah menyoroti beberapa kursus hebat dari Udemy dan ada banyak lagi. Kami memiliki kursus untuk pengembang Android yang dijalankan oleh Gary Sims misalnya.

Berikut adalah beberapa alat yang lebih baik untuk mempelajari kode sekarang:

  • Kursus hebat yang akan mengajarkan Python untuk ilmu data.
  • Bundel pengkodean C #
  • Paket pelatihan pengembang web pro web sembilan bagian

Dan ada banyak kursus hebat di situs-situs seperti SkillShare.

Lihat juga: Cara memulai pengembangan aplikasi Android untuk pemula yang lengkap dalam 5 langkah

Kerjakan ini dengan cara yang logis, dan berlatihlah dengan proyek Anda sendiri. Awalnya sulit, tetapi jika Anda fokus pada aspek yang Anda nikmati, Anda akan sampai di sana.

Menemukan pekerjaan berbayar sebagai pengembang perangkat lunak

Bagian terakhir dari teka-teki ini adalah untuk menemukan pekerjaan berbayar, sebagai kontraktor, pekerja penuh waktu dari rumah, atau pekerja lepas.

Mencari pekerjaan freelance sebagian besar adalah masalah menggunakan situs daftar pekerjaan, situs lepas seperti PeoplePerHour atau UpWork.

Ada juga situs lepas yang ditujukan khusus untuk pengembang dan insinyur perangkat lunak. Ini termasuk Rent-a-code, dan bahkan Stack Overflow.

Ada cara lain untuk menghasilkan uang dengan keahlian sebagai pengembang perangkat lunak juga. Anda bisa menjadi penulis (seperti yang akhirnya saya lakukan), dan menulis tutorial untuk blog atau buku untuk penerbit teknis. Anda bisa mengajar melalui kursus online; mengapa tidak membuat kursus Skillshare Anda sendiri?

Beberapa tahun yang lalu, ponel kela ata dengan memori yang dapat diupgrade mulai menjadi jeni yang ekarat. Namun, mekipun tidak emua perangkat memilikinya, fitur ini tentu tidak akan hilang. Maih ban...

Anak Anda iap untuk martphone pertama, dan itu hebat! Ada banyak martphone murah di luar ana, tanpa kekurangan aplikai dan permainan ramah anak yang bagu....

Kami Menyarankan Anda Untuk Membaca