Tools yang Selalu Saya Pakai Setiap Hari sebagai Developer
Orang-orang sering tanya soal setup coding — pakai editor apa, terminal apa, tools apa yang dipakai. Pertanyaan yang wajar karena setup yang tepat memang bisa membuat pekerjaan lebih nyaman dan efisien. Saya tidak akan bilang setup saya adalah yang terbaik, tapi ini yang bekerja dengan baik untuk saya setelah beberapa kali berganti-ganti.
Editor: VS Code
Saya sudah mencoba beberapa editor — Sublime Text, Atom, bahkan sempat beberapa bulan pakai Vim. Tapi akhirnya kembali ke VS Code dan bertahan di sini sejak lama.
Yang membuat VS Code unggul buat saya adalah kombinasi antara ringan, extensible, dan ekosistem extension yang sangat kaya. Untuk PHP ada Intelephense, untuk Flutter ada extension resmi dari tim Flutter, untuk database ada database client yang bisa langsung query dari dalam editor.
Extension yang selalu terpasang:
- PHP Intelephense — autocomplete dan analisis kode PHP yang sangat baik
- Flutter dan Dart — wajib untuk development Flutter
- GitLens — memperkaya tampilan Git di dalam editor
- Error Lens — menampilkan error langsung di baris kode, tidak perlu hover
- Better Comments — highlight komentar berdasarkan kategori (TODO, FIXME, dll)
- Thunder Client — REST client langsung di dalam VS Code, pengganti Postman untuk kebutuhan sehari-hari
Terminal: Bawaan Linux dengan Oh My Zsh
Saya pakai Linux sebagai OS utama, jadi terminal sudah jadi bagian yang tidak terpisahkan dari workflow sehari-hari. Yang membuat pengalaman terminal jauh lebih nyaman adalah Oh My Zsh — framework untuk mengelola konfigurasi Zsh.
Plugin yang paling berguna:
- git — alias dan shortcut untuk perintah git
- zsh-autosuggestions — saran perintah berdasarkan history, tinggal tekan panah kanan untuk complete
- zsh-syntax-highlighting — highlight syntax langsung di terminal, command yang valid berwarna hijau, yang tidak valid merah
Database Client: DBeaver
Untuk bekerja dengan database, saya pakai DBeaver. Gratis, mendukung hampir semua jenis database (MySQL, PostgreSQL, SQLite, dan lain-lain), dan fiturnya cukup lengkap untuk kebutuhan sehari-hari — dari visual query builder sampai export data dalam berbagai format.
Yang paling sering saya pakai: fitur compare table structure untuk mengecek perbedaan skema antara database development dan production sebelum migrasi.
API Testing: Bruno
Postman sudah lama jadi standar untuk testing API, tapi setelah beralih ke model subscription dan mewajibkan akun online, saya mulai cari alternatif. Bruno jawabannya — open source, bisa jalan fully offline, dan yang paling saya suka: koleksi API disimpan sebagai file di filesystem, bukan di cloud, jadi bisa di-version control dengan Git.
Version Control: Git dengan Alur yang Sederhana
Untuk proyek personal, saya tidak pakai Gitflow yang kompleks. Cukup dua branch: main untuk yang sudah stable, dan branch fitur untuk yang sedang dikerjakan. Simple, tidak overkill untuk proyek skala kecil-menengah.
Beberapa alias Git yang selalu ada di config:
[alias]
st = status
co = checkout
br = branch
cm = commit -m
lg = log --oneline --graph --decorate --all
undo = reset --soft HEAD~1
git lg itu yang paling sering dipakai — memberikan gambaran visual yang ringkas tentang history commit dan cabang-cabangnya.
Deployment: Kombinasi Git dan Script
Untuk deploy ke server, saya pakai pendekatan sederhana: repository di server, dan script deploy yang melakukan pull, migrate (kalau ada), dan reload service yang diperlukan. Tidak pakai CI/CD yang kompleks karena untuk skala proyek saat ini belum dibutuhkan.
#!/bin/bash
# deploy.sh
set -e # hentikan script kalau ada error
echo "=== Mulai deploy ==="
git pull origin main
# Reload PHP-FPM
sudo systemctl reload php8.3-fpm
echo "=== Deploy selesai ==="
Catatan: Yang Paling Penting Bukan Toolsnya
Tools yang bagus memang membantu, tapi bukan penentu utama. Developer yang baik bisa produktif dengan tools yang sederhana, dan developer yang kurang pengalaman tidak akan tiba-tiba jadi jauh lebih baik hanya karena pakai setup yang lebih canggih.
Yang lebih penting dari tools adalah kebiasaan: version control dari hari pertama, backup sebelum eksperimen besar, dokumentasi untuk hal-hal yang tidak ingin diingat ulang, dan debugging yang sistematis ketimbang trial and error acak.
Tools itu pendukung kebiasaan yang baik, bukan pengganti kebiasaan yang baik. 🙂
Belum ada komentar. Jadilah yang pertama menulis.
Tulis Komentar