چطور یک پروژه شخصی را طوری ارائه کنیم که در چند دقیقه اول قانع کند: تعریف مسئله، README حرفهای، نشاندادن کیفیت و روایت تصمیمهای فنی.
بسیاری از پروژههای شخصی خوب هستند، اما ارائه ضعیف آنها باعث میشود دیده نشوند. کارفرما یا مدیر فنی وقت ندارد کد شما را خطبهخط بخواند؛ در چند دقیقه اول دنبال نشانههایی از طرز فکر شماست. این مقاله همان چند دقیقه را برایتان میسازد.
به جای «سایت فروشگاهی» بنویسید «سامانه سفارش غذا برای رستورانهای محلی با پرداخت آنلاین». مسئله مشخص، پروژه را قابل ارزیابی میکند و نشان میدهد شما میتوانید محدوده کار را تعریف کنید.
یک پروژه متوسط با مسئله روشن، از پنج پروژه کلی و بدون تمرکز مؤثرتر است. اگر پروژهای دارید که خیلی بزرگ است، بهجای حذف بخشها، یک مسئله اصلی را پررنگ کنید و بقیه را «قابلیتهای کناری» بنامید.
بخش زیادی از قضاوت درباره پروژه شما، پیش از اجرای کد و فقط از روی README شکل میگیرد. ساختار پیشنهادی:
# نام پروژه
## مسئله
چه کسی این مشکل را دارد و چرا حل نشده بود؟
## تصاویر و ویدیو
اسکرینشاتها یا یک ویدیو ۳۰ ثانیهای از کارکرد واقعی
## تکنولوژیها و دلیل انتخاب
چرا این پایگاه داده؟ چرا این معماری؟ گزینههای کنارگذاشتهشده چه بودند؟
## چالشهای فنی و راهحل
یک یا دو مسئله سخت که واقعاً با آن درگیر شدید
## اجرای محلی
دستورهای دقیق، متغیرهای محیطی و پیشنیازها
## چه چیزی کامل نیست
صداقت درباره محدودیتهای فعلی
بخش آخر بیشتر از همه غافلگیرکننده است: کسی که محدودیتهای پروژه خودش را میشناسد، در مصاحبه فنی قابلیت اعتماد بیشتری ایجاد میکند.
کارفرما کد را کمتر از دلیل تصمیمهای شما میخواند. یک جمله مثل «این بخش را به دو سرویس جدا تقسیم کردم تا تستپذیری بیشتر شود و تغییر بعدی ریسک کمتری داشته باشد» ارزشی بیشتر از هزار خط کد دارد.
برای هر تصمیم مهم، سه چیز را آماده داشته باشید:
فهرست بلند پروژهها ضعیف عمل میکند. سه پروژه با توضیح عمیق بهتر از ده پروژه بدون توضیح است. برای هر پروژه سه خط بنویسید: چه مشکلی، چه تصمیمی، چه نتیجه قابل اندازهگیری.
اگر عدد داشته باشید بهتر است: «زمان بارگذاری صفحه محصول را از ۳.۴ به ۱.۲ ثانیه رساندم» جملهای است که در مصاحبه به گفتگو تبدیل میشود.
یک پروژه متوسط با ارائه عالی، از سه پروژه بزرگ بدون توضیح مؤثرتر است. ارائهدادن خودش یک مهارت است و مثل هر مهارت دیگری با تمرین بهتر میشود.
برای اینکه پروژهای داشته باشید که هم ساختار تمیزش قابل ارائه باشد و هم بتوانید درباره تصمیمهای معماریاش حرف بزنید، پروژه آماده فروشگاهی React + Convex نقطه شروع خوبی است؛ آن را عیناً ارائه نکنید، بلکه تغییر دهید و دلیل تغییرتان را بنویسید. اگر هدف استخدامی شما نقشهای بکاند یا دیتابیس است، همان پروژه را با تمرکز روی مدل داده و کوئریها بازنویسی کنید تا درباره تصمیمهای دادهایتان هم حرف داشته باشید. و برای اینکه بدانید در آن مصاحبه چه سؤالهایی میآید، راهنمای مسیر برنامهنویسی در سال ۱۴۰۵ بخش آمادهشدن برای استخدام را ببینید.