Frontend with Erfun👨🏻‍💻
221 subscribers
40 photos
21 videos
4 files
76 links
اینجا یه سری رفیقیم که میخوایم کنار هم خیلی استاندارد از
تجربیات مثبت و منفی همدیگه در مسیر پیشرفت استفاده کنیم🤍
Download Telegram
از اون دوره هایی که مهندسای سنیور واسه پیشرفت میبینن ولی به کسی لو نمیدن😂
10
به زودی یه پست براتون میذارم و معرفی میکنم که استفاده کنید و عشق کنید.
🔥83🙏3
وبسایت اولی که بهتون میخوام معرفی کنم Frontend Masters هست.
با هر سطحی که هستید دوره های فوق العاده و مناسبی رو براتون داره.

میتونید اشتراکشو از سایت های ایرانی بگیرید مثل لایسنس مارکت و غیره.
میتونید هم از سایت های مختلف رایگان دانلود کنید. شخصا این کار رو پیشنهاد نمیکنم چون کاملا غیر اخلاقیه.
4
Media is too big
VIEW IN TELEGRAM
و همونطور که میبینید مدرس هاشم آدمای الکی نیستن.
مثلا این دوره golang رو مهندس ارشد نرم افراز توی Twitch تدریس میکنه.
3🔥2
فرانت اند که مهندسی نرم افزار نیست. فرانت اند که برنامه‌ نویسی نیست.

چقدر تاحالا اینو‌ از بک اند دولوپرا شنیدید و راجع به تخصص خودتون شک کردید؟
اما جواب به این ادعا چیه؟

سکوته عزیزان
جواب بعضیا خاموشی‌ست

ریشه‌ی این طرز فکر که میگن فرانت اند‌ ساده‌س و فرانت اند فقط ui هست و فرانت رو فقط یک پوسته میدونن، از دوران MVC میاد که خود بک اند دولوپرا واسه اینکه دیتاشونو نمایش بدن صرفا یه html/css نیاز داشتند و همه چیز رو سمت سرور یا همون بک اند هندل میکردند.
3👍1
واقعیت امر اینه که امروز فرانت اند یکی از پیچیده ترین لایه های مهندسی نرم افزار حساب میشه!

سیستمی که از بخش های به شدت مهمی از جمله موارد زیر تشکیل میشه و وظیفه توسعه دهنده فرانت اند هست که‌ تمامی این لایه هارو‌به‌ خوبی مدیریت کنه:

1. State management, architecture-level design
• Redux, Zustand, Jotai, Context APIs و patternهایی مثل CQRS, Event-driven UI
• هماهنگی بین view و state و تعامل کاربر
• Handling race conditions، memory leak, performance bottlenecks in UI
• Optimistic UI updates, debouncing, throttling and async flow design

2. Design System و Component Architecture
• Design tokens، Theming، accessibility (a11y)، reusability
• Microfrontends، modular architecture (atomic design, presenter/container pattern)

3. Performance Optimization در UI
• Lazy loading، code splitting، hydration strategies، prefetch، server components در Next.js
• Core Web Vitals: LCP, FID, CLS و impact مستقیم روی سئو و درآمد شرکت


4. Testing + CI/CD pipelines

5. Security
• XSS, CSRF, clickjacking و محافظت در برابر حملات سمت کاربر
• Content Security Policies، SameSite cookies، frontend-level sanitization


—————

همینطور دنیایی که روز به روز داره تکنولوژی هاش اپدیت میشه و از RSC یا react server components گرفته تا موارد پرفورمنسی‌ و متود های رندرینگ متنوع و hydration strategy های مختلف. همه و همه فرانت اند رو به سمت یک فضای مهندسی‌ پیچیده و دقیق میبره.
🙏21
متاسفانه امروز توی یک ایونت بودم که بحث آزاد بود و درصد زیادی از بحث فقط سر این بود که بک اند خفنه فرانت بدرد نمیخوره. و از آدمایی که خودشونو خیلی خفن میدونن و اسمای خفن روی‌ خودشون میذارن حرفایی میشنیدی که با خودت میگفتی چقدر یه نفر با این عناوین سازمانی میتونه تفکرش outdated و کهنه و ضعیف باشه!

خودشونم آخر هر بحثشون به این میرسیدن که آره توی بک‌ اند ادما خیلی بیشتر میتونن shit code بزنن.
توی بک اند دیباگ در فلان لول دهن آدمو اذیت میکنه.

و معلوم بود که دانش و آگاهیشون آقایون ظاهرا CTO از فرانت اند صرفا html css بود.
همون سطح دانشی که ما باهاش شروع کردیم و گفتیم فرانت راحته میشه زود به درآمد رسید😂🙃
3
و کلام آخر

اینو یادتون باشه کسایی که میگن فرانت فقط ui هست، وقتی بهشون بگی بک اند هم فقط API هست انگار نمک ریختی رو زخمشون و خودشونو به آب و آتیش میزنن که به تویی که تاثیری روی مسیرشون نداری ثابت کنن اشتباه فکر میکنی.😂

شخصا به عنوان frontend team lead یک اپلیکیشنی که توی ساعات اولیه پابلیش ۱۰ ها هزار کاربر فعال گرفت. اونم توی نسخه اولیه…، فقط در برابر این جمع سکوت کردم چون میدونستم غیر از اینکه انرژی خودمو هدر بدم هیچی نداره.

ولی صحبتمو گذاشتم برای شما بکنم و بهتون بگم بدون شک و‌ تردید در گوشاتونو ببندید و توی مسیری که بهش علاقه دارید پر قدرت ادامه بدید❤️❤️👊🏻
3🙏2🔥1
Frontend with Erfun👨🏻‍💻 pinned «فرانت اند که مهندسی نرم افزار نیست. فرانت اند که برنامه‌ نویسی نیست. چقدر تاحالا اینو‌ از بک اند دولوپرا شنیدید و راجع به تخصص خودتون شک کردید؟»
1
نه بابا فرانت اند دولوپرا که مهندس نرم افزار نیستن. کارشون نقاشیه.
2
Frontend with Erfun👨🏻‍💻
نه بابا فرانت اند دولوپرا که مهندس نرم افزار نیستن. کارشون نقاشیه.
CS: computer science
همون علوم کامپیوتر‌ و اطلاعات پایه و عمیق مهندسی نرم افزار میشه.
هوش مصنوعی جای فرانت اند دولوپر هارو اول میگیره؟؟

چرا با این فکر علاقتونو میذارید کنار واقعا…؟
3
واقعا وقتی خیلی توی یه موضوع عمیق میشید عملا برای کار کردن باهاش براتون گلوگاه ذهنی ایجاد میشه:)

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

برای همینه team lead ها یا senior ها کمتر کد میزنن. اینقدر همه چیز رو میدونن و با فهمیدن خیلی چیزا تازه متوجه این موضوع شدن که "چقدر هیچی نمیدونن" کلا حرکت کردن با فکر و روح آزاد براشون سخت میشه.

در نتیجه بنظرم تا یه حدی بیشتر توی ابزاری که دارید باهاش کار میکنید عمیق نشید.

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

بجای اینکه مثل یه حکیم پیر بشید توی کارتون. یه جوون قوی و سریع باشید که مسائل رو واقعا حل میکنه.
👍32
امروز یه ارائه فنی برای بچه های تیم فرانت اندمون دارم
قراره مسائل عمیقی از nextjs رو براشون بگم که محصول با کیفیت تری بسازیم.
(پروژه فوتبالی قبلا روی انگولار بوده و توسعه دهنده هاش تازه به ریکت مهاجرت کردند)

داشتم برای خودم یه سری مسائل رو مرور میکردم

و یه جایی یهو بیدار شدم حقیقتا...
که این عمق از درک اینکه دقیقا یه چیزی چطور داره کار میکنه واقعا مسئله ای رو از من حل میکنه یا نه؟...
آیا من قراره فریمورک nextjs رو بازنویسی کنم؟!
یا قراره صرفا ازش استفاده کنم؟

بله درک تا یه جایی خوبه.
ولی با دونستن همه چیز راجع به اینکه موتور ماشین چطور کار میکنه و دقیقا سیستم انتقال قدرت هر لحظه داره چه تجربه ای رو پشت سر میذاره شمارو یه راننده خوب نمیکنه. شاید یه مکانیک خوب بکنه که این مسئله‌ی شما توی خیابون و ترافیک نیست...
در راستای تاثیر ai روی افرادی که تازه شروع کردن
یکی اونایی که میبینن ai هست و موقعیت رو برای خودشون برای یادگیری غیر ممکن و بدون آینده میبینن برام خنده داره

یکی هم خنده دار تر، اونایی که میبینن ai هست خودشونو همه کاره جا میزنن:))
طرفو باهاش حرف میزنی هیچی حالیش نیست ولی همه جور پروژه ای میزنه. نمیدونم بک اند بدی میزنه فرانت بدی میزنه دواپس بدی کار میکنه دیزاین هرچیییی.
بعد وقتی داری باهاش صحبت میکنی یه کلمه در میون اینارو میشنوی:
ai
LLM
grok
gpt
4o
Gemeni
...

نه که استفاده کردن از اینا بد باشه ها...
بحث اینه که این افراد دیگه یباره بالا خونه رو دادن اجاره و اوج زحمتی که میکشن تمدید اکانت cursor یا نمیدونم copilot های مختلفه
6🤔1
اگر با چیزی جوری رفتار کنید که انگار مال خودتونه. بقیه هم با شما جوری رفتار میکنن که انگار صاحب اون هستید.

این متن دقیقا نشون میده نشون دادن حس ownership نسبت به پروژه و محصول توی تیمتون و حس مسئولیت فراتر و دغدغه های سطح product داشتن چجوری باعث پیشرفتتون میشه.

راه های دیگه الکی شمارو به دور زدن دور خودتون میکشونه.
ولی وقتی برسید به لولی که بجای بحث سر اینکه از چه کتابخونه ای استفاده بکنید، موضوع بحثتون محصول، کاربر، تجربه کاربری و در نهایت رسوندن پروژه به لول های بالاتر از نظر درآمد و ترافیک باشه، اونجا دیگه به شما به چشم یک دولوپر نگاه نمیکنن. به دید یک leader واقعی تو تیم خودش نگاه میکنن. و این عادت و دیدگاه هرچقدر بره بالاتر همینطور رشد میکنید تا جایی که چشم باز میکنید میبینید CTO (مدیر فنی) شدید.
5🙏1
واقعا این موضوع رو خیلی خوب فهمیدم این مدت.
که اینکه شما جونیور باشید یجا، مید لول باشید، سنیور باشید، تیم لید باشید یا حتی تک لید یه کمپانی
شاید تا حدی وابستگی به دانش فنیتون داشته باشه، ولی اصل ماجرا راجع به نگاه شما به محصوله.
چون واقعا همه چیز راجع به محصوله.
لزوما وقتی یک نفر رو میبینید میگه من مدیر فنی ام یا تیم لید هستم با خودتون فکر نکنید که وااای چقدر طرف دانشش بالاس چقققدر خفنه. (که خب طبیعتا اینطور هست) ولی این موضوع اصلی نیست. موضوع اصلی و مشخص کردن سطح یه نفر توی کمپانی فقط و فقط به سطح دغدغه اون طرف نسبت به محصول برمیگرده و بس.
5🙏1
توی همین فوتبالی به چشم دیدم که چطور یه نفر از تیم پشتیبانی و تست بخاطر دغدغه و حساسیتی که سر کیفیت محصول داشت پروموت شد و الان مالک محصول هست! (محصول کلوپی)