
یادگیری هر هنر یا مهارتی میتواند چالش برانگیز باشد. کسانی که به تازگی برنامه نویسی را شروع میکنند، احتمالا با مشکلات و چالش هایی زیادی مواجه میشوند که ممکن است آنها را از ادامه راه دلسرد کند. در واقع بعضی از اشتباهات رایج که برنامه نویسان در شروع کار خود مرتکب میشوند، میتواند دید آنها را نسبت به برنامه نویسی منفی کرده یا حتی باعث شود این مهارت جذاب را کنار بگذارند. اما شناختن این اشتباهات و جلوگیری از تکرار آنها، ذهن شما را برای ادامه کار شفافتر میکند. در این مطلب به 10 اشتباه رایج برنامه نویسان مبتدی در شروع کار پرداخته ایم.
1 - با ترس کار را شروع میکنند
اولین و بدترین اشتباه که برنامه نویسان تازه کار انجام میدهند، این است که با ترس و لرز سراغ برنامه نویسی میروند و اولین کدهای خود را با شک و تردید میزنند. برای بعضی از افراد که تازه برنامه نویسی را شروع کرده اند ممکن است سوالات و درگیریهای ذهنی زیادی به وجود بیاید. آیا من به اندازه کافی باهوش هستم؟ آیا آدم درستی برای برنامه نویسی هستم؟ آیا میتوانم از این راه پول دربیاورم؟ ما معتقد هستیم که هر کسی میتواند برنامه نویسی را یاد بگیرد، به شرط اینکه با اعتماد به نفس کار را شروع کرده و سفت و سخت به این کار بچسبد.
2 - فقط به مطالعه و آموزش متکی هستند
برنامه نویسی با رشته هایی مثل ادبیات، فلسفه و منطق، روانشناسی، جغرافیا و سایر علوم انسانی فرق دارد. بعضی از رشتهها فقط نیاز به مطالعه تئوری دارند و کسی که میخواهد در این گرایشها موفق شود باید مطالعه زیادی داشته باشد، اما برنامه نویسی یک کار فنی است. همانطور که یک ریاضی دان فقط با خواندن فرمولها نمیتواند مسائل گوناگون را حل کند، برنامه نویس هم فقط با مطالعه و دیدن کدهای دیگران نمیتواند تبدیل به یک برنامه نویس باتجربه شود. پس در شروع کار باید یاد بگیرید که بخش زیادی از مهارت شما در حین کار و کسب تجربه از پروژههای واقعی به دست میآید.
3 - دوباره چرخ را از نو میسازند
در حال حاضر کتابخانهها و فریم ورکهای مختلفی برای زبانهای برنامه نویسی وجود دارند. هر چند در شروع کار توصیه نمیشود که مستقیم سراغ فریم ورکها یا کتابخانهها بروید اما استفاده از بعضی ابزارها میتوانند کمک بسیار زیادی بکند. برای مثال زمانی که برنامه نویسی وب را شروع میکنید و در حال یادگیری HTML و CSS هستد، میتوانید برای ساخت بخشهای مختلف فرانت اند سایت خود، سراغ فریم ورک هایی مثل Bootstrap بروید. به این ترتیب میتوانید منو، دکمه ها، لیست ها، لوگو و سایر عناصر صفحه وب خود را بدون دردسر زیاد پیاده سازی کنید.
4 - بیش از حد به جزییات اهمیت میدهند
دقت به جزییات و اهمیت دادن به تمام نکات ریز و درشت پروژه اخلاق خوبی است، اما نه در اول کار. هیچ کس در شروع کار از شما انتظار ندارد به تنهایی یک سرویس فوق العاده پایدار و بدون باگ طراحی کنید. حتی برنامه نویسان بزرگ هم در ریزه کاریهای پروژه به مشکل میخورند. اگر هنگام یادگیری و برنامه نویسی بعضی از جزییات درست کار نمیکنند سعی کنید از آنها عبور کرده و بعدا دوباره سراغشان بروید. گیر کردن در جزییات پروژه و فراموش کردن هدف اصلی میتواند در اوایل کار شما را دلسرد کرده و از ادامه راه بازدارد.
5 - فکر میکنند بهترین زبان برنامه نویسی دنیا را پیدا کرده اند
معمولا کسانی که به تازگی برنامه نویسی را شروع میکنند، مرتب از خودشان و دیگران سوال میکنند که کدام زبان برنامه نویسی بهترین است و باید کدام زبان را یاد بگیرند. این سوال از ریشه مشکل دارد و همین اول کار باید آن را از سرتان بیرون کنید. اگر نگاهی به برنامه نویسان قدیمی و باتجربه بیندازید، میبینید که آنها دیگر با حرارت زیاد درباره بهترین زبان برنامه نویسی دنیا با دوستان و همکاران خود صحبت نمیکنند. در واقع این برنامه نویسان به پختگی لازم رسیده اند و به خوبی میدانند که هر زبانی میتواند عالی باشد، اگر درست استفاده شود. پس در شروع کار به زبانی که انتخاب کرده اید اعتماد کنید و بگذارید که کار کمی جلو برود.
6 - روزی یک خط یا دو خط کد میزنند
فرض کنید بزرگترین نویسندههای دنیا روزی 1 یا نهایت 2 جمله مینوشتند، آن وقت مطمئن باشید که دیگر خبری از "جنگ و صلح" یا "بوف کور" نبود. در برنامه نویسی هم دقیقا اوضاع به همین شکل است. اگر تصمیم گرفته اید که برنامه نویس شوید باید سختیها و تمرینهای اول کار را هم قبول کنید. باید هر روز زمان زیادی را به تمرین و کد زدن اختصاص دهید. هیچ برنامه نویسی با روزی یک خط کد متخصص نشده است. بسیاری از برنامه نویسان قدیمی و باتجربه حتی بعد از پایان ساعت کاری خود در شرکتی که مشغول هستند، در خانه هم برنامه نویسی میکنند. پس در شروع کار باید تمرین زیادی داشته باشید.
7 - نامهای خوبی برای متغیرها، کلاسها و توابع انتخاب نمیکنند
شاید بهنام کلاسها و توابع طولانی مثل "AbstractSingletonProxyFactoryBean" که در زبان جاوا وجود دارد خندیده باشید، اما نوشتن متغیرهای توصیفی و طولانی به خوانایی برنامه کمک زیادی میکند. استفاده از نامهای مشابه میتواند در طول پروژه شما را گیج کند. فراموش نکنید که برنامه شما ممکن است بعدا در اختیار افراد دیگر هم قرار بگیرد پس در همین شروع کار عادت کنید که مستندسازی و درست نوشتن نام متغیرها را یاد بگیرید. به هیچ وجه از ترکیب انگلیسی و فارسی مثل "moteghayereaval" استفاده نکنید. به مرور زمان و با تمرین همینطور متوجه شدن سلیقه خودتان، میتوانید به بهترین ساختار برای کدنویسی برسید.
8 - یا از کامنت استفاده نمیکنند، یا بیش از حد از آن استفاده میکنند
هر زبان برنامه نویسی ای، این اجازه را به شما اجازه میدهد که در بخش هایی از کد خود Comment بگذارید. این کامنتها توسط کامپلایر یا مفسر نادیده گرفته شده و اجرا نمیشوند، فقط عملکرد آن بخش از کد را نشان میدهند یا یادداشتی از طرف برنامه نویس هستند. استفاده درست از کامنتها میتواند کد شما را به شدت خوانا کند که بعدها در کارهای گروهی متوجه میشوید چقدر کد خوانا خوب است. اما بعضی از برنامه نویسان در اول کار اصلا از این ابزار قدرتمند استفاده نمیکنند. بعضی از برنامه نویسان هم از آن ور بوم افتاده و انقدر کد خود را با کامنت بمباران میکنند که خوانایی آن را میگیرد. مثلا لازم نیست برای یک جمع ساده مثل تکه کد زیر یک کامنت بگذارید
score += 5;
// عدد 5 را به متغیر score اضافه میکند
9 - قدرت واقعی زبان خود را درک نمیکنند
این مشکل فقط مربوط به برنامه نویسان مبتدی نیست و حتی گاهی برنامه نویسان با تجربه هم قدرت زبان برنامه نویسی خود را فراموش میکنند. البته نباید برنامه نویسان مبتدی را خیلی بابت این موضوع مقصر دانست، چون برای فهمیدن بزرگی و عظمت زبان برنامه نویسی ای که با آن کار میکنند، نیاز به چند سال تجربه و زمان است. برای مثال زبانی مثل جاوا اسکریپت فوق العاده منعطف بوده و در بخشهای مختلف مثل طراحی سایت، بازی سازی، ساخت اپلیکیشن موبایل و غیره استفاده میشود.
10 - از کار خود بکاپ نمیگیرند
حتما عبارت "چند ساعت برای این کار وقت گذاشتم اما تمام فایل هام نابود شدند" میتواند روز یک برنامه نویس را به کل نابود کند. خوشبختانه امروز ابزارهای بسیار متنوعی وجود دارند که میتوانید با آنها فایلهای خود را جایی به غیر از کامپیوتر خود ذخیره کنید. در این حالت اگر کامپیوتر شما آسیب هم ببیند باز هیچ مشکلی کدهای شما را تهدید نمیکند.سیستمهای کنترل ورژن یا Version Control System مثل گیت لب به توسعهدهندگان نرمافزار کمک میکند تا علاوه بر امکان مشارکت روی پروژههای نرمافزاری، بتوانند به تاریخچهای از کدهایی که قبلاً نوشتهاند نیز دست پیدا کنند.
نتیجه گیری
مسلما برنامه نویس شدن کار یک شب نیست. نمیشود ره صد ساله را یک شبه طی کرد و انتظار داشت بدون تلاش به جایگاه بالایی در یک شغل مثل برنامه نویسی رسید. حالا که شما برنامه نویسی را به عنوان حرفه خود انتخاب کرده اید، بهتر است اول کار بعضی از اشتباهات رایج مبتدیان را بشناسید تا در دام این اشتباهات گرفتار نشوید. اگر حس میکنید مورد دیگری هم باید به این لیست اضافه میشد، خوشحال میشوم آن را در بخش نظرات با من و کاربران سون لرن به اشتراک بگذارید.
سلام ممنون از مقاله خوبتون. من مدتی هست که شروع به یادگیری پایتون کردم برای اینکه tensorflow و کراس رو هم یاد بگیرم اما مشکلم در اوایل کار هستش نمیدونم چطور باید مثلا داده های ECG رو به عنوان ورودی به مدل CNN بدم می خواستم در مورد “شیوه حل مسئله” هم مقاله ای بنویسید که بهتر بشه آشنایی پیدا کرد
سلام
ممنون از توجه شما
پیشنهاد شما به تیم تولید محتوا انتقال داده می شود.
خیلی ممنون بابت این مطلب زیبا
با سلام و عرض ادب
مطلب بسیار مفیدی بود
معمولا در پایان هر جلسه آموزشی یکسری تمرین به هر برنامه نویس داده می شود.
سوال اینجاست که اگر نتوان به آن سوال ها پاسخ داد باید چه کاری انجام داد؟
آیا فعلا سوالات را با جواب ها بخوانیم تا ذهنیت برنامه نویسی و الگوریتمی برامون بوجود بیاد؟یا باید حتما آن ها را انجام دهیم و به سراغ مباحث بعدی نریم….؟؟؟
سلام
اتفاقا خوندن جواب ها تفکر برنامه نویسی برای شما نمیاره و باعث میشه ذهنتون محدود به برخی راه حل ها بشه. بهترین راه اینه که وقت کافی بذارین و روی سوالات فکر کنین و راه حل های مختلف رو بررسی کنین. در نهایت وقتی جواب رو بررسی میکنین متوجه میشین که کدوم مسیر فکری شما درست یا غلط بوده و بهتر یاد می گیرین. فکر کردن روی تمرین های برنامه نویسی نرمش خوبی برای ذهن تون محسوب میشه.
با سلام خدمت دوست عزیز اقای محمد انوری مطالب بسیار جالب و ارزنده ای رو به اشتراک گذاشتید بابت تمام راهنمایی هاتون متشکرم مرررررسی
سلام دوست خوبم …
خیلی خیلی خوشحالم که دوست داشتی و برات جالب بود …
موفق باشی همیشه …
ممنون.مقالتون مثه همیشه عالیه
فقط اگه میشه در مورد مشکل هفتم یه توضیحی یا یه مقاله ی دیگه بنویسین.چون فک کنم مشکل خیلی از تازه کارا باشه
و در مورد ترس از شروع کار.خب این ترس رو تقریبا هر تازه کاری داره.مثه خوده من.بنظرتون برای اینکه بتونیم به این درک برسیم که برای بازار کار تواناییش رو داریم چه چیزی رو پیشنهاد میکنین؟؟امیدوارم که منظورم رو فهمیده باشین.منظورم رسیدن به یه سطحی از آمادگیه.یعنی یه چیزی مثه یه آزمون یا یه تست باشه که اگه تونیستیم اون رو با موفقیت بگذرونیم یعنی به یه آمادگی نسبی رسیدیم
سلام محسن جان … ممنونم ازت …
آره موضوع مهمی هم هست … چون همین ترس مانع خیلیا شده که وارد برنامه نویسی بشن … به نظرم هیچوقت نمیتونی کاملا آماده بشی و بعد بری تو بازار کار … به نظرم اگه پروژههای تمرینی رو میتونی درست بزنی کم کم وارد بازار کار شو ( حتی به عنوان کارآموز ) … کاش فرصت شه پست درباره این موضوع برم …
به نظرم بهترین آزمون رو خودت از خودت میتونی بگیری … با خودت خلوت کن و صادقانه از خودت بپرس که آماده هستی یا نه ..
موفق باشی …
دقیقاً تمام مشکلاتشو دارم 😐
امیدوارم زودتر به پختگی لازم برسی دوست خوبم …
ممنون از مقاله مفیدتون
ممنونم ازت که خوندی سعید جان …
آقای انوری ای کاش درباره ترس هایی که تو این راه سراغ تازه کار ها می یاد بیشتر توضیح می دادید;(
سلام محمدرضا جان … شاید یک پست جدا درباره این موضوع که گفتی منتشر کنم یه روز … فکر می کردم اگه خیلی وارد جزییات بشم شاید خواننده ها خسته بشن …
موفق باشی …
همه ی نکاتی که گفته شده درسته ولی متاسفانه گاهی اوقات بدون این اشتباهات نمیشه راه درست رو تشخیص داد .
سلام … کاملا حق با شماست … تا آدم این چیزا رو تجربه نکنه نمیتونه به پختگی برسه …
اما به نظر من اگه برنامه نویسا همون اول کار ذهنیت خوبی نسبت به این مسائل داشته باشن راحتتر میتونن جلو برن …
موفق باشید …
عالیییی بود
ممنونم دوست عزیز … موفق باشی …