اینکه ۹۰٪ دولوپرهای
توی
اینکه بیش از
Django
توی ایران توی
Django
با استانداردهای Java
کد میزنند خستم کرده.اینکه بیش از
50%
هم ادعای Mid, Senior
دارند عصبیم.This media is not supported in your browser
VIEW IN TELEGRAM
عمرا بذارم این یادتون بره ...
حالا این هیچی، اون اسکلا که نشستن این براشون حرف بزنه 🤣
حالا این هیچی، اون اسکلا که نشستن این براشون حرف بزنه 🤣
Python Hints
عمرا بذارم این یادتون بره ... حالا این هیچی، اون اسکلا که نشستن این براشون حرف بزنه 🤣
۹ تا ازون اسکلا رو اینجا هم داریم 🤣😂🤣
تعداد اسکلا داره میره بالا ۴۴ تا شد 🤣😂🤣
تعداد اسکلا داره میره بالا ۴۴ تا شد 🤣😂🤣
Forwarded from RandRng
حدود ۲ سال پیش این موقع یک پروژه بکند رو کار کردیم که همون زمان ۲ قسمت داشت (من مدیر تیم توسعه دهنده این پروژه بودم).
بخشی از پروژه که با
توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم اینها بود :
۱- تمامی تستها؛ با پکیج
۲- همهی
اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.
امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.
چرا ؟
چون پروژه از
تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به
نیازی به تغییر تستها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).
و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.
توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار میبینید توی
بخشی از پروژه که با
Fastapi
زده شده بود و بخش دیگری که قرار بود با Django
شروع بشه. توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم اینها بود :
۱- تمامی تستها؛ با پکیج
requests
باشه.۲- همهی
endpoint
های مربوط به create
, update
بجای بررسی مستقیم با دیتابیس از طریق درخواست دیتا با Get detail
بررسی بشه که درست توی دیتابیس هست یا نه.اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.
امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.
چرا ؟
چون پروژه از
FastApi, Django
رفته بود روی Golang
و بجای Postgres
ایی که سمت خودشون باشه از Self-Hosted database
های شرکت کارفرما استفاده شده بود.تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به
Golang
و فشار شرکت کارفرما مبنی بر سرعت بخشیدن به قضیه.نیازی به تغییر تستها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).
و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.
توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار میبینید توی
Integration Test
ها تا جایی که میشه تستهارو از ابزارها و فریمورک جدا کنید.
Python Hints
تصویری از #من_سیاسی_نیستم گویان در طبیعت. - دلار: ۸۴۰۰۰ تومان + من سیاسی نیستم - طلا: گرم ۵.۶۰۰.۰۰۰ تومان + من سیاسی نیستم - زلزله سرپل ذهاب و عدم کمک دولت + من سیاسی نیستم. - پرداخت چکهای ۱۴۰۰۰ دلاری خسارت به طرفداران حزبالله. + من سیاسی نیستم. خب اگر…
هر 1 دلار
هر 1 گرم طلای ۱۸ عیار
مهمتر از همه؛ این افزایش قیمتهایی که الان روی تجهیزات و مواد غذایی و ... هست رو دقت کنید بهش؛ اینا برای دلار
90000
تومانهر 1 گرم طلای ۱۸ عیار
6525000
تومانمهمتر از همه؛ این افزایش قیمتهایی که الان روی تجهیزات و مواد غذایی و ... هست رو دقت کنید بهش؛ اینا برای دلار
65000
تومان بوده و نه دلار 90000
تومانیThis media is not supported in your browser
VIEW IN TELEGRAM
ویدئو توییت همکاری استارلینک و تیموبایل برای دسترسی به اینترنت ماهوارهای (که البته رایگان هم هست طبق ویدیو)
ایلان ماسک این ویدئو رو گذاشت.
ایلان ماسک این ویدئو رو گذاشت.
Forwarded from RandRng
با صحبت امروز پزشکیان
من روی دلار ۱۱۰,۰۰۰ تومان دارم میبندم.
آخر سال تمام قراردادهای همکاری داخلیم تموم میشه و دستمزد جدید رو بر این اساس میگیرم، البته که دارم فرض میکنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه.
اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان میبندم.
به ۲ دلیل این رو میگم:
۱- بچههای سنیور گفتند چطوری دستمزد بدیم برای سال بعد.
۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.
دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.
من روی دلار ۱۱۰,۰۰۰ تومان دارم میبندم.
آخر سال تمام قراردادهای همکاری داخلیم تموم میشه و دستمزد جدید رو بر این اساس میگیرم، البته که دارم فرض میکنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه.
اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان میبندم.
به ۲ دلیل این رو میگم:
۱- بچههای سنیور گفتند چطوری دستمزد بدیم برای سال بعد.
۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.
دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.
logging
نوشتن برای ی سیستم ماژولار و بزرگ؛ بعد ی اتفاقی افتاده توی سیستم مجبور شدن لاگهارو چک کنند ولی هیچی به دست نیاوردن.
کاربرا ادعای خسارت کردن و اینها هم مطمئن هستن حداقل ۳۰٪ کاربرا دروغ میگن (منم همین رو دیدم توی دیتاها) اما کدوم کاربرا مشخص نیست.
گفتیم شاید داریم لاگ اشتباهی رو میبینیم؛ ممکنه چند بخشی باشه یا ...
ولی وقتی رفتیم پای کدها؛ دیدیم دولوپر نوشته:
BUG: TODO:
I am forced to move to another micro-service, and this will not work on scale.
و حالا به اون مرحله رسیدند؛ ادعاهای خسارت قابل بررسی نیست و مدیرعامل شرکت به غلط کردن افتاده.
طبق گفته خودشون؛ سود چندین سال شرکت پرید - کارد میزدی خون مدیرعامل در نمیومد چون خودش نیروها رو فورس کرده بود.
شرکت دیگری که مقصر این وضعیت هم بوده گفته بدون لاگ هیچ خسارتی پرداخت نمیکنیم حتی ۱ نفر و اون ۷۰٪ باقیمانده رو که فکر میکردن ازین شرکت بگیرند رو هم باید از جیب بدند.
اینجا دیگه موضوع برنامهنویس بد نبود؛ موضوع فشار آوردن بیش از اندازه به تیم برنامهنویسی بود.
یک توضیح بدم چون خیلی صحبت میشه :
درخواست دوره آموزش مخصوصاً برای
۱- آموزش خصوصی بصرفه نیست نه برای من نه برای کسی دیگه، برای من دستمزدش کم هست اگر هم پرداخت خوب باشه برای اشخاص بصرفه نیست.
۲- گروهی اوضاع بهتر هست، ولی معمولاً مشکل هماهنگی بین افراد و زمان و مکان پیش میاد.
۳- بهترین گزینه، آموزش آنلاین هست، ولی مشکل اساسی خودم میشم؛ هم مکانی هم تجهیزات و هم ادیتور و ...
آخرین باری که با ادیتور کار کردم (دورکاری) کل ویدئوها رو برداشت و پیچید به بازی (یادتون باشه دوره
۴- آنلاین و مثل جلسات کتابخونی هم نمیشه گذاشت، چون اگر به من باشه میخوام تمام ابزارهای مهم و لازمه رو بگم که متفاوت باشه از چیزایی که الان موجود هستند.
و این یعنی دیزاین درست، کد تمیز و رعایت استانداردها مثل پروژههای پروداکشن خودم و این موضوع هم وقت گیر هست و هم باید یک مدت ساعت کاری و درآمد رو کنار بذارم.
و کلی موارد مهم دیگه ...
برای همین درحال حاضر راهکاری برای برگذاری دوره ندارم واقعاً.
البته یکی از دوستان پیشنهاد داد، دوره رو گروهی آنلاین برگذار کنیم ولی اول کدها و ... زده بشه پروژه آماده باشه و کسایی که ثبتنام کردند بهشون توی هر جلسه آموزش داده بشه و دقیقتر بررسی بشه.
این پیشنهاد مورد خوبی هست، میشه مثل کانالهای یوتیوب که گزینه Join دارند هم عمل کرد، اونهایی که هزینه رو پرداخت میکنند ۶ ماه یا ۱ ورژن زودتر دسترسی داشته باشند و اونهایی که امکان خرید ندارند هم نهایتاً بعد از چندماه دسترسی رایگان میگیرند 🤔
ولی وضعیت اینطوری بود، چون توی خصوصی زیاد داشتم توضیح میدادم که امکانش نیست برای همین گفتم یکبار اینجا بگم.
البته راهکار مناسب و معقول هم اگر کسی داشت گوش میدم حتماً
درخواست دوره آموزش مخصوصاً برای
Django
زیاد هست، چه جاهایی که code review
انجام دادم چه خصوصی یا گروهی، گفتم چندتا نکته رو بگم :۱- آموزش خصوصی بصرفه نیست نه برای من نه برای کسی دیگه، برای من دستمزدش کم هست اگر هم پرداخت خوب باشه برای اشخاص بصرفه نیست.
۲- گروهی اوضاع بهتر هست، ولی معمولاً مشکل هماهنگی بین افراد و زمان و مکان پیش میاد.
۳- بهترین گزینه، آموزش آنلاین هست، ولی مشکل اساسی خودم میشم؛ هم مکانی هم تجهیزات و هم ادیتور و ...
آخرین باری که با ادیتور کار کردم (دورکاری) کل ویدئوها رو برداشت و پیچید به بازی (یادتون باشه دوره
Data structure, Algorithm
بود)۴- آنلاین و مثل جلسات کتابخونی هم نمیشه گذاشت، چون اگر به من باشه میخوام تمام ابزارهای مهم و لازمه رو بگم که متفاوت باشه از چیزایی که الان موجود هستند.
و این یعنی دیزاین درست، کد تمیز و رعایت استانداردها مثل پروژههای پروداکشن خودم و این موضوع هم وقت گیر هست و هم باید یک مدت ساعت کاری و درآمد رو کنار بذارم.
و کلی موارد مهم دیگه ...
برای همین درحال حاضر راهکاری برای برگذاری دوره ندارم واقعاً.
البته یکی از دوستان پیشنهاد داد، دوره رو گروهی آنلاین برگذار کنیم ولی اول کدها و ... زده بشه پروژه آماده باشه و کسایی که ثبتنام کردند بهشون توی هر جلسه آموزش داده بشه و دقیقتر بررسی بشه.
این پیشنهاد مورد خوبی هست، میشه مثل کانالهای یوتیوب که گزینه Join دارند هم عمل کرد، اونهایی که هزینه رو پرداخت میکنند ۶ ماه یا ۱ ورژن زودتر دسترسی داشته باشند و اونهایی که امکان خرید ندارند هم نهایتاً بعد از چندماه دسترسی رایگان میگیرند 🤔
ولی وضعیت اینطوری بود، چون توی خصوصی زیاد داشتم توضیح میدادم که امکانش نیست برای همین گفتم یکبار اینجا بگم.
البته راهکار مناسب و معقول هم اگر کسی داشت گوش میدم حتماً
این از بحث گروه هست :
خلاصه سوال این بود که؛ چطور ورژن پایتون رو انتخاب کنیم (ی صحبت هم این بود که ۴ تا ورژن قبل از آخرین نسخه برای اینکه پایدارتر هست) :
۱- اولین مورد
حتی در حال حاضر
اگر زمان توسعه یک پروژه رو ۶ ماه درنظر بگیریم حتی
۲- توی مورد قبلی هم گفتم حواستون به
۳- مهمترین نکته؛ پکیجهایی هستند که استفاده میکنید؛ هرکدوم یک
ولی بعضی پکیجها هستند که دارند برای مثال اگر اینطور باشه یعنی پایتون
یا خود
۴- به تیم هم بستگی داره؛ اینکه بتونه از تغییراتی که توی ورژنهای جدیدتر اومده استفاده کنه و باهاشون آشنا باشه.
این موارد حداقل چیزهایی هست که قبل از انتخاب ورژن پایتون پروژه باید درنظر بگیرید.
خلاصه سوال این بود که؛ چطور ورژن پایتون رو انتخاب کنیم (ی صحبت هم این بود که ۴ تا ورژن قبل از آخرین نسخه برای اینکه پایدارتر هست) :
۱- اولین مورد
End of Life
هست؛ ۴ نسخه قبل از آخرین Stable Release
اطلا و ابدا منطقی نیست و کاملا هم اشتباه هست:Branch Schedule End of life
3.13 PEP 719 2029-10
3.12 PEP 693 2028-10
3.11 PEP 664 2027-10
3.10 PEP 619 2026-10
حتی در حال حاضر
3.9
حدود ۸ ماه دیگه و 3.8
حدود ۴ ماه دیگه پشتیبانی ازشون تموم میشه یعنی اگر باگ - مورد امنیتی یا چیزی بخوره خودتونید و خودتون.اگر زمان توسعه یک پروژه رو ۶ ماه درنظر بگیریم حتی
3.10
هم دیگه ریسک هست (درحال حاضر پروژههام از ۳ ماه قبل روی 3.12 استارت خوردن)۲- توی مورد قبلی هم گفتم حواستون به
Stable Release
باشه؛ اگر یک نسخهای روی بخش Stable
منتشر شده باید آماده باشید بهش مهاجرت کنید؛ البته چون پشتیبانی توی پایتون ۴-۵ ساله هست؛ میتونید کمی صبر کنید ۱ سال و بعد مهاجرت کنید روی نسخه جدید (اینم بخاطر پکیجها میگم)۳- مهمترین نکته؛ پکیجهایی هستند که استفاده میکنید؛ هرکدوم یک
compatibility list
دارند مثلا برای Django 4.2.19
محدودیت روی ورژن بالاتر نذاشته :Requires: Python >=3.8
ولی بعضی پکیجها هستند که دارند برای مثال اگر اینطور باشه یعنی پایتون
3.13
پشتیبانی نمیشه هنوز.Requires: Python 3.8, 3.9, 3.10, 3.11, 3.12
یا خود
Django 5.1.6
:Requires: Python >=3.10
۴- به تیم هم بستگی داره؛ اینکه بتونه از تغییراتی که توی ورژنهای جدیدتر اومده استفاده کنه و باهاشون آشنا باشه.
این موارد حداقل چیزهایی هست که قبل از انتخاب ورژن پایتون پروژه باید درنظر بگیرید.
از بحث گروه :
سورس کد رو چطوری بخونیم ؟
سورس کد خوندن باید از نقطه شروع باشه؛ پروژهای که میخواید سورس کدش رو بخونید باید مطمئن بشید استانداردها رو رعایت کرده حداقل توی شروع پیشنهاد میکنم به تعداد fork, star, ... پروژه نگاه کنید و قبل از خوندنش هم بهتره کمی با استانداردها آشنا باشید.
همیشه سورس کد خوندن رو از پروژهای استفاده کنید که توی زمینه کاری خودتون یا توی مباحث مورد علاقه خودتون هست.
مثلا برای
برای خوندن هم دو حالت داره :
۱- دنبال یک مدل استانداردسازی برای یک چیز خاص هستید و فقط همون بحث رو میخونید.
مثلا من اگر بخوام ببینم چطوری
۲- هدف خاصی ندارم جز یادگیری استانداردها؛ در اینصورت یک نقطه شروع رو برای خودم پیدا میکنم و از اون بعنوان سر نخ استفاده میکنم.
شخصا
توی هر دو مورد مهم اینه که قبل از خوندن سورس کد با پکیجهای اصلی آشنا باشید و بلدشون باشید؛ پکیج جدید هم که میبینید که بلدش نیستید؛ اول یک ویدئو گوتاه و سریع از آموزشش ببینید و بعد توی سورس کد به خوندن ادامه بدید.
سورس کد رو چطوری بخونیم ؟
سورس کد خوندن باید از نقطه شروع باشه؛ پروژهای که میخواید سورس کدش رو بخونید باید مطمئن بشید استانداردها رو رعایت کرده حداقل توی شروع پیشنهاد میکنم به تعداد fork, star, ... پروژه نگاه کنید و قبل از خوندنش هم بهتره کمی با استانداردها آشنا باشید.
همیشه سورس کد خوندن رو از پروژهای استفاده کنید که توی زمینه کاری خودتون یا توی مباحث مورد علاقه خودتون هست.
مثلا برای
Django
چندتا مورد داریم؛ Baserow جزو مواردی هست که خوب نوشته شده و یک بیزینس فعال هم هست که open source
هم کردند.برای خوندن هم دو حالت داره :
۱- دنبال یک مدل استانداردسازی برای یک چیز خاص هستید و فقط همون بحث رو میخونید.
مثلا من اگر بخوام ببینم چطوری
swagger
این پروژه نوشته شده اول وارد requirements
اش میشم و میگردم ببینم از کدوم پکیج استفاده کرده بعد میرم روی Endpoint
ها یا .... ببینم این موارد رو با چه استانداردی نوشته و کجاها گذاشته.۲- هدف خاصی ندارم جز یادگیری استانداردها؛ در اینصورت یک نقطه شروع رو برای خودم پیدا میکنم و از اون بعنوان سر نخ استفاده میکنم.
شخصا
Integration test
ها اولین چیزی هست که میرم سراغش؛ اگر نبود logic
هر بخش رو از داکیومنت میخونم و بخش بخش میرم توی سورس کدها و ...توی هر دو مورد مهم اینه که قبل از خوندن سورس کد با پکیجهای اصلی آشنا باشید و بلدشون باشید؛ پکیج جدید هم که میبینید که بلدش نیستید؛ اول یک ویدئو گوتاه و سریع از آموزشش ببینید و بعد توی سورس کد به خوندن ادامه بدید.
GitHub
baserow/backend/src/baserow at master · bram2w/baserow
The official repository is hosted on https://gitlab.com/bramw/baserow. Baserow is an open source no-code database tool and Airtable alternative. - bram2w/baserow
وقتی ChatGPT 3.5 معرفی شد گفتم که نیروهای جونیور بسیار کار سختی برای یافتن شغل خواهند داشت.
الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه.
اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم معرفی استکهای جدید تکنولوژیهای بهتر و تکنیکهای بهبود یافته بود.
متأسفانه این موضوع توی ایران دیگه صادق نیست؛ ندیدم (از کسی هم نشنیدم) جونیوری که
با این وضعیت قطعاً موقعیتهای شغلی
الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه.
اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم معرفی استکهای جدید تکنولوژیهای بهتر و تکنیکهای بهبود یافته بود.
متأسفانه این موضوع توی ایران دیگه صادق نیست؛ ندیدم (از کسی هم نشنیدم) جونیوری که
experiment
های شخصی با ابزارهای مختلف که شاید مرسوم هم نباشند انجام داده باشه (علاوه بر استک اصلی) همگی همون استک اصلی رو یاد میگیرند و به محض استخدام دیگه حتی برای پیشرفت خودشون هم زحمت نمیکشند.با این وضعیت قطعاً موقعیتهای شغلی
Junior
ها حذف خواهد شد؛ حتی در ایران.
Python Hints
وقتی ChatGPT 3.5 معرفی شد گفتم که نیروهای جونیور بسیار کار سختی برای یافتن شغل خواهند داشت. الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه. اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم…
این موضوع واقعاً گرد ناامیدی نیست، یک نیمنگاه به آمار اخراجها یا لیست مشاغلی که دیگه نیروی جونیور نمیگیرند بندازید (البته بعضیها زدن جونیور ولی دقت کنید لیست مهارتها رو ببینید.)
مثال بکند میزنم:
قبلاً جونیور رو میاوردند که سنیور وقت آزادتری داشته باشه برای طراحی سیستم و بررسی بخشهای مختلف و چیزای مهمتر؛ یعنی شرکتی نبود که به سنیور بگه یک لاگین بزن، یک صفحه بزنم اسم کاربر رو برگردونه و ...
اینها تسکهای جونیور بود و سنیور نهایتاً review میکرد؛ الان تمام اینکارهارو یک الگوریتم هوش مصنوعی میکنه، سنیور در لحظه مسئله رو میشکنه و از AI میپرسه کد رو تحویل میگیره و کپی و تمام ...
همین مسیر رو ادامه میده و در نهایت حالات مختلف تست نویسی که به ذهنش میرسه رو هم دونه دونه از AI میخواد بنویسه بازم دابل چک میشه و تمام.
بعد هم وقتش رو میذاره روی تسکهای اصلی؛ طراحی سیستم، طراحی دیتابیس و ... زیر بار بردن پروژه
تستهای مختلف خارج شدن بخشهای مختلف سیستم از دسترس و ...
حالا شما بیا به من بگو من جونیور هستم، جنگو و جنگو رست و پستگرس رو بلدم.
اولین سوالاتی که توی ذهن من میاد:
سلری چطور ؟ کار با redis چی ؟ تست نویسی چطور ؟ پروفایلینگ چی میشه پس ؟ لاگ نویسی خوب چی ؟ (دوتا پست قبلتر یک مشکل رو مثال زدم و قدیما یک آموزش گذاشتم) و ...
اگر شما نتونی اینکارها رو انجام بدی و نشناسی؛ خب تمام مدلهای AI از شما بهتر کد میزنند و وقت کمتری هم میگیره اگر قرار باشه من هی برم سراغش و بهش بگم چیکار کنه و چطوری بزن و ...
دو گروه اینجا بهشون بر میخوره (توی آمارهای مختلف هم همین رو نشون داده؛ به دیتاهای آمریکای شمالی نگاه کنید) :
۱- پکیج فروشها: دیگه پکیجی که فقط جنگو یاد بده بدون پروژهای که استاندارد باشه بیارزش میشه و کاسبی خراب (این نیروها استخدام نمیشوند و کمتر کسی سراغ این آموزشها میره)
۲- افرادی که شغل برنامهنویسی رو برای راحتی استفاده کردند؛ جدی میگم بسیار شنیدم که میگن بابا کار شما که چیزی نیست ۸ ساعت پشت کامپیوتر میشینی بعدم میری خونه ۱۲ ساعت عشق و حال و پارتی و ....
والا ما یک مهمونی هم میخوایم بریم باید ۷ روز قبل خبر داشته باشیم که بتونیم اون ۴-۵ ساعت مهمونی رو توی ۷ روز جبران کنیم تسک عقب افتاده نداشته باشیم.
چرا اینارو مجدداً اینجا میگم:
من از آموزش دادن به کسی سودی نمیبرم، هرکسی هم با من کار کرده میدونه تمام دانشم تمام وقت در دسترس تمام نیروهای زیردستم هست، هیچ ترسی ازینکه کسی جام رو بگیره ندارم و ازین موضوع و رشد کردن نیروهام بسیار لذت میبرم.
برای همین بجای اینکه بگم آقای X خانم Y بیاید برنامهنویسی یاد بگیرید ماهی ۲۰۰ میلیون درآمد دارید (دیدی اینو میگه بعد پکیج آموزشی ۳۰۰ هزارتومنی میذاره) میگم این مسیر سختیهاش زیاد شده، دیگه فقط با سینتکس یاد گرفتن نمیتونید شغل پیدا کنید، کسی که الان شروع میکنه از صفر حداقل ۲ سال وقت میذاره. اگر قرار نیست جدی بگیرید برنامهنویسی رو پیشنهاد میکنم برید دنبال کار مورد علاقتون.
مکانیک - برق کار - آشپز - باریستا و ... همگی مشاغل کاملاً قابل احترام هست و توی ۲ سال وقتی علاقه هم باشه قطعاً موفق تر خواهید بود.
در نهایت، این متن باید به شمایی که برنامهنویسی رو انتخاب کردید انگیزه بده که برنامهنویسی رو جدی بگیرید و از وقت اینستاگرام و پارتی و ... بزنید و روی تخصص تمرکز کنید.
اگر نه که رشته یا تخصص رو اشتباه انتخاب کردید.
مثال بکند میزنم:
قبلاً جونیور رو میاوردند که سنیور وقت آزادتری داشته باشه برای طراحی سیستم و بررسی بخشهای مختلف و چیزای مهمتر؛ یعنی شرکتی نبود که به سنیور بگه یک لاگین بزن، یک صفحه بزنم اسم کاربر رو برگردونه و ...
اینها تسکهای جونیور بود و سنیور نهایتاً review میکرد؛ الان تمام اینکارهارو یک الگوریتم هوش مصنوعی میکنه، سنیور در لحظه مسئله رو میشکنه و از AI میپرسه کد رو تحویل میگیره و کپی و تمام ...
همین مسیر رو ادامه میده و در نهایت حالات مختلف تست نویسی که به ذهنش میرسه رو هم دونه دونه از AI میخواد بنویسه بازم دابل چک میشه و تمام.
بعد هم وقتش رو میذاره روی تسکهای اصلی؛ طراحی سیستم، طراحی دیتابیس و ... زیر بار بردن پروژه
تستهای مختلف خارج شدن بخشهای مختلف سیستم از دسترس و ...
حالا شما بیا به من بگو من جونیور هستم، جنگو و جنگو رست و پستگرس رو بلدم.
اولین سوالاتی که توی ذهن من میاد:
سلری چطور ؟ کار با redis چی ؟ تست نویسی چطور ؟ پروفایلینگ چی میشه پس ؟ لاگ نویسی خوب چی ؟ (دوتا پست قبلتر یک مشکل رو مثال زدم و قدیما یک آموزش گذاشتم) و ...
اگر شما نتونی اینکارها رو انجام بدی و نشناسی؛ خب تمام مدلهای AI از شما بهتر کد میزنند و وقت کمتری هم میگیره اگر قرار باشه من هی برم سراغش و بهش بگم چیکار کنه و چطوری بزن و ...
دو گروه اینجا بهشون بر میخوره (توی آمارهای مختلف هم همین رو نشون داده؛ به دیتاهای آمریکای شمالی نگاه کنید) :
۱- پکیج فروشها: دیگه پکیجی که فقط جنگو یاد بده بدون پروژهای که استاندارد باشه بیارزش میشه و کاسبی خراب (این نیروها استخدام نمیشوند و کمتر کسی سراغ این آموزشها میره)
۲- افرادی که شغل برنامهنویسی رو برای راحتی استفاده کردند؛ جدی میگم بسیار شنیدم که میگن بابا کار شما که چیزی نیست ۸ ساعت پشت کامپیوتر میشینی بعدم میری خونه ۱۲ ساعت عشق و حال و پارتی و ....
والا ما یک مهمونی هم میخوایم بریم باید ۷ روز قبل خبر داشته باشیم که بتونیم اون ۴-۵ ساعت مهمونی رو توی ۷ روز جبران کنیم تسک عقب افتاده نداشته باشیم.
چرا اینارو مجدداً اینجا میگم:
من از آموزش دادن به کسی سودی نمیبرم، هرکسی هم با من کار کرده میدونه تمام دانشم تمام وقت در دسترس تمام نیروهای زیردستم هست، هیچ ترسی ازینکه کسی جام رو بگیره ندارم و ازین موضوع و رشد کردن نیروهام بسیار لذت میبرم.
برای همین بجای اینکه بگم آقای X خانم Y بیاید برنامهنویسی یاد بگیرید ماهی ۲۰۰ میلیون درآمد دارید (دیدی اینو میگه بعد پکیج آموزشی ۳۰۰ هزارتومنی میذاره) میگم این مسیر سختیهاش زیاد شده، دیگه فقط با سینتکس یاد گرفتن نمیتونید شغل پیدا کنید، کسی که الان شروع میکنه از صفر حداقل ۲ سال وقت میذاره. اگر قرار نیست جدی بگیرید برنامهنویسی رو پیشنهاد میکنم برید دنبال کار مورد علاقتون.
مکانیک - برق کار - آشپز - باریستا و ... همگی مشاغل کاملاً قابل احترام هست و توی ۲ سال وقتی علاقه هم باشه قطعاً موفق تر خواهید بود.
در نهایت، این متن باید به شمایی که برنامهنویسی رو انتخاب کردید انگیزه بده که برنامهنویسی رو جدی بگیرید و از وقت اینستاگرام و پارتی و ... بزنید و روی تخصص تمرکز کنید.
اگر نه که رشته یا تخصص رو اشتباه انتخاب کردید.
Python Hints
وقتی ChatGPT 3.5 معرفی شد گفتم که نیروهای جونیور بسیار کار سختی برای یافتن شغل خواهند داشت. الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه. اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم…
Telegram
دستاوردهای یادگیری عمیق(InTec)
Claude Sonnet 3.7
رو داشتیم با یکی از همکارا تست میکردیم؛ اگر نگم برنامهنویسها
حداقلش دیگه کدرها کارشون ۱۰۰٪ سخت خواهد بود برای شغل پیدا کردن.
فقط کافیه ۴ ماه صبر کنیم تا open source ایده رو پیادهسازی کنه و دیگه کسی coder استخدام نخواهد کرد.
اگر…
رو داشتیم با یکی از همکارا تست میکردیم؛ اگر نگم برنامهنویسها
حداقلش دیگه کدرها کارشون ۱۰۰٪ سخت خواهد بود برای شغل پیدا کردن.
فقط کافیه ۴ ماه صبر کنیم تا open source ایده رو پیادهسازی کنه و دیگه کسی coder استخدام نخواهد کرد.
اگر…
Python Hints
https://www.tgoop.com/pytens/1650 #موقت
چون زیاد سوال شد، زدید که دیگه شراغ این شغل نیایم یعنی ؟
جواب :
خیر منظور من این نبود، منظور اینه که باید درست یاد بگیرید.
کدر شدن : یعنی سینتکس زبانی رو بلد بودن
دولوپر شدن : یعنی جزییات اجرای کد و ... رو هم بدونید اینکه اون زیر داره چه اتفاقاتی میوفته
بر خلاف قدیم که آدما از هر رشته و با هر پس زمینه و توی هر سنی اگر یک مقدار وقت و انرژی میذاشتند وارد دنیای برنامهنویسی میشدند و با ۲ سال کار کردن و حفظ کردن (فهمیدن فرق داره) یک سری مطالب و استاندارد ها میتونستند خودشون رو حتی مدیور جا بزنند.
الان اوضاع فرق کرده، الان یک بچه ۱۲-۱۳ ساله میتونه بدون سواد برنامهنویسی شروع کنه کار کرده:
بصورت فیلموار چند تا آموزش پایتون رو ببینه.
بعد هم شروع کنه به LLM ها درخواست دادن برای کد نویسی.
اکانت Andrej Karpathy (خداوندگار مهندسی و هوش مصنوعی) رو هم اگر دنبال کنید چندروز قبل و بعد از پست من به این موضوع اشاره کردند.
خوشتون بیاد یا نه، دیگه باید مفاهیم رو یاد بگیرید؛ این موج توی ایران دیرتر شروع خواهد شد ولی قطعاً شروع میشه.
بسیاری از شرکتها درحال کوچیک شدن هستند، داخل استارتاپهای ایرانی که این موج شروع شده.
جواب :
خیر منظور من این نبود، منظور اینه که باید درست یاد بگیرید.
کدر شدن : یعنی سینتکس زبانی رو بلد بودن
دولوپر شدن : یعنی جزییات اجرای کد و ... رو هم بدونید اینکه اون زیر داره چه اتفاقاتی میوفته
بر خلاف قدیم که آدما از هر رشته و با هر پس زمینه و توی هر سنی اگر یک مقدار وقت و انرژی میذاشتند وارد دنیای برنامهنویسی میشدند و با ۲ سال کار کردن و حفظ کردن (فهمیدن فرق داره) یک سری مطالب و استاندارد ها میتونستند خودشون رو حتی مدیور جا بزنند.
الان اوضاع فرق کرده، الان یک بچه ۱۲-۱۳ ساله میتونه بدون سواد برنامهنویسی شروع کنه کار کرده:
بصورت فیلموار چند تا آموزش پایتون رو ببینه.
بعد هم شروع کنه به LLM ها درخواست دادن برای کد نویسی.
اکانت Andrej Karpathy (خداوندگار مهندسی و هوش مصنوعی) رو هم اگر دنبال کنید چندروز قبل و بعد از پست من به این موضوع اشاره کردند.
خوشتون بیاد یا نه، دیگه باید مفاهیم رو یاد بگیرید؛ این موج توی ایران دیرتر شروع خواهد شد ولی قطعاً شروع میشه.
بسیاری از شرکتها درحال کوچیک شدن هستند، داخل استارتاپهای ایرانی که این موج شروع شده.
مکالمه چندساعت قبل من و یکی از دوستان نزدیکم :
+ تو روی پروژه "X" کار کردی
- نه، یا اگر هم کار کردم اسمش این نبوده. چطور ؟
+ اومدم یکجا برای همکاری جدید، یک نگاهی کلی به سورس کد پروژه انداختم روی سیستم یکی از نیروها، استانداردهای داکر و ... اش مثل تو هست.
- خب بپرس ببین کی بوده دولوپر قبلی، یا لاگ گیت رو ببین
+ میگن "Y" بوده، میشناسیش ؟
- آره، ۱ سال همکار بودیم.
+ حله، خیالم راحت شد.
من توی کدهام نه
ولی هیچکس نگفته که فلان روز چرا کار نکردی و یک دلیل ساده هم داره؛
امضای من توی کدهام مشخص هست. هرکسی که بیش از ۳ ماه با من کار کنه میدونه امضای من چطور هست.
بعضی وقتا، حتی کدهای
وقتی پوشه؛
و این قضیه که دوستانم امضای من رو توی کد یا پروژه متوجه میشوند واقعاً برام لذت بخش هست.
نمونه
پیونوشت: این صحبت بهنونه شد برای اینکه نمونه داکرفایل رو بذارم .
+ تو روی پروژه "X" کار کردی
- نه، یا اگر هم کار کردم اسمش این نبوده. چطور ؟
+ اومدم یکجا برای همکاری جدید، یک نگاهی کلی به سورس کد پروژه انداختم روی سیستم یکی از نیروها، استانداردهای داکر و ... اش مثل تو هست.
- خب بپرس ببین کی بوده دولوپر قبلی، یا لاگ گیت رو ببین
+ میگن "Y" بوده، میشناسیش ؟
- آره، ۱ سال همکار بودیم.
+ حله، خیالم راحت شد.
من توی کدهام نه
maintainer
میزنم، نه چیز دیگه و حتی خیلی وقتا پیش اومده پشت سیستم نیروهام نشستم و کد زدم و مثلاً ۶-۷ ساعت کار اون روز رو با اکانت نیروم commit
زدم.ولی هیچکس نگفته که فلان روز چرا کار نکردی و یک دلیل ساده هم داره؛
امضای من توی کدهام مشخص هست. هرکسی که بیش از ۳ ماه با من کار کنه میدونه امضای من چطور هست.
بعضی وقتا، حتی کدهای
Django
من رو بدون خوندن سورس کد هم شناسایی میکنند.وقتی پوشه؛
backups
وجود داره و بعد از پرکردن .env
پروژهو این قضیه که دوستانم امضای من رو توی کد یا پروژه متوجه میشوند واقعاً برام لذت بخش هست.
نمونه
Dockerfile
اولیه من برای پروژههای Django
؛ این خیلی ساده هست و بر اساس پروژه تغییر میکنه ولی خب ۸۰-۹۰٪ پروژهها با همین کار در میاد.FROM python:3.10-slim AS build
WORKDIR /src
COPY requirements.txt .
RUN python -m venv /opt/venv &&\
. /opt/venv/bin/activate &&\
pip3 install --default-timeout=100 -U --upgrade pip &&\
pip3 install --default-timeout=100 -r requirements.txt \
&& find /opt/venv \
\( -type d -a -name test -o -name tests \) \
-o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
-exec rm -rf '{}' +
# RUN stage
FROM python:3.10-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /src
COPY --from=build /opt/venv /opt/venv
COPY . .
RUN chmod +x ./docker/scripts/entrypoint.sh
CMD ["/src/docker/scripts/entrypoint.sh"]
پیونوشت: این صحبت بهنونه شد برای اینکه نمونه داکرفایل رو بذارم .
Python Hints
وقتی ChatGPT 3.5 معرفی شد گفتم که نیروهای جونیور بسیار کار سختی برای یافتن شغل خواهند داشت. الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه. اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم…
این موضوع خیلیهارو سوزوند و یک سری هم خیلی منطقی گفتند که باور ندارند همیچین اتفاقی شدنی باشه:
یک نفر توی توییتر به اسم
تعداد هواپیماهای قرمزی که میبینید؛ باقی کاربرهای داخل بازی هستند (فکر کنم چند میلیون باشه) این توییت
https://fly.pieter.com
بعد فرض کنید یک سنیور بازی نویسی + AI خودش یک ارتش چند نفره بازی نویسی خواهد بود ؟
فکر کنم باید زمانبندی قبلیم برای حذف کدرها (کسانی که مفاهیم رو درک نکردند) رو نصف کنم.
پ.ن: بخش درآمدزایی رو هم طرف اضافه کرده ۲۹ دلار برای پرواز با
پ.ن: ریپلای این توییت شده مجموعهای از بازیها که توی این چندروز نوشته شده برید ببینید برگاتون بریزه واقعا بعضیهاش خیلی خوبه.
پ.ن: بعضیهاشون هیستوری چت و سورس کد رو هم گذاشتند؛ آقا این ژانر توییت خودش یک دانشگاهی هست پیشنهاد میکنم حتما دنبال کنید سرچ کنید بازیهایی که با
یک نفر توی توییتر به اسم
levelsio
یک توییتی زده و گفته که آقا من تو عمرم بازی نویسی انجام ندادم ولی یک شبیهساز پرواز توی ۳ ساعت درست کردم و ۱۰۰٪ کد رو Grok3
برام زده (شخصا اضافه کنم: بله Grok توی این موارد از Sonnet 3.7
هم بهتره) ۸۰٪ رو همون بار اول درست زده ۲۰٪ رو مجبور شدم چندبار باهاش چک کنم؛ حالا هر Javascript, React, Vue, ...
دولوپری که دوس داره یک سر به لینک این بزنه و بگه بدون کمک هیچکدوم از LLM/AI
ها چندساعت طول میکشه این بازی رو بنویسه ؟تعداد هواپیماهای قرمزی که میبینید؛ باقی کاربرهای داخل بازی هستند (فکر کنم چند میلیون باشه) این توییت
X
رو کامل بهم ریخته.https://fly.pieter.com
بعد فرض کنید یک سنیور بازی نویسی + AI خودش یک ارتش چند نفره بازی نویسی خواهد بود ؟
فکر کنم باید زمانبندی قبلیم برای حذف کدرها (کسانی که مفاهیم رو درک نکردند) رو نصف کنم.
پ.ن: بخش درآمدزایی رو هم طرف اضافه کرده ۲۹ دلار برای پرواز با
F16
و پشتیبانی از پروژه.پ.ن: ریپلای این توییت شده مجموعهای از بازیها که توی این چندروز نوشته شده برید ببینید برگاتون بریزه واقعا بعضیهاش خیلی خوبه.
پ.ن: بعضیهاشون هیستوری چت و سورس کد رو هم گذاشتند؛ آقا این ژانر توییت خودش یک دانشگاهی هست پیشنهاد میکنم حتما دنبال کنید سرچ کنید بازیهایی که با
Grok3
توسعه داده شده و ببینید چیا میاد.
Python Hints
این موضوع خیلیهارو سوزوند و یک سری هم خیلی منطقی گفتند که باور ندارند همیچین اتفاقی شدنی باشه: یک نفر توی توییتر به اسم levelsio یک توییتی زده و گفته که آقا من تو عمرم بازی نویسی انجام ندادم ولی یک شبیهساز پرواز توی ۳ ساعت درست کردم و ۱۰۰٪ کد رو Grok3 برام…
سوال کردید با این شرایط برنامهنویسی یاد نگیریم ؟ اول اینکه به کانال خوش اومدید پستها توالی داره لطفا بخونید:
https://www.tgoop.com/pyHints/736
درنهایت؛ مشتی (خانوم و آقا هم نداره) من خودم ۵-۶ ماهه دارم Rust یاد میگیرم؛ توی تمریناتم هم اصلا سمت AI نمیرم بعد شما میگی برنامهنویسی یاد نگیریم؟
اتفاقا بنظرم بعد از این اتفاق؛ یک موج اخراج خواهیم داشت؛ یک موج کم شدن دستمزد و بعد آنهایی که نشون دادند سواد مناسب رو دارند و ازین ۲ تا موج جون سالم بدر بردند دستمزدهای خیلی بالاتری خواهند داشت.
من شخصا همیشه همهی آدمها رو به برنامهنویس شدن دعوت کردم؛ ولی موج چندسال اخیر و البته توی دنیای پایتون بسیاری از آدمها رو بجای برنامهنویس تبدیل به کدر/ سینتکس بلد و ... کرده بود.
بسیار خوشحالم از پیشرفتهای فعلی و جایگزینی AI با این مدل از توسعه دهندهها؛ این پست رو بخونید:
https://www.tgoop.com/per3onal/182
https://www.tgoop.com/pyHints/736
درنهایت؛ مشتی (خانوم و آقا هم نداره) من خودم ۵-۶ ماهه دارم Rust یاد میگیرم؛ توی تمریناتم هم اصلا سمت AI نمیرم بعد شما میگی برنامهنویسی یاد نگیریم؟
اتفاقا بنظرم بعد از این اتفاق؛ یک موج اخراج خواهیم داشت؛ یک موج کم شدن دستمزد و بعد آنهایی که نشون دادند سواد مناسب رو دارند و ازین ۲ تا موج جون سالم بدر بردند دستمزدهای خیلی بالاتری خواهند داشت.
من شخصا همیشه همهی آدمها رو به برنامهنویس شدن دعوت کردم؛ ولی موج چندسال اخیر و البته توی دنیای پایتون بسیاری از آدمها رو بجای برنامهنویس تبدیل به کدر/ سینتکس بلد و ... کرده بود.
بسیار خوشحالم از پیشرفتهای فعلی و جایگزینی AI با این مدل از توسعه دهندهها؛ این پست رو بخونید:
https://www.tgoop.com/per3onal/182
Telegram
Python Hints
چون زیاد سوال شد، زدید که دیگه شراغ این شغل نیایم یعنی ؟
جواب :
خیر منظور من این نبود، منظور اینه که باید درست یاد بگیرید.
کدر شدن : یعنی سینتکس زبانی رو بلد بودن
دولوپر شدن : یعنی جزییات اجرای کد و ... رو هم بدونید اینکه اون زیر داره چه اتفاقاتی میوفته…
جواب :
خیر منظور من این نبود، منظور اینه که باید درست یاد بگیرید.
کدر شدن : یعنی سینتکس زبانی رو بلد بودن
دولوپر شدن : یعنی جزییات اجرای کد و ... رو هم بدونید اینکه اون زیر داره چه اتفاقاتی میوفته…