سلام، من امیرعلی هستم چند وقتی میشه که برنامه نویسی کار میکنم اما حدود ۶ ماهه که برنامهنویسی رو به صورت جدی شروع کردم.
قبل از شروع متن میخوام یک نکته رو بگم من هنوز در جایگاهی نیستم که بخوام یک مقاله آموزشی حرفهای بنویسم یا به کسی آموزش بدم چون خودم هنوز اول مسیر هستم و کلی چیز برای یاد گرفتن دارم.
اما هدفم از نوشتن این متن این بود که دوست داشتم بخشی از تجربه شخصی خودم رو با شما به اشتراک بذارم. خود من هم در این مسیر خیلی جاها با تجربه ها و صحبت های آدمهایی که قبل از من این راه رو رفته بودن نجات پیدا کردم و بعضی از اشتباهات رو به خاطر همین تجربهها زودتر شناختم
شاید چیزهایی که من توی این مدت یاد گرفتم برای کسی که تازه شروع کرده یا حتی کسی که داره یک مهارت جدید یاد میگیره مفید باشه و کمک کنه مسیرش رو کمی راحتتر ادامه بده و من کمک کردن به افراد برای پیشرفتشون رو خیلی دوست دارم
توی این ۶ ماه فهمیدم که خیلی از پیشرفتهایی که کردم از اشتباه هایی بودن که انجام دادم. برای همین میخوام چندتا از مهمترین چیزهایی که یاد گرفتم رو بگم.
یکی از بزرگترین اشتباههای من کمالگرایی بود. اوایل فکر میکردم برای شروع هر چیزی باید کامل یاد بگیرم. مثلاً وقتی HTML رو شروع کردم، خیلی وقت صرف جزوه نوشتن و حفظ کردن کردم. فکر میکردم اگر همه تگها رو بلد باشم یعنی آماده برنامهنویسی هستم
ولی بعداً فهمیدم که برنامهنویسی با حفظ کردن یاد گرفته نمیشه. در HTML کلی تگ وجود داره، ولی در پروژههای واقعی از همه اونها استفاده نمیکنیم. مهمتر از حفظ کردن اینه که بدونیم چه چیزی وجود داره و وقتی نیاز شد چطور ازش استفاده کنیم
اشتباه دیگه ای که داشتم این بود که فکر میکردم اول باید آموزشها رو کامل کنم و بعد پروژه بزنم اما بعد فهمیدم یادگیری واقعی زمانی اتفاق میافته که چیزی رو بسازی و وسط کار به مشکل بخوری.
وقتی شروع کردم به بازسازی یک سایت واقعی مثل تپسی تازه متوجه شدم پروژه واقعی چقدر با مثالهای آموزشی فرق داره مشکلاتی مثل Responsive کردن، Flexbox، فاصله ها، ساختار درست HTML و خراب شدن ظاهر سایت اولش سخت بودن ولی دقیقاً همین مشکلات باعث شدن بیشتر یاد بگیرم.
یکی دیگه از چیزهایی که یاد گرفتم این بود که نباید از خراب شدن کد ترسید اوایل وقتی کدم کار نمیکرد فکر میکردم شاید هنوز برای برنامهنویسی آماده نیستم اما بعد فهمیدم خراب شدن کد، بخشی از مسیر یادگیریه. همه برنامهنویسها با مشکل مواجه میشن، تفاوت فقط در اینه که بعضی ها دنبال دلیل مشکل میگردن و ادامه میدن.
گاهی هم فکر میکردم باید سریعتر برم سراغ تکنولوژیهای جدید مثل Tailwind یا React ولی فهمیدم اگر پایه ها درست نباشن ابزارهای جدید فقط مسیر رو سختتر میکنن. اول باید HTML، CSS و JavaScript رو خوب فهمید و بعد سراغ ابزارهای جدید رفت
اگر بخوام به کسی که تازه شروع کرده یک پیشنهاد بدم، میگم کمتر فقط آموزش ببینه و بیشتر کار عملی انجام بده جزوه نوشتن خوبه، ولی نباید جای تمرین رو بگیره. چیزی که باعث پیشرفت میشه اینه که چیزی بسازی، اشتباه کنی دنبال دلیلش بگردی و دوباره امتحان کنی.
بعد از ۶ ماه فهمیدم برنامهنویسی مسابقه حفظ کردن نیست کسی موفق تره که بیشتر تمرین کنه، بیشتر پروژه بسازه و از اشتباه کردن نترسه.
اگر به روز اول برگردم، کمتر وسواس به خرج میدم زودتر پروژه شروع میکنم و به جای تلاش برای کامل بودن، روی بهتر شدن تمرکز میکنم
در آخر، هنوز خودم در ابتدای مسیرم و چیزهای زیادی هست که باید یاد بگیرم، ولی یک چیز رو مطمئن فهمیدم:
برنامهنویسی با دیدن آموزش یاد گرفته نمیشه؛ با نوشتن کد، خراب کردن کد، درست کردن کد و ادامه دادن یاد گرفته میشه.
در پایان دوست دارم این جمله از مایکل جردن رو به اشتراک بذارم:
من بارها و بارها شکست خورده ام، به همین دلیل است که موفق شدم
— مایکل جردن
این جمله برای من یادآور اینه که اشتباه کردن بخشی از مسیر یادگیریه. مهم نیست چند بار با مشکل روبهرو میشیم؛ مهم اینه که از اون تجربهها یاد بگیریم، ادامه بدیم و هر روز یک قدم بهتر بشیم