
حتما داستان معروف قیر بود قیف نبود رو شنیدید، حالا همین بلا سر من و کسانی که تازه برنامهنویسی رو شروع میکنند میاد.
اول یاد گرفتم برنامه با سی پلاس پلاس بنویسم بعد دیدم مشکلات دارم توش رفتن سراغ پایتون توی اون هم مشکلاتی بود که برگشتم سی پلاس پلاس و با فریمورک کیوت کار کردم بعد که نسبتا مسلط شدم و بالاخره تونستم برنامه با رابط کاربری بسازم یه زمزمههایی از سختی کار با سی پلاس پلاس شنیدم که قبلا به گوشم نخورده بود و معمولا حرفهایترهای این حوزه بهش اشاره میکردند یه چیزایی در مورد ساختار کد و کد تمیز و کثیف و ... که اون زمان چون درکی ازشون نداشتم برام مهم نبود ولی بالاخره تصمیم گرفتم دلمو به دریا بزنم برم دنبال گرفتن پروژه خب اگر توی این زمینه تلاش کرده باشید همیشه اولین اتفاقی که باهاش مواجه میشید موج عظیم پروژههای دانشجویی اون در پایان ترمها هست یادتون باشه باید همیشه از این طور پروژهها دوری کنید من این استدلال رو دارم که
- این پروژه اون دانشجو هست که باید انجام بده نه من، یعنی از نظر اخلاقی کار درستی نیست
- پول این پروژهها ناچیز هست و دردسر این پروژهها بیشتر هست تا درآمدشون
- معمولا اگر پروژه بگیرید فقط انجام دادن پروژه نیست باید بعدش خط به خط به طرف توضیح بدی آخرشم استاد یه جا مچش رو میگیره و بهش نمره نمیده
پس این روش جواب نداد و من رفتم سراغ روش دوم گرفتن پروژه از سایتهای فریلنسری که اون موقع فقط پونیشا مد بود پس رفتم سراغش و شروع کردم به گشتن ولی هرچی پروژه بود یه طوری بودند که به چندین مشکل از مشکلاتی که توی گرفتن پروژه از پونیشا خوردم اشاره میکنم
- پروژه خیلی بزرگ بود و توی زمان کمی نیازش داشتند
- پروژه وب بودند و من وب کار نکرده بودم
- پروژه اندروید بودند و من نمیتونستم برای اندروید خروجی بگیرم
- پروژه دسکتاپ بودند ولی یه ابزار یا تکنولوژی نیاز داشتند که من تابحال کار نکرده بودم و زمان هم برای یادگیریش توی بازه زمانی پروژه نبود
- رزومه نداشتم
- دیگر کارجوها قیمتها رو خراب کرده بودند مثلا طرف درخواست پروژه شبیه به تلگرام داده بود و کارجو پیشنهاد داده بود 30 هزار تومن در دو روز
پس تصمیم گرفتم پروژه نگیرم و توانایی سی پلاس پلاسم رو تقویت کنم وهم زمان یه سری مسائل مورد نیاز توی همه پروژهها رو یاد بگیرم مثل استفاده از نتورک توی برنامه چون هر پروژهای وجود داشت یه دمش به نتورک وصل میشد.
کلی دردسر کشیدم و سوکت TCP و UDP رو با زبان C نصفه نیمه یاد گرفتم بعد دیدم خود کیوت یه سری کلاس برای کار با سوکت داره و از اون استفاده کردم ولی دیدم بیشتر نیاز بازار پروتکلهای وب مثل HTTP هست و اون رو هم یاد گرفتم ولی دیدم پروژهها نیاز دارند علاوه بر کلاینت، سرور رو هم کسی که پروژه رو قبول میکنه بنویسه پس رفتم دنبال یادگیری سرور نویسی با سی پلاس پلاس نتایج جالبی هم بود دم دستی ترینشون اون زمان یه سرور HTTP بو که با Boost پیاده کرده بودند و من از همون استفاده کردم.
بعد که به نتورک مسلط شدم دیدم همه پروژهها اندوید هستند پس رفتم دنبال اندروید و فهمیدم با کیوت هم میشه خروجی اندروید گرفت ولی یه مستند درست پیدا نکردم از روی خود مستندات کیوت رفتم ولی هربار یه جایی مشکل میخورد پس بیخیال اندروید شدم و چسبیدم به همون دسکتاپ و میدونستم دسکتاپ هنوز کاربرد داره ولی کاربردهای خاص، پس نقشه کشیدم برای کارهای خاص و بیخیال پروژه گرفتن شدم.
یک مقدار در مورد اصول کد نویسی و SOLID و دیزاین پترنها خوندم و تمرکز کردم روی دانش پایه سی پلاس پلاسم در این بین با دوستی به نام حمیدرضا آشنا شدم که توی تهران شرکت بازیسازی داشت و اصرار داشت من هم سیشارپ یاد بگیرم و برم پیشش برای کار ولی دلم با این کار نبود و قرار شد یکی از دوستان رو بهش معرفی کنم و کی بهتر از رضا که هم رفیقم بود هم کارش توی برنامهنویسی خوب بود. رضا رو بهش معرفی کردم و با هم شروع کردند به کار کردن و وقتی رضا به اولین درآمدش رسید تازه دردسر من شروع شد.
قسمت بعد «فشار حداکثری»