#تجربه
یک بحثی رو توی لینکدین دیدم از تعریف افراد از Senior، وقتی نظرات رو خوندم یک سلسله تعاریف خیلی شخصی بود.
با توجه به تجربه خودم و مصاحبههایی که داشتم (کم نیست 😁) گفتم تعاریفی که متوجهاش شدم و معقول بود رو توضیح بدم :
سنیور توی جاهای مختلف تعاریف متفاوتی داره
خیلی از کسایی که توی لینکدین لقب سنیور برای خودشون میزارن نمیدونن چقدر توقع کارفرما رو بالا میبره، ( بیشتر بینالمللی منظورم هست) و اکثراً بخاطر همین توی مصاحبه اول رد میشن (شخصاً این لقب رو نداشتم توی پروفایلم به همین دلیل و البته بار مسئولیت راهنمایی junior ها)
شرکتهای داخلی تقریبا کاری به کیفیت کد
و ... ندارند ینی توی ایران میشه حتی با میزان سالی که توی یک شرکت کد زدید senior یا بالاتر از اون specialist بشید.
توی برخی شرکتها، میزان توجه شما به task ایی که بهتون داده شده هست، ینی علاوه بر اینکه شما همواره زمانبندی و ... خوبی دارید
کدهای تمیزی میزنید، code review باقی افراد گروه رو انجام میدید، داکیومنتهای آموزشی شرکت رو آپدیت ٫ ایجاد میکنید و البته optimization رو هم آشنا هستید، توی ML و ... شناخت بیزینس هم بهش اضافه میشه
اما بیشترین تعریف که به همه حوزههای کامپیوتر میخوره (شبکه، لینوکس، برنامه نویس و ... )
اینه که شما کارهای خودتون رو به خوبی و بدون نیاز به کسی انجام میدید (ینی اگر تسک سختی هم بهتون داده بشه خودتون راه خودتون رو پیدا میکنید و انجامش میدید) و علاوه بر اون نیروهای junior هم تیمی رو هم مدیریت میکنید که بهینه و درست کار کنند، تا توی کمترین زمان بهترین خروجی رو بدند
مرجع (گوگل، استک اورفلو) نیروهای جونیور شرکت میشید خلاصه هم توی منطق هم توی نحوه کد زدن.
این ۳ مورد ۹۹٪ مواردی بوده که شخصاً دیدم.
برای همین خیلی خیلی مهمه که حتی اگر کار فعلی رو توش خبره هستید بازم کدهای دیگران (گیت) بخونید و از لحاظ آموزش آپدیت باشید.
یک بحثی رو توی لینکدین دیدم از تعریف افراد از Senior، وقتی نظرات رو خوندم یک سلسله تعاریف خیلی شخصی بود.
با توجه به تجربه خودم و مصاحبههایی که داشتم (کم نیست 😁) گفتم تعاریفی که متوجهاش شدم و معقول بود رو توضیح بدم :
سنیور توی جاهای مختلف تعاریف متفاوتی داره
خیلی از کسایی که توی لینکدین لقب سنیور برای خودشون میزارن نمیدونن چقدر توقع کارفرما رو بالا میبره، ( بیشتر بینالمللی منظورم هست) و اکثراً بخاطر همین توی مصاحبه اول رد میشن (شخصاً این لقب رو نداشتم توی پروفایلم به همین دلیل و البته بار مسئولیت راهنمایی junior ها)
شرکتهای داخلی تقریبا کاری به کیفیت کد
و ... ندارند ینی توی ایران میشه حتی با میزان سالی که توی یک شرکت کد زدید senior یا بالاتر از اون specialist بشید.
توی برخی شرکتها، میزان توجه شما به task ایی که بهتون داده شده هست، ینی علاوه بر اینکه شما همواره زمانبندی و ... خوبی دارید
کدهای تمیزی میزنید، code review باقی افراد گروه رو انجام میدید، داکیومنتهای آموزشی شرکت رو آپدیت ٫ ایجاد میکنید و البته optimization رو هم آشنا هستید، توی ML و ... شناخت بیزینس هم بهش اضافه میشه
اما بیشترین تعریف که به همه حوزههای کامپیوتر میخوره (شبکه، لینوکس، برنامه نویس و ... )
اینه که شما کارهای خودتون رو به خوبی و بدون نیاز به کسی انجام میدید (ینی اگر تسک سختی هم بهتون داده بشه خودتون راه خودتون رو پیدا میکنید و انجامش میدید) و علاوه بر اون نیروهای junior هم تیمی رو هم مدیریت میکنید که بهینه و درست کار کنند، تا توی کمترین زمان بهترین خروجی رو بدند
مرجع (گوگل، استک اورفلو) نیروهای جونیور شرکت میشید خلاصه هم توی منطق هم توی نحوه کد زدن.
این ۳ مورد ۹۹٪ مواردی بوده که شخصاً دیدم.
برای همین خیلی خیلی مهمه که حتی اگر کار فعلی رو توش خبره هستید بازم کدهای دیگران (گیت) بخونید و از لحاظ آموزش آپدیت باشید.
👍24
اگر به شاخه RL علاقمند هستید این سری ویدئوهای جدید کانال یوتیوب تنسورفلو رو از دست ندید :
https://www.youtube.com/c/TensorFlow/videos
https://www.youtube.com/c/TensorFlow/videos
اگر راجب SEER از meta خوندید قبل از اینکه بخواید بحث کنید راجبش یا به سراغش برید
به تعداد پارامترهای مدل هم دقت کنید.
هرکه قدرت پردازشش بیش، دستاوردش بیشتر.
SEER 10B: Better, fairer computer vision through self-supervised learning on diverse datasets
به تعداد پارامترهای مدل هم دقت کنید.
هرکه قدرت پردازشش بیش، دستاوردش بیشتر.
SEER 10B: Better, fairer computer vision through self-supervised learning on diverse datasets
Meta
SEER 10B: Better, fairer computer vision through self-supervised learning on diverse datasets
Meta AI excited to announce new advances in SEER, our groundbreaking self-supervised computer vision model. SEER is now not only much more powerful, it also produces fairer, more robust computer vision models.
👍4
توجه :
حواستون به ورژن 5.18 کرنل لینوکس باشه، استثنا اگر روی سیستم اطلاعات مهم دارید این نسخه رو خیلی سریع آپدیت نگیرید.
توی این نسخه از کرنل بجای قرار C89 به C11 آپگرید بشه (بعد از ۳۰ سال)
دلایلش رو خود لینوس توضیح داده که میتونید بخونید (loop of vulnerability ایی شده واسه خودش 😅)
برای اطلاعات بیشتر :
Kernel C-upgrade explained
حواستون به ورژن 5.18 کرنل لینوکس باشه، استثنا اگر روی سیستم اطلاعات مهم دارید این نسخه رو خیلی سریع آپدیت نگیرید.
توی این نسخه از کرنل بجای قرار C89 به C11 آپگرید بشه (بعد از ۳۰ سال)
دلایلش رو خود لینوس توضیح داده که میتونید بخونید (loop of vulnerability ایی شده واسه خودش 😅)
برای اطلاعات بیشتر :
Kernel C-upgrade explained
👍3
👍3🔥3
TorchStudio
یک IDE تقریباً جدید هست، که شعارش اینه :
فقط وقت لازم هست، کد بزن
مدل هوش مصنوعی و ... رو روی اکوسیستم پایتورچ با چندتا کلیک میسازه و خب توجههارو داره به خودش جلب میکنه.
شخصاً هنوز تست نکردم
(برتری شما، نحوه حل مسئله و نوع تفکر هست قطعاً)
یک IDE تقریباً جدید هست، که شعارش اینه :
فقط وقت لازم هست، کد بزن
مدل هوش مصنوعی و ... رو روی اکوسیستم پایتورچ با چندتا کلیک میسازه و خب توجههارو داره به خودش جلب میکنه.
شخصاً هنوز تست نکردم
(برتری شما، نحوه حل مسئله و نوع تفکر هست قطعاً)
TorchStudio
The PyTorch GUI
👍6🔥6
بعنوان یک SysAdmin - LinuxUser هیچ چیزی مهمتر از راحت بودن توی ترمینال نیست
از انتخاب رنگها و فونت راحت بگیرید (چشم نباید اذیت بشه) تا کانفیگ ابزارهایی برای راحتی
مثل tmux :
امروز اتفاقی موقع کار کردن یکی از بچهها داشتم بهش نگاه میکردم: چون دستهاش نسبت به کیبوردش کوچیک هست
نمیتونه از tmux بخوبی و راحت استفاده کنه (فاصله بین کیلدها و ...)
قطعا خنده دار بود این وضعیت ولی بعدش تصمیم گرفتم کانفیگ tmux خودم رو براش بفرستم؛
ازونجایی که براش مفید بود و دعای خیر بهمراه داشت؛ گفتم با شما دوستان هم به اشتراک بذارم قطعا بکار میاد.
نکتهی مهم :
بعد این کانفیگ بجای Ctrl+B از Ctrl+A استفاده کنید.
نکته دوم اینکه توی محیط گرافیکی میتونید از mouse هم استفاده کنید.
کلیدهای جهت کیبورد + Ctrl+A هم برای جابجا شدن بین بخشهای مختلف ترمینال استفاده میشه.
از انتخاب رنگها و فونت راحت بگیرید (چشم نباید اذیت بشه) تا کانفیگ ابزارهایی برای راحتی
مثل tmux :
امروز اتفاقی موقع کار کردن یکی از بچهها داشتم بهش نگاه میکردم: چون دستهاش نسبت به کیبوردش کوچیک هست
نمیتونه از tmux بخوبی و راحت استفاده کنه (فاصله بین کیلدها و ...)
قطعا خنده دار بود این وضعیت ولی بعدش تصمیم گرفتم کانفیگ tmux خودم رو براش بفرستم؛
ازونجایی که براش مفید بود و دعای خیر بهمراه داشت؛ گفتم با شما دوستان هم به اشتراک بذارم قطعا بکار میاد.
نکتهی مهم :
بعد این کانفیگ بجای Ctrl+B از Ctrl+A استفاده کنید.
نکته دوم اینکه توی محیط گرافیکی میتونید از mouse هم استفاده کنید.
کلیدهای جهت کیبورد + Ctrl+A هم برای جابجا شدن بین بخشهای مختلف ترمینال استفاده میشه.
👍8👏2👎1🎉1
دستاوردهای یادگیری عمیق(InTec)
بعنوان یک SysAdmin - LinuxUser هیچ چیزی مهمتر از راحت بودن توی ترمینال نیست از انتخاب رنگها و فونت راحت بگیرید (چشم نباید اذیت بشه) تا کانفیگ ابزارهایی برای راحتی مثل tmux : امروز اتفاقی موقع کار کردن یکی از بچهها داشتم بهش نگاه میکردم: چون دستهاش نسبت…
.tmux.conf
548 B
👍1👎1
این کتاب رایگان از دانشگاه برکلی شامل همه چیزی هست که قبل از شروع برنامه نویسی ML بهش نیاز دارید (Python - Math)
۱۰۰٪ مفید هست 😉😉😉
Python Programming And Numerical Methods: A Guide For Engineers And Scientists
۱۰۰٪ مفید هست 😉😉😉
Python Programming And Numerical Methods: A Guide For Engineers And Scientists
🔥16
چقدر خوب توضیح داده،
اجرای پایتورچ روی
RaspberryPi
و تفاوت سرعت مدل، وقتی Quantize, Jit استفاده میشه
اولین بار (۴ سال شایدم ۵ سال پیش) که میخواستیم اینکار رو برای یک پروژهای انجام بدیم واقعاً پیر شدیم
اونوقتا هیچکدوم از فریمورکهای مطرح
Raspberry Pi
رو پشتیبانی نمیکرد، ی کامیونیتی گوگل - گیتهاب راه افتاده بود که
Tensorflow
رو از source build میکرد برای همین مدل دیوایسها (همیشه ۲ تا ورژن عقب بود و ما برای مدل اول این رو نمیدونستیم، تنها راهکار retrain بود)
چقدر همه چیز راحت شده (شکر)
RealTime Inference on RaspberryPi with Pytorch
اجرای پایتورچ روی
RaspberryPi
و تفاوت سرعت مدل، وقتی Quantize, Jit استفاده میشه
اولین بار (۴ سال شایدم ۵ سال پیش) که میخواستیم اینکار رو برای یک پروژهای انجام بدیم واقعاً پیر شدیم
اونوقتا هیچکدوم از فریمورکهای مطرح
Raspberry Pi
رو پشتیبانی نمیکرد، ی کامیونیتی گوگل - گیتهاب راه افتاده بود که
Tensorflow
رو از source build میکرد برای همین مدل دیوایسها (همیشه ۲ تا ورژن عقب بود و ما برای مدل اول این رو نمیدونستیم، تنها راهکار retrain بود)
چقدر همه چیز راحت شده (شکر)
RealTime Inference on RaspberryPi with Pytorch
👍7
دستاوردهای یادگیری عمیق(InTec)
cuML is GPU-accelerated machine learning library similar to scikit-learn but made to run on GPU Github link
قبلتر درمورد Rapids بسیار صحبت شد و ابزارهایی که سراغش رفتند و بر پایهی این مورد توسعه داده شدند رو هم ذکر کردم
حالا که Spark نسخه جدید هم داره ازین ابزار استفاده میکنه (spark gpu processing) بهتره دوباره یک سری بهش بزنیم
توی تیم من هم همهی بچههای Data scientist , ML research با این ابزار آشنایی دارند
ولی وقتی دیتا زیاد هست و سرعت محاسبات برامون مهمه و حافظه Gpu کم هست چالش جدی داریم که خب
Cuda Unified Memory
مشکل مارو حل میکنه (آخرین باری که چک کردم با بچههای تیم Data engineering این مورد هنوز روی spark نبود)
خیلی بدرد بخور هست این روش پیشنهاد میدم حتماً چک کنید (مثال روی cuGraph هست)
Medium Blog Post
حالا که Spark نسخه جدید هم داره ازین ابزار استفاده میکنه (spark gpu processing) بهتره دوباره یک سری بهش بزنیم
توی تیم من هم همهی بچههای Data scientist , ML research با این ابزار آشنایی دارند
ولی وقتی دیتا زیاد هست و سرعت محاسبات برامون مهمه و حافظه Gpu کم هست چالش جدی داریم که خب
Cuda Unified Memory
مشکل مارو حل میکنه (آخرین باری که چک کردم با بچههای تیم Data engineering این مورد هنوز روی spark نبود)
خیلی بدرد بخور هست این روش پیشنهاد میدم حتماً چک کنید (مثال روی cuGraph هست)
Medium Blog Post
Medium
Tackling Large Graphs with RAPIDS cuGraph and CUDA Unified Memory on GPUs
Learn how to use Unified Memory and Oversubnoscription to scale cuGraph to utilize datasets 4x larger than what fits into GPU memory
🔥4👍1👎1
شاید برای خیلیها دستمزد دلاری - اسم شرکت و ... خیلی مهمتر از هرچیزی باشه
برای من شعور و رفتار حرفهای از هرچیزی بیشتر اهمیت داره (مخصوصاً وقتی موضوع بحث مدیریت تیم باشه)
توصیه میکنم به همهی نیروهای تازه کار این مورد رو بیشتر از دستمزد دنبالش باشید (قطعاً رستگار میشید)
با این همه اگر کسی نیاز شدید داره (اسم شرکت توی عکس موجود هست پیام بدید به یکی از نیروهاش)
برای من شعور و رفتار حرفهای از هرچیزی بیشتر اهمیت داره (مخصوصاً وقتی موضوع بحث مدیریت تیم باشه)
توصیه میکنم به همهی نیروهای تازه کار این مورد رو بیشتر از دستمزد دنبالش باشید (قطعاً رستگار میشید)
با این همه اگر کسی نیاز شدید داره (اسم شرکت توی عکس موجود هست پیام بدید به یکی از نیروهاش)
👍26👎1
تفاوت کد junior - senior برای استخدام (مصاحبه ۱ ساعت پیش) :
نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید)
نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید
تفاوت سرعت اجرا :
running fib function took 7.486343383789062e-05ms
——————————————————
running fib2 function took 7.152557373046875e-07ms
نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید)
نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید
تفاوت سرعت اجرا :
running fib function took 7.486343383789062e-05ms
——————————————————
running fib2 function took 7.152557373046875e-07ms
👍20👎2🔥2
اینم یک منبع خوب برای تمرین همچین سوالاتی :
LeetCode
خوبی این سایت نسبت به مدلهای دیگه اینه که با خرید اکانت premium حتی میتونید ببینید شرکتهای مختلف مثل آمازون - گوگل و ... چه سوالاتی رو بیشتر پرسیدند توی مصاحبه و اینکه برای این مصاحبهها بهتر آماده بشید
البته نسخه رایگان هم بسیار عالی هست برای تمرین
برای مقایسه :
اکثر جلسات مصاحبه (البته بحث این ۲ تا پست راجب software engineering هست و برای ML / DL / Data Science همچین سوالاتی مطرح نمیشه) بین ۱ تا ۱.۵ ساعت وقت داره که با توجه به توضیحات مسئله - صحبت کلی - پرسیدن نحوه حل مسئله از شما باید بتونید سوالات سخت سایت رو زیر زمان 45 دقیقه حل کنید.
پس فقط حل مسئله نیست که اهمیت داره :
۱- نحوه حل مسئله ۲ - فکر کردن به موارد استثنا (مخصوصا صحبت راجبش قبل از شروع کد زدن) ۳- زمان حل مسئله بسیار مهم هستند.
LeetCode
خوبی این سایت نسبت به مدلهای دیگه اینه که با خرید اکانت premium حتی میتونید ببینید شرکتهای مختلف مثل آمازون - گوگل و ... چه سوالاتی رو بیشتر پرسیدند توی مصاحبه و اینکه برای این مصاحبهها بهتر آماده بشید
البته نسخه رایگان هم بسیار عالی هست برای تمرین
برای مقایسه :
اکثر جلسات مصاحبه (البته بحث این ۲ تا پست راجب software engineering هست و برای ML / DL / Data Science همچین سوالاتی مطرح نمیشه) بین ۱ تا ۱.۵ ساعت وقت داره که با توجه به توضیحات مسئله - صحبت کلی - پرسیدن نحوه حل مسئله از شما باید بتونید سوالات سخت سایت رو زیر زمان 45 دقیقه حل کنید.
پس فقط حل مسئله نیست که اهمیت داره :
۱- نحوه حل مسئله ۲ - فکر کردن به موارد استثنا (مخصوصا صحبت راجبش قبل از شروع کد زدن) ۳- زمان حل مسئله بسیار مهم هستند.
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
👍12❤2👏1
دستاوردهای یادگیری عمیق(InTec)
تفاوت کد junior - senior برای استخدام (مصاحبه ۱ ساعت پیش) : نتایج واضح هست که چه کسی بعنوان senior استخدام میشه دیگه (مصاحبه مختصر و مفید) نکته مهمی که خواسم اشاره کنم اینه که توی مسابقات و مصاحبه استخدام حتما سعی کنید از Generator ها استفاده کنید تفاوت…
بخش کامنت این پست خودش چندتا پست شد
مرسی از دوستان (❤️) کدها بحث جالبی شد.
شاید ازین به بعد یک سری چالش و نحوه حل هم به اشتراک بذارم (همین قدر کوچیک و نکته دار فقط) 🤔
مرسی از دوستان (❤️) کدها بحث جالبی شد.
شاید ازین به بعد یک سری چالش و نحوه حل هم به اشتراک بذارم (همین قدر کوچیک و نکته دار فقط) 🤔
👍13🤔1🎉1
ی وقتایی هم هست که فراموش کردن نکات ساده چندساعت درگیری ایجاد میکنه و کد رو کثیف میکنه
مثل اینکه :
توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این رو داره)
و من ۲ ساعت وقت گذشتم یک کد جدید نوشتم که همین حالات رو برای من detect کنه 🤦🤦
مثل اینکه :
توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این رو داره)
و من ۲ ساعت وقت گذشتم یک کد جدید نوشتم که همین حالات رو برای من detect کنه 🤦🤦
😁11👍3❤1
دستاوردهای یادگیری عمیق(InTec)
ی وقتایی هم هست که فراموش کردن نکات ساده چندساعت درگیری ایجاد میکنه و کد رو کثیف میکنه مثل اینکه : توی پایتون برای for هم else وجود داره؛ اگر break داخل for اجرا شد میره سراغ else (جزو اولین نکتههایی که روی loop توی پایتون آموزش میبینیم، while هم این…
این توضیح ی ایراد بزرگ داشت، فقط ۱ نفر درستش رو گفت :
حلقه فقط وقتی break نشه، else رو اجرا میکنه (توضیح اول من برعکس بود، ادیت نکردم و میخوام به اشتباه بمونه)
چیزی حه میخواستم این بود که اگر break نشد نتیجه رو نگهدار وگرنه محاسبات اشتباه بوده و نتیجه رو ذخیره نکن.
منطقش هم اینه که :
Else
وقتی اجرا میشه که شرط اشتباه بشه چه توی while و چه for وقتی break میخوره، ینی آخرین باری که شرط رو چک کردیم درست بوده و دیگه از بررسی else خارج شده (اگر شرط غلط بود else اجرا میشد)
مرسی از Ali Satvaty که اشاره دقیقی به این موضوع داشت
و Mohammad Reza که پیش تر ی اصلاح ریزی زد رو اشتباه من
حلقه فقط وقتی break نشه، else رو اجرا میکنه (توضیح اول من برعکس بود، ادیت نکردم و میخوام به اشتباه بمونه)
چیزی حه میخواستم این بود که اگر break نشد نتیجه رو نگهدار وگرنه محاسبات اشتباه بوده و نتیجه رو ذخیره نکن.
منطقش هم اینه که :
Else
وقتی اجرا میشه که شرط اشتباه بشه چه توی while و چه for وقتی break میخوره، ینی آخرین باری که شرط رو چک کردیم درست بوده و دیگه از بررسی else خارج شده (اگر شرط غلط بود else اجرا میشد)
مرسی از Ali Satvaty که اشاره دقیقی به این موضوع داشت
و Mohammad Reza که پیش تر ی اصلاح ریزی زد رو اشتباه من
👍7👎4🤔2