چی‌شد برنامه‌نویس شدم؟


ایده اصلی شکل گیری این نوشته کامنت AmirRZ زیر پست 5 لایبرری پایتون که احتمالا نیاز داشتید! (1) بود، خب یه راست میرم سراغ اصل مطلب

شروع ماجرا

حقیقتش اولش که توی کامپیوتر با ورد و پاورپوینت و نرم افزار های دیگه ور میرفتم و بلد بودم ویندوز نصب کنم?✌ و کلا کامپیوتر دوست بودم اما برنامه نویسی از پسر عمم شروع شد، کلاس پنجم یا ششم بودم(دقیق یادم نیست) و توی عروسی بودیم، منم خیلی خجالتی بودم و خلاصه بابام که دید حوصلم سر رفته و الانه که دیگه شروع کنم به رفتن روی مخش من رو فرستاد با پسرعمم(رشته نرم افزار خوندن) که یه چیزایی راجع به کامپیوتر بگه سرم گرم بشه منم انگار داشتم کوه میکندم وقتی باهاش صحبت میکردم انقد که ناراحت بودم و خجالتی خلاصه مفهوم باینری رو سه بار برام توضیح داد تا فهمیدم، اون لحظه یهو ذهنم خالی شد و همش تو فکرم این بود که من از کامپیوتر هیچی نمیدونم!

درسی که میشه از این قسمت گرفت: بعضی وقتا یه ماجرای طولانی از جایی استارت میخوره که باورتون نمیشه...

بعد از اون با شوق و ذوق اون مطلب رو برای چندین نفر توضیح دادم و هی توی اینترنت سرچ میکردم مفاهیم کامپیوتر و اینجور چیزا تا نکنه یه سری چیزا مثل این برام پیدا بشه تا بتونم خودم رو وارد دنیای جدی کامپیوتر کنم اما چیزی نصیبم نشد که نشد... (اصلا نمیدونستم چی سرچ کنم)

توی دیدارای بعدی که داشتیم پسر عمم داشت تمام تلاشش رو میکرد که بهم javascript و مفاهیم برنامه نویسی رو بگه ولی من واقعا هییییچیییی نمیفهمیدم و توی اون لحظه ای که داشت توضیح میداد اینطوری بودم که خب بیخیالش تو که نمیفهمی فقط سر تکون بده، بعدش برو توی خونه سرچ کن و یادبگیر?

درسی که میشه از این قسمت گرفت: توی یادگیری هیچوقت خجالت نکشید، اگر نفهمیدید بگید نفهمیدم، همین و بس...

خلاصه شروع کردم html,css رو که بعدش برم javascript اما بخاطر نبود اراده و هدف هیچکدوم رو تموم نکردم که نکردم... و پایتون رو هم شروع کردم اما بازم تمومش نکردم...

خلاصه حدود یه سالی گذشت و کلی چیزا رو توی این مدت تست کردم (وردپرسم جزوش بود) بعد از اون با بهترین دوستم رفتیم سمت یه موتور بازی سازی به اسم کانستراکت2 که برای ساخت بازی بدون برنامه نویسی بود (که خود موتور خروجی javascript میداد و با کوردوا خروجی موبایل میگرفتیم)

درسی که این از قسمت میشه گرفت: داشتن یه همراه توی مسیر یادگیری اونو لذت بخش تر و سریع تر میکنه...

اولین پروژه شکست خورده

بعد از یه مدت آموزش دیدن برای اون موتور بازیسازی رفتیم سراغ ساخت یه بازی بله و خیر معکوس به اسم چپکینگ(شاه چپکی ها!) که اولش یه بازی خیلی کوچیک بودن اما هی بهش فیچر اضافه کردیم تا بالاخره خواستیم فیچر جدول برترین امتیازات رو اضافه کنیم که خب آموزشش توی جامعه کانستراکت بود و دوتا فایل آماده php هم بود برای ثبت و گرفتن اطلاعات ولی خب نیازای ما رو این فایل های آماده برآورده نمی‌کرد بنابراین سعی میکردم با کپی کردن بخشی از همون کدا یه سری قابلیت جدید بسازیم! مثلا با کپی کردن همونا سیستم ثبت سوال درست شد!! اما خب بالاخره جلوتر رفت و دیدیم واقعا دیگه این جواب نمیده، من برای اون پروژه رفتم سراغ یادگیری php و خب خیلی عمیق نشدم اما تونستم از پس back-end اون بازی بر بیام.

درسی که از این قسمت میشه گرفت: یادگیری بر اساس نیاز میتونه شما رو به هدفتون برسونه...

نکته: این بازی به خاطر کامل گرایی های فنی از سمت من و دوستم و طولانی شدن خیلیییی زیاد(حدود یک‌سال و خورده ای) توسعش لغو شد و کلا کانستراکت رو بخاطر محدودیتاش ول کردیم و تا الان برنامه ای برای مهاجرت به سمت بازیسازی نداریم مجدد...

توی کانستراکت2 حس خودم اینه که واقعا منطق برنامه نویسیم بهتر شد پس توی شروع بنظرم خیلی خوبه که چیزای ناشناخته رو هم تست کنید شاید بهتون کمک کردن!

شروع برنامه نویسی موبایل

بعد از اون ماجرا و قبول کردن شکست پروژه چپکینگ رفتم سراغ جاوا برای یادگیری برنامه نویسی موبایل ولی بلدنبودن مفاهیم و نبود صبر دلیلی بود که یادگیری جاوا تو اون برهه زمانی شکست خورد...
خلاصه کلی چیز مثل python, java, javascript, html, css, node.js رو شروع کردم ولی به نقطه مطلوب نرسیده بودم که ولشون کردم اما واقعا الان که گذشته رو مرور میکنم میبینم این جابجا شدن بین تکنولوژی های مختلف خیلی بهم کمک کرد و از توی هر تکنولوژی یه سری چیزای جدید یاد میگرفتم

شروع جدی

تابستون سال 1397 برگشتم سمت جاوا اما این دفعه مفاهیم رو تا حدی میدونستم و یادگیری دیگه برام خیلی سخت نبود و آموزش وبسایت جاواکاپ رو تا انتهاش دیدم و کککککککللللی چیزای جدید که اسمشم به گوشم نخورده بود رو اونجا توی جاوا یادگرفتم مثلا مفاهیم شی گرایی، برنامه های موازی و ...

بعد اندروید رو شروع کردیم و از اینور اونور شروع به آموزش دیدن کردیم ولی باز اونو هم ولش کردیم، چرا؟ چون مهندس بخشایش گفتن بریم سمت React Native تا بتونیم هم خروجی اندروید بگیریم و هم خروجی ios، ماهم از همون روز شروع کردیم به یادگیری جاوااسکریپت به طوری که دوره جاوااسکریپت فرادرس که 9 ساعت بود رو توی 2 روز تموم کردیم✌

یکی دیگه از آدمای تاثیر گذار توی زندگی من، خانم شیخعلیشاهی بودن (با دوتا از بهترین دوستام رفتیم پیششون کار آموزی و مهندس بخشایش همکار ایشون هستن)، ایشون بودن که بهمون گیت یاد دادن و کلی باهامون تمرین کردن تا تفکر برنامه نویسیمون قوی تر بشه!

خلاصه گذشت و جاوااسکریپت رو تا حد خوبی آموزش دیدیم ولی کلا قید React Native رو زدیم(بخاطر چیزایی بدی که ازش شنیدیم)

شروع ورود من به یه میزان خوبی از لذت برنامه نویسی، تابستون امسال رقم خورد یعنی حدودا بعد از 4 سال!

البته یه سری چیزا هم بودن که یادم نیست از کجا اتفاق افتاد، ولی افتاد و خیلی بهم کمک کرد مثلا اینکه با انگلیسی افتضاحی که داشتم شروع کردم به خوندن مقالات انگلیسی و با کمک گوگل ترنسلیت جان تونستم بفهممشون تا جایی که دیگه کلا دوره های انگلیسی رو میبینم و متوجه میشم...

وضعیت فعلی

زبان های برنامه نویسي:
جاوااسکریپت (هم توی محیط مرورگر و هم توی محیط node.js)، پایتون و فلاتر رو بلدم (البته هنوزم آموزش میبینم براشون اما آموزش لایبرری هاشون و ریزه کاریا... )
با جاوا و کاتلین و دارت هم آشنام (تا یه چیزی رو خیلی تخصصی کار نکنم نمیگم بلدم)
دیتابیس:
MongoDB رو بلدم و با mysql و postgresql آشنام
کلاس دهم رشته کامپیوتر هستم، یه هنرستانی!

تشکرات

با تشکر از پسر عمم که مسبب شروع من بود و باعث پیشرفتم
با تشکر از خانم شیخعلیشاهی که خنگ بودنامون رو تحمل کردن و تمرینای چالش برانگیز بهمون می‌دادن
با تشکر از امیرحسین بیگی و احسان اکبرزاده که توی این مسیر همراهم بودن
با تشکر از گوگل ترنسلیت که کمکم کرد تا واژه های تخصصی برنامه نویسی رو یادبگیرم و بتونم انگلیسی بخونم و متوجه بشم
با تشکر از جاوا که اینهمه مفهوم جدیدی که تقریبا هر رورز باهاشون سر و کله میزنم بهم یادداد

ارتباط با من

اینستاگرامم | گیتهابم | توییترم | تلگرامم | لینکدینم



ممنون از اینکه خوندین، اگه سوالی بود که جواب دادنش در توانم باشه در خدمتم✌