Manning؛ منبعی برای یادگیری عمیق مهندسی نرمافزار
چرا کتابهای Manning میتوانند بخشی از مسیر یادگیری حرفهای برنامهنویسان و مهندسان نرمافزار باشند؟
در دنیای نرمافزار، ابزارها و تکنولوژیها با سرعت زیادی تغییر میکنند. فریمورکی که امروز محبوب است، ممکن است چند سال دیگر جای خود را به ابزار دیگری بدهد. اما در کنار این تغییرات، مفاهیمی وجود دارند که ارزش آنها بسیار بیشتر از یک تکنولوژی خاص است:
معماری نرمافزار، طراحی سیستمها، الگوریتمها، تست، امنیت، توسعه نرمافزار و شیوهی درست فکر کردن دربارهی مسائل مهندسی.
برای یادگیری چنین مفاهیمی، صرفاً دنبال کردن آموزشهای کوتاه و پراکنده همیشه کافی نیست. گاهی لازم است سراغ منابعی برویم که موضوع را عمیقتر و ساختاریافتهتر بررسی میکنند.
یکی از این منابع، Manning Publications است.
Manning چیست؟
Manning Publications یک ناشر مستقل در حوزه کتابها، ویدئوها و پروژههای تخصصی کامپیوتری است و محتوای آن طیف گستردهای از برنامهنویسی و مهندسی نرمافزار تا معماری، سیستمها و فناوریهای جدید را پوشش میدهد.
در فهرست فعلی Manning، موضوعاتی مانند:
- Software Engineering
- Software Architecture
- JavaScript
- Data Structures & Algorithms
- AI و Machine Learning
- Distributed Systems
- Cloud
- Security
- Web Development
و بسیاری از حوزههای دیگر دیده میشود.
بنابراین Manning صرفاً یک مجموعه کتاب برای یادگیری یک زبان برنامهنویسی نیست.
بخش مهمی از محتوای آن به طرز فکر مهندسی و ساخت نرمافزارهای واقعی مربوط میشود.
چرا کتابهای Manning متفاوتاند؟
یکی از ویژگیهای جالب Manning این است که بسیاری از کتابهای آن با رویکرد عملی نوشته میشوند.
هدف فقط این نیست که یک مفهوم را تعریف کنیم.
مسئله این است که بفهمیم:
این مفهوم چیست؟
چرا به آن نیاز داریم؟
چه زمانی باید از آن استفاده کنیم؟
و در یک پروژه واقعی چگونه آن را به کار ببریم؟
برای یک برنامهنویس، این تفاوت مهم است.
چون در دنیای واقعی معمولاً کسی از شما نمیپرسد:
«تعریف دقیق Microservices چیست؟»
مسئله واقعی بیشتر شبیه این است:
«این سیستم را چگونه طراحی کنیم که با رشد کاربران، توسعه و نگهداری آن همچنان امکانپذیر باشد؟»
دانستن اصطلاحات یک مرحله است.
توانایی استفاده از آنها در تصمیمهای مهندسی، مرحلهی بعدی است.
Manning و Software Engineering
در بخش Software Engineering سایت Manning، مجموعهای از کتابها در زمینههای مختلف مهندسی نرمافزار قرار دارد. در این فهرست موضوعاتی مانند معماری نرمافزار، JavaScript، الگوریتمها، سیستمهای توزیعشده، امنیت و توسعه نرمافزار دیده میشود.
برای مثال، در فهرست فعلی Manning عناوینی مانند:
- Grokking Software Architecture
- Software Architecture Decision-Making
- JavaScript in Depth
- Algorithms Every Programmer Should Know
- Clean Applications with Hexagonal Architecture
- Build High Value Software Systems
دیده میشود.
این تنوع نشان میدهد که یادگیری حرفهای Software Engineering را نمیتوان به یادگیری یک زبان یا فریمورک محدود کرد.
liveBook؛ کتاب فقط روی کاغذ نیست
یکی از بخشهای جالب اکوسیستم Manning، liveBook است.
liveBook پلتفرم آنلاین مطالعه Manning است که امکان مطالعه کتابها در مرورگر را فراهم میکند. این پلتفرم علاوه بر متن کتاب، امکاناتی مانند جستوجو، Bookmark، یادداشتگذاری، کپی یککلیکی کد و در برخی عناوین تمرینهای تعاملی و محتوای صوتی ارائه میدهد.
این موضوع برای کتابهای برنامهنویسی اهمیت زیادی دارد.
چون خواندن یک کتاب فنی با خواندن یک رمان فرق دارد.
گاهی لازم است همزمان:
متن → کد → مثال → تمرین → بازگشت به مفهوم
را تجربه کنیم.
liveBook دقیقاً برای چنین نوع محتوایی طراحی شده است.
MEAP؛ یادگیری قبل از تمام شدن کتاب
یکی دیگر از ویژگیهای شناختهشده Manning، Manning Early Access Program یا MEAP است.
در این برنامه، خوانندگان میتوانند به کتابها و liveVideoهایی که هنوز در حال تولید هستند دسترسی زودهنگام داشته باشند و با انتشار بخشهای جدید، آنها را دریافت کنند.
این مدل یک مزیت مهم دارد:
کتابهای فنی لازم نیست همیشه منتظر نسخه نهایی بمانند تا محتوای آنها در اختیار خواننده قرار بگیرد.
بهخصوص در حوزههایی مثل AI و فناوریهای جدید که تغییرات بسیار سریع اتفاق میافتند، چنین رویکردی میتواند امکان دسترسی زودتر به محتوای در حال توسعه را فراهم کند.
اما خواندن کتاب کافی نیست
اینجا به یک مسئله مهمتر میرسیم.
فرض کنید یک کتاب ۵۰۰ صفحهای درباره Software Architecture میخوانید.
کتاب را تمام میکنید.
احساس خوبی دارید.
احتمالاً حتی چند صفحه را هم Bookmark کردهاید.
سه ماه بعد یک مسئله معماری واقعی سر راهتان قرار میگیرد.
ناگهان مغزتان تصمیم میگیرد که آن ۵۰۰ صفحه را در یک پوشهی بسیار دور و بدون دسترسی سریع بایگانی کند.
مشکل از کتاب نیست.
مشکل از تفاوت میان مصرف محتوا و یادگیری است.
خواندن میتواند دانش اولیه ایجاد کند، اما برای ماندگاری آن معمولاً به بازیابی، مرور و استفادهی مداوم نیاز داریم.
از Manning تا یادگیری ماندگار
اینجاست که یک منبع تخصصی مثل Manning میتواند با یک سیستم یادگیری ساختاریافته ترکیب شود.
کتاب، دانش عمیق را فراهم میکند.
اما یادگیری میتواند با روشهایی مانند:
- Active Recall
- Spaced Repetition
- مرور مفاهیم
- پرسش و پاسخ
- تمرین
- پیگیری پیشرفت
ادامه پیدا کند.
به جای اینکه فقط بگوییم:
«این کتاب را خواندهام.»
میتوانیم سؤال مهمتری بپرسیم:
«چقدر از این دانش هنوز میتوانم در یک مسئله واقعی استفاده کنم؟»
این همان فاصلهای است که CardDev تلاش میکند روی آن تمرکز کند.
Manning + CardDev
CardDev میتواند منابع تخصصی مانند Manning را به یک مسیر یادگیری فعالتر تبدیل کند.
در این مدل، کتاب نقطه پایان نیست.
کتاب → مفهوم → سؤال → بازیابی → مرور → تثبیت دانش
مفاهیم مهم میتوانند به واحدهای کوچکتر برای مرور تبدیل شوند و سیستم میتواند به جای نمایش تصادفی محتوا، روند یادگیری را دنبال کند.
در نتیجه، هدف فقط تمام کردن یک کتاب نیست.
هدف این است که وقتی چند هفته یا چند ماه بعد با یک مسئله واقعی مواجه شدید، بتوانید دانشی را که قبلاً یاد گرفتهاید دوباره بازیابی کنید.
چرا Manning برای مهندسان نرمافزار مهم است؟
ارزش یک منبع تخصصی فقط به تعداد صفحات یا تعداد کتابهای آن بستگی ندارد.
اهمیت اصلی زمانی مشخص میشود که محتوا بتواند به دانش قابل استفاده تبدیل شود.
Manning مجموعهای گسترده از منابع در زمینههای مختلف Software Engineering، Architecture، Programming و فناوریهای جدید ارائه میکند و ابزارهایی مانند liveBook و MEAP نیز تجربه دسترسی و یادگیری این محتوا را توسعه دادهاند.
اما مرحله بعدی بر عهده یادگیرنده است:
خواندن → فهمیدن → به خاطر سپردن → استفاده کردن.
و دقیقاً در همین نقطه است که یادگیری واقعی شروع میشود.
جمعبندی
Manning یکی از منابع تخصصی مهم برای افرادی است که میخواهند فراتر از یادگیری سطحی ابزارها و فریمورکها حرکت کنند.
از Software Architecture و Algorithms گرفته تا JavaScript، AI و سیستمهای نرمافزاری، مجموعه Manning حوزههای متنوعی از دانش مهندسی نرمافزار را پوشش میدهد.
اما داشتن یک کتاب خوب، پایان مسیر نیست.
کتاب دانش را در اختیار ما میگذارد.
یادگیری فعال کمک میکند آن دانش را حفظ کنیم.
و تمرین و استفاده از آن، دانش را به مهارت تبدیل میکند.
CardDev دقیقاً در همین فاصله قرار میگیرد:
منبع معتبر → یادگیری ساختاریافته → مرور هوشمند → دانش ماندگار
و شاید هدف نهایی همین باشد:
کمتر کتاب بخوانیم که فقط تمامش کنیم؛ بیشتر یاد بگیریم که بتوانیم از آن استفاده کنیم.
