تسلط بر برنامهنویسی از طریق بازسازی فناوریها
شما هر روز از ابزارها استفاده میکنید بدون اینکه بدانید چگونه کار میکنند. فریمورکها و کتابخانهها برای کمک به سرعت کار شما، پیچیدگیها را پنهان میکنند. این موضوع باعث ایجاد شکافهایی در دانش شما میشود.
روش «ساختنِ خودِ x» (build-your-own-x) این مشکل را حل میکند. شما یک نسخه سادهشده از ابزاری که استفاده میکنید را از صفر میسازید. در این مرحله، شما دیگر صرفاً از فناوری استفاده نمیکنید، بلکه شروع به معماری کردن آن میکنید.
چرا این روش موثر است:
ابهام را از بین میبرد. دیگر به ابزارها به چشم جادو نگاه نمیکنید. یاد میگیرید که یک وبسرور چگونه درخواستها را مسیریابی میکند یا Git چگونه دادهها را ذخیره میکند.
اصول پایه را آموزش میدهد. ساختن یک سرور شما را مجبور میکند درباره socketها و HTTP بیاموزید. ساختن یک hash map به شما درباره collision resolution میآموزد. اینها بلوکهای سازنده نرمافزار هستند.
مهارت حل مسئله را بهبود میبخشد. وقتی چیزی را از پایه میسازید، نمیتوانید راه حلی را از اینترنت کپی کنید. باید مسائل را تجزیه کرده و پاسخهای خودتان را بیابید.
اعتمادبهنفس ایجاد میکند. خلق یک سیستم پیچیده، مهارت لازم برای مدیریت پروژههای بزرگتر را به شما میدهد.
تئوری را به مرحله اجرا در میآورد. شما درسهای کلاس درباره شبکهسازی و الگوریتمها را به مهارتهای عملی تبدیل میکنید.
میتوانید از قدمهای کوچک شروع کنید. ابزاری مانند یک پایگاه داده یا یک ابزار خط فرمان (command-line tool) را انتخاب کنید و سعی کنید عملکردهای اصلی آن را بازسازی کنید.