2021/03/02
Aku suka pemrograman. Rasanya keren. Seolah-olah aku menjadi hacker di film-film. Hanya tinggal mengetik kode sebentar lalu tekan enter. Boom! sesuatu terjadi seperti yang aku inginkan. Misalnya masuk ke dalam sistem komputer, download data, upload data, mematikan listrik satu kota atau mengendalikan mesin mobil atau sistem komputer suatu gedung, perusahaan dan sebagainya.
Dari pengalamanku ada pemrograman dekstop, pemrograman web dan android. Pemrograman dekstop memakai berbagai bahasa pemrograan. Misalnya C, Java, python, dan lain-lain. bahasa pemrograman android juga memakai berbagai bahasa seperti java, javascript, kotlin, swift, dart dan lain-lain. bahasa pemrograman web sebenarnya juga banyak seperti html, javascript, php, css dan lain-lain. Meskipun begitu kurasa pemrograman web itu yang paling mudah karena bisa memakai teks editor dan web browser saja. Tinggal mengetik kodenya di sana dan simpan dengan ekstensi html maka program bisa langsung berjalan di browser. hasilnya langsung dikompilasi dan bisa dilihat.
Aku jadi ingin jadi programer web atau web developer. Aku ingin membuat program web yang keren. Aku ingin membuat halaman web yang keren, bagus, canggih, kompleks, menarik, interaktif dan aman. Aku ingin menjadi web developer yang membuat banyak web. Kuharap aku bisa menjadikannya sebagai profesi dan bisnis untuk menunjang hidup dan cita-cita/ idealismeku.
Untuk menjadi web developer aku harus banyak belajar dan berlatih. Aku mencari informasi di internet tentang apa saja yang harus aku pelajari supaya bisa menjadi web developer yang bagus, berkualitas dan ahli. Aku mendapatkannya. Ini dia pengetahuan-pengetahuan dan keterampilan yang harus aku kuasai untuk menjadi seorang web developer handal. pengetahuan, keterampilan dan keahlian ini sudah ditata secara urut mulai dari tingkat dasar, hingga menengah dan tingkat ahli, mahir dan profesional. tatanan yang urut ini disebut roadmap pemrograman web.
roadmap pemrograman web ini sebagai berikut:
Roadmap Pemrograman Web
1. Dasar (Beginner)
- HTML → struktur halaman web (heading, paragraf, link, gambar, form).
- CSS → styling (warna, layout, responsif dengan Flexbox/Grid).
- Dasar JavaScript → variabel, fungsi, event, manipulasi DOM.
- Version Control (Git & GitHub) → menyimpan dan mengelola kode.
- Basic Deployment → upload ke hosting gratis (Netlify, Vercel, GitHub Pages).
2. Menengah (Intermediate)
- JavaScript Lanjutan → ES6+, async/await, fetch API.
- Responsive Design → media query, mobile-first design.
- Framework CSS → Bootstrap, Tailwind CSS.
- Frontend Framework → React, Vue, atau Angular.
- Package Manager → npm, yarn.
- Basic Backend → Node.js + Express (membuat API sederhana).
- Database Dasar → MySQL, PostgreSQL, atau MongoDB.
- Authentication → login, register, session, JWT.
3. Lanjutan (Advanced)
- Fullstack Development → MERN (MongoDB, Express, React, Node.js) atau MEVN.
- State Management → Redux, Vuex, atau Context API.
- REST API & GraphQL → komunikasi data antar aplikasi.
- Testing → unit test (Jest, Mocha), end-to-end test (Cypress).
- Performance Optimization → lazy loading, caching, minification.
- Security → HTTPS, sanitasi input, proteksi XSS/CSRF.
- DevOps Dasar → CI/CD, Docker, deployment ke server (Heroku, AWS, DigitalOcean).
4. Profesional (Expert)
- Scalable Architecture → microservices, serverless.
- Advanced Backend → NestJS, Django, atau Laravel.
- Cloud Services → AWS, Google Cloud, Azure.
- Advanced Database → indexing, query optimization, NoSQL vs SQL.
- Accessibility (A11y) → website ramah difabel, standar WCAG.
- UX & UI Design Thinking → riset pengguna, prototyping, usability testing.
- Team Collaboration → agile, scrum, project management tools (Jira, Trello).
- Open Source Contribution → ikut proyek komunitas untuk pengalaman nyata.
Itulah daftarnya. Sementara ini itu dulu. nanti kalau teknologi atau perkembangan zaman berubah mungkin saja akan ada yang berubah.
ibarat peta roadmap itu petanya. Kita sudah tahu ujungnya. Kita sudah tahu tujuannya. Kita sudah tahu jalannya. Sekarang tinggal menjalaninya.
Postingan ini aku buat sebagai catatan dan self reminder bagi diriku sendiri. meskipun begitu daftar di atas akan berguna juga untuk kalian, pembaca. Siapapun yang ingin menjadi web developer akan harus menempuh jalan itu. daftar itu umum. berlaku untuk siapa saja. Siapapun yang ingin mencapai tujuannya harus menempuh jalannya.
Jalan di atas panjang. Awalnya ringan dan sederhana tapi makin lama akan semakin berat dan kompleks. Dibutuhkan kekuatan, kedisiplinan, ketekunan dan fokus untuk menyelesaikannya. Jalan itu akan terlihat berat kalau dilihat semua, ingin mengerjakan semua sekaligus dan cepat selesai saat ini juga. Itu tidak bisa. Maka jangan melihat dan berpikir begitu!
pikirkan dan lihat satu langkah saja! pecah satu langkah menjadi langkah-langkah kecil! cukup lakukan satu langkah setiap hari. Misalnya membuat satu halaman sederhana. Ketik satu baris kode atau beberapa baris singkat. Besoknya ditambahi satu baris. begitu seterusnya. Tanpa terasa nanti semua akan terlampaui.
Ujung perjalanan bukanlah akhir. Setelah mencapai sana kita bisa beristirahat tapi tidak bebas selamanya. Justru di sana kita akan menghadapi dunia pemrograman yang sebenarnya di mana masalah sebenarnya tidak cuma kode tapi juga bisnis, komunikasi, psikologi konsumen, keamanan dan lain-lain. Meskipun begitu jangan patah semangat!
kita selesaikan belajar kita dulu di sini. masalah-masalah itu akan kita pecahkan nanti kalau sudah di sana. Kalau dipikirkan malah akan semakin pusing nanti.
Selamat belajar! Semoga berhasil!
Tidak ada komentar:
Posting Komentar