CodeGym /Java Blog /Acak /Bagaimana Rasanya Menjadi Pengembang Senior. Panduan Sing...
John Squirrels
Level 41
San Francisco

Bagaimana Rasanya Menjadi Pengembang Senior. Panduan Singkat untuk Peran

Dipublikasikan di grup Acak
Secara tradisional di industri teknologi, pengembang dibagi menjadi empat gradasi berdasarkan tingkat kualifikasi mereka: Junior, Middle, Senior, dan Team Lead. Dalam dua artikel sebelumnya kita telah membahas semua dasar-dasar bagaimana rasanya menjadi Pengembang Tingkat Junior dan Menengah . Sekarang saatnya beralih ke gradasi berikutnya. Senior Developer, bagaimana rasanya menjadi Senior dan apa bedanya Senior dengan pembuat kode Tingkat Menengah? Ayo cari tahu. Bagaimana Rasanya Menjadi Pengembang Senior.  Panduan Singkat untuk Peran - 1

Siapakah Pengembang Senior?

Dalam artikel tentang profesi dan spesialisasi dalam pengembangan perangkat lunak seperti itu, kami selalu harus membuat semacam penafian, menjelaskan bahwa persepsi dan pemahaman tentang posisi tertentu dapat sangat bervariasi, bergantung pada perusahaan, industri tempatnya beroperasi, dan faktor lainnya. . Beberapa orang, kebanyakan orang yang cenderung agak konservatif, percaya bahwa Anda hanya boleh menyebut diri Anda Senior jika Anda memiliki pengalaman pengkodean lebih dari 10 tahun, yang dapat dipertanggungjawabkan. Artinya, hanya tahun ketika Anda benar-benar membuat kode sebagai hitungan karyawan penuh waktu, Anda tidak dapat mulai menghitung sejak Anda pertama kali mencoba memprogram di Basic pada usia 12 tahun (seperti yang cenderung dilakukan oleh banyak pembuat kode muda, membuat marah pemrogram Senior sejati ). Menjadi kurang konservatif, banyak orang percaya lebih dari lima tahun bekerja penuh waktu sebagai pengembang perangkat lunak memungkinkan Anda menyebut diri Anda Senior. Di sisi lain, pengalaman bertahun-tahun hanyalah angka, yang terpenting adalah pengetahuan, keterampilan, dan pengalaman yang dapat diterapkan. Di sinilah Anda harus benar-benar memberikan gelar Senior, karena Pengembang Senior sering dianggap sebagai ahli pengkodean yang maha tahu dan maha kuasa. Dalam persepsi manajemen, Senior biasanya adalah orang yang tahu bagaimana menyelesaikan tugas terkait proyek atau bagaimana menulis kode yang diperlukan. Tetapi salah satu fungsi terpenting seorang Pengembang senior pada proyek pengembangan perangkat lunak tertentu adalah pengetahuan tentang proyek itu sendiri dengan semua masalah, kebutuhan, nuansa, dan sebagainya. Mampu bekerja secara mandiri adalah kualitas penting dari seorang Senior. Artinya Senior tahu apa dan kapan harus dilakukan, dan tidak membutuhkan pengawasan untuk melakukan pekerjaan yang diharapkan darinya. Dan ini adalah kualitas yang cukup berharga di mata pemberi kerja mana pun, karena itu berarti Anda dapat memberikan tugas terkait proyek kepada pengembang ini dan menyerahkan sisanya kepadanya. Dengan "selebihnya" adalah: mencari tahu kebutuhan, persyaratan, dan batasan untuk tugas yang harus diselesaikan, menghasilkan pendekatan yang tepat, menemukan instrumen yang tepat, membagi tugas besar menjadi tugas yang lebih kecil dan memberikannya ke Tingkat Menengah dan Junior Pengembang, dll. Ada aspek utama lain yang membedakan Senior dari pembuat kode tingkat Menengah dan Junior. Ada dalam kode yang mereka tulis, dan cara mereka melakukannya. Senior biasanya dan harus menjadi orang yang menulis kode yang paling jelas, sederhana, dan ringkas. Kadang-kadang sejauh kode ini terlihat terlalu mudah dan primitif. Ini karena Senior harus mempertimbangkan bukan hanya penyelesaian tugas sebagai hasil akhir, tetapi efek keseluruhan dari kode baru ke basis kode proyek. Pengembang senior menulis kode mereka dengan mempertimbangkan pemeliharaan dan skalabilitas, dan ini adalah kekuatan utama mereka, yang hanya dapat datang dengan pengalaman dan tidak ada yang lain.

Apa tanggung jawab Pengembang Senior?

Sekarang mari kita bicara lebih detail tentang beberapa tanggung jawab paling standar dan umum dari Pengembang Senior, secara alami berfokus pada tanggung jawab yang khas untuk programmer Java.
  • Mengidentifikasi dan menganalisis kebutuhan pengguna;
  • Memprioritaskan, menugaskan, dan melaksanakan tugas pengkodean;
  • Mengembangkan aplikasi Java;
  • Meninjau pekerjaan kode untuk akurasi dan fungsionalitas;
  • Menganalisis segmen kode secara teratur;
  • Tetap up to date dengan teknologi baru dan mengajari pengembang Junior cara menggunakannya;
  • Menghasilkan ide dan solusi terkait siklus pengembangan dengan anggota tim lainnya;
  • Mengambil tanggung jawab umum untuk semua pekerjaan pengembangan dan kode proyek.

Persyaratan untuk Pengembang Senior

Berikut adalah daftar persyaratan paling umum dan tipikal untuk Pengembang Senior yang harus Anda penuhi untuk mendapatkan pekerjaan ini. Tentu saja, persyaratan akan bervariasi tergantung pada kebijakan perekrutan perusahaan, teknologi yang digunakan dalam proyek, dan bahasa pemrograman Anda.
  • Pengetahuan umum yang luas tentang pengembangan perangkat lunak dan teknologinya;
  • Pengetahuan yang kuat tentang Jawa;
  • Pengalaman dalam merancang, membangun, dan menguji aplikasi perusahaan;
  • Pengetahuan mendalam tentang framework Java populer seperti Spring, Spring Boot, atau Java EE, JSF dan lainnya;
  • Pengalaman dengan Desain Berorientasi Objek (OOD).
Ini hanyalah persyaratan terkait pemrograman dasar, tetapi memiliki pengetahuan teknis seringkali tidak cukup untuk mendapatkan pekerjaan Pengembang Senior, karena ada begitu banyak keterampilan penting lainnya yang membentuk Senior yang kuat. Berikut adalah beberapa persyaratan non-teknis yang umum disebutkan untuk Sr. Developer.
  • Keterampilan delegasi dan manajemen waktu yang baik;
  • Kemampuan memecahkan masalah;
  • Kemampuan komunikasi yang baik;
  • Keterampilan komunikasi tertulis dan verbal yang kuat;
  • Kemampuan untuk memenuhi tenggat waktu dan berpikir strategis.

Berapa penghasilan Pengembang Senior?

Seperti yang Anda ketahui, dalam hal gaji untuk pekerjaan pengkodean di AS, untuk Pengembang Senior yang berpengalaman, langit adalah batasnya, karena raksasa seperti Google, Facebook, Amazon, Apple, dan Microsoft membayar BANYAK insinyur perangkat lunak . Misalnya, di Google, seorang insinyur perangkat lunak di Level 7, yang dianggap tertinggi yang bisa Anda dapatkan sebagai pengembang, dapat menghasilkan total $608.000 setahun. Tapi mari kita lihat angka rata-rata. Menurut Glassdoor , rata-rata programmer Senior di AS menghasilkan sekitar $121.000 per tahun, yang jauh lebih tinggi dibandingkan dengan gaji pembuat kode Tingkat Menengah sebesar $71.000 per tahun dan gaji rata-rata $63.502 per tahun yang dihasilkan Junior devs di AS. sebuah laporanoleh PayScale, Pengembang Senior dengan pengalaman 10-19 tahun mendapatkan total kompensasi rata-rata $109.122 berdasarkan 5.523 gaji. Di akhir karir mereka (20 tahun ke atas), karyawan mendapatkan rata-rata total kompensasi sebesar $111.432. Di Jerman , menurut PayScale, seorang pengembang perangkat lunak Senior dengan pengalaman lebih dari 10 tahun mendapatkan total kompensasi rata-rata sebesar €63.638. Di Perancis, gaji rata-rata Senior adalah €54,982. Seperti biasa, jika hanya menyangkut angka, programmer Amerika berada di depan rekan mereka di Eropa dan di tempat lain. Hal lain yang menarik untuk diperhatikan adalah bahwa programmer senior di Amerika mendapatkan penghasilan yang jauh lebih banyak daripada pembuat kode Tingkat Menengah. Mungkin, ini paling baik dijelaskan dengan asumsi bahwa mayoritas pembuat kode Senior yang benar-benar profesional dan berpengalaman di AS bekerja untuk raksasa teknologi Amerika, yang merupakan pemboros tenaga kerja perangkat lunak terkemuka dunia.

Perspektif karir

Dalam hal perspektif karir, Pengembang Senior pasti memilikinya. Tapi lucunya, mayoritas dari mereka tidak benar-benar mencari. Posisi seperti Team Lead dan Tech Lead akan menjadi salah satu opsi utama yang diharapkan setelah mencapai level Senior. Serta berbagai opsi dalam manajemen teknologi. Dengan kemungkinan posisi CTO dan CEO perusahaan teknologi sebagai pencapaian tertinggi dalam karir Pengembang senior. CTO tentu saja lebih realistis, karena bahkan di industri teknologi, mayoritas CEO sebenarnya tidak memiliki atau memiliki latar belakang teknis yang sangat terbatas.

Bagaimana rasanya menjadi Pengembang Senior. Opini

Secara alami, jika menyangkut posisi Pengembang Senior secara umum, sebagian besar diskusi cenderung berfokus pada dua topik utama yang ingin diperdebatkan oleh pengembang: apa yang benar-benar membuat Anda menjadi Pengembang Senior dan seberapa cepat Anda dapat mulai menyebut diri Anda Senior. “Itu mungkin mengejutkan beberapa orang, tetapi pekerjaan tingkat Senior secara konsisten meminta pelamar memiliki pengalaman antara 5 dan 8 tahun. Ada beberapa yang minta 10 tahun atau lebih, tapi tidak banyak. Sebagai Pengembang Senior, sebuah perusahaan akan mengharapkan Anda untuk dapat mengambil ide yang kabur, menspesifikasikannya, merencanakan pengembangan, melibatkan tim, dan mengikutinya hingga selesai. Sedangkan, pengembang perantara umumnya diharapkan untuk melakukan, tanpa pengawasan, tugas individu yang diberikan kepada mereka, bekerja dalam tim dan melakukan beberapa bimbingan.membagikan pandangannya. “Dengan pengembang Senior, saya dapat memberikan tujuan tingkat tinggi/lebih samar dan mereka dapat menentukannya, membuat rencana untuk dieksekusi, menjalankannya oleh saya, lalu menerapkannya dengan sedikit pegangan tangan. Jadi, ketika Anda merasa yakin bahwa Anda dapat mengambil ide yang kabur dan menyelesaikannya sepenuhnya, Anda adalah pengembang Senior. Perhatikan bukan berarti Anda tidak pernah meminta bantuan, karena semua orang melakukannya dari waktu ke waktu, tetapi Anda dapat mendorong prosesnya tanpa harus saya mengasuh Anda,” kata Eric Wise, Co-founder dan CEO Wise Telemetry. Dan mari kita tutup dengan kutipan yang cukup bagus inioleh Pablo Oliva, pengembang perangkat lunak berpengalaman dari Jerman: “Pengembang senior yang pernah bekerja sama dengan saya tampaknya memiliki sabuk alat yang besar, boleh dikatakan begitu. Setiap kali masalah muncul, mereka memiliki banyak sumber daya untuk digunakan. Mereka mengetahui alat dan bahasa yang kami gunakan sehari-hari dengan cukup baik, dan tahu ke mana harus mencari ketika mereka tidak mengetahui sesuatu (ada perbedaan antara googling tanpa tujuan dan membuka halaman manual yang tepat pada percobaan pertama). Pengetahuan tentang solusi lama dan kemahiran dalam mencari solusi baru membuat mereka sangat dihormati oleh rekan-rekan mereka, yang sering meminta saran dari mereka. Mereka juga akan, pada gilirannya, tahu kapan harus berhenti mencari sendiri dan meminta bantuan rekan kerja. Ada yang memiliki sertifikasi, ada yang tidak. Ada yang sudah lulus, ada yang belum. Tapi mereka selalu menjadi titik referensi untuk tim mereka (dan bahkan untuk orang-orang di tim lain, untuk beberapa pengembang senior yang sangat spektakuler). Jadi, berapa banyak orang yang berpikir untuk meminta bantuan Anda ketika mereka mengalami kesulitan?”
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION