مکالمهی بین من و دوستم باب:
من: سلام باب. چطوری؟
باب: سلام خوبم.
من: آلیس به من گفت که قصد داری شغلت رو تغییر بدی.
باب: آره تصمیم گرفتم شغلی که در اون کار میکنم رو تغییر بدم.
من: میخوای چه کار کنی؟
باب: میخوام به سراغ مهندسی نرم افزار برم.
من: این عالیه، یادگیری کدنویسی رو شروع کردی؟
باب: آره دارم کدنویسی رو از Udemy یاد میگیرم.
من: خیلی خب ولی چطور پیش میره؟ میتونی همه چیز رو درک کنی؟
باب: آره همه چیز خوب پیش میره و به نظرم برنامهنویسی خیلی راحته.
من: خوبه.
باب: به نظر میرسه که باید یادگرفتن کدنویسی رو زودتر شروع میکردم.
من: به نظر میرسه که از یادگرفتن کدنویسی لذت میبری.
باب: آره.
من: موفق باشی باب. بعداً باهات صحبت میکنم.
باب: ممنون
از یکی از دوستان خود به نام آلیس شنیدم که باب ظرف مدت 15 ماه کدنویسی را یاد گرفته است. او از طرف یکی از شناخته شدهترین استارتاپهای شهر پیشنهاد کار دریافت کرده و به عنوان یک توسعهدهنده backend در آنجا استخدام شده است. به تازگی پس از 24 ماه دوباره باب را ملاقات کردم. ما در 2 سال گذشته با یکدیگر صحبت نکرده بودیم. در اینجا بخشی از گفتگوی ما برای شما آورده شده است.
من: سلام باب. حالت چطوره؟
باب: سلام خوبم.
من: شغلت چطور پیش میره؟
باب: کدوم شغل؟
من: از آلیس شنیدم که به عنوان توسعه دهنده backend توی یه استارتاپ کار میکردی.
باب: اون کار رو ول کردم.
من: چرا ولش کردی؟
باب: برنامهنویسی واسم سخت بود. دیگه نمیتونم کد بنویسم.
من: از شنیدنش متاسفم. با چه چالشی روبرو شدی؟
باب: وقتی مشغول یادگرفتن کدنویسی بودم، معمولاً همه چیز راحت بود. فقط باید کد مینوشتم و کارهام رو انجام میدادم. ولی هرچی گذشت، سختتر شد.
من: اگه واست سخت بود، چجوری به عنوان یه توسعهدهنده کار پیدا کردی؟
باب: پیدا کردن کار، آسونترین چیزی بود که تا حالا انجام دادم. اونا فقط چند تا سوال در مورد ساختار دادهها و پروژه از من پرسیدند.
من: حتماً توی اون مصاحبه خیلی خوب بودی.
باب: آره اما نتونستم با خستگی و فشارهای اون شغل کنار بیام.
من: باشه، واست آرزوی بهترینها رو دارم.
در آن مکالمه میخواستم از باب کلی سوال بپرسم اما او ناامید به نظر میرسید. به همین خاطر هیچ چیزی از او نپرسیدم. فکر کردم که بهتر است سوالات خود را برای دفعهی بعد بگذارم. وقتی دوباره باب را دیدم، تمام آن سوالاتی که در ذهنم بود را پرسیدم. او به تمام سوالات من جواب داد و من هم به تمام آنها گوش دادم. بعد از 3 ساعت صحبت کردن با او، به ویژگیهایی پی بردم که او فاقد آنها بود.
1. لقمهی آماده توسط مربی
برای یادگیری کدنویسی احتیاجی به نابغه بودن نیست. اگر ضریب هوشی شما بالاتر از حد متوسط باشد، میتوانید در زمینه برنامهنویسی عالی باشید. اگر قصد یاد گرفتن کدنویسی را داشته باشید، یک زبان برنامهنویسی را انتخاب خواهید کرد.
مثلاً شما یادگیری جاوا اسکریپت را در Udemy شروع کردهاید. در این مرحله تمام اصول را پشت سر گذاشتید و مربی یک کار را برای انجام دادن به شما میدهد. شما تمام کارها را به راحتی انجام دادید. بنابراین یادگیری جاوا اسکریپت پیشرفته را شروع میکنید. از آنجایی که همیشه یک مربی در کنار شما وجود داشت، میتوانستید مشکلات خود را به او بگویید. مربی یک کار دیگر به شما واگذار میکند تا آن را انجام دهید.
مربی از شما خواسته که به تنهایی یک بازی دوز بسازید. فرضاً نمیتوانید آن بازی را به تنهایی خلق کنید. بنابراین به سراغ ویدیوهای مربی میروید و طریقه ساخت بازی دوز را میبینید. حالا یک پروژه کوچک برای نشان دادن به همه دارید.
اتفاق مشابهی نیز برای باب رخ داد. باب با کمک یک مربی توانست پروژههای زیادی را انجام دهد. او فکر میکرد که در محل کار نیز میتواند روی مربی حساب باز کند. فکر میکرد که مربی در تمام مشکلات به او کمک خواهد کرد. اما وقتی برای انجام دادن کارها رفت، هیچ مربی وجود نداشت. او نمیدانست که چگونه باید مشکلات جدید را حل کند. او نتوانست کدی که قبلاً نوشته شده را بخواند. در برخی از پروژهها تنها یک خط تغییر در کد لازم بود اما او سعی میکرد دوباره کدها را از اول بنویسد.
او در حل یک مسئلهی جدید مشکل داشت. اگر راهحل مستقیمی برای برطرف کردن یک مشکل وجود نداشت، به صورت آنلاین دنبال راهحل میگشت. او هرگز سعی نکرد کد را بخواند. اگر بخواهید از یادگیری کدنویسی به انجام یک کار در صنعت تکنولوژی بروید، به یک تغییر در ذهنیت نیاز دارید.
2. تقاضای کمک نکردن
وقتی در هر شرکتی به عنوان توسعهدهنده استخدام میشوید، پروژههای جدید و زیادی به شما داده میشود. شما هیچ تجربهی قبلی در آن پروژه ندارید. بنابراین درخواست کمک کردن به عنوان یک توسعهدهندهی تازهکار، مهارتی مهم است.
وقتی باب به عنوان یک توسعهدهنده backend به استارتاپ پیوست، بیشتر اوقات در پروژهها گیر میکرد. اگر نمیتوانست به طور آنلاین راهحلی را پیدا کند، احساس ناامیدی میکرد. او هنگام یادگیری کدنویسی هرگز از کسی درخواست کمک نکرده است. بنابراین فکر میکند که خودش باید به تنهایی تمام مشکلات را برطرف کند. او به خاطر مشکلاتش هرگز به عنوان یک توسعهدهنده به کسی مراجعه نکرد. وقتی به نزدیک شدن به دیگران فکر میکرد، خجالت میکشید.
هر بار که به کمک احتیاج داشت، با خودش میگفت که دیگران دربارهی او چه فکری میکنند. آنها فکر میکنند که او صلاحیت کافی برای انجام کارها را ندارد.
3. تمایل به یادگیری چیزهای جدید
صنعت نرم افزار با سرعت بالایی تکامل مییابد. این احتمال وجود دارد که آموختههای 5 سال پیش شما امروزه مورد استفاده قرار نگیرد. با گذشت زمان فریمورکهای زیادی وارد بازار میشوند. وقتی باب به آن شرکت ملحق شد، انگیزه و اشتیاق زیادی برای یادگیری چیزهای جدید داشت. دائماً چیزهای جدیدی را یاد میگرفت. با گذشت زمان علاقهی او نسبت به کارهایش کمتر شد. او کارش را سبک تلقی کرد.
در ابتدا طی یک هفته او حداقل 2 ساعت از زمان خود را صرف یاد گرفتن چیزهای جدید میکرد، اما با گذشت زمان از یادگیری چیزهای جدید و بروز کردن دانش خود دست کشید. به همین خاطر عملکرد او به عنوان یک برنامهنویس تحلیل رفت. پیش خودش میگفت که شرکت کارهای زیادی را به او محول میکند و به همین خاطر وقت یادگیری چیزهای جدید را ندارد.
وقتی یک توسعهدهنده هستید، باید دانش و اطلاعات خود را بروز کنید. یادگیری کدنویسی و استخدام شدن به عنوان یک توسعهدهنده آسان است. کاهش پیدا کردن موانع ورودی به توسعه نرم افزار بدین معنا نیست که چالشهای آن کمتر شده است.
کسب تخصص در زمینه برنامهنویسی مستلزم تلاش و فداکاری است. این تلاشها شامل صبور بودن و یادگیری مداوم چیزهای جدید است.
4. نداشتن نگرش درست نسبت به خطاها
به عنوان یک توسعهدهنده حرفهای باید عاشق خطاها باشید. اگر به عنوان یک برنامهنویس از خطاها متنفر باشید، این موضوع میتواند کمی برای شما دردسرساز باشد. اگر دوست ندارید خطاها و اشکالات را ببینید، باید نگرش خود را نسبت به آنها تغییر دهید.
وقتی باب در حال یادگیری کدنویسی بود و پروژههای کوچک را انجام میداد، معمولاً با خطاهایی روبرو میشد. اما تمام این خطاها را میتوان به راحتی در اینترنت پیدا کرد. بنابراین هر وقت که به مشکل میخورد، فوراً آن را اصلاح میکرد.
وقتی باب به این کار پیوست، خطاهای زیادی در پروژههای او ظاهر میشد. 80 تا 90 درصد از خطاها را میتوان به راحتی در اینترنت پیدا کرد. برای حل 10 تا 20 درصد باقیمانده باید چند ساعت عمیق و شدید فکر کنید. گاهی اوقات خطا میتواند کمی آزاردهنده باشد. به عنوان توسعهدهنده باید تمایل داشته باشید ساعتها در ناامیدی به سر ببرید.
گاهی اوقات با دو راهحل مواجه خواهید شد و احساس سردرگمی میکنید. باید از کدام راهحل استفاده کنید؟ ممکن است راهحلهای مختلفی برای حل یک مشکل مشابه وجود داشته باشد. به عنوان یک توسعهدهنده عاشق خطاها شوید. آنها شما را به یک برنامهنویس ماهر تبدیل خواهند کرد.
نتیجهگیری
- برای انجام دادن یک کار به تغییر عقیده نیاز دارید.
- در صورت شکست خوردن تمام راهحلها، درخواست کمک کنید
- تکنولوژی به سرعت تغییر میکند، پس چیزهای جدید را یاد بگیرید
- به عنوان یک توسعهدهنده، باگها باید بهترین دوست شما باشند
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید