本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文This site is available in English.View in Englishこのサイトには日本語版があります。日本語で表示이 사이트는 한국어로도 제공됩니다.한국어로 보기Diese Website ist auch auf Deutsch verfügbar.Auf Deutsch ansehenEste sitio web también está disponible en español.Ver en españolQuesto sito è disponibile anche in italiano.Visualizza in italianoCe site est également disponible en français.Afficher en françaisEste site também está disponível em português.Ver em portuguêsDeze website is ook beschikbaar in het Nederlands.In het Nederlands bekijkenЭтот сайт также доступен на русском языке.Смотреть на русскомयह वेबसाइट हिन्दी में भी उपलब्ध है।हिन्दी में देखेंهذا الموقع متاح أيضًا باللغة العربية.عرض بالعربيةSitus ini juga tersedia dalam bahasa Indonesia.Lihat dalam bahasa IndonesiaBu site Türkçe olarak da mevcut.Türkçe görüntüleTa strona jest dostępna także po polsku.Wyświetl po polskuTrang web này cũng có phiên bản tiếng Việt.Xem bằng tiếng Việt

از «همین‌که کار می‌کند کافی است» تا «جرئت تغییر دادن و به کار انداختنش»: دفترچهٔ یک ماه برنامه‌نویسی یک تازه‌کار

هوش مصنوعی2026.04

نخست یک نکته را روشن کنم: من مهندس نرم‌افزار نیستم و آنچه اینجا دربارهٔ برنامه‌نویسی می‌گویم در واقع همه‌اش همان چیزی است که به آن Vibe Coding می‌گویند؛ همان نوعی که آدم دنبال حسش می‌رود.

لپ‌تاپی روی میز که کد نمایش می‌دهد، کنارش کاغذهای یادداشت چسبان، یک وایت‌برد کوچک که روند اصلاح روی آن نوشته شده‌است، یک تایمر پومودورو و یک دفترچهٔ برنامه‌نویسی دست‌نویس، و یک ماگ با نقش گربه

این اواخر برای آنکه کارم کمی روان‌تر پیش برود، پیوسته در حال ساختن ابزارهای کوچک خودم بوده‌ام. در این دو روز سه کار انجام دادم: پشتیبان‌گیری با Git را شروع کردم، چند bug در منطق برنامه را برطرف کردم و یک مدل هوش مصنوعی تازه را وصل کردم.

سخت‌ترین بخش نحو زبان نیست، «تبدیل خواسته به کد» است

پس از یک ماه، بزرگ‌ترین درسی که گرفتم این است — سخت‌ترین جای برنامه‌نویسی در واقع نحو زبان نیست، بلکه تبدیل «اینکه من دقیقاً چه می‌خواهم» به «کد مشخص و ملموس» است.

برای نمونه، گفتن «رفع یک bug» بسیار ساده است، اما پیش از آنکه واقعاً دست به کار شوید، باید انبوهی از پرسش‌ها را از خودتان بپرسید:

  • آیا اول فایل را ذخیره کنم؟
  • آیا یک شاخهٔ تازه (branch) باز کنم؟
  • چه زمانی آزمون بگیرم؟ و چگونه آزمون بگیرم؟
  • پس از پایان تغییر، چه چیزی «تمام‌شده» به شمار می‌آید؟
  • آیا همان‌جا یک شمارهٔ نسخه هم بزنم؟

این‌ها در واقع هیچ‌کدام مسئلهٔ برنامه‌نویسی نیستند، بلکه مسئلهٔ «عادت‌های کاری» هستند. شاید این روند در صنعت نرم‌افزار بسیار رایج باشد، اما برای یک تازه‌کار برنامه‌نویسی حسابی کابوس است.

چند نکتهٔ کوچک که یاد گرفتم

در این یک ماه چند نکتهٔ کوچک یاد گرفتم که آن‌ها را با تازه‌کارهایی مثل خودم در میان می‌گذارم:

  1. اول سپر محافظ را بالا بیاورید، بعد دست به تغییر بزنید. با Git کنترل نسخه انجام دهید تا حتی اگر همه‌چیز را خراب کردید، در سی ثانیه بتوانید به گذشته برگردید؛ درست مانند نقطهٔ ذخیره در یک بازی، خیالتان آسوده است.
  2. هر بار فقط یک کار انجام دهید. هرگز سراغ «حالا که دستم است، یک خط دیگر هم عوض کنم» نروید، چون همین کار باعث می‌شود شما در آینده بخواهید سرتان را به دیوار بکوبید.
  3. کند بودن طبیعی است. یک بعدازظهر کامل فقط برای راه افتادن یک قابلیت کوچک؟ بله، همین روال روزمره است. آن آموزش‌های «یک‌شبه استاد شوید» بیشترشان دارند شما را گول می‌زنند.
  4. برای خودتان در آینده یادداشت بنویسید. وگرنه دفعهٔ بعد که برگردید و نگاه کنید، خیال می‌کنید این برنامه را کس دیگری نوشته‌است. (باشد، این برنامه را واقعاً یک هوش مصنوعی نوشته‌است.)

از «همین‌که کار می‌کند کافی است» تا «جرئت تغییر دادن و به کار انداختنش»، آنچه در این میان فاصله انداخته احتمالاً دقیقاً همین عادت‌های کاری است؛ عادت‌هایی که به چشم نمی‌آیند، اما باید یکی‌یکی تکمیل شوند.