یادگیری هر هنر یا مهارتی میتواند چالش برانگیز باشد. کسانی که به تازگی یادگیری برنامه نویسی را شروع میکنند، احتمالا با مشکلات و چالش هایی زیادی مواجه میشوند که ممکن است آنها را از ادامه راه دلسرد کند. در واقع بعضی از اشتباهات رایج که برنامه نویسان در شروع کار خود مرتکب میشوند، میتواند دید آنها را نسبت به برنامه نویسی منفی کرده یا حتی باعث شود این مهارت جذاب را کنار بگذارند. اما شناختن این اشتباهات و جلوگیری از تکرار آنها، ذهن شما را برای ادامه کار شفافتر میکند. در این مطلب به 10 اشتباه رایج برنامه نویسان مبتدی در شروع کار پرداخته ایم.
1 - با ترس کار را شروع میکنند
اولین و بدترین اشتباه که برنامه نویسان تازه کار انجام میدهند، این است که با ترس و لرز سراغ برنامه نویسی میروند و اولین کدهای خود را با شک و تردید میزنند. برای بعضی از افراد که تازه برنامه نویسی را شروع کرده اند ممکن است سوالات و درگیریهای ذهنی زیادی به وجود بیاید. آیا من به اندازه کافی باهوش هستم؟ آیا آدم درستی برای برنامه نویسی هستم؟ آیا میتوانم از این راه پول دربیاورم؟ ما معتقد هستیم که هر کسی میتواند برنامه نویسی را یاد بگیرد، به شرط اینکه با اعتماد به نفس کار را شروع کرده و سفت و سخت به این کار بچسبد.
2 - فقط به مطالعه و آموزش متکی هستند
برنامه نویسی با رشته هایی مثل ادبیات، فلسفه و منطق، روانشناسی، جغرافیا و سایر علوم انسانی فرق دارد. بعضی از رشتهها فقط نیاز به مطالعه تئوری دارند و کسی که میخواهد در این گرایشها موفق شود باید مطالعه زیادی داشته باشد، اما برنامه نویسی یک کار فنی است. همانطور که یک ریاضی دان فقط با خواندن فرمولها نمیتواند مسائل گوناگون را حل کند، برنامه نویس هم فقط با مطالعه و دیدن کدهای دیگران نمیتواند تبدیل به یک برنامه نویس باتجربه شود. پس در شروع کار باید یاد بگیرید که بخش زیادی از مهارت شما در حین کار و کسب تجربه از پروژههای واقعی به دست میآید.
3 - دوباره چرخ را از نو میسازند
در حال حاضر کتابخانهها و فریم ورکهای مختلفی برای زبانهای برنامه نویسی وجود دارند. هر چند در شروع کار توصیه نمیشود که مستقیم سراغ فریم ورکها یا کتابخانهها بروید اما استفاده از بعضی ابزارها میتوانند کمک بسیار زیادی بکند. برای مثال زمانی که برنامه نویسی وب را شروع میکنید و در حال یادگیری HTML و CSS هستد، میتوانید برای ساخت بخشهای مختلف فرانت اند سایت خود، سراغ فریم ورک هایی مثل Bootstrap بروید. به این ترتیب میتوانید منو، دکمه ها، لیست ها، لوگو و سایر عناصر صفحه وب خود را بدون دردسر زیاد پیاده سازی کنید.
4 - بیش از حد به جزییات اهمیت میدهند
دقت به جزییات و اهمیت دادن به تمام نکات ریز و درشت پروژه اخلاق خوبی است، اما نه در اول کار. هیچ کس در شروع کار از شما انتظار ندارد به تنهایی یک سرویس فوق العاده پایدار و بدون باگ طراحی کنید. حتی برنامه نویسان بزرگ هم در ریزه کاریهای پروژه به مشکل میخورند. اگر هنگام یادگیری و برنامه نویسی بعضی از جزییات درست کار نمیکنند سعی کنید از آنها عبور کرده و بعدا دوباره سراغشان بروید. گیر کردن در جزییات پروژه و فراموش کردن هدف اصلی میتواند در اوایل کار شما را دلسرد کرده و از ادامه راه بازدارد.
5 - فکر میکنند بهترین زبان برنامه نویسی دنیا را پیدا کرده اند
معمولا کسانی که به تازگی برنامه نویسی را شروع میکنند، مرتب از خودشان و دیگران سوال میکنند که کدام زبان برنامه نویسی بهترین است و باید کدام زبان را یاد بگیرند. این سوال از ریشه مشکل دارد و همین اول کار باید آن را از سرتان بیرون کنید. اگر نگاهی به برنامه نویسان قدیمی و باتجربه بیندازید، میبینید که آنها دیگر با حرارت زیاد درباره بهترین زبان برنامه نویسی دنیا با دوستان و همکاران خود صحبت نمیکنند. در واقع این برنامه نویسان به پختگی لازم رسیده اند و به خوبی میدانند که هر زبانی میتواند عالی باشد، اگر درست استفاده شود. پس در شروع کار به زبانی که انتخاب کرده اید اعتماد کنید و بگذارید که کار کمی جلو برود.
فرض کنید بزرگترین نویسندههای دنیا روزی 1 یا نهایت 2 جمله مینوشتند، آن وقت مطمئن باشید که دیگر خبری از "جنگ و صلح" یا "بوف کور" نبود. در برنامه نویسی هم دقیقا اوضاع به همین شکل است. اگر تصمیم گرفته اید که برنامه نویس شوید باید سختیها و تمرینهای اول کار را هم قبول کنید. باید هر روز زمان زیادی را به تمرین و کد زدن اختصاص دهید. هیچ برنامه نویسی با روزی یک خط کد متخصص نشده است. بسیاری از برنامه نویسان قدیمی و باتجربه حتی بعد از پایان ساعت کاری خود در شرکتی که مشغول هستند، در خانه هم برنامه نویسی میکنند. پس در شروع کار باید تمرین زیادی داشته باشید.
7 - نامهای خوبی برای متغیرها، کلاسها و توابع انتخاب نمیکنند
شاید بهنام کلاسها و توابع طولانی مثل "AbstractSingletonProxyFactoryBean" که در زبان جاوا وجود دارد خندیده باشید، اما نوشتن متغیرهای توصیفی و طولانی به خوانایی برنامه کمک زیادی میکند. استفاده از نامهای مشابه میتواند در طول پروژه شما را گیج کند. فراموش نکنید که برنامه شما ممکن است بعدا در اختیار افراد دیگر هم قرار بگیرد پس در همین شروع کار عادت کنید که مستندسازی و درست نوشتن نام متغیرها را یاد بگیرید. به هیچ وجه از ترکیب انگلیسی و فارسی مثل "moteghayereaval" استفاده نکنید. به مرور زمان و با تمرین همینطور متوجه شدن سلیقه خودتان، میتوانید به بهترین ساختار برای کدنویسی برسید.
8 - یا از کامنت استفاده نمیکنند، یا بیش از حد از آن استفاده میکنند
هر زبان برنامه نویسی ای، این اجازه را به شما اجازه میدهد که در بخش هایی از کد خود Comment بگذارید. این کامنتها توسط کامپلایر یا مفسر نادیده گرفته شده و اجرا نمیشوند، فقط عملکرد آن بخش از کد را نشان میدهند یا یادداشتی از طرف برنامه نویس هستند. استفاده درست از کامنتها میتواند کد شما را به شدت خوانا کند که بعدها در کارهای گروهی متوجه میشوید چقدر کد خوانا خوب است. اما بعضی از برنامه نویسان در اول کار اصلا از این ابزار قدرتمند استفاده نمیکنند. بعضی از برنامه نویسان هم از آن ور بوم افتاده و انقدر کد خود را با کامنت بمباران میکنند که خوانایی آن را میگیرد. مثلا لازم نیست برای یک جمع ساده مثل تکه کد زیر یک کامنت بگذارید
score += 5;
// عدد 5 را به متغیر score اضافه میکند
9 - قدرت واقعی زبان خود را درک نمیکنند
این مشکل فقط مربوط به برنامه نویسان مبتدی نیست و حتی گاهی برنامه نویسان با تجربه هم قدرت زبان برنامه نویسی خود را فراموش میکنند. البته نباید برنامه نویسان مبتدی را خیلی بابت این موضوع مقصر دانست، چون برای فهمیدن بزرگی و عظمت زبان برنامه نویسی ای که با آن کار میکنند، نیاز به چند سال تجربه و زمان است. برای مثال زبانی مثل جاوا اسکریپت فوق العاده منعطف بوده و در بخشهای مختلف مثل طراحی سایت، بازی سازی، ساخت اپلیکیشن موبایل و غیره استفاده میشود.
10 - از کار خود بکاپ نمیگیرند
حتما عبارت "چند ساعت برای این کار وقت گذاشتم اما تمام فایل هام نابود شدند" میتواند روز یک برنامه نویس را به کل نابود کند. خوشبختانه امروز ابزارهای بسیار متنوعی وجود دارند که میتوانید با آنها فایلهای خود را جایی به غیر از کامپیوتر خود ذخیره کنید. در این حالت اگر کامپیوتر شما آسیب هم ببیند باز هیچ مشکلی کدهای شما را تهدید نمیکند.سیستمهای کنترل ورژن یا Version Control System مثل گیت لب به توسعهدهندگان نرمافزار کمک میکند تا علاوه بر امکان مشارکت روی پروژههای نرمافزاری، بتوانند به تاریخچهای از کدهایی که قبلاً نوشتهاند نیز دست پیدا کنند.
[lead id=1 type= link]
نتیجه گیری
مسلما برنامه نویس شدن کار یک شب نیست. نمیشود ره صد ساله را یک شبه طی کرد و انتظار داشت بدون تلاش به جایگاه بالایی در یک شغل مثل برنامه نویسی رسید. حالا که شما برنامه نویسی را به عنوان حرفه خود انتخاب کرده اید، بهتر است اول کار بعضی از اشتباهات رایج مبتدیان را بشناسید تا در دام این اشتباهات گرفتار نشوید. اگر حس میکنید مورد دیگری هم باید به این لیست اضافه میشد، خوشحال میشوم آن را در بخش نظرات با من و کاربران سون لرن به اشتراک بگذارید.
۲۴ دیدگاه
۲۱ آذر ۱۴۰۰، ۱۷:۵۶
ی سوالی کی من دارم اینه کی من تازه اومدم تو حوزه وب ودوست دارم تواین بخش کارکنم ،تازه html رو شروع کردم ومشکلم اینه کی نمیدونم قراره به کجا برسم ؟؟؟
ی وقتایی ازخودم میپرسم کی کاظم هدف از اومدنیت تواین حوزه چیست اولش اینه کی اگر من ی چیزی بسازم خیلی به خودم افتخارمیکنم ولذت میبرم ودوست دارم ب همه نشون بدم کی ببین من اینو ساختم .دومی چون من ی شخص درونگرا هستم وخیلی دوست دارم با ی گروپ کوچک افراد حداکثر ۵تا۱۰ نفر کارکنم، ودوست دارم بااشخاص دیگر هم ارتباط برقرار کنم. سومی من سراغ چندین کار توبازار رفتم ولی بعد چندروز فهمیدم این اون چیزی نیست کی من میخوام وبه شدت زده شدم از اون کارها ودوباره اومدم سراغ کمپیوترم کامپیوتر م راخیلی دوست دارم ،و..
آیا این دلایل کافی است تامن تواین حوزه فعالیت کنم وبه موفقیت برسم؟؟؟؟؟
نازنین کریمی مقدم۲۲ آذر ۱۴۰۰، ۰۶:۱۹
درود
من دوتا کامنت رو اینجا به طور یکجا جواب میدم :)
1. برای بحث ایده آل گرایی و اینکه کار امروز رو به فردا میندازید، از وب سایت w3schools.com استفاده کنید و مبحث تیکه تیکه یاد بگیرید. اینطوری انقدر بار روانی نداره. اصلا هم معنیش این نیست که بهره هوشی کافی ندارید.
2. با توجه به نوع شخصیتی که توضیح دادید، بنظرم بهترین نوع کار در حال حاضر براتون فریلنسینگ باشه که حتما مقالات مرتبط رو در سایت سرچ کنید و مطالعه کنید.
3. بعد از یه مدت که دستتون راه افتاد میتونید به صورت ساعتی یا پاره وقت هم مشغول بشید. پس فعلا نگران ارتباطات و... نباشید.
4. شما به کامپیوتر علاقه دارید، ابزار رو هم دارید و از برنامه نویسی لذت میبرید. درآمد برنامه نویسی هم نسبت به سایر زمینهها بالاتره. پس بیخیال نشید و یک زمان ثابت مثلا 7 تا 9 شب براش در نظر بگیرید. اگر تلاش کنید و توکل داشته باشید، مطمئن باشید موفق خواهید شد.
۱۹ اسفند ۱۴۰۰، ۱۸:۱۵
واقعا میخوایی HTML بازار کار داشته باشه ؟؟
اصلا اچ تی ام ال مگه زبانه ؟؟
واقعا میخوایید html رو با زبان هایی مثل سی و اسمبلی مقایسه کنید ؟
وقتی ASP.NET و پایتون هست
Html کیلو چنده ؟
نازنین کریمی مقدم۲۱ اسفند ۱۴۰۰، ۱۱:۲۸
درود
1. شما بگید html اگه زبان نیست چیه :دی
2. سی-اسمبلی برای حوزه دیگه ای هستند و html برای یک حوزه دیگه و اصلا مقایسه این دو از پایه اشتباه هست.
3. ایشون احتمالا html رو به هدف ورود به حوزه فرانت اند انتخاب کردند و فرانت اند در ایران یکی از پردرآمدترین زمینه هاست. (کافیه چندتا سایت کاریابی رو برای بررسی این موقعیت شغلی رو چک بزنید) نمیشه گفت پایتون و ASP.NET تنها حوزههای کاربردی هستند. اتفاقا اگر اسمبلی رو مثال میزدید بهتر بود، چون اسمبلی یک زبان نزدیک به ماشین هست و بیشتر کار تحقیقاتی و رباتیک باهاش انجام میشه و زمینه شغلی بسیار کمتری داره تا یچیز پرکاربرد مثل html :)
teimoor۲۳ تیر ۱۳۹۹، ۱۱:۱۳
سلام ممنون از مقاله خوبتون. من مدتی هست که شروع به یادگیری پایتون کردم برای اینکه tensorflow و کراس رو هم یاد بگیرم اما مشکلم در اوایل کار هستش نمیدونم چطور باید مثلا دادههای ECG رو به عنوان ورودی به مدل CNN بدم میخواستم در مورد "شیوه حل مسئله" هم مقاله ای بنویسید که بهتر بشه آشنایی پیدا کرد
فائقه نامور۱۹ مرداد ۱۳۹۹، ۱۶:۲۲
سلام
ممنون از توجه شما
پیشنهاد شما به تیم تولید محتوا انتقال داده میشود.
محمد حسن۰۴ اردیبهشت ۱۳۹۹، ۰۵:۳۰
خیلی ممنون بابت این مطلب زیبا
محمد حسن۰۴ اردیبهشت ۱۳۹۹، ۰۵:۲۲
با سلام و عرض ادب
مطلب بسیار مفیدی بود
معصومی۰۶ بهمن ۱۳۹۸، ۱۵:۳۳
معمولا در پایان هر جلسه آموزشی یکسری تمرین به هر برنامه نویس داده میشود.
سوال اینجاست که اگر نتوان به آن سوالها پاسخ داد باید چه کاری انجام داد؟
آیا فعلا سوالات را با جوابها بخوانیم تا ذهنیت برنامه نویسی و الگوریتمی برامون بوجود بیاد؟یا باید حتما آنها را انجام دهیم و به سراغ مباحث بعدی نریم....؟؟؟
ریحانه یزدانی۰۷ بهمن ۱۳۹۸، ۰۸:۱۶
سلام
اتفاقا خوندن جوابها تفکر برنامه نویسی برای شما نمیاره و باعث میشه ذهنتون محدود به برخی راه حلها بشه. بهترین راه اینه که وقت کافی بذارین و روی سوالات فکر کنین و راه حلهای مختلف رو بررسی کنین. در نهایت وقتی جواب رو بررسی میکنین متوجه میشین که کدوم مسیر فکری شما درست یا غلط بوده و بهتر یاد میگیرین. فکر کردن روی تمرینهای برنامه نویسی نرمش خوبی برای ذهن تون محسوب میشه.
adnan rezaei۱۰ آبان ۱۳۹۸، ۱۷:۳۹
با سلام خدمت دوست عزیز اقای محمد انوری مطالب بسیار جالب و ارزنده ای رو به اشتراک گذاشتید بابت تمام راهنمایی هاتون متشکرم مرررررسی
محمد انوری۱۰ آبان ۱۳۹۸، ۱۸:۴۵
سلام دوست خوبم ...
خیلی خیلی خوشحالم که دوست داشتی و برات جالب بود ...
موفق باشی همیشه ...
محسن۰۹ آبان ۱۳۹۸، ۱۸:۰۱
ممنون.مقالتون مثه همیشه عالیه
فقط اگه میشه در مورد مشکل هفتم یه توضیحی یا یه مقاله ی دیگه بنویسین.چون فک کنم مشکل خیلی از تازه کارا باشه
و در مورد ترس از شروع کار.خب این ترس رو تقریبا هر تازه کاری داره.مثه خوده من.بنظرتون برای اینکه بتونیم به این درک برسیم که برای بازار کار تواناییش رو داریم چه چیزی رو پیشنهاد میکنین؟؟امیدوارم که منظورم رو فهمیده باشین.منظورم رسیدن به یه سطحی از آمادگیه.یعنی یه چیزی مثه یه آزمون یا یه تست باشه که اگه تونیستیم اون رو با موفقیت بگذرونیم یعنی به یه آمادگی نسبی رسیدیم
محمد انوری۱۵ آبان ۱۳۹۸، ۱۲:۰۸
سلام محسن جان ... ممنونم ازت ...
آره موضوع مهمی هم هست ... چون همین ترس مانع خیلیا شده که وارد برنامه نویسی بشن ... به نظرم هیچوقت نمیتونی کاملا آماده بشی و بعد بری تو بازار کار ... به نظرم اگه پروژههای تمرینی رو میتونی درست بزنی کم کم وارد بازار کار شو ( حتی به عنوان کارآموز ) ... کاش فرصت شه پست درباره این موضوع برم ...
به نظرم بهترین آزمون رو خودت از خودت میتونی بگیری ... با خودت خلوت کن و صادقانه از خودت بپرس که آماده هستی یا نه ..
موفق باشی ...
nedaerto۰۸ آبان ۱۳۹۸، ۱۲:۳۲
دقیقاً تمام مشکلاتشو دارم :|
محمد انوری۰۸ آبان ۱۳۹۸، ۱۵:۳۹
امیدوارم زودتر به پختگی لازم برسی دوست خوبم ...
saadizarei۰۸ آبان ۱۳۹۸، ۱۲:۱۷
ممنون از مقاله مفیدتون
محمد انوری۰۸ آبان ۱۳۹۸، ۱۵:۳۸
ممنونم ازت که خوندی سعید جان ...
محمدرضا۰۶ آبان ۱۳۹۸، ۱۹:۵۸
آقای انوری ای کاش درباره ترس هایی که تو این راه سراغ تازه کارها مییاد بیشتر توضیح میدادید;(
محمد انوری۰۶ آبان ۱۳۹۸، ۲۰:۱۳
سلام محمدرضا جان ... شاید یک پست جدا درباره این موضوع که گفتی منتشر کنم یه روز ... فکر میکردم اگه خیلی وارد جزییات بشم شاید خوانندهها خسته بشن ...
موفق باشی ...
فریما۰۶ آبان ۱۳۹۸، ۱۷:۴۳
همه ی نکاتی که گفته شده درسته ولی متاسفانه گاهی اوقات بدون این اشتباهات نمیشه راه درست رو تشخیص داد .
محمد انوری۰۶ آبان ۱۳۹۸، ۱۹:۵۹
سلام ... کاملا حق با شماست ... تا آدم این چیزا رو تجربه نکنه نمیتونه به پختگی برسه ...
اما به نظر من اگه برنامه نویسا همون اول کار ذهنیت خوبی نسبت به این مسائل داشته باشن راحتتر میتونن جلو برن ...
موفق باشید ...