Bismillah,

Pada tulisan ini, saya ingin membagi links tutorial yang menurut saya sangat bermanfaat bagi seseorang yang ingin menjadi Software Develover secara Autodidak. Tidak mengesampingkan pentingnya kuliah di jurusan IT, namun semangat mempelajari ilmu pengetahuan yang tinggi, walaupun oleh seorang yang belajar Autodidak, bisa saja menghasilkan Software Developer (Programmer) yang handal.

  1. Linux
    • Linux Tutorial

      Ini adalah tutorial yang saya gunakan untuk belajar Command Line di Linux sekitar tahun 2005. Update terakhir tutorial ini sekitar tahun 1998, namun saya menilainya masih cukup relevan untuk di gunakan di tahun 2018, 20 (dua puluh) tahun kemudian.

    • Introduction to Linux

      Sangat bagus untuk mengenal dunia Linux dan Command Line nya.

    • Pocket Linux Guide

      Tutorial Favorite saya, sering saya praktek kan waktu dulu. Melatih kesabaran kita untuk compile kernel, compile ini dan itu sampai bisa booting linux mini nya. Toturial ini sangat berkesan bagi saya. Bahkan saking senang nya membuat distro mini ini, saya menulis kan catatan nya di sini dan di sini.

    • Belajar Vim

      Ini satu hal yang sangat penting bagi seorang Software Developer, yaitu menguasai Vim, lho kok Vim? iya, Vim, karena bagi saya pribadi, tidak ada text editor yang lebih memadai untuk di gunakan di dunia Unix-like, semisal Vim. saya menyarankan untuk menggunakan “vimtutor” yang tersedia di distro-distro Linux yang ada, karena itu yang paling mudah menurut saya. Kuasai dulu Vim, sebelum belajar Bahasa Pemprograman.

  2. Bahasa C
    • C Programming Tutorial

      Bahasa C adalah Bahasa Pemprograman yang seyogyanya di kuasai oleh seorang Software Developer. Karena Bahasa ini merupakan pondasi dari sebagian Bahasa Pemprograman Tingkat tinggi lainnya. Pada tutorial ini, saya belajar dan praktek dasar-dasar Pemprograman Bahasa C

    • C Programming

      Pada tutorial Bahasa C ini, materi singkat dan padat, disertai contoh soal dan jawabannya. Sangat bermanfaat untuk latihan sejauh mana penguasaan terhadap materi yang ada.

  3. Bahasa Assembly
    • Programming from the Ground Up

      Iya, betul, Bahasa Assembly. Setelah Belajar Bahasa C, kita putar balik ke bahasa yang lebih rendah, yaitu bahasa Assembly. Dengan belajar Bahasa ini, akan lebih mudah paham apa itu pointer di bahasa C dan hal lainnya. Sehingga, bisa mengulang kembali (revisit) materi bahasa C yang di rasa kurang paham, setelah belajar Bahasa Assembly.

  4. OpenBSD
    • OpenBSD Frequently Asked Questions

      OpenBSD adalah salah satu sistem Unix-like (semisal Unix) yang focus pada security. OpenBSD ini banyak di gunakan sebagai Firewall untuk Infrastruktur Internet. Saya pribadi memilih OpenBSD sebagai server untuk aplikasi-aplikasi yang saya develop.

    • OpenBSD PF - User’s Guide

      Kekuatan Utama OpenBSD adalah sebagai Firewall. Fitur penting yang tersedia di OpenBSD PF, kalau di setting dengan baik, diantaranya; mampu membendung Reverse telnet, anti DDOS, anti Sync attack. Saya menulis tentang PF ini di sini, di sini, di sini, dan di sini.

  5. SQL
  6. PHP
    • Reportico

      Ini adalah Aplikasi Reporting Tool yang di bangun dengan PHP. Mudah di konfigurasi untuk terkoneksi dengan Postgresql. Aplikasi inilah yang saya gunakan sebagai Framework untuk laporan-laporan yang saya Query dari Database Postgresql.

  7. Python
    • Python Tutorial

      Banyak tutorial Python tersedia di internet, tapi ini adalah tutorial resmi dari website python.org yang saya gunakan untuk mempelajari bahasa Python. Langsung ke sumber nya.

    • Project Euler

      Latihan algoritma, mengasah skill dan mental problem solving, sangat bermanfaat. Bermanfaat untuk mengasah, sejauh mana pengetahuan kita terhadap suatu bahasa pemprograman. Saya biasa menyelesaikan nya dengan Bahasa Python. Coba selesaikan beberapa soal yang dianggap mudah antara nomor 1 sampai nomor 120. Kalau bisa menjawab 20 soal saja sudah bagus menurut saya.

    • Django Tutorial

      Framework yang saya gunakan untuk membangun aplikasi-aplikasi berbasis Web. Silahkan di ikuti tutorialnya, mudah dan menarik. Pakai SQLite aja untuk latihan.

  8. Tambahan
    • CVS

      cukup ketik “info cvs” di terminal, ikuti tutorialnya di situ. Saya menggunakan cvs ini untuk mengelola kode sumber saya yang terdapat data-data rahasia, semisal password dll, sehingga hanya tersimpan di cvs server saja. Ini sedikit catatan saya mengenai cvs di sini.

    • Github

      Software Developer sebaiknya kenal juga dengan git dan github. Saya menyimpan data-data yang tidak sensitif di Github.

    • Sed dan Awk

      Powerfull sekali untuk mengedit file text. Tambahan untuk cut dan paste di sini.

    • Understanding IP Addressing dan Linux Network Administrators Guide

      Software Developer seyogyanya paham Subnetting, Routing, dan hal lainnya terkait TCP/IP

    • Principles of user interface design dan Principles of User Interface Design

      User Interface atau Interaksi Manusia Komputer harus di perhatikan dengan seksama Sehingga aplikasi yang baik adalah yang paling mudah di gunakan.

    • Unix Design Philosophy

      Prinsip-prinsip dalam pembuatan software.

Sekian dari saya, link-link yang saya anggap bermanfaat untuk di pelajari bila berminat menjadi seorang Software Developer. Mungkin ada yang berbeda pendapat, bahwa list yang saya buat ini terlalu condong ke Unix-like Operating System. Namun, daftar ini adalah pendapat saya pribadi.

Kemudian, sebagai refensi tambahan, berikut links Lainnya:

  1. Teach Yourself Programming in Ten Years
  2. Teach Yourself Computer Science
  3. OpenBSD Books

Alhamdulillah