Cara Saya Pakai AI untuk Ship 3x Lebih Cepat Tanpa Mengorbankan Kualitas
AI tools tidak menggantikan cara berpikir saya — mereka menghilangkan bagian coding yang membosankan. Ini workflow eksak saya: apa yang saya delegasikan ke AI, apa yang tidak pernah saya lakukan, dan cara menjaga kualitas kode sambil bergerak cepat.
Banyak developer yang merasa AI coding tools itu “cheat” atau “akan membuat kita malas”. Saya tidak setuju. Selama 2 tahun terakhir saya pakai berbagai AI tools — Claude, ChatGPT, Cursor, Antigravity — dan hasilnya: saya ship lebih banyak, lebih cepat, dengan kualitas yang sama atau lebih baik.
Kuncinya: tahu apa yang harus didelegasikan ke AI dan apa yang tetap harus kamu pikirkan sendiri.
Yang Saya Delegasikan ke AI
1. Boilerplate dan repetitive code
// Saya tinggal describe ke AI:
// "Buat TypeScript type untuk response API booking dengan field:
// id, passenger_name, route_from, route_to, departure_time,
// status (pending/confirmed/cancelled), total_price"
// AI generate:
type BookingStatus = "pending" | "confirmed" | "cancelled";
interface BookingResponse {
id: string;
passengerName: string;
routeFrom: string;
routeTo: string;
departureTime: Date;
status: BookingStatus;
totalPrice: number;
}
Ini yang butuh 5 menit kalau manual, jadi 30 detik dengan AI.
2. CSS/Tailwind styling
Prompt: "Buat card component dengan Tailwind CSS:
- Dark background (#18181B)
- Border tipis yang terang saat hover
- Padding 24px
- Sudut rounded-xl
- Transisi smooth"
3. Regex dan string manipulation
// Prompt: "Buat fungsi yang extract semua URL dari string teks"
function extractUrls(text: string): string[] {
const urlRegex =
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g;
return text.match(urlRegex) || [];
}
4. Dokumentasi dan komentar
AI sangat bagus untuk generate JSDoc dari kode yang sudah ada:
/**
* Menghitung total harga booking dengan mempertimbangkan
* diskon dan pajak yang berlaku.
*
* @param basePrice - Harga dasar tiket
* @param discount - Persentase diskon (0-100)
* @param taxRate - Rate pajak (default: 0.11 untuk PPN)
* @returns Total harga setelah diskon dan pajak
*/
function calculateTotalPrice(
basePrice: number,
discount: number,
taxRate = 0.11,
): number {
const discountedPrice = basePrice * (1 - discount / 100);
return discountedPrice * (1 + taxRate);
}
Yang TIDAK Saya Delegasikan ke AI
1. Arsitektur dan keputusan system design
“Apakah kita butuh microservices atau monolith?” — ini harus kamu pikirkan sendiri berdasarkan konteks bisnis.
2. Business logic yang kritis
Kalkulasi harga, aturan bisnis, validasi data penting — ini butuh pemahaman domain yang dalam. AI bisa salah.
3. Review kode AI-generated
Wajib review setiap baris kode yang di-generate AI. Saya tidak pernah paste langsung tanpa baca. AI bisa:
- Generate kode yang benar secara syntax tapi salah secara logic
- Pakai library yang deprecated
- Miss edge cases penting
Workflow Harian Saya
Pagi: Plan apa yang mau dikerjakan hari ini (otak sendiri)
↓
Breakdown task jadi subtask kecil
↓
Untuk setiap task:
Kalau boilerplate/repetitive → delegate ke AI
Kalau logic/architecture → pikir sendiri, AI untuk sanity check
↓
Review semua AI output sebelum commit
↓
Testing manual — AI tidak bisa replace ini
Tools yang Saya Pakai
- Antigravity — editor utama, AI built-in yang context-aware
- Claude — untuk diskusi approach, explain konsep, review
- ChatGPT — brainstorming awal, ideasi
Kesimpulan
AI tidak membuat saya malas. AI mengambil bagian yang membosankan supaya saya bisa fokus ke bagian yang butuh thinking dan kreativitas. Hasilnya: lebih banyak feature shipped dengan lebih sedikit burnout.
Memuat komentar...