خانه توسعهدهنده توسعهدهنده موفق ۱۱ باور غلط درمورد برنامه نویسی که شما را از یادگیری منصرف میکنند
۱۱ باور غلط درمورد برنامه نویسی که شما را از یادگیری منصرف میکنند
«تصور کلیشهای از استارتآپهای Silicon Valley: گروهی از مردان نابغهی 22ساله با مهارتهای اجتماعی صفر که تا آخر شب کدنویسی میکنند و سعی میکنند اپلیکیشنی بسازند که ظاهراً قرار است دنیا را تغییر دهد.» این تصویر، مسئول بسیاری از باورهای غلط درمورد برنامه نویسی است. مانند بسیاری از کلیشهها، اگر خوب دقت کنید متوجه میشوید که حقیقتی در آن وجود ندارد.
اینها تصورات غلط خطرناکی هستند که هر روز افرادی که پتانسیل فراوانی برای موفقیت دارند را از آموزش برنامهنویسی و دنبال کردن این حرفه بازمیدارند. خب، وقت آن است که به این باورهای غلط پایان دهیم. امیدواریم که این مقاله از کوئرا بلاگ یک منبع آسودگی خاطر برای کسانی باشد که در مورد یادگیری برنامهنویسی هنوز تردید دارند.
فهرست مطالب
Toggle۱. «برای برنامهنویس شدن باید یک نابغه ریاضی باشم»
اساساً مسیر یادگیری برنامهنویسی مانند دنبال کردن هر مسیر شغلی دیگر است. این سختکوشی است که موفقیت را تضمین میکند، نه استعداد! علیرغم این حقیقت غیرقابلانکار، جامعه همچنان به اشتباه تصور میکند که توسعهی نرمافزار، یک صنعت مخصوص شخصیتهای خاص است؛ گیکها، ریاضیدانان و اعجوبهها.
بسیاری از افراد برای ورود به دنیای برنامهنویسی تردید دارند، زیرا فکر میکنند که برای برنامهنویس شدن باید یک ریاضیدان خوب باشند. اما واقعیت این است که مهارتهای ریاضی یک فرد با مهارتهای برنامهنویسی او رابطه مستقیمی ندارد. شما هنوز هم میتوانید یک برنامهنویس خوب شوید، حتی اگر فقط محاسبات بسیار ابتدایی مانند جمع، تفریق، ضرب و تقسیم را بدانید.
در واقع برای برنامهنویس شدن، لازم نیست بدانید که چگونه یک انتگرال معین را با استفاده از یک متغیر سهمی تقریب بزنید. آنچه برای برنامهنویس شدن نیاز دارید فقط مباحث مقدماتی جبر، منطق، تمرین مهارتهای حل مسئله و مهمتر از همه صبر است.
با این حال گاهی برنامهنویسان برای پروژهای خاص مجبور به استفاده از ریاضیات پیشرفتهتر هستند و این به دلیل ماهیت کارفرما یا پروژهای است که روی میز آنها قرار گرفته است و نه کل حرفهی برنامهنویسی. توسعهی بازی یکی از زمینههایی است که نیاز به دانش بیشتری مانند مثلثات و فیزیک دارد. اما حتی در توسعهی بازی نیز پلاگینها و کتابخانههایی وجود دارد که میتوان از آنها برای حل مسائل ریاضی استفاده کرد. بنابراین برای برنامهنویس شدن لزوماً مهارت فوقالعاده در ریاضیات لازم نیست.
ممکن است علاقهمند باشید: تاریخچه برنامهنویسی
۲. «برای برنامهنویسی به اندازه کافی باهوش نیستم»
بسیاری از افراد وارد حیطهی برنامهنویسی نمیشوند، زیرا فکر میکنند که کدهای پیچیدهای که روی صفحه کامپیوتر نوشته شده است، فقط توسط یک فرد نابغه قابل کنترل است. این تصور غلط میتواند در بین افرادی که در برنامهنویسی تازهکار هستند اضطراب ایجاد کند، زیرا ممکن است فکر کنند که برای یادگیری برنامهنویسی به اندازهی کافی باهوش نیستند. اما حقیقت این است که ظرفیت ذهنی برنامهنویسان با سایر افراد تفاوتی ندارد. برای کدنویسی لازم نیست نابغه باشید، تنها چیزی که نیاز دارید صبر، اراده و علاقه به کدنویسی است.
اگر میخواهید برنامهنویسی را یاد بگیرید، نگران نباشید. هر کسی که میداند چگونه بخواند، بنویسد و با دیگران ارتباط برقرار کند، میتواند برنامهنویسی را یاد بگیرد. بیشتر زبانهای کامپیوتری فقط نسخههای مختصر زبانهایی مانند انگلیسی هستند و صرفاً به شما در برقراری ارتباط با ماشین کمک میکنند، درست مانند کاری که ما برای برقراری ارتباط با انسانها انجام میدهیم، به همین سادگی!
برنامهنویسی سخت نیست، اما یادگیری آن زمان میبرد. اگر انتظار دارید ظرف چند هفته یا چند ماه به یک توسعهدهندهی حرفهای تبدیل شوید، کار را برای خود سخت کردهاید. وقتی این واقعیت را بپذیرید که یادگیری زمان میبرد، دیگر برنامهنویسی آنقدرها دشوار به نظر نمیرسد.
۳. «برای توسعهدهنده شدن باید در این رشته تحصیلات دانشگاهی داشته باشم»
یکی از باورهای رایج در بین مردم این است که بدون مدرک مرتبط با علوم کامپیوتر نمیتوان برنامهنویس شد. اما حقیقت این است که برنامهنویسی یکی از آن مهارتهایی است که تحصیل در آن الزامی نیست و تعداد قابلتوجهی از توسعهدهندگان نرمافزار مدرک دانشگاهی ندارند و برنامهنویسی را به صورت خودآموز یاد گرفتهاند. بسیاری از شرکتهای غول فناوری مانند Google، IBM و Apple دیگر از کارمندان خود درخواست مدرک دانشگاهی نمیکنند.
درست است که تحصیلات دانشگاهی درک شما از نظریهها و مفاهیم برنامهنویسی را سرعت میبخشد، اما امروزه منابع زیادی همچون ویدئوهای آموزشی، دورههای آنلاین، بوتکمپها و… در دسترس هستند که به شما در یادگیری برنامهنویسی کمک میکنند. بسیاری از جوامع آنلاین مانند Stack Overflow نیز به برنامهنویسان کمک میکنند تا راهحلی برای مشکلات کدنویسی خود پیدا کنند. بنابراین هرکسی میتواند هوشمندانه از این منابع برای ورود به دنیای برنامهنویسی استفاده کند.
به علاوه وقتی نوبت به یافتن شغل میرسد، لازم نیست مدرک داشته باشید. تنها کافی است در کاری که انجام میدهید مهارت داشته باشید و آن را دوست داشته باشید. فکر میکنید چه چیزی یک کارفرما را بیشتر تحتتأثیر قرار میدهد، مجموعهای از پروژههای جالب یا یک مدرک دانشگاهی بدون هیچ نمونه کاری؟
۴. «برای یادگیری برنامهنویسی خیلی دیر شده است»
هیچ وقت برای یادگیری کدنویسی دیر نیست. افراد زیادی برنامهنویسی را در سنین بالا آموختهاند و توانستهاند شغل جدیدی به عنوان یک توسعهدهنده پیدا کنند(در مقاله «Some People Learn to Code in Their 60s, 70s or 80s» میتوانید بیشتر در این مورد بخوانید). مسیر تبدیل شدن به یک توسعهدهندهی نرمافزار برای هر کسی با هر سن و پیشزمینهای، باز است و تنها پیشنیاز آن، اراده برای موفقیت است.
سن، تجربه یا حرفهی شما هر چه باشد، میتوانید یادگیری برنامهنویسی را از همین امروز آغاز کنید. فرقی نمیکند بزرگسالی باشید که میخواهد شغل جدیدی را شروع کند، کارآفرینی باشید که به دنبال گسترش مهارتهای برنامهنویسی خود است یا فردی که دوست دارد شروع به یادگیری نحوهی ساخت اپلیکیشن و بازی کند، شما همیشه آنچه که برای یادگیری برنامهنویسی لازم است را دارید.
یادگیری کدنویسی و تغییرِ موفقیتآمیزِ شغل به برنامهنویسی پس از 30 سالگی نیز هنوز ممکن است. در واقع برخی از مزایای یادگیری کدنویسی در سنین بالاتر میتواند شما را نسبت به برنامهنویسان جوانتر برتری دهد. ممکن است افراد ۲۲سالهای که از ۱۵سالگی شروع به یادگیری برنامهنویسی کردهاند، برنامهنویسان حرفهایتری باشند، اما از طرف دیگر مهارتهایی مانند تعامل با مشتریان، مدیریت تیمها و… که فقط از طریق تجربه میتوان به دست آورد را ندارند. بنابراین هر کاری که تا این لحظه انجام دادهاید، بیهوده نبوده است؛ در واقع از طریق آن کارها مهارتهایی کسب کردهاید که در حرفهی برنامهنویسی نیز به شما کمک خواهد کرد.
به علاوه، در هر حوزهای که تاکنون فعالیت کردهاید قطعاً یک استارتآپ وجود دارد که در حال ساخت برنامه یا اپلیکیشنی برای آن صنعت است. آنها بسیار مشتاق خواهند بود که شخصی را استخدام کنند که نهتنها مهارت برنامهنویسی داشته باشد، بلکه از قبل، زمینهی کاری آنها را نیز درک کرده باشد.
۵. «زنها نمیتوانند برنامهنویسی کنند»
چشمان خود را به مدت ۳۰ ثانیه ببندید و یک برنامهنویس را تصور کنید… تصویر ذهنی شما از یک برنامهنویس چه بود؟
- ممکن است فردی را تصور کرده باشید که بهتنهایی نشسته است و عبارتهای پیچیدهای را در کامپیوتر خود مینویسد.
- ممکن است فرد نابغهای را تصور کرده باشید که میتواند رمز عبور شبکههای اجتماعی را هک کند یا اگر کامپیوتر شما به دلایلی کار نمیکند، میتواند آن را تعمیر کند.
- ممکن است فردی را تصور کرده باشید که کمتر صحبت میکند و زیاد با کسی ارتباط برقرار نمیکند.
- و درنهایت در تمام سناریوهای بالا، ممکن است فردی را تصور کرده باشید که مرد است و نه یک برنامهنویس زن!
صنعت نرمافزار تحت سلطهی مردان است و بیشترِ افراد تصویری از برنامهنویسان مرد در ذهن خود دارند و تصور میکنند که کدنویسی چیزی است که فقط مردان قادر به انجام آن هستند. بسیاری از افراد مهارتهای منطقی و تحلیلی که برای برنامهنویس شدن ضروری هستند را فقط مختص مردان میدانند! خب، لازم به ذکر است که اولین برنامهنویس جهان، Ada Lovelace، یک زن بود.
نمونههایی از زنان تاثیرگذار در حوزه برنامهنویسی
زنان همیشه در صدر برنامهنویسان تأثیرگذار قرار داشته و دارند، Ada Lovelace -اولین برنامهنویس جهان- یک زن بود، Grace Hopper اولین کامپایلر زبان برنامهنویسی را توسعه داد. Adele Goldstine در ساخت اولین کامپیوتر دیجیتال الکترونیکی جهان کمک کرد. Jean E. Sammet زبان برنامهنویسی FORMAC را توسعه داد. Marissa Mayer یکی از اولین برنامهنویسان گوگل بود. همه آنها برنامهنویسانِ زن تأثیرگذاری هستند که مهارتهای برنامهنویسی خود را به اشتراک گذاشتند و الهامبخش زنان دیگر برای ورود به این عرصه شدند.
تأثیر زنان در زمینهی برنامهنویسی مشهود است، نباید منکر این واقعیت شد که زنان نسبت به مردان خلاقتر و سازماندهیشدهتر هستند و این دو عامل در برنامهنویسی بسیار مهم هستند. بنابراین شکی نیست که زنان میتوانند در زمینه برنامهنویسی بسیار خوب عمل کنند. در واقع، آنها همین الان هم این کار را انجام میدهند، اما زنان بیشتر و بیشتری باید جلو بیایند و صحنه را رهبری کنند تا به یک فضای کاری متعادل، سازنده و خلاق برای مردان و زنان دست پیدا کنیم.
ممکن است علاقهمند باشید: بهتر است به توسعهدهنده شدن فکر کنید اگر…
۶. «برنامهنویسی یک حرفهی خستهکننده است»
برخی افراد از یادگیری برنامهنویسی اجتناب میکنند، زیرا فکر میکنند که برنامهنویسی یک کار کسلکننده یا غیرخلاقانه و فقط در کنار هم قرار دادن کلمات و اعداد است. اما بهترین چیز در مورد کدنویسی این است که هنر تفکر را به شما میآموزد. وقتی چیزی را از ابتدا و پس از تلاش فراوان میسازید، متوجه میشوید که چه مسیر شگفتانگیز و هیجانانگیزی را تجربه کردهاید. حقیقت این است که توسعهدهندگان دوست دارند خلاقیت خود را از طریق برنامهنویسی ابراز کنند. آنها مسائل پیچیده را به قسمتهای کوچک تقسیم کرده و سپس از حل آنها از روشهای مختلف لذت میبرند. به نظر شما خلق چیزی از هیچ میتواند خستهکننده باشد؟
به علاوه بسیاری از افراد تصور میکنند که برنامهنویسان روزهای خود را بهتنهایی در مقابل کامپیوتر خود میگذرانند، اما این حرفه بیشتر از آن چیزی است که تصور میشود؛ برنامهنویسان به صورت تیمی کار میکنند و مهارتها، دانش و تجربه خود را ترکیب میکنند تا بتوانند چیزهایی بسازند که زندگی را آسانتر کند.
۷. «برای یادگیری برنامهنویسی باید چیزهای زیادی را حفظ کرد»
اگر به هزاران خط کد نگاه کنید، ممکن است فکر کنید که برای یادگیری برنامهنویسی باید تمام قواعد و دستورات یک زبان برنامهنویسی را به خاطر بسپارید. اما اگر دقت کنید، متوجه خواهید شد که آنها فقط انبوهی از کدهای متشکل از عبارات، متدها و حلقههای تکراری هستند. بله! برنامهنویسان معمولاً از همان چیزهایی که در دورههای مقدماتی میآموزند برای انجام راهحلهای ساده و پیچیده استفاده میکنند.
حفظ کردن همهچیز نهتنها ضروری نیست، بلکه غیرممکن است. کافی است ایدهی اصلی برنامهنویسی و اصول اولیه آن را بهخوبی یاد بگیرید و اگر چیزی را فراموش کردید از گوگل کمک بگیرید. وقتی به نوشتن کد ادامه دهید، پس از مدتی متوجه میشوید که مغز شما بهطور خودکار شروع به یاد گرفتن سینتکس و الگوها میکند، بدون اینکه تلاشی برای حفظ کردن آنها کنید. در برنامهنویسی باید بدانید که کجا میتوانید پاسخ را پیدا کنید و چگونه از منابع آنلاین (مانند Stack Overflow)، کتابخانهها، ابزارها، IDEها و ویرایشگرهای متن استفاده کنید. هنگامی که به این موارد مسلط شوید، احساس خواهید کرد که نوشتن 10000 خط کد، یک بازی کودکانه است.
۸. «تمام زندگی برنامهنویسان کد زدن است»
ممکن است فکر این که توازن زندگیتان به هم بخورد و تمام زندگیتان در کد زدن خلاصه شود، شما را از آموزش برنامهنویسی دلسرد کند. اما باید بدانید که عموما این تصور غلط است. البته کسی که به عنوان برنامهنویس حرفهای مشغول به کار است، به طبع باید تلاش بیشتری کند تا این توازن را حفظ کند. مانند تمامی حرفههای دیگر!
دلیل این امر واضح است. یافتن نیروی حرفهای و بااستعداد برای سازمانها مشکل و هزینهبر است. به این ترتیب گاهی بار زیادی روی دوش این افراد میافتد و این موضوع، ممکن است تاثیر منفی روی زندگی آنها داشته باشد. اما همانطور که گفتیم، حفظ این توازن حتی برای حرفهایها، با رعایت برخی نکات میسر میشود. برخی از این نکات عبارتند از:
زندگیتان را متوقف نکنید
ممکن است بهعنوان یک برنامهنویس همواره فکرتان سمت تمام کردن تسکها در سریعترین زمان ممکن باشد. شاید مدتی به این منوال پیش برود، اما در نهایت این روند فرسایشی شما را از پا درمیآورد. بنابراین برنامهریزی کنید؛ کارهایتان را اولویتبندی کنید؛ اما زندگیتان را متوقف نکنید!
روتین داشته باشید
بسته به این که شغلتان حضوری باشد یا بهعنوان برنامهنویس فریلنس کار کنید، این روتین ممکن است متفاوت باشد. اما نکته مهم این است که بتوانید ساعتهایی که بازدهیتان بیشتر است را پیدا کنید و طبق آن یک روتین مشخص بسازید. هر چه بیشتر به این روتین پایبند باشید، مدیریت توازن زندگیتان راحتتر میشود.
کمالگرایی را کنار بگذارید
این حرف به این معنا نیست که کامل بودن در کارتان چیز بدی است. برعکس! این خیلی خوب است که بتوانید کارهایتان را به بهترین نحو ممکن انجام دهید. اما مشکل اینجاست که ممکن است گاهی آنقدر روی کامل بودن تمرکز کنید که از بقیه چیزهای مهم در زندگیتان جا بمانید. بنابراین مسئولیتپذیر باشید و برای پیشرفت کارها تلاش کنید؛ اما کمالگرایی را کنار بگذارید.
۹. «برنامهنویس خوب باید حتما سریع باشد»
احتمالا این ترسیم از چهره برنامهنویسها را در فیلمهای مختلفی دیدهاید. فردی که با سرعت نور تایپ میکند و صدها خط کد را در زمان بسیار کمی اجرا میکند. اما این تصور غلط است. چیزی که در این حوزه مهم است، توانایی حل چالشها و مسائل مختلف است. قطعا کسی که بتواند بازه بیشتری از مشکلات را حل کند، موفقتر است. البته این به این معنا نیست که سرعت هیچ اهمیتی ندارد؛ اما فاکتور اصلی جدا کننده برنامهنویس خوب از برنامهنویس بد نیست. چه بسا برنامهنویسی بسیار سریع باشد اما کدها را با مشکلات فراوان و بدون رعایت Clean Code اجرا کند.
۱۰.«من از پس هزاران خط کد زدن برنمیآیم»
ممکن است برنامهنویسی در شروع راه کمی ترسناک بنظر برسد. این طرز فکر میتواند مانعی جدی در مسیر یادگیری شما باشد. قدم اول کنار گذاشتن نتیجهگرایی است. اگر هنگام کوهنوردی، تمام فکر شما تمام شدن مسیر و رسیدن به قله باشد، چگونه میتوانید لذت مسیر را درک کنید؟ در مورد برنامهنویسی هم همینطور است. به جای این که هدفتان از یادگیری را صرفا رسیدن به یک نقطه مشخص برای دستیابی به اهداف دیگر بدانید؛ فقط از از برنامهنویسی و پروسه یادگیری آن لذت ببرید.
قدم دوم این است که مسئلههایی که با آنها درگیر میشویم را در ذهن خود خرد کنیم. حل مسائل کوچکتر و در نهایت در کنار هم قرار دادن آنها مانند تکههای پازل، میتواند شما را به یک پاسخ نهایی برساند. این کار از ترسناک جلوه کردن حل مسائل در مقیاسی که برایمان دارای پیچیدگی است، جلوگیری میکند.
در نهایت، نترسید! بیشتر وقتها فکر کردن درباره انجام یک کار میتواند مثل یک باطلاق عمل کند. هر چه بیشتر فکر کنید، آن کار دستنیافتنیتر و سختتر به نظر میرسد. پس به جای آن شروع کنید. از هر نقطهای که حس بهتری دارید.به یاد داشته باشید که اگر سوار ماشین نشوید، هیچگاه رانندگی را یاد نمیگیرید. پس با مسائل درگیر شوید و از اشتباه کردن نترسید.مطمئن باشید که با تکرار این کار، یادگیری برنامهنویسی هم به اندازه تمام کارهای دیگر ممکن است.
۱۱.«این حوزه در ایران اشباع شده است»
این طرز فکر کاملا اشتباه است! یک برنامهنویس خوب در ایران و یا هر جای جهان، امکان ندارد که نتواند شغلی پیدا کند. افراد زیادی وجود دارند که با رویای داشتن درآمد بالا و رسیدن به یک موقعیت شغلی خوب برنامهنویسی را شروع کرده و زمانی که با چالشهای آن درگیر میشوند به طور کل انگیزه خود را از دست میدهند. این باعث میشود که تعداد زیادی از افراد به یادگیری برنامهنویسی بپردازند، اما تعداد کمی از آنها به یک برنامهنویس خوب تبدیل شوند. در اینجا باید روی یک کلمه تاکید کنیم. علاقه!
امروزه در دنیایی زندگی میکنیم که همواره با فناوریها و تکنولوژیهای جدیدی رو به رو میشویم. پس اگر به این حوزه علاقه دارید و میخواهیم آینده شغلی خود را روی برنامهنویسی بنا کنید، نگران اشباع شدن بازار کار نباشید.
شاید علاقهمند باشید: 13 فیلمی که هر برنامه نویس باید ببیند
جمعبندی
امیدواریم که اکنون بتوانید تردیدهای نادرست خود را کنار گذاشته و برای دنبال کردن برنامهنویسی اعتمادبه نفس پیدا کنید. برنامهنویسی با تمام خطوط و اعدادی که روی صفحهی کامپیوتر برنامهنویسان میبینید، همیشه ترسناک به نظر میرسد؛ اما اگر زمان و تلاش کافی صرف یادگیری برنامهنویسی کنید، دلیلی وجود ندارد که نتوانید موفق شوید. فقط کافی است بلند شوید و اولین قدم را بردارید!
ممنون که تا اینجای مقالهی «۱۱ باور غلط درمورد برنامه نویسی که شما را از یادگیری منصرف میکنند» با ما همراه بودید. اگر چالش ذهنی دیگر دارید که شما را از یادگیری برنامهنویسی منصرف میکند، آن را در بخش نظرات با ما در میان بگذارید.