Translate

Minggu, 04 Desember 2022

Career In IT

Nama anggota :   Ikhwan fajar khatamy (2255061007)
                            Rizky agung winanda (2215061078)
                            M. Naufal khansa       (2255061019)

  1. Skill dan pengetahuan apa saja yang dibutuhkan untuk dapat menjajaki bidang karir IT tersebut?
  2. Dari tingkat pemula (entry level), pertengahan (middle level), dan tingkat lanjut (advance) pada karir IT tersebut, kemampuan apa saja yang perlu dimiliki untuk meningkatkan karir dari entry hingga ke advance?
  3. Pada bisnis industri apa karir tersebut dapat ditemui?
jawaban :

    Sebelum itu disini kita akan membahas sebuah pekerjaan pada bidang IT, pekerjaan yang akan di bahas adalah software developer, Software developer merupakan seseorang yang bertugas untuk membangun serta menciptakan suatu produk. Mereka melakukannya sesuai dengan prinsip-prinsip desain dan implementasi rekayasa perangkat lunak.
  1.    Software developer merupakan profesi di bidang IT yang bertugas menciptakan suatu aplikasi sesuai kebutuhan, menganalisis persyaratan software dan menentukan langkah perancangan software secara spesifik. Untuk menjadi software developer dibutuhkan skill dan pengetahuan berupa hard skill dan soft skill. Hard skill yang harus dimiliki software developer di antaranya yaitu menguasai jenis-jenis Bahasa pemrograman, menguasai struktur dan algoritma, dan paham mengenai siklus hidup software atau biasa disebut Software Development Life Cycle (SDLC). Seorang software developer juga harus memiliki soft skill di antaranya yaitu problem solving, komunikasi, berpikir analitis, teamwork, logika dan imajinasi.

      2.    a. Entry level software developer
Junior software developer merupakan entry level software developer yang membantu team dalam perkembangan seluruh aspek desain dan coding daris software yang dibuat. Tugas mereka adalah memperlajari codebase, menghadiri meeting desain, menulis, kode pemrograman dasar, memperbaiki bug, dan membantu developent meneger dalam semua tugas yang berhubungan dengan desain. Mereka memiliki tugas-tugas yang lebih simple  daripada anggota senior yang ada di satu lingkungan pekerjaan. Dari beberapa tugas yang disebutkan sebelumnya,  tugas utama mereka adalah membuat code proses sederhana (single-threading code) tuntuk mengerjakan instruksi yang spesifik. Kode-kode tersebut nantinya dapat digabungkan untuk membuat program yang lebih besar. Mereka juga harus membuat atau menuliskan desain algoritma yang umumnya berbentuk flowchart agar junior software development yang lain mampu memahami algoritma kode yang mereka buat. Tugas lainnya adalah melakukan debugging pada kode-kode yang telah mereka buat sebelumnya.

 

Dalam jenjang karir ini, hal yang dibutuhkan umumnya berupa gelar diploma 3/ lebih tinggi di dalam computer science (contoh: teknik informatika, teknik computer, sistem informasi, dll.). Selain itu, junior software developer juga membutuhkan pengetahuan mengenai bahasa pomrograman dasar (minimal satu bahasa pemrograman) seperti C++, HTML5, Javascript, python, ruby, CSS, dan lain lain. Kemudian skill lain yang diperlukan adalah pengalaman dalam membuat kode-kode program, pengetahuan tentang database dan operating systems. Syarat-syarat sebelumnya merupakan sebuah hardskill yang dibutuhkan untuk dapat masuk menjadi software developer pemula. Selain hard skill, dibutuhkan juga softskill yang akan membantu dalam menapaki karir sebagai entry level sofware developer. Softskill tersebut diantaranya kemampuan untuk memahami software dan teknologi dengan cepat, kemampuan untuk mengikuti instruksi dan bekerja dengan baik dalam kondisi tim, serta detail-oriented.

 

Agar entry level software developer mampu mengembangkan karirnya menjadi middle level, yang umumnya mereka butuhkan adalah memiliki beberapa tahun pengalaman serta jam terbang yang lumayan tinggi dalam membuat coding program dibawah kendali dan pengawasan mereka sendiri. Terkadang perpindahan ke perusahaan lain dan bekerja dengan codebase yang berbeda 180 derajat pun diperlukan agar pengalaman yang didapatkan semakin tinggi. Jadi, untuk menjadi mid-level software developer yang dibutuhkan utamanya adalah softskills dari para pekerja untuk dapat bekerja dan memahami software developer life cycle tanpa memerlukan arahan dari senior-senior disetiap waktu. Mereka juga membutuhkan pengetahuan yang lebih mendalam tentang IDE, API, dan Frameworks. Jika entry-level software developer umumnya hanya mengetahui satu bahasa pemrograman, untuk bisa miningkat ke mid-level mereka perlu memahami dan familiar dengan konsep-konsep algoritma beberapa bahasa pemrograman.

 

b. Middle level software developer

 

Mid-level umumnya adalah programmer yang sudah berpengalaman dan setidaknya telah menghabiskan 2-4 tahun pada profesi ini. Tidak seperti entry level yang membutuhkan banyak bantuan arau pengawasan, mid-level mampu melakukan semuanya secara mandiri dan memiliki pemahaman serta pengetahuan mengenai konsep dari kode dan teknologi yang digunakan. Umumnya untuk menjadi mid-level software developer diperlukan pengalaman kerja selama 2-4 tahun dalam beberapa software project, memahami secara penuh tentang cara mendesain, memprogram, mengimplementasikan, memelihara software, memiliki pengetahuan tentang kegunaan high-volume dan low-latency system untuk large scaling, mampu mengkontribusikan skill yang dimiliki dalam semua tahap pengembangan software, memiliki kemampuan untuk menuliskan kode program yang berkualitas, efisien, mudah dibaca, dan mudah di lakukan testing, familiar mengenai analisis, testing, dan debugging software, mampu mencari solusi alternatif dan mengimplementasikanna ke teknologi yang terbaru, serta mampu memberikan pemahaman dengan jelas dan ringkas kepada teknikal maupun non-teknikal customers.

 

Mid-level software developer memiliki beberapa tanggung jawab dan tugas, diantaranya adalah menulis dan memelihara kode, menganalisa dan mengimplementasikan kode paling baik dan efisien kedalam suatu project, menganalisa kebutuhan technical pada suatu project dan menerapkannya kedalam baris kode yang dibuat, mengidentifikasi, merevisi, dan mengembangkan kode dalam project, melakukan eksekusi dan implementasi dalam pengujian software, menganalisis kebutuhan dari user, demikian juga sebagai desainer, QA tester, dan memenuhi kursi kosong yang dibutuhkan dalam tim, mengkoordinasi upaya dan kerjasama antara developer, desainer, analis sistem dan analis bisnis, dan lainnya, serta melakukan dokumentasi dari setiap usaha yang dilakukan untuk pengembangan lebih lanjut dan pemeliharaan dari suatu project software.

 

Agar mid-level software developer mampu naik ke jenjang karir advance-level atau sering disebut sebagai senior level, utamanya dibutuhkan sebuah softskill dimana mereka dapat mengimplementasikan ilmu dan pengalaman yang dimilikinya untuk melakukan mentoring dan pengawasan terhadap anggota dibawahnya. Mereka pun mampu melakukan problem solving dan mampu melakukan koreksi terhadap diri sendiri. Untuk hardskill, untuk menjadi senior developer mereka perlu meningkatkan dan menguasai pengetahuan mengenai IDE, mampu membuat library pemrograman sendiri yang menambahkan fungsionalitas dan dapat melakukan otomasi dari kode yang dibuat, memiliki pengetahuan mendalam mengenai frameworks dan mampu membuatnya, memahami secara mendalam mengenai OOP serta mampu bekerja dengan concurrent dan logic languages.

 

c. Advance level software developer (Senior-level)

 

Untuk menjadi senior-level dalam software development, umumnya dibutuhkan minimal 5 tahun pengalaman bekerja di bidang ini. Mereka juga dituntut untuk mampu melakukan implementasi pengalaman yang dimiliki dan menjadi mentor terhadap para junior. Seperti yang telah disinggung sebelumnya, untuk menjadi senior developer mereka perlu meningkatkan dan menguasai pengetahuan mengenai IDE, mampu membuat library pemrograman sendiri yang menambahkan fungsionalitas dan dapat melakukan otomasi dari kode yang dibuat, memiliki pengetahuan mendalam mengenai frameworks dan mampu membuatnya, memahami secara mendalam mengenai OOP serta mampu bekerja dengan concurrent dan logic languages. Senior developer juga harus mampu mengkoordinasi project dan tim dengan baik sehingga dapat bekerja untuk saling melengkapi. Mereka harus memiliki kemampuan problem solving yang kuat dan mampu mengimplementasikannya kedalam baris-baris kode. Mereka juga harus dapat memahampi secara mendalam mengenai konsep-konsep dan library yang ada di dalam berbagai bahasa pemrograman.

 

Tugas utama dari seorang senior level software developer adalah melakukan perencanaan dan analisis software, melakukan desain dan membuat prototype dari software yang cocok di pasaran, melakukan pengembangan dan testing terhadap software, mengkoordinasi dan memberikan tugas yang adil kepada anggota-anggota tim, dan memimpin suatu project agar mampu memberikan solusi-solusi terbaik terhadap suatu masalah dalam pembuatan software.

      3.    bidang industri bisnis

Pada pekerjaan ini kita akan menemukan peluang industri bisnis manapun namun pada dasarnya kita akan bergelut didalam industri bisnis kuarter atau industri teknologi tinggi, diperjaan ini kita diharuskan dapat bersaing dengan software developer lainnya, dengan membuat aplikasi yang dapat berfungsi untuk membantu konsumen agar aplikasi dapat digunakan dan dapat menarik minat banyak orang diperlukan skil yang memadai. 

Tidak ada komentar:

Posting Komentar

TUGAS JURNAL PERKULIAHAN 2 PEMROGRAMAN WEB

HTML, yang merupakan singkatan dari "Hypertext Markup Language" (Bahasa Markah Hiperteks), adalah bahasa standar yang digunakan da...