۵ اشتباه رایج برنامه نویسان خودآموخته | راهنمای کاربردی


این که یک برنامه نویس خودآموخته باشید، کار آسانی نیست. هر ساله هزاران دانشجو با مدرک مهندسی کامپیوتر از دانشگاه فارغالتحصیل میشوند و اغلب آنها قصد دارند یک شغل به عنوان توسعهدهنده برای شرکتهای خوب به دست آورند. از این رو یافتن شغل مناسب به عنوان یک برنامهنویس خودآموخته کار آسانی محسوب نمیشود و در اصل دنیا همیشه بر وفق مراد برنامه نویسان خودآموخته نیست.
در این مطلب فهرستی از برخی روشهایی که شما به عنوان یک برنامهنویس خودآموخته میتوانید برای به دست آوردن نخستین شغل خود در یک شرکت به کار بگیرید را معرفی میکنیم و به این ترتیب میتوانید به مقدار زیادی در زمانی که بسیاری از برنامهنویسهای خودآموخته با ناراحتی و افسردگی از دست میدهند صرفهجویی کنید. همچنین با مطالعه این راهنما میتوانید به عنوان یک برنامهنویس، اعتماد به نفس و انرژی بیشتری به دست آورید.
به پیشنیازهای دورههای آموزشی توجه کنید
فرض کنید میخواهید شروع به یادگیری روش ساخت اپلیکیشنهای اندرویدی بکنید. بنابراین شروع به جستجوی آنلاین برای راهنماهایی میکنید که روش ایجاد اپلیکیشنهای اندرویدی را آموزش میدهند و به این ترتیب دهها دوره آموزشی روی اینترنت پیدا میکنید که این کار را انجام میدهند.
در این زمان مستقیماً وارد دوره آموزشی میشوید و به صحبتهای استاد گوش میدهید. در ابتدا همه چیز بینقص است، شما در مورد مبانی اندروید مثلاً این که این سیستم عامل چگونه تکامل یافته است، نکتههای زیادی میآموزید. با طرز کار دکمهها و معنی image view آشنا میشوید، اما هر چه مباحث عمیقتر میشوند، استاد شروع به استفاده از اصطلاحات دشوارتر میکند تا این که شما مطلقاً چیزی از صحبتها درک نمیکنید. در ابتدای مواجهه با این مشکل، معنای برخی اصطلاحها را از استاد میپرسید. اما با گذشت زمان استاد از اصطلاحات پیچیده بیشتری استفاده میکند و از این رو کار دشوارتر میشود.
برخی از اصطلاحهایی که استاد بیشتر به کار میبرد شامل کلاسهای عمومی و خصوصی هستند. مفاهیم وراثت، کپسولهسازی، مدیریت استثنا و اینترفیسها نیز از آن جملهاند. به مرور که با دشواری بیشتری مواجه میشوید، کمکم تسلیم میشوید و فکر میکنید که در زمینه برنامهنویسی در حال در جا زدن هستید. در نهایت تسلیم میشوید و تصمیم میگیرید از خیر کدنویسی بگذرید.
نکته مهمی که در مورد این وضعیت باید به خاطر داشته باشید این است که همه دورههای آموزشی موجود روی اینترنت با این ذهنیت آمادهسازی شدهاند که مخاطبان برخی پیشنیازها را داشته باشند. همواره به پیشنیازهای یک دوره آموزشی توجه کنید. به این ترتیب مطمئن میشوید که انگیزه لازم را برای کدنویسی دارید و از دوره آموزشی که در آن شرکت کردهاید لذت میبرید.
روش صحیح یادگیری از طریق دورههای آنلاین را بدانید
فرض کنید تصمیم میگیرید توسعه بکاند وب را با استفاده از NodeJs یاد بگیرید و همه پیشنیازهای لازم برای دوره آموزشی که شامل مفاهیم جاوا اسکریپت است را نیز میدانید و شروع به شرکت در دوره آموزشی میکنید.
در این مسیر با دقت تمام همه ویدئوها را دنبال میکنید و همه مفاهیم را نیز به درستی میآموزید. اکنون میخواهید شروع به ساخت یک پروژه همراه با مدرس بکنید. مراحلی که مدرس طی میکند را گام به گام دنبال میکنید و یک پلتفرم رسانه اجتماعی برای افراد درست میکنید تا کاربران بتوانند وارد حساب خود شده و عکسشان را به اشتراک گذاشتن و پستی بنویسند. اکنون با این مسئله بغرنج مواجه هستید که آیا میتوانید به فرد دیگری بگویید که این پروژه توسط شما ساخته شده است یا نه، اما اگر چنین بگویید کار درستی انجام ندادهاید، زیرا شما فقط مراحلی که مدرس گفته است را دنبال کردهاید. این وضعیت شبیه به کپی کردن کدهای دیگران است.
اگر میخواهید به افراد دیگر بگویید که پروژهای را ایجاد کردهاید، آن پروژه را خودتان به تنهایی و بدون کمک گرفتن از دیگران بسازید. از وبسایتهایی مانند StackOverflow، جستجوی گوگل و مستندات آنلاین فریمورک مور نظر خود کمک بگرید. علاوه بر ساخت پروژه با همان قابلیتها، تلاش کنید تا قابلیتهای جدیدی به پروژه خود اضافه کنید تا افراد بیشتری آن را دنبال کنند. مثلاً میتوانید امکان فالو کردن افراد، نمایش تعداد فالوورها و افزودن نظر زیر مطالب کاربران را اضافه کنید.
اکنون میتوانید به همه اعلام کنید که کل پروژه را خودتان ایجاد کردهاید و به علاوه میتوانید آن پروژه را به رزومه خود اضافه کنید، زیرا اینک با روش ساخت یک چنین نوعی از پروژهها حتی با منابع کمتر به خوبی آشنا هستید.
یادگیری ساختمان داده و الگوریتم برای تقویت مهارت حل مسئله
اگر یک برنامهنویس خودآموخته باشید، این احتمال وجود دارد که اهمیت دانش ساختمان داده و الگوریتمها را دست کم بگیرید و فکر کنید که برای به دست آوردن یک شغل فقط دانستن ابزارها و آن فناوری که قرار است استفاده شود کافی است. یک چنین طرز فکری درست نیست و آسیب ایجاد میکند.
دانستن ابزارها و فناوری صرفاً موجب میشود که شما کار خود را آسانتر انجام دهید. اما دانستن شیوه صحیح استفاده از ساختمان داده برای یک مسئله خاص و آشنایی با شیوه پیادهسازی آن موجب میشود که عملکرد بهبود یافته و همچنین ریسک شکست در برخی کاربردهای خاص کاهش پیدا کند.
فرض کنید به عنوان یک برنامهنویس در یک شرکت خوب مشغول کار هستید و به تدریج در حال توسعه نرمافزاری برای حدود 10،000 کاربر هستید. تا به اینجا نیازی به ورود عمیق به مباحث ساختمان داده و الگوریتمها وجود نداشته است. اما یک روز شرکت از شما میخواهد یک محصول نرمافزاری بسازید که از سوی دست کم 50،000 نفر استفاده خواهد شد. در این صورت اگر با شیوه استفاده صحیح از ساختمان داده و الگوریتمها آشنا نباشید، به دردسر خواهید افتاد. شما باید درک خوبی از ساختان داده و الگوریتمها داشته باشید تا بتوانید یک محصول مقیاسپذیر بسازید.
به گسترش روابط فردی به اندازه بهبود کدنویسی اهمیت بدهید
شما به عنوان یک برنامهنویس خودآموخته ممکن است کل روز را صرف نشستن پشت رایانه خود بکنید. نشستن تمام روز و کدنویسی قطعاً شما را به یک برنامهنویس خوب تبدیل میکند، اما کمکم احساس تنهایی میکنید و در نهایت به فردی آزرده تبدیل خواهید شد. شبکهسازی با افراد مختلف به شما امکان میدهد که در مورد جنبههای مختلف زندگی چیزهای تازهای بیاموزید و از مسیر زندگی خود به عنوان یک برنامهنویس لذت ببرید.
به جای این که به تنهایی بنشینید و تمام روز را برنامهنویسی کنید، دوستانی پیدا کنید که تحصیلکرده رشتههای مختلفی از قبیل علوم رایانه، روانشناسی و یا مالی و حسابداری باشند. به این ترتیب پس از مدتی متوجه خواهید شد که صرفاً از طریق دوستی با این افراد، دانش و اطلاعات زیادی در این زمینهها کسب کردهاید. همچنین در مسیر خود برای تبدیل شدن به یک برنامهنویس رایانه، دوستانی که دارای مدرک آکادمیک در این رشته باشند، کمک زیادی به شما میکنند. شما کمکم شروع به درک اصطلاحات فنی که یک دانشجوی علوم رایانه عموماً میداند، خواهید کرد و به این ترتیب با برخی میانبرهایی که آنها در زندگی روزمره خود به عنوان برنامهنویس استفاده میکنند نیز آشنا میشوید.
علاوه بر آن، از آنجا که به طور مداوم شبکه روابط فردی خود را گسترش میدهید، در این میان با افرادی نیز آشنا خواهد شد که به معرفی شما برای کار در شرکتهای بزرگ کمک میکنند. به کمک این افرادی که میشناسید، میتوانید نخستین شغل خود را به دست آورید و یا در صورت نیاز شغل خود را عوض کنید.
آیا حس میکنید هیچ چیز نمیدانید؟
اگر یک برنامهنویس خودآموخته هستید، اغلب اوقات افرادی که باتجربهتر از شما هستند، ممکن است از سر ترس به شما بگویند که هیچ نمیدانید! نه تنها افراد دیگر این را به شما میگویند، بلکه ممکن است گاهی اوقات خودتان نیز حس کنید که هیچ چیز نمیدانید.
اگر در مسیر برنامهنویسی خود زمانی پیش آمد که کسی به شما گفت هیچ چیز نمیدانید، مأیوس نشوید و حس نکنید که در مسیر برنامهنویسی وقت خود را تلف کردهاید. بلکه روی کار خود متمرکزتر شوید و تلاش کنید چیزهای جدیدی را در سریعترین زمان ممکن بیاموزید. تلاش کنید تا کار خود را هر روز بهبود ببخشید. ممکن است به عنوان یک برنامهنویس خودآموخته فکر کنید که با نوشتن هزاران خط کد تحسین همگان را برانگیختهاید و دیگر به نظر دیگران اهمیت ندهید، اما یک مهارت مهم در این شغل داشتن روحیه تواضع است تا بتوانید به عنوان برنامهنویس خودآموخته چیزهای بیشتری بیاموزید.
اگر فروتن باشید و روی رشد خود تمرکز کنید، این احتمال بالا است که افراد کمکم توجهشان به شما جلب شود. بدین ترتیب از سوی افرادی که زمانی در آغاز مسیر برنامهنویسی از شما انتقاد میکردند تقدیر میشوید.
سخن پایانی درباره اشتباهات رایج برنامه نویسان خودآموخته
در این مقاله تلاش کردیم برخی نکات مهم را مطرح کنیم که هر برنامه نویس خودآموخته باید آنها را بداند و از مرتکب شدنشان خودداری کند. به این ترتیب با مطالعه این مقاله شما میتوانید از خیلی از اشتباهاتی که بسیاری از برنامهنویسان خودآموخته مرتکب میشوند، جلوگیری کنید.
ممنون من یه برنامه نویس خود اموخته ام و این مطلب خیلی کمک کرد