من برنامه نویس خوبی نیستم٬ باید مهارتهام و تسلطم بالاتر ببرم.
نتیجه گیری بود که این یک سال پیش در همچین روزهایی بهش رسیدم، در این یه سال زندگی پرچالش و هیجانی داشتم. بریم ببینیم چکار کردم، آیا نتایج اوکین و از همه مهمتر، آیا راضیم؟
پارسال همین روزها بود که همزمان امتحانات ترم آخریم، مصاحبه کافهبازار و کوئرا بودن. همه چی داشت خوب پیش میرفت تا اینکه در فاصلهی یک هفته دوتا ایمیل با متن رد شدن گرفتم. غرور چیزیه که نبودش بده ولی زیادشم خوب نیست، خیلی ناراحت و شکسته شدم ?.
قبلش خوبه که پستهای زیر را مطالعه کنید که ببینید چی شد که ایطور شد :)
بریم ببینم چقد رو حرفهام موندم، چکار کردم و نتایج چی بودن
برنامهام این بود که مهارتهای جنرالم و پایتونم ارتقا بدم، دقت کنید که اون موقع ادعای پایتونیم میشد و درواقع فرانتم اونقدارم خوب نبود پس توی رودمپم نداشتمش.
همزمان سه تا کتاب Clean Code, Fluent Python و The Algorithms Design Manual شروع میکنم
جوگیری خیلی سمه منم آدم فوقالعاده جوگیریم :) احتمالا حدس بزنید چی شد، بله دقیقا از این سه تا فقط یکی رو مطالعه کردم، اونم Fluent Python بود.
چندین فصلش مطالعه کردم ولی پیشرفتی که با خوندن این چندین فصل خیلی زیاد بود و جهشی بود.
اتفاقی که اقتاد این بود که یک سری محدودیت هایی داشتم تو فانکشنال طور نوشتن تو پایتون که با خوندن فصل مربوطه رفع شد و همچنین خلاقیتم تو نوشتن کلاسها فوقالعاده زیاد شد.
کتابهای که به مرور مطالعه کردم شامل Python Tricks، How linux works، Refactoring UI و You Dont know js بودن که کامل نخوندم فقط درحدی که جوگیریم رفع بشن که بازم بدردبخور واقع شدن.
سهسال پیش مسابقات کدکاپ ۴، تقریبا اولین مسابقهای بود که شرکت کردم، اتفاقی که افتاد اینه که گند زدم و یه سوالم نتونستم حل کنم و طبیعی بود
بعد کلی گند زدن تو این مدت، این اولین مسابقهای بود که تمام جدی بودم
خیلی ذوق کرده بودم، خیلی بیشتر اون چیزی که فکر میکنید.
چون تونستم خود قبلیم با اختلاف رد کنم و بخاطر این بود که اعتماد به نفسم بالا رفت. (درسته رتبه خاصی نیست ولی برای من خاص بود)
چطور تونستم پیشرفت کنم؟ خب مدت طولانیه و یه جوری طبیعیه ولی بیشترین تاثیر میشه گفت از شرکتی که داخلش کار کرده بودم پروژه پایتون زده بودم دو سه تا و اینکه خودمم پاره وقت فریلنسر هم بودم.
اون موقع تسلطم زیاد نبود مثل الان.
اولین مسابقهی ریاکتی من بود، قبلا فقط پایتون جنگوها رو شرکت میکردم اما تصمیم گرفتم شانسم برای این مسابقه امتحان کنم، و ببینم کد تخفیف ۲۰۰ هزار تومنی اسنپفود میبرم یا نه :))))))))))
آیا بردم؟
جواب: نفر ۱۰م تخفیف گیرش اومد ولی من نه ??
اینجا خیلی به خودم افتخار کردم، به عنوان اولین مسابقه عملکرد خیلی خوبی بود.
چطور تونستم این پیشرفت رو داشته باشم؟ بنظرم دوتا دلیل داشت یکی اینکه همیشه قبل مسابقات میرم داخل سوالات کوئرا و سوالات قدیمی رو حل میکنم و خیلی تاثیر میزاره، هم آشنا شدن با سیستم داوری و همچنین آشنا شدن با مشکلات احتمالی.
میشه گفت بین پراسترسترین رویدادهای بود که بدجور منتظرش بودم، اینجا بود که واقعا میتونستم ببینم چقد مالم، آیا همون چیزی که هستم که فکر میکنم؟
توقعم از پایتون/جنگو بین ۶ الی ۱۰ بود، به این دلیل که تسلط واقعا زیادی نداشتم و خب اتفاقی که افتاد این بود:
فوقالعاده بود، بهتر چیزی که تصور داشتم، یکی از دلایل خوبی که تونستم این رتبه رو بگیرم این بود که شاغل بودم و شبانهروزی با پایتون و جنگو سروکار داشتم.
همچنین اون کتابی که گفته بودم، Fluent Python خیلی تاثیر گذار بود.
ولی هیچی مثل خوندن کد بقیه و کسب تجربه نیست واقعا، همچنین خوندن سورس کد جنگو، کاملا میفهمین داخلش چی میگذره.
مسابقهای که بدجور منتظرش بودم، خیالم راحت بود که راحت ۲تای اول میشم.
یادتونه گفتم که یه مدت اعتقادم این بود که تخصصم فقط پایتون بود؟ این روز مسابقه اعتقادم این بود که ته ریاکتم دیگه.
مسابقه شروع شد، اولین نفری بودم که سوال اولیو حل کرد، سوال دومی شروع شد بازم اولین نفر تموم کردم سومی همینطور بود تا اینکه جدول رو رفرش کردم دیدم سوال دوم و سوم که نمره گرفته بودم، صفر داده بود :))))
بدجور استرس داشتم، تختم میلرزید، پیام پشتیبانی دادم معلوم شد که مشکل داوری بود و باید دوباره ارسال میکردم که درست بشه و همین کارو کردم و درست شد، ولی استرسم بدجور رفته بود بالا.
خلاصه تا سوال چهارم حل کردم اول بودم، تا رسیدم سوال آخری
قاتل :))))
نتونستم حلش کنم و دلیلش چندماه بعد فهمیدم، به این دلیل بود که داخلش یک تیکه بود که نوشته don't touch this piece of code و منم و خیلیا دیگه گوش کردیم، و نتونستیم حلش کنیم، ولی اونی که اون تیکه رو تغییر داد، رتبههای خفنو آورد.
بله رتبهی ۷م، خیلی بد، من داغون، ناراحت، مشت میزدم به دیوار و تخت، ناراحتی شدید و شکست روحی :))))))
اینقد مسابقه واسم مهم بود، تصور کنید که کاملا مطمئنید که بین ۲تای اولین ولی ۷م بشین.
خیلی حس مزخرفیه اینقدر بود که همون لحظه پیام به مدیر فنیم دادم که حرف بزنیم اینکه چرا گند زدم و چرا عملکردم خوب نبود :)))))))))))))))))
و این بود پایان مسابقات برای من، درنهایت ۸م شدم بین ۵هزار شرکتکننده، به نظر خیلیا خیلی خوبه ولی برای من، عملکرد بدی بود بنظرم و راضی نبودم.
برای این مسابقه دیگه استرس زیادی نداشتم، زیاد برام مهم نبود، چون دیگه به سطحی که میخواستم رسیدم، اون سطحی که دیگه نیازی نیست به کار بگردی، خود کار بیاد طرفت.
ولی بهرحال نیاز به پول داشتم :))))))
این بود داستان من و مسابقات کوئرا، دیگه بعد این اجازهی شرکت در مسابقات نداشتم و بطور غیرمستقیم درگیر طراحی و کمک به طراحان مسابقات شدم.
هیچچیزی مثل مسابقه برای پیشنهاد کاری گرفتن نمیشه، بنظرم آسونترین راهه. برای من اینطور بود که تو این یه سال و تاثیر گذاری که داشتم هم تو رزومه هم بخاطر مسابقات، از ۱۱ ۱۲ تا شرکت پیشنهاد خیلی خوبی داشتم ولی خب بخاطر علاقم به شرکت کوئرا، بیخیال شدم.
همچنین پیشنهادات پارهوقت دیگهای، پروژههای ریز خارجی که گیرم اومد، اینکه بین یه سری آدم معروف شدم هم بهترین حس دنیاست :))
پیشرفتم در کارم خیلی زیاد بود، هرچند هنوزم خیلی ضعف دارم، هروقت به اون سطحی رسیدم که بدون نوشتن باگهای تابلو، کدم از مرحله ریویو رد بشه، اونوقت راضی میشم.
و اینکه پیشرفت فنی که داشتم یکی این بود که مغزم داره تبدیل به مفسر میشه، دیگه مثل قبل کدهام هی تست نمیکنم بعد هر خط کد نوشتن و دقیقا میتونم همزمان تحلیل کنم :))) و این خیلییییییی حس خوبیه، امیدوارم شمام این حسو تجربه کنین اگه نکردین.
اخیرا تونستم اولین تجربهام بعنوان مصاحبهکننده کسب کنم و بطور جالبی تونستیم فیدبک خیلی مثبتی بگیریم و خیلی راضیم.
و...
دیگه نمیتونم تو مسابقات شرکت کنم پس مجبورم یک سری اهداف دیگهای بچینم
دوست دارم که تیم لید بشم تا با هم بتونیم پیشرفت خیلی لذتبخشی داشته باشیم
دوست دارم که ته جنگو، ته پایتون و ته جاوااسکریپت برم، ببینم چه خبریه
دوست دارم Open Source Contributor بشم
و مهمتره همشون، دوست دارم که شناخته بشم!
بنظرم خوبه که اینکارا بکنید:
تو لینکدین فعالیتتون بیشتر کنین، ارتباط با بقیه بگیرین و شایدم باشون دوست بشین.
تجربهکردن همیشه کافی نیست، خوبه که درکنارش کتاب تخصصی هم مطالعه کنید.
خوندن کدهای کثیف و تبدیل آنها به کد تمیز، همچنین کلا کد خوانی خیلی خوبه، اگر الان تنها هستید و تیمی ندارید، میتونین کدهای پروژه های اوپن سورس و درخواستهای مرج(Pull Requests) بخونین.
خوبه که سعی کنید راجب چیزایی که بلدید بنویسید، نیازی نیست حساس بشید، نوشتن خیلی خوبه، همچنین یاد دادن.
وقتی کلکل راجب برنامهنویسی میکنید، خوبه که طرفو بفهمید، خیلی وقتا شده من بحث کنم راجب حالا یک معماری یا ابزار یا ... ولی تهش حق با من نباشه. (غرور آدمو کور میکنه)
این بود داستان من تو یک سال اخیر، امیدوارم سرتون درد نیاورده باشم ?♀️?♀️
اگر نظری ایدهای پیشنهادی فوشی داشتین حتما بگین، البته فوشه تو تلگرام یا جای خصوصی بگین ?♀️
ممنونم که تا اینجا خوندید، شب و روزگارتان خوش :)
Abdollah Keshtkar | Akeshtkar.com
Software Engineer @ Quera.ir
https://www.linkedin.com/in/abdollah-keshtkar/
Contact me at Akeshtkar78@gmail.com