-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #40 from mmdmthr/article-20230812
add article: Cara Programmer Junior menjadi Senior 1
- Loading branch information
Showing
1 changed file
with
82 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
--- | ||
title: 'Cara Programmer Junior menjadi Senior 1' | ||
date: 2023-08-12 | ||
category: 'notes' | ||
--- | ||
|
||
Memulai perjalanan sebagai programmer adalah momen yang menyenangkan. Kita mempelajari hal-hal baru dan akhirnya melihat kode Kita dipublikasikan. Namun, seiring berjalannya waktu, Kita mungkin mulai memikirkan masa depan dan mempertimbangkan bagaimana cara mempersiapkan diri untuk menjadi seorang programmer senior, serta keterampilan dan kompetensi penting yang dibutuhkan untuk mencapai tujuan tersebut. | ||
|
||
### Kompetensi Teknis Utama untuk Kemajuan Karir | ||
|
||
Menunjukkan pemahaman yang kuat dalam bidang teknis sangat penting untuk langkah selanjutnya dalam karier Kita. Menguasai dasar-dasar pemrograman, struktur data, algoritma, dan praktik pengembangan perangkat lunak adalah hal yang sangat penting. Fokuslah pada penulisan kode yang bersih dan mudah dipelihara dengan mengikuti praktik terbaik untuk pengujian, pengoptimalan kinerja, dan skalabilitas. | ||
|
||
Namun, menjadi seorang pengembang perangkat lunak yang kuat hanya akan membawa Kita sejauh ini. Untuk berhasil sebagai seorang senior engineer, rekan kerja, manajer, dan sponsor Kita juga harus mengakui kualitas pekerjaan Kita serta kemampuan Kita merancang dan mengembangkan solusi untuk masalah yang kompleks. Mencatat dan mendokumentasikan kesuksesan Kita melalui *pull request* dapat membantu memberikan bukti tentang pengetahuan terapan Kita (ini juga bisa dimasukkan dalam dokumen kebanggaan, yang akan dibahas nanti). | ||
|
||
### Hubungkan Antara Teknik dan Pendapatan di dalam Bisnis | ||
|
||
Memiliki pemahaman yang kuat tentang domain bisnis Kita akan membantu Kita mengkontekstualisasikan masalah yang Kita selesaikan, memahami dampak pekerjaan Kita pada perusahaan, dan mengidentifikasi serta memilih tugas yang tepat. Konsistensi dalam memberikan pekerjaan berkualitas tinggi adalah kunci untuk menunjukkan kemampuan Kita untuk memenuhi atau bahkan melampaui harapan. | ||
|
||
Jika Kita ingin naik jabatan di perusahaan, Kita memerlukan pemahaman mendalam tentang bagaimana logika teknis berinteraksi dengan logika bisnis perusahaan Kita. Dengan kata lain, bagaimana teknologi yang Kita kerjakan terkait dengan pendapatan perusahaan? Pendekatan dalam pengambilan keputusan teknik akan berbeda antara perusahaan yang bergantung pada pendapatan dari periklanan dan perusahaan yang berbasis pada model langganan. Memahami ini akan membantu Kita menentukan area di mana Kita bisa mengembangkan keterampilan Kita. | ||
|
||
### Tunjukkan Pemahaman Kita | ||
|
||
Ada berbagai cara untuk menunjukkan pemahaman Kita tentang domain bisnis dan potensi kepemimpinan Kita. Salah satunya adalah dengan mengidentifikasi peluang untuk peningkatan secara bertahap dengan mengamati proses saat ini secara cermat dan menemukan cara untuk memperbaikinya. Kita juga dapat membuat cerita pengguna (*user story*), yang akan membantu menyoroti kebutuhan pengguna yang dapat menjadi landasan untuk perbaikan produk. | ||
|
||
Berpartisipasi dalam mengulas kode (*code review*) memberikan kesempatan untuk memberikan umpan balik konstruktif kepada anggota tim Kita dan menunjukkan kemampuan Kita dalam kepemimpinan dan kerjasama yang efektif. Selain itu, Kita dapat bergabung dengan tim lain untuk mengatasi tantangan teknis dan menunjukkan kemauan Kita untuk bekerja lintas kelompok. Terakhir, manfaatkan ruang gerak di tempat yang Kita lihat dan tawarkan solusi untuk membangun kepercayaan pada produk. | ||
|
||
### Buat "Dokumen Kebanggaan" | ||
|
||
"Dokumen kebanggaan" adalah cara untuk menunjukkan keahlian Kita dan mencatat pencapaian Kita. Dokumen ini akan sangat berharga saat menulis ulasan diri Kita, dan juga dapat dibagikan kepada pimpinan Kita ketika membahas tujuan profesional dan perkembangan menuju promosi. Dokumen ini harus mencakup: | ||
|
||
1. Proyek yang Sudah Diselesaikan | ||
|
||
Cantumkan semua proyek yang pernah Kita kerjakan, termasuk teknologi yang digunakan, tujuan proyek, dan yang paling penting, hasil yang telah dicapai. Fokus pada proyek yang diselesaikan sebagai bagian dari tim atau yang memiliki dampak nyata pada kebutuhan bisnis. | ||
|
||
2. Keterampilan Teknis | ||
|
||
Cantumkan keterampilan teknis yang telah Kita kembangkan atau tingkatkan dari waktu ke waktu. Ini bisa termasuk bahasa pemrograman, kerangka kerja pengembangan perangkat lunak (*framework*), atau teknologi lainnya. | ||
|
||
3. Pengembangan Profesional | ||
|
||
Sertakan catatan pelatihan, kursus, dan sertifikasi yang telah Kita selesaikan untuk menunjukkan komitmen Kita terhadap pembelajaran berkelanjutan dan pertumbuhan profesional. | ||
|
||
4. Pencapaian dan Pengakuan | ||
|
||
Dokumentasikan setiap pencapaian atau pengakuan penting yang telah Kita raih, seperti menyelesaikan proyek lebih cepat dari jadwal atau berhasil memperbaiki bug yang rumit. | ||
|
||
5. Umpan Balik dan Pengakuan | ||
|
||
Rinci setiap umpan balik atau pengakuan yang telah Kita terima dari kolega atau atasan, seperti ulasan kinerja yang positif, pengakuan atas pekerjaan yang luar biasa, atau pujian atas kontribusi Kita pada tim. | ||
|
||
6. Kontribusi *Open Source* | ||
|
||
Tunjukkan kontribusi Kita pada proyek *open source* dan kerja sukarela lainnya, karena ini menunjukkan kesediaan Kita untuk berbagi pengetahuan dan berkolaborasi. | ||
|
||
### Keterampilan Komunikasi dan Kolaborasi yang Efektif | ||
|
||
Keterampilan komunikasi dan kolaborasi yang efektif sangat penting bagi seorang programmer junior yang bercita-cita menjadi seorang senior. Saat Kita naik jabatan dalam karier, Kita diharapkan untuk bekerja dengan tim lintas fungsi, mengelola proyek, dan berkomunikasi tentang solusi teknis kepada pihak yang bukan ahli di bidang teknologi. | ||
|
||
Kita juga perlu tahu cara berkomunikasi dengan audiens eksekutif, yang berarti Kita harus memiliki pesan yang jelas dan ringkas yang berfokus pada inti masalah. Selain itu, Kita dapat mengandalkan keterampilan Kita untuk mempengaruhi hasil teknis selama rapat. Sebagai contoh, ketika klien baru-baru ini meminta lebih banyak kontrol atas filter kata-kata kotor mereka, saya menciptakan filter kata-kata kotor yang dapat disesuaikan sehingga mereka dapat menambahkan kata-kata baru melalui array. | ||
|
||
### Relawan untuk Membimbing dan Bergabung dengan Karyawan Baru | ||
|
||
Sebagai seorang mentor, Kita dapat membantu anggota tim baru beradaptasi dengan cepat dengan peran mereka, memberikan bimbingan dan dukungan kepada mereka, dan menciptakan lingkungan yang ramah untuk pertumbuhan dan pembelajaran pribadi. Menjadi seorang mentor menunjukkan kemampuan Kita untuk bekerja dengan baik dengan orang lain dan juga menunjukkan keterampilan komunikasi yang kuat. | ||
|
||
Pada saat yang sama, Kita memerlukan dukungan sponsor dan mentor Kita sendiri untuk membantu Kita menguasai keterampilan yang kompleks, mendapatkan kesempatan pertumbuhan dalam perusahaan, dan mendapatkan visibilitas yang Kita butuhkan untuk dipromosikan. Ini sangat penting karena Kita tidak akan dapat mencapai tujuan ini sendirian. | ||
|
||
### Menulis Dokumentasi | ||
|
||
Saat Kita maju ke peran senior, Kita harus memberikan contoh komunikasi dan kolaborasi yang efektif kepada junior. Menulis dokumentasi yang jelas dan ringkas menunjukkan dedikasi Kita untuk memastikan bahwa informasi dikomunikasikan dengan efektif dan konsisten. | ||
|
||
Dokumentasi yang baik tidak hanya menambahkan lapisan keamanan teknis yang penting bagi tim, tetapi juga menghemat waktu, mencegah kesalahan, dan memberikan referensi bagi anggota tim dan pihak non-teknis. Selain itu, menulis dokumentasi juga menunjukkan bahwa Kita bersedia melakukan tugas-tugas yang mungkin kurang disukai orang lain, yang merupakan ciri dari seorang pemain tim yang baik. | ||
|
||
### Teruslah Belajar | ||
|
||
Seperti yang mungkin sudah Kita alami, dunia teknologi berkembang dengan cepat, dan Kita harus terus belajar dan mengembangkan keterampilan untuk tetap relevan dalam industri. Untuk berhasil dalam peran senior, tunjukkan kualitas kerja berdasarkan pembelajaran tersebut yang menunjukkan kemajuan Kita menuju kepemimpinan. | ||
|
||
Tetap *up-to-date* dengan menghadiri acara industri, terlibat dalam komunitas teknis (seperti GitHub, Stack Overflow, atau HackerNews), dan terhubung dengan sesama profesional. Di luar jaringan, komunitas ini memberikan kesempatan untuk mempromosikan pencapaian tim Kita secara eksternal, yang menunjukkan kepada kolega senior komitmen Kita terhadap arah perusahaan. | ||
|
||
Terakhir, ingatlah bahwa peningkatan karier membutuhkan waktu dan dedikasi. Kita harus sabar, gigih, dan bersedia melakukan pekerjaan yang diperlukan untuk berhasil. Maju dari insinyur junior menjadi senior memerlukan keterampilan teknis, kepemimpinan, kepemilikan proyek, komunikasi yang efektif, kolaborasi, pemahaman domain bisnis, kinerja tinggi, dan pemikiran inovatif. Dan Kita sudah memiliki semua itu. Selamat berjuang dan semoga sukses dalam perjalanan menuju kesuksesan karir sebagai programmer senior! | ||
|
||
Sumber: | ||
[Junior to senior: An action plan for engineering career success](https://github.com/readme/guides/engineering-career-success) |