Menjadi Web Developer Dengan Otodidak, Mungkinkah?

Seorang teman yang saat ini kuliah dengan jurusan Informatika pernah memberikan saya pertanyaan mengapa tidak sebaiknya melanjutkan pendidikan ke perguruan tinggi untuk memperdalam skill di bidang IT? Dia mengatakan bahwa satu-satunya kunci untuk menjadi seorang Web Developer harus menempuh pendidikan di perguruan tinggi, sangat mustahil kita menguasai ilmu tersebut tanpa kuliah. Banyak tutorial di internet terkait bahasa-bahasa pemrograman, tetapi itu semua hanya konsep dasar bukan membahas secara spesifik, jadi mustahil kita ahli di bidang IT jika hanya mengandalkan tutorial yang ada di internet "menurutnya". Benarkah? Saya bisa saja setuju dengan statement beliau, tapi tidak perlu setuju dengan kesimpulan yang dia katakan.

Faktanya hingga saat ini dalam pemahaman dibidang IT, saya masih unggul dari Dia yang saat ini menempuh pendidikan di perguruan tinggi khususnya dalam ilmu Web Developer (pemrograman). Jadi apakah saya harus percaya dengan apa yang Dia katakan seperti diatas? Tentu saja tidak, banyak saya kenal mereka yang berkecimpung di dunia IT dan ahli di bidang tersebut tanpa gelar sama sekali. Mungkin kalo kita berbicara peluang dalam dunia kerja, sudah pasti mereka lebih berpulang untuk menjadi seorang karyawan pada perusahaan yang bergerak dibidang IT, tapi disini kita berbicara keahliannya bukan peluang dalam hal mencari pekerjaan. Kita juga sama-sama tahu saat ini banyak perusahaan yang menggunakan jasa vendor IT eksternal dalam membantu pengembangan aplikasi perusahaan, selain itu kita juga bisa membangun bisnis pribadi contohnya membuat toko online, web komersial dll. Ini merupakan peluang bagi siapa saja yang memiliki skill dibidang IT walaupun tanpa gelar.
menjadi developer tanpa kuliah
Jadi apakah mungkin menguasai CSS, PHP, Javascript dll tanpa pembelajaran bahasa pemrograman jangka panjang hanya melalui buku, tutorial internet atau kursus online? Sangat mungkin, Pada akhir artikel ini, saya akan memberikan gambaran atau ide untuk menjawab pertanyaan tersebut, tetapi pertama-tama kita perlu mengetahui keterampilan yang seharusnya dimiliki oleh pengembang web yang berkualifikasi.

Website Development Skills

Pemrograman
Keterampilan pertama yang perlu dikuasai untuk menjadi pengembang Web atau yang sering disebut sebagai Web Developer adalah pemrograman. Ada banyak bahasa pemrograman (ribuan bahasa) dengan tujuan/fungsi yang berbeda, untuk menjadi seorang developer setidaknya kita harus menguasai beberapa bahasa pemrograman untuk dapat membuat membangun kode sebuah situs web. Anda bisa memilih mana yang lebih Anda sukai dengan kesederhanaan atau kompleksitas pembelajaran, penggunaan universal, standar pengembangan web, tren, rekomendasi, dll. Misalnya HTML, yang merupakan bahasa markup standar untuk membuat dokumen di web. Ini termasuk judul, teks, dan tautan. Dengan kata lain, HTML merupakan jantung/inti dari sebuah website.

CSS, yang berarti Cascading Style Sheets, adalah bahasa yang dapat disandingkan dengan HTML untuk memungkinkan programmer mengatur style halaman web seperti tata letak, warna, dan font. Elemen-elemen ini disimpan terpisah dari kode halaman web utama.

JavaScript berfungsi untuk menyempurnakan tampilan dan sistem pada halaman web, ini merupakan bahasa yang paling umum digunakan untuk animasi, game, aplikasi, dan interaktivitas di situs web. Umumnya efek dinamis pada situs dibuat melalui bahasa pemrograman ini. Selain java script, ada banyak bahasa pemrograman seperti PHP, Perl, ASP.Net, Python, Ruby, silahkan pilih yang lebih menarik atau yang lebih mudah dipahami sesuai kebutuhan Anda.

Learning
'Pelajari dasar-dasarnya tetapi selalu berorientasi pada perkembangan bahasa pemrograman' - prinsip yang sangat kompatibel pada banyak profesi, pada pengembangan web khususnya. Orang-orang yang berurusan dengan teknologi, inovasi, dan pengembangan web harus menyadari betapa pentingnya memperkenalkan jari mereka pada hal-hal baru. Developer akan menarik bagi perusahaan ketika dia mengetahui banyak hal, bisa membuat situs web atau aplikasi apa pun, mampu memperbaiki bug, dan tentunya can be unique dan kreatif.

Testing
Selain coding dan desain, testing merupakan bagian inti dari proses pengembangan situs web. Web Developer juga penguji sampai batas tertentu. Sebelum menyerahkan hasil project (website) kepada klien Anda, pastikan semuanya berfungsi/terstruktur dengan baik dan benar:
  • kompatibilitas browser 
  • links direct appropriately
  • forms work
  • algoritma dan menu navigasi yang sempurna
  • fast loading
  • dll
Intinya, sebagai pengembang web Anda harus menguji setiap detail yang Anda buat. Walaupun itu bukan tanggung jawab Anda ketika bekerja dengan tim spesialis pada perusahaan besar, karena biasanya Anda akan dibantu oleh spesialis tester untuk mensupport pekerjaan Anda.

Pengetahuan Dasar Desain
Developer berbeda dengan desainer, tetapi keterampilan desain berguna dan sangat bermanfaat bagi seorang developer dalam menunjang pekerjaan mereka, setidaknya developer harus menguasai dasar-dasar desain. Sehingga kolaborasi pengembangan sangat membantu bagi seorang desainer untuk menyesuaikan ukuran dan gaya yang akan dimuat pada halaman web.

Jadi, untuk menjadi seorang developer Anda harus belajar sedikit desain grafis, karena ini dapat memberikan Anda kesadaran akan banyak tools grafis yang berguna untuk pengembangan yang jauh lebih baik. Ketika pengembang mempelajari teknik desain, mereka mendapatkan pemahaman yang lebih baik tentang daya tarik sebuah situs web dan memperoleh selera desain yang lebih baik.

Developers and designers biasanya bekerja pada proyek yang sama, tetapi pada aspek yang berbeda. Tentu saja ini bagus ketika mereka saling memahami dan dapat berkolaborasi, berbagi pengetahuan dan pengalaman guna membantu menciptakan hasil yang maksimal. "Rekomendasi profesional adalah sumber pembelajaran yang baik".

Dengan popularitas responsive yang terus meningkat, seorang developer harus memahami prinsip-prinsip desain responsive, Ini untuk peningkatan level dan mendapatkan tingkat profesionalisme yang lebih baik.

Anda dapat mulai mempelajari dasar-dasar desain di internet, mencari tutorial yang bermanfaat dan dapat dipahami dengan mudah dan tentu saja menerapkan pengetahuan Anda dalam praktik.

SEO
Pada kebanyakan perusahaan IT, optimisasi pada mesin pencari merupakan lebih ke tugas dari spesialis SEO atau marketer daripada pengembang atau desainer, namun seorang Developer tidak dapat mengabaikan strategi dan teknik SEO.

Faktor pertama yang memperngaruhi SEO adalah kecepatan (loading). Developer tentu saja bertanggung jawab akan hal ini, sehingga mereka harus memahami pentingnya kecepatan situs untuk taktik SEO. Faktor ini sangat tergantung pada pekerjaan developer, khususnya pada bahasa pemrograman mana yang mereka gunakan.

Developer harus menguasai teknik cara pengalihan yang tepat pada saat satu halaman tersedia dengan beberapa URL, ada dua jenis yang harus Anda pelajari - 301 dan 302 redirect.

juga beberapa hal yang perlu dipertimbangkan: judul dan meta tag, subdomain, tautan internal, peta situs, semua merupakan komponen kunci SEO.

Memahami  security attack dan Cara Mencegahnya
Developer mempunyai tugas dan tanggung jawab yang sangat komplex, tidak hanya menyelesaikan masalah, namun juga membangun suatu produk. Developer melakukannya sesuai dengan prinsip-prinsip desain dan implementasi rekayasa perangkat lunak, termasuk hal-hal seperti kinerja, maintainability, skalabilitas, ketahanan, dan idealnya keamanan diikutkan juga. Keterampilan keamanan sangat diperlukan saat membuat sebuah website. Anda harus siap dengan serangan keamanan dan tahu bagaimana memberikan solusi untuk permasalahan yang ditimbul.

Berikut ini beberapa serangan dari para hacker jahat yang biasa terjadi, meskipun pengetahuan praktis Anda sendiri mengetahui banyak teknik yang bisa digunakan untuk meretas sebuah web:
  • SQL Injection
Injeksi SQL adalah serangan perangkat lunak (aplikasi) data-driven ketika penempatan kode berbahaya dalam pernyataan SQL melalui input halaman web. Biasanya terjadi ketika Anda meminta input dari pengguna, seperti nama pengguna (ketika input dari pengguna tidak disaring secara benar), contohnya adalah kolom username yang seharusnya hanya diisi dengan huruf atau angka tapi malah diisi dengan karakter lain (seperti: – = ’) sehingga penyerang menggunakan celah tersebut dengan cara memasukan query dari SQL. Meskipun aplikasi basis data apapun dapat mengatasinya, Penggunaan kueri yang diparameterisasi adalah solusi untuk masalah keamanan ini.
  • Cross-site scripting
Cross-site scripting terjadi ketika peretas menggunakan skrip berbahaya untuk menginfeksi sebuah halaman web. Ketika pengguna menjelajahi halaman situs, biasanya skrip yang berbahaya terunduh secara otomatis. Jika demikian, maka sesuatu yang buruk akan terjadi pada situs tergantung pada tujuan dan skrip yang digunakan. Anda harus mengontrol setiap data yang dikirim ke formulir pada situs web dan menyandikan seluruh HTML yang ada.
  • Error messages
Error messages dapat menjadi sumber informasi bagi peretas. Pastikan Anda tidak menyisipkan informasi penting apa pun dalam pesan ini. Misalnya, jika pengguna memasukkan detail login yang benar tetapi kata sandi yang salah dalam formulir masuk, buat pesan kesalahan seperti 'Anda memasukkan username atau kata sandi salah'. Karena apabila seorang hacker tahu bahwa satu bidang benar, ia akan berkonsentrasi pada bidang yang salah.
Resize dan Efek Gambar
Biasanya para pengembang mengandalkan desainer dalam masalah gambar. Tetapi pengetahuan dasar tentang Photoshop dan beberapa aplikasi lain bisa menjadi keterampilan yang membantu pekerjaan. Minimal, seorang Web Developer harus dapat mengubah ukuran atau memotong gambar, menyesuaikan warna, menerapkan beberapa efek seperti transparansi.

Keteguhan Hati
Pengalaman membuat kita selangkah lebih baik dalam percobaan baru atau bahkan kesalahan memberi kita pengalaman atau ilmu baru. Dalam dunia developer tidak ada kata ragu, ia harus mencoba hal-hal baru untuk mendapatkan hasil yang lebih baik dan berkembang dengan pengalaman yang baru. Ini lebih seperti sifat manusia, bukan keterampilan, Anda tidak bisa menjadi Developer profesional tanpa prinsip ini.

Keyakinan
Keyakinan pada apa yang Anda lakukan dapat membantu Anda menghemat waktu dan menghabiskannya untuk sesuatu yang lebih penting daripada ratusan percobaan. Karena ketika Anda tidak yakin dengan kualitas pekerjaan Anda, maka Anda akan memeriksanya lagi dan lagi sampai waktu Anda habis begitu saja melakukan hal yang tidak bermanfaat. Ini bukan hanya tentang waktu, tetapi perasaan emosional dan profesional.

Toleransi dan Kesabaran
Seorang Web developer tidak mendapatkan hasil yang sempurna dari percobaan pertama, jika Anda mampu membuat program tanpa bug, sungguh luar biasa skill yang Anda miliki! Itulah yang saya maksud seorang developer adalah penguji batas tertentu. Pengujian sebenarnya bertujuan untuk memastikan perangkat lunak bebas bug. Kesabaran adalah fitur yang sangat penting yang harus dimiliki oleh developer yang baik. Anda perlu menyadari bahwa kesalahan adalah sesuatu yang menuntun Anda menuju kesempurnaan.

Manajemen Waktu dan Perencanaan
Selain belajar coding, tentu saja Anda pasti ingin menghabiskan waktu bersama teman-teman atau bermain game kesukaan Anda, tetapi Anda tidak tahu bagaimana cara melakukannya? Sebenarnya ini masalah manejemen waktu. Sekarang, saya akan memberi Anda beberapa kiat cara merencanakan waktu dan tugas Anda:
  1. Tetapkan tujuan jangka panjang dan juga jangka pendek.
  2. Rencanakan tugas secara terperinci untuk menghindari perencanaan ulang.
  3. Buat daftar tugas yang harus diikuti setiap hari.
  4. Jangan mengesampingkan tugas-tugas sulit, memecahnya menjadi potongan-potongan kecil dan langsung melakukan eksekusi.
  5. Disiplinkan diri Anda, buat jam kerja Anda konsisten.
  6. Masukkan waktu untuk istirahat dalam jadwal Anda
Kemalasan
Ini merupakan tantangan utama bagi kebanyakan orang dalam mencapai apa yang telah direncanakan. Tidak ada obat malas, cari solusi yang efisien namun termudah untuk setiap tugas, jangan lakukan semuanya dua kali: jadikan usaha pertama Anda sebagai yang terakhir.

Kesimpulan:
Ada ratusan bahkan ribuan pembuat situs untuk semua keperluan, misalnya Let's Eat adalah pembuat situs web restoran, Adobe Muse melayani desainer grafis, dan MotoCMS  yang cocok untuk bagi konsultan keuangan hingga agen perjalanan, beberapa situs itu sangat fleksibel dan sangat fungsional.

Apa pendapat anda tentang platform layanan pembuatan website diatas? Mengingat pengaruh teknologi informasi saat ini sangat berpengaruh besar dalam kesusksesan perusahaan, tentu saja peluang seorang web developer untuk masuk menjadi bagian perusahaan sangat besar. Contohnya perusahaan kuliner dan agen perjalanan, untuk mendapatkan pangsa pasar yang luas mereka harus melibatkan sebuah teknologi informasi berbasis Internet. Dengan skill yang kita miliki dibidang web developer memungkinkan kita untuk meraup keuntungan dari bisnis mereka. Kita bisa menawarkan jasa untuk bekerjasama dalam bisnis mereka, selain itu kita bisa memanfaatkan skill yang kita miliki untuk membangun bisnis sampingan dalam hal pemasaran produk melalui internet.
BERIKAN KOMENTAR ()