Python Hints
8.63K subscribers
170 photos
11 videos
9 files
141 links
Python tips and tricks
The Good, Bad and the Ugly

توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)

Admin: @Abbasi_ai
Download Telegram
Python Hints
#کارآموز اول با کار آموزی شروع کنیم : من قیمت‌ها رو برای تهران میگم اما شهرهای متفاوت قیمت‌ها کمی فرق می‌کنه اکثراً وقتی راجب دستمزد از کار آموز‌ها می‌پرسم، خیلی‌هاشون تعجب می‌کنند مگه کارآموز هم حقوق میگیره ؟ جواب کوتاه : بله، و اگر شرکتی راجب این موضوع…
#آموزشی #تجربه

یک دوستی دیروز که وقفه افتاد باهم صحبت کردیم
اسرار داشت که سطحش جونیور بوده ۱ سال و نیم پیش که وارد شرکت شده
و الان خیلی پیشرفت کرده
اما مبلغ دریافتی که داره روی ۷ میلیون تومان هست.
که توضیح دادم که خب اگر واقعاً همچین سطحی داره شرکت داره سرش کلاه میذاره و از ندانستنش داره سواستفاده می‌کنه

حداقل باید ۱۵ میلیون رو بگیره و ...

ایشون یک مقدار عصبی و ناراحت شد و می‌خواست همون لحظه پیام و استعفا بده که نهایتاً اینور سال آخرین روزهای کاریش باشه.

پیشنهادم به همه دوستان همین هست :

من شمارو تعیین سطح نکردم، و به حرف شما اعتماد می‌کنم و دستمزد رو میگم.
اما اگر باور دارید، قبل از استعفا دادن حتماً دنبال شغل جدید بگردید و اگر قبول شدید مصاحبه جای دیگر رو اعلام کنید که ۱-۲ ماه نیاز دارید برای جایجایی و تحویل کارهای قبلی

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


زرنگ باشید حتی اگر لازم شد، حق شما هست که بصورت ماهانه هم مصاحبه برید و دنبال شرایط بهتر باشید.
این وظیفه شرکت‌ها هست که به نیروهاشون آرامش و اطمینان بدهند و نیرو رو حفظ کنند.

با کلماتی مثل وفاداری و .... هم نگذارید که ازتون سو استفاده بشه
👍1115❤‍🔥1🍾1
Python Hints
قبل از اینکه راجب دستمزد بگم، فرمول‌های متفاوتی برای نوع قرارداد هست که به ترتیب از بیشترین به کمترین مبلغ براتون می‌گم (مواردی که گفته نمی‌شه هم بین این‌ها قرار میگیره) یک چیزی مثل Big O هست خلاصه بیشترین به کمترین به ترتیب : قرارداد ساعتی : (۹۰٪…
ی آپدیت بزنم روی این مورد هم
چندتا مورد دیگه که دستمزد شما بیشتر میشه اعلام کنم


مثلاً اگر شرکت بیمه پرداخت نکنه، دستمزد شما بیشتر هست
و اگر پرداخت بکنه دستمزد کمتر (چون یک مقدار از دستمزد شما رو حق بیمه باید بده)

یک راهکار میانه هم هست،
پایه حقوق رو براتون جونیوری میزنند مثلاً ۷ میلیون
و بیمه رو بر اساس اون مبلغ پرداخت می‌کنند
و تفاوت حقوق شما رو بصورت پاداش یا ... بهتون پرداخت می‌کنند.

اینجوری هم از حقوق شما مبلغ کمتری کم میشه
هم شرکت مالیات و سهم بیمه کمتری رو پرداخت می‌کنه
برای هر دو طرف برد هست.
👍617❤‍🔥3👎3👌3
#موقت

پست بعدی دستمزد جونیور و بعد از اون میدیور هست

سنیور، کف و سقف نداره دستمزدش برای همین توضیحی نمیدم

۹۸٪ سنیورهایی هم که بنده بررسی کردم، دستمزدی و آماری و ...
نهایتاً سطحشون مدیور سطح ۲ بوده و تا سنیور شدن بسیار بسیار فاصله داشتند ولی خب شرکت بهشون لقب سنیور داده بود که خنده داره

تعداد سنیور توی تهران، ۱۰ برابر تعداد سنیور کل شرکتهای سیلیکون ولی هست 🤣😂🤣😂
😁82👍227🍓3🗿3
Python Hints
#کارآموز اول با کار آموزی شروع کنیم : من قیمت‌ها رو برای تهران میگم اما شهرهای متفاوت قیمت‌ها کمی فرق می‌کنه اکثراً وقتی راجب دستمزد از کار آموز‌ها می‌پرسم، خیلی‌هاشون تعجب می‌کنند مگه کارآموز هم حقوق میگیره ؟ جواب کوتاه : بله، و اگر شرکتی راجب این موضوع…
#جونیور

برای جونیور هم من حداقل ۳ سطح رو در نظر میگیرم
توی همه‌ی این موارد کار تیمی هم خودش امتیاز داره پس فقط به جنبه فنی نگاه نکنید.

توی شرکت‌های مختلف و با افرادی که می‌شناختم بررسی کردم، حدود ۴۰۰.۰۰۰ شغل فنی رو هم کرال کردم و بر اساس تمام این موارد قیمت میدم.

برای پایتون توی شاخه‌های مختلف :

از ۱۲ میلیون دستمزد شروع میشه
و تا ۱۸ میلیون هم می‌تونه این مبلغ باشه برای جونیوری که رو به پیشرفت هست، بجای ادعا کردن ترجیح میده وقتش رو روی سوادش بذاره
و البته ابزارهای مهم و نیازمندی‌های
Software Engineer
شدن رو رعایت می‌کنه، قبلاً کلی راجبش صحبت کردم برای همین ادامه نمیدهم دیگه
👍5911👎3❤‍🔥2
Python Hints
#جونیور برای جونیور هم من حداقل ۳ سطح رو در نظر میگیرم توی همه‌ی این موارد کار تیمی هم خودش امتیاز داره پس فقط به جنبه فنی نگاه نکنید. توی شرکت‌های مختلف و با افرادی که می‌شناختم بررسی کردم، حدود ۴۰۰.۰۰۰ شغل فنی رو هم کرال کردم و بر اساس تمام این موارد…
#مدیور

بین جونیور سطح بالا (گفتم دسته بندی من ۳ سطحی هست) و مدیور سطح پایین واقعاً مرز باریکی وجود داره و خیلی وقت‌ها راحت نمی‌شه تشخیص داد این موضوع رو

مثلاً صرف اینکه طرف بتونه
Medium Complexity LeetCode


حل کنه نمی‌شه گفت که خب مدیور شده و تمام، اتفاقاً ازین سطح به بعد رفتار تیمی و نحوه برخورد با چالش و مسائل و ... هم خیلی مهم می‌شه

اینکه تنش و استرس رو چطوری باهاش مقابله می‌کنید و ....

مثال بزنم :
فرض کنید، یک تیم ۳ نفره از جونیور‌ها زیر دست شما درحال توسعه بخشی از نرم‌افزار هستند و شما هم مدیور بالا سر این افراد هم بهشون کمک می‌کنید، هم اگر نیاز به
Code review

باشه، شما شخصی هستید که تأیید اولیه رو میزنید.

مدیر فنی شرکت یا شخص بالاسری شما میاد با شما جلسه میگذاره و یکی از فیچرها رو از شما می‌خواد که تغییر بدید، یا فیچر اضافه کنید یا حتی جایگزین کنید.

برخورد شما چیه ؟
من بسیار مدیور و سنیور دیدم که سریعا گارد میگیرند، به نوعی مخالفت می‌کنند (حتی غیر منطقی) و می‌خوان که توی حالتی که پلن چیده شده پیش بروند و ...

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

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


رنج دستمزد مدیور هم با توجه به وضعیت بازار ایران روی :

از ۲۰ میلیون تومان
تا ۴۰ میلیون تومان در ماه

برای سال ۱۴۰۳ رنج خوبی هست.
35👍24❤‍🔥3👎3
Python Hints
#مدیور بین جونیور سطح بالا (گفتم دسته بندی من ۳ سطحی هست) و مدیور سطح پایین واقعاً مرز باریکی وجود داره و خیلی وقت‌ها راحت نمی‌شه تشخیص داد این موضوع رو مثلاً صرف اینکه طرف بتونه Medium Complexity LeetCode حل کنه نمی‌شه گفت که خب مدیور شده و تمام، اتفاقاً…
#سنیور

سنیور واقعی مبلغ نداره،
هرچقدر تیغ‌اش ببره، بریده

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

برای همین من هیچ نظری روی دستمزد سنیورها نمی‌دم
قطعاً خودشون هم گرگی شدند و می‌دونند چطوری قرارداد ببندند.
36👍26❤‍🔥5👎2
#نکات_قرارداد

۱) قرارداد حتماً باید نوشته بشه، اصلا روی حرف و ... هیچ چیزی قبول نکنید

۲) متن قرارداد رو حتماً بطور کامل بخونید، شما موظف نیستید همون لحظه که قرار داد بهتون داده میشه تا ۵ دقیقه بعد امضا بزنید.
(شخصاً یک نسخه از قرارداد و ضمیمه‌هاش رو می‌‌خوام که زودتر برام ارسال بشه و ۱-۲ روز مهلت خوندن به خودم میدم)

۳) بدون قرارداد کتبی هیچ کجا کار نکنید، مگر اینکه مبلغ رو قبل از شروع کار براتون واریز کنند
همه دوستان می‌دونند، شخصاً ممکنه با یک جا هم به توافق برسم.
اما اگر طرف قبل از قرارداد تسک بفرسته، دیگه باهاش همکاری نمی‌کنم، چون ۲ حالت بیشتر نداره
۳-۱ ) یا با هدف کلاهبرداری و از زیر موارد توافق شده فرار کردن قرارداد کتبی به شما تحویل نمی‌ده
۳-۲ ) یا اینکه یک پروژه ۱ ساله گرفته، خواسته با نیروی ۵ میلیونی کار رو در بیاره و حالا توی ماه‌های آخر هست و شدیداً نیاز به خروجی داره پس از ۱ روز هم نمی‌گذره که خب اینجا هم باید فرار کنید.

۴- یک نسخه از قرارداد رو همیشه تحویل بگیرید و پیش خودتون نگهدارید

۵- به تاریخ‌هایی که بیش از مدت قرارداد هست توجه کنید؛ توی ایران متن قرارداد هارو خیلی از شرکت‌ها به وکیل‌ها می‌سپارند و ازونجایی که ۹۹٪ وکیل‌ها برای قراردادهای کامیپوتری و فنی آماده نیستن متون مزخرف زیاد دیده میشه

برای مثال ۳ سال قبل، یک شرکت ایرانی - آلمانی برای من قراردادی رو از دفتر ایران فرستاد، توی متن قرارداد نسخه فارسی نوشته شده بود که تا ۵ سال بعد از خروج از شرکت حق مشارکت با هیچ استارتاپ یا شرکت نرم‌افزار پزشکی رو ندارم.

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

اما مسئله این هست، هیچ شرکتی حق نوشتن این موضوع رو نداره.
شما حق استفاده از تجربیاتت رو داری و این یعنی بعد از کار توی هر شرکتی می‌تونی به یک شرکت با بیزینس مشابه بری و اونجا شروع به فعالیت کنی (دستمزد، برخورد یا هرچیزی)
اما طبق NDA شما حق انتقال دانش در مورد فیچرها، جزئیات عملکرد داخلی و ... که بعد از تحقیقات فراوان شرکت قبلی بهش رسیده و تجربه شخصی شما نیست رو به شرکت جدید ندارید.
حتی اگر این موضوع توی متن قرارداد شما نباشه، و اینکار‌ رو بکنید شرکت می‌تونه از شما شکایت کنه و ۹۹.۹٪ موارد هم رأی دادگاه برای شرکت هست.

۶- هر چیزی که از شرکت تحویل می‌گیرید و یا به شرکت تحویل می‌دید
بخصوص تحت عنوان ضمانت نامه، باید حتماً توی ضمیمه‌ای از قرارداد باشه و حتماً مهر و امضا مسئول شرکت رو هم داشته باشه.
مهمتر از اون باید اعلام بشه چه زمان و تحت چه شرایطی این ضمانت می‌تونه به اجرا گذاشته بشه و چه زمان و تحت چه شرایطی این ضمانت باید پس داده بشه.


در نهایت حتماً، حتماً، حتماً از قرارداد و ضمیمه‌های اون باید همیشه ۲ نسخه کاملاً رسمی (مهر، سربرگ، امضا، و ....) وجود داشته باشه
نسخه‌ای دست شما و نسخه‌ی دیگری برای شرکت.

اگر مورد دیگری در آینده یادم افتاد، حتماً به این پیام اضافه می‌کنم.
👍9611❤‍🔥4👌2👎1
پست جدید
SpaceX
رو توییتر رو دیدید ؟
ایلان ماسک هم retweet کرده.

طبق صحبت‌های مهندسان فنی SpaceX برای سال ۲۰۲۵ گوشی‌های همراه می‌تونند از خدمات اینترنت ماهواره‌ای استفاده کنند.

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

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

صحبت از رجیستری موبایل می‌شه، که شخصاً اگر اینترنت خوب داشته باشم حتماً و قطعاً سیم‌کارت رو می‌شکونم و از خدمات اینترنتی استفاده خواهم کرد.

همین الان ۹۰٪ تماس‌ها از طریق سرویس‌های اینترنتی انجام میشه که کیفیت بهتری داشته باشه.
👍108🦄21👎1🌚1
#لینوکس

۳ تا از ابزارهایی که بنظرم هرکسی باید روی سیستم داشته باشه
یکی از همکارا توی میت پرسید؛ انقدر مفید بود که باقی بجه‌ها رو هم صدا زد.

واقعا فکر نمی‌کردم کسی اینارو نداشته باشه برای همین گفتم اینجا هم به اشتراک بذارم:

1- zellij

اگر با tmux کار نکردید که قطعا عمرتون رو خیلی هدر دادید و اگر کارکردید و مثل من خیلی وقتا درگیر کانفیگ کردنش بودید؛ برید سراغ
zellij
خوبی این ابزار اینه که با Rust نوشته شده فوق‌العاده کم حجم و سبک هست
کانفیگ شده و همه چیز رو داره
همیشه هم منو راهنما جلوتون هست
تعداد فیچرهاش بیش از حد زیاده.

2- dust
فقط کافیه یکبار هاردتون پر شده باشه تا سردرد استفاده از du, df , ... رو چشیده باشید یعنی ادمین سرور ندیدم که رضایت داشته باشه.
dust
گوشه سمت چپ پایین؛ کار رو به قشنگی براتون در میاره نمایش درختی + حجم هر پوشه و ...
با زبان Rust نوشته شده و برای ایندکس کردن هارد ۱۶ ترابایتی و پر از فایل من فقط به ۵ دقیقه وقت نیاز داشت ( این هارد چون دیتاست زیادی شامل متن - عکس و ... داخلش هست بسیار ایندکس کردنش سنگین هست خودم روی ۱ ساعت فکر میکردم انجام بشه)


@PyHints
👍60❤‍🔥51
Python Hints
#لینوکس ۳ تا از ابزارهایی که بنظرم هرکسی باید روی سیستم داشته باشه یکی از همکارا توی میت پرسید؛ انقدر مفید بود که باقی بجه‌ها رو هم صدا زد. واقعا فکر نمی‌کردم کسی اینارو نداشته باشه برای همین گفتم اینجا هم به اشتراک بذارم: 1- zellij اگر با tmux کار نکردید…
اضافه کنم که تصویر مربوط به محیط
zellij
هست یا دقت کردید ؟
3- Btop


بخش بالایی عکس که جزئیات cpu, mem, hard, network, gpu رو به خوبی نشون میده مربوط به ابزار مانیتورینگ btop هست که یک جایگزین فوق‌العاده و بسیار قوی برای top, htop محسوب می‌شه.

اما گل سرسبد همه موارد بالا و هرچیز دیگری که می‌شناسید :

4- tldr

تصویر گوشه پایین راست؛ اصلا نمی‌شه شما کاربر لینوکس باشید و از کامند استفاده کنید و نیازمند man نشده باشید.
اونقدری که خوندن و استفاده درست از man page یکی از سرفصل‌های مهم آموزشی RedHat هست؛ اگر می‌گید چه ربطی داره ؟ باید بگم که tldr اومده که شمارو از خوندن man page خلاص کنه مخصوصا وقتی فقط ی مثال کوچیک و سریع + توضیح کوتاه لازم دارید. توی تصویر شما خروجی
tldr dust

رو می‌بینید.


می‌دونم ربطی به پایتون نداشت؛ ولی چون خیلی کمک هست این ابزارها گفتم شاید بدرد کسی بخوره اینجاهم.
امیدوارم مفید باشه 🌹

@PyHints
👍57133❤‍🔥1🎉1
Rust for Python developers
این یکی واقعاً جالبه، جایگزین Flake8, isort, black, pyupgrade, ... با سرعت خیلی بیشتر. Ruff که با Rust نوشته شده، و پروژه Scipy, Pandas, FastApi, ... هم سمتش رفتند.
ابزار جدیدی از astral اومده به اسم uv جاگزینی خواهد بود برای pip, poetry, ...
البته درحال حاضر خیلی خام هست ولی بطور خیره کننده‌ای سرعت بالایی داره حتما یک سری بهش بزنید.

uv: Python packaging in Rust

پ.ن: از cache یک سری پکیج هوش مصنوعی نصب کردم 0.35sec طول کشید همین مورد با pip بیشتر از 30sec زمان می‌بره.
البته بازم میگم؛ هنوز پیشنهاد نمیکنم روی پروژه استفاده بشه.
👍23🔥5
Rust for Python developers
این یکی واقعاً جالبه، جایگزین Flake8, isort, black, pyupgrade, ... با سرعت خیلی بیشتر. Ruff که با Rust نوشته شده، و پروژه Scipy, Pandas, FastApi, ... هم سمتش رفتند.
#Quick

پست قبلی که گذاشتم راجب uv حقیقتا از اینجا متوجه پروژه شدم که تیم‌های
Data Engineering, Backend, Test
توافق کردند از
ruff
استفاده کنند، بخصوص که حالا دیگه vs-code extension هم براش وجود داره و خیلی راحت شده کار بچه‌ها گفتند ما هم بریم سراغش و منم دارم بررسی می‌کنم که نظراتم رو راجبش بدم، نسبت به تمام کانفیگ‌هایی که داریم.


تا اینجا که خیلی خوب پیش رفته (از صبح).
👍201
#تجربه

دوره کتابخوانی خودمون
کتاب خوانی با چندتا از همکارای شرکت
مقاله خوانی و ...

باعث شد یک چیزی رو مطمئن بشم؛ ۹۸٪ کتاب خواندن رو بلد نیستیم
البته حق هم داریم، دانشگاه و مدرسه و ... باعث و بانی این موضوع بوده و البته اینکه هیچ کس بهمون یاد نداد یا بهمون نگفت که داریم اشتباه می‌خونیم.

شخصاً این مشکل رو داشتم.

برای مثال: اول هفته با یکی از همکاران شرکت شروع به خواندن یک کتاب کردیم (بخش تحقیقات)
من دیروز کتاب رو تموم کردم و شروع کردم به کد زدن (با اینکه من جاهای دیگه هم کار می‌کنم) وقتی pull request زدم و درخواست peer review دادم، بهم گفت که تازه ۱٫۳ کتاب رو خوانده.

خیلی ساده ببینید که آیا شما کتاب خواندن رو بلد هستید یا خیر، اگر مدل خواندن شما برای شرایط زیر فرق می‌کنه میشه امیدوار بود :

۱- خواندن برای آزمون تئوری (مثلاً LPIC)
۲- خواندن برای آزمون عملی (مثلاً RHCSA)
۳- خواندن برای یادگیری نکته‌ای (fluent python)
۴- خواندن برای یادگیری دقیق ( fastapi documentation )

اگر توی همه این موارد فرمول خواندن شما یکسان هست، اگر موقع خواندن (حتی دیجیتال) ورق و قلم بغل دستت نداری

متأسفانه باید بگم که شما کتاب خواندن درست رو بلد نیستید، و همین داره وقتتون رو می‌گیره یا شمارو خسته می‌کنه.
👍8062👎2
#تعیین_سطح

بعد از سری پست‌هایی که راجب دستمزد بود :
Link

مهمترین سوال اکثر دوستان نحوه تعیین سطح بود،

از آخر شروع کنم و راحت‌ترین روش، اپلای کردن برای شغل سطح بالاتر هست اگر ۱۰ تا مصاحبه رفتید و بخاطر عدم دانش کافی رد شدید.
یعنی اون سطح رو ندارید

اما جزئی‌تر بخواب بگم :
۱- میزان دانش
مثلاً برای پایتون، آیا می‌دونید
mro, hash
چی هستند و کجا استفاده میشه یا مثلاً
sequence, iterator, iterable
چی هست،
yield, yield from
یا
multi process, multi thread
چه تفاوتی دارند ؟

یا سوالات meta programmig، design principles

۲- غیر از زبان برنامه‌نویسی آیا اطلاعات پایه‌ای مهندسی کامپیوتر رو بلدید ؟
Data Structure, Algorithm, System design

۳- توانایی آنالیز و حل مسئله چطور هست ؟
این بخش همون مباحث
leet code
هست، اما به شرطی که بتونید نحوه حل مسئله رو بلند بلند توضیح بدید.
تعیین سطح یک جا بدرد می‌خوره اونم مصاحبه هست، و چیزی که توی مغز شما می‌گذره‌ رو مصاحبه کننده نمی‌دونه پس باید بتونید همزمان با فکر کردن توضیح هم بدید.

۴- نحوه برخورد با مشکلات، بهت بگن سنیور یا هرچیزی اینجا جایگاهی هست که خودت رو نشون میدی
قبلاً هم گفتم، وقتی درخواست یک فیچر جدید به کاری که برای خودت پلن کرده بودی اضافه میشه و غیر منطقی در برابر پیاده‌سازی مقاومت می‌کنی.
تو سنیور نیستی، سنیور برای هر حرفی که میزنه دلیل منطقی داره (قرار نیست برای جونیور توضیح بده و وظیفه‌ام نداره) اما سوادش اونقدری هست که توی جلسه فیچر جلوی فیچر بدردنخور ایستادگی‌ کنه و یا حتی راهکار جایگزین ارائه بده.

۵- نیروی سنیور توانایی مدیریت نیروهای سطح پایین‌تر رو داره، می‌تونه توی پروژه‌ها، کدها و تصمیمات کمک کنه و مسیر درست رو بهشون نشون بده لیدر و منتور خوب بودن جزو خصیصه‌های نیروی سنیور هست

۶- موارد دیگری هم هست، مثل :
سال‌های تجربه (شاید نه فقط از نظر فنی بلکه از نظر کار تیمی)
نحوه برخورد با مشکلات داخل تیمی (مشکلات غیر فنی)
میزان رشد (سنیور، هیچوقت منتظر نمی‌مونه ازش چیزی بخوان تا پیشرفت کنه و هیچوقت از یادگیری دست بر نمیداره)
میزان پیچیدگی پروژه‌ای که روش کار می‌کنید و ...

هر کدوم از موارد بالا رو می‌تونید به ترتیب از زیاد به کم بهش امتیاز بدید، خودتون متوجه حدود سطح خواهید شد.

اما هیچکدوم از موارد بالا، باینری نیست
توی همه موارد من گفتم سنیور ولی اگر شما مثلاً توی همون مثال اول چند مورد رو بلدی و چندتا رو نه، امتیاز کمتر از سنیور میگیری (مثلاً میدیور)

در نهایت بازم میگیم، برای من بهترین تکنیک مصاحبه دادن هست
اما اگر نمی‌تونید مصاحبه بدید، از
Mock interview
استفاده کنید (نهایت اینه که ۲ ساعت دستمزد پرداخت کنید).
فقط تورو خدا نرید هر آدم رندمی که پیدا کردید باهاش مصاحبه کنید (حداقل کمی تجربه مصاحبه گرفتن داشته باشه) یا اینکه روی اون موضوع مسلط باشه منظورم رو با مثال بگم :
فرض کنیم من یک دوستی دارم، مدرس دوره
System Design
ولی تجربه مصاحبه کردن نداره، من پیش ایشون نمیرم بگم بیا من رو تعیین سطح کن ببین استخدام میشم یا خیر چون احتمال زیاد ایشون بایاس هست به سمت تخصص خودش.
اما می‌تونم از ایشون خواهش کنم من رو برای مبحث
System Design
یک مصاحبه تعیین سطح کنه، توی همچین
Mock Interview
قطعاً وقت هیچکدوم سر سوالات حاشیه‌ای نخواهد رفت و فقط ۲-۳ مورد.
تمرین system design خواهیم داشت و اگر من seniority رو از ایشون بگیرم، خیالم روی این مبحث مصاحبه بسیار راحت خواهد بود.

خلاصه که :
توی مواردی که گفتم به خودتون امتیاز بدید،
از مصاحبه دادن نترسید، اگر برای شرکت خاصی دارید آما می‌شید از
mock interview
غافل نشید، همونطور که گفتم برای مصاحبه آزمایشی با آدم درست هزینه و دستمزد پرداخت کنید، اما با آدم غلط مصاحبه نکنید.

هم اعتماد به نفس شمارو خراب ، هم وقت شمارو تلف می‌کنه
فرض کنید توی مصاحبه به شما توی راهنمایی اشتباه بگه که باید سطح advance سوالات leet code رو حل کنید.
در حالی که ممکن دلیل رد شدن شما توی مصاحبه‌های سطح سنیور، عدم توضیح راه‌حل یا عدم توانایی مدیریت تنش و مشکلات و ... باشه.
👍585👏3❤‍🔥2🌚1
Python Hints
#تجربه دوره کتابخوانی خودمون کتاب خوانی با چندتا از همکارای شرکت مقاله خوانی و ... باعث شد یک چیزی رو مطمئن بشم؛ ۹۸٪ کتاب خواندن رو بلد نیستیم البته حق هم داریم، دانشگاه و مدرسه و ... باعث و بانی این موضوع بوده و البته اینکه هیچ کس بهمون یاد نداد یا بهمون…
روی این مورد از من راهکار خواستن (جلوتر مثال میزنم برای توضیح)

همین اول کار بگم یک فرمول ثابت برای همه وجود نداره هرکسی گفت وجود داره کلاش هست .اگر فرمولش ثابت بود؛ برای همه بچه مدرسه‌ای ها و دانشجو‌ها استفاده میکردن که همه بتونند به درستی از تمام ظرفیت هوش و استعدادشون استفاده کنند.

گفتند مشکل رو نشون دادن بدون راه‌حل فایده نداره.
من خودم گفتم؛ چندسال مسئله خودم این بود که اصلا نمی‌دونستم نحوه خوندم اشتباه هست؛ آدم وقتی به اشتباه پی‌میبره تازه از اونجا دنبال راهکار میگرده

کدوم یک از شما تو کدی که باگ و مشکل نداره؛ دنبال تغییر الگوریتم هستید ؟ پس پیدا کردن مشکل خودش ۷۰-۸۰٪ رسیدن به راه‌حل هست.

درنهایت من با این مثال توضیج دادم؛ فکر کردم شاید مفید باشه هرچند یک جلسه لایو ویدئویی می‌تونست بهتر باشه :

مثلا:
فرض کن داکیومنت
FastAPI
رو داری میخونی؛ نمیری بشینی توضیح نحوه نوشته شدن
generator
رو بخونی؛ موارد مهم رو میخونی مثل get, post, route, authentication , ...

یعد میای می‌بینی نوشته
Async
و تو میدونی لازم داری توی تمام پروژه‌هات مهم هست
چیکار می‌کنی از روی دامکیومنت Fastapi میخونی ؟
قطعا نه؛ میری یک کتاب یا یک دوره براش پیدا میکنی که هدفش فقط همین باشه

حالا فرض کن کتاب Async رو میخوای بخونی؛ توی ۳ فصل اول هم مقدمات پایتون هست
میشینی از اول بخونی ؟
نه فقط نگاه به سرفصل میکنی و اگر همرو میشناختی حذف میکنی و از فصل ۴ شروع میکنی

یک مثال دیگه کتاب fluent هست؛ این کتاب و کتابهای مشابه هر فصل یک هدفی داره
شاید داخل یک فصل اومده مثلا فریمورک django رو مثال زده
اینجا بر خلاف مثال قبلی
Async , FastAPI
شما نباید بری django رو بخونی اول به هدف فصل نگاه میکنی مثلا
mixin (multiple inheritance)
هست و بعد سعی میکنی همین رو درک کنی حالا اگر نویسنده کتاب زحمت کشیده ی مثال هم زده و شما بلد نیستی نباید برات مهم باشه

چون اون مثال میشه حاشیه برای شما؛ چون تو اصلا بکند دولوپر نیستی.
👏41👍204
Python Hints
پست جدید SpaceX رو توییتر رو دیدید ؟ ایلان ماسک هم retweet کرده. طبق صحبت‌های مهندسان فنی SpaceX برای سال ۲۰۲۵ گوشی‌های همراه می‌تونند از خدمات اینترنت ماهواره‌ای استفاده کنند. باید دید عکس‌العمل کشورهایی مثل چین ٫ ایران ٫ روسیه و ... که درگیر محدود کردن…
Elon musk on X

SpaceX just achieved peak download speed of 17Mb/s from satellite direct to unmodified Samsung Android phone

.

پ.ن :
نمی‌دونم دقت کردید، ولی همین سرعت پایین اینترنتی که ایلان ماسک و ... هم ازش رضایت ندارند.
از سرعت سرورهای برج میلاد هم بیشتره (بهترین سرورهای داخلی، با بیشترین سرعت اینترنت) 🤣😂
🆒16👍8🌚5👨‍💻3😁1
#Quick


نوشتن list اطراف هر تابع باید دوبار بهش فکر کنید. اگر اون تابع یک generator باشه شما دارید بدترین کار ممکن رو می‌کنید.

این مورد رو بین بچه‌های دیتاساینس و هوش خیلی زیاد می‌بینم و بین بچه‌های بکند هم وقتی دارند روی CSV, Json و یا Json-line کار می‌کنند.

موضوع فقط مصرف زیاد رم نیست؛ موضوع سرعت هم هست اگر قرار به تمیزکاری و پردازش هر نمونه دپتا یا خط به خط هست لطفا از generator ها به درستی استفاده کنید

مشکل دارن با ما؛ ما اینجا زحمت می‌کشیم generator می‌نویسیم بعد اینا سریع می‌ندازنش توی list

تصویر ی نمونه خیلی ساده برای مثال هست (زمان اجرا کامنت شده)
👍502👎1🐳1
#تجربه

فریمورک برای یادگیری core python نیست،
سورس کد خوندن برای بهتر شدن هست نه یادگیری.


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

نشسته بودم سفارشم آماده بشه (قهوه نخوردم، چون dark roast داشت فقط) دیدم توی فضایی جداگانه کنار من (مثل بخش vip) یکنفر درحال آموزش دادن
generator, yield, yield from
هست، البته برای دیپ‌ لرنینگ و از روی فریمورک، متوجه شدم خیلی داشت اشتباه توضیح می‌داد.

بعد از چند دقیقه که حواسم به کلاس اونها بود و مدرس حواسش به من، کلاس‌ ۵ دقیقه استراحت داد و متوجه شدم از اون ۱۲-۱۵ نفر ۳-۴ نفر عضو همین کانال هستند و مدرس و باقی اعضا همه رفیق هستند که دارند تلاش می‌کنند باهم یاد بگیرند.

خداییش خیلی خیلی لذت بردم (کامیونیتی اینجوری لذت بخش هست) و توی این بحث و اینکه چطوری data loading, batching, ... توی فریمورک‌های هوش مصنوعی کار‌ می‌کنه مونده بودند و اشتباه این بود که بجای درک مطالب اصلی و عملکردشون سعی داشتند از framework این موضوع رو یاد بگیرند.

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

ولی واقعاً دیدن همچین کامیونیتی‌هایی لذت بسیار زیادی داره، یادگیری رایگان و دردسترس برای همه.
👍8218😁3❤‍🔥2🌚1
Python Hints
پیشنهاد یوتیوب با توضیحات مختلف و مشورت‌هایی که از دوستان گرفتم بهترین مدل هست : حقیقتش هنوز شخصا شک دارم به این موضوع (بهترین بودن) اما یکی از دوستان که توی این زمینه کار کرده قرار شد بهم آموزش بده (احتمال زمان زیادی می‌بره) ولی فعلا گانال رو ایجاد کردم…
یک توضیح کوچک راجب یوتیوب بدم، چون خیلی سوال شد.

قرار بر همکاری با یک video editor بود و خوب هم داشت پیش میرفت
ایده ساخت انیمیشن بود، و بعد از تست دوتا مبحث دیدیم که بهترین کار همین هست چون به خوبی مطالب رو انتقال و نمایش میده

حدوداً ۵ موضوع، ویدئو نزدیک به ۲۰ دقیقه آماده شده بود که متأسفانه ایشون تصمیم گرفت ویدئو‌ها رو به بنده نده و ایده رو خودش ادامه بده و شاید تدریس بکنه.
هرچند حتی اگر اینکار رو بکنه هم من ناراحت نیستم چون هدفم آموزش بود.

به هر حال، دلیل اینکه کانال یوتیوب چیزی آپلود نشده این بود ( پیدا کردن همکار، آموزش کار با انیمیشن، ریکورد و ارسال و تدوین و ....)
بسیار زمان‌بر بود و وقتی هم که ایشون کار رو یاد گرفت تصمیم گرفت که به بنده نده و حتی اگر لازم باشه دوره رو به فروش بذاره.

ایده انیمیشن رو ندارم دیگه (هر ویدئو تقریباً ۲ هفته کار برد)، اما سعی دارم از کد برای ساخت تصاویر استفاده کنم که مفاهیم راحت‌تر منتقل بشه و هر زمان خالی که داشته باشم روی این موضوع کار می‌کنم (یادگیری خودم و ساخت ویدئو)
54💔34👍9😁1😐1
این یکی واقعاً برام سوال هست،

دوستان سنیور، چطور میشه به یک نیرو منبعی رو معرفی کرد برای
Design Pattern

چیزی که زیاد می‌بینم اینه که خیلی از بچه‌ها، مطالب مربوط به design pattern رو می‌‌دونند و تعاریف و مثال‌ هارو به خوبی از پسشون بر میان (هرچند عمرا نمی‌بینید من تو مصاحبه تعریف چیزی رو بپرسم)

ولی وقتی به کدها نگاه می‌کنیم، تصمیمات اشتباه زیاد دیده میشه
اکثراً هم بعد از یک میت ۱۰ دقیقه طرف متوجه مشکل می‌شه و حتی راه حل درست رو می‌گه


شخصاً هنوز کتاب یا دوره آموزشی ندیدم که
Design Pattern
هارو به خوبی و با چندتا مثال کد توی دنیای واقعی نشون بده.


نرید
Gang of Four
رو برای من بیارید که شرط می‌بندم یکبارم نخوندید 😑

من این مورد رو برای توسعه دهنده‌های پایتون می‌خوام و با مثال واقعی.
👍31🤔543🌚1
I've Got You Under My Skin;I\'ve Got You Under My Skin
Ben L'Oncle Soul;Ben L\'oncle Soul
به بهانه 4k شدن کانال


I've Got You Under My Skin
Artists: Ben L'Oncle Soul
Album: Under My Skin
Released: 2016
Genres: Classical Soul

#flac
30👎5❤‍🔥2👍2