<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های احسان عباسی</title>
        <link>https://virgool.io/feed/@ehsanabbasi</link>
        <description>مدیر محصول‌ام</description>
        <language>fa</language>
        <pubDate>2026-06-16 09:06:49</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1239947/avatar/IAHa7t.jpg?height=120&amp;width=120</url>
            <title>احسان عباسی</title>
            <link>https://virgool.io/@ehsanabbasi</link>
        </image>

                    <item>
                <title>پشت‌پرده رندرینگ مرورگر از صفر تا یک</title>
                <link>https://virgool.io/codenevis/%D9%BE%D8%B4%D8%AA-%D9%BE%D8%B1%D8%AF%D9%87-%D8%B1%D9%86%D8%AF%D8%B1%DB%8C%D9%86%DA%AF-%D9%85%D8%B1%D9%88%D8%B1%DA%AF%D8%B1-%D8%A7%D8%B2-%D8%B5%D9%81%D8%B1-%D8%AA%D8%A7-%DB%8C%DA%A9-l4ai59dtsd0d</link>
                <description>چطور یه صفحه وب زنده میشه؟ یه داستان واقعی از دل مرورگر!خب،  یه لحظه تصور کن داری یه آدرس وب تو مرورگرت تایپ میکنی و Enter رو میزنی. انگار داری یه جادوی دیجیتال رو شروع میکنی! یه لحظه بعد، صفحه وب مثل یه نقاشی زنده جلوی چشمت ظاهر میشه. اما پشت این جادو، یه داستان پرهیجان و پیچیده جریان داره که انگار یه فیلم اکشنه، پر از قهرمانهای خاموش مثل DOM، CSSOM و Render Tree که با هم کار میکنن تا این شاهکار رو خلق کنن. آمادهای که پرده رو کنار بزنیم و ببینیم این داستان چطور رقم میخوره؟داستان رندرینگ: از URL تا صفحهای که عاشقش میشیبیا با هم قدم به قدم این ماجرا رو کشف کنیم. من قراره این داستان رو اول به زبون ساده تعریف کنم، انگار داریم دور آتیش قصه میگیم. بعدش، میریم تو عمق ماجرا با جزئیات فنی که انگار داریم نقشه گنج رو باز میکنیم. اینجوری چه تازهکار باشی چه حرفهای، یه چیزی گیرت میاد که بتونی باهاش پز بدی!قدم اول: Navigation and Resource Fetching | پیدا کردن گنج دیجیتالقصه ساده:تصور کن مرورگرت یه کارآگاهه که باید سرنخ پیدا کنه. اول میره دنبال آدرس سرور (مثل پیدا کردن خونه یکی تو یه شهر غریب). وقتی پیداش کرد، در میزنه و میگه: «هی، فایل HTML رو بده!» سرور هم مثل یه میزبان خوب، فایل رو میفرسته و ماجرا شروع میشه.جزئیات فنی:اینجا انگار مرورگر داره یه عملیات مخفی انجام میده:مرحله DNS Resolution: مثل اینه که کارآگاهمون داره تو دفترچه تلفنش دنبال شماره میگرده. مرورگر URL رو به IP تبدیل میکنه. اگه تو کش باشه، زودی پیداش میکنه، وگرنه باید بره سراغ DNS سرورها.مرحله TCP Connection: حالا نوبت یه دستدادن دیجیتاله. مرورگر و سرور یه اتصال TCP میسازن، و اگه HTTPS باشه، یه لایه TLS هم اضافه میشه که انگار دارن رمز مخفی رد و بدل میکنن. مرحله HTTP Request: مرورگر یه درخواست HTTP GET میفرسته، مثل اینه که بگه: «فایل HTML رو بده، عجله دارم!» سرور جواب میده و HTML مثل یه نامه عاشقانه میرسه.مرحله بهینهسازی: برای اینکه کارآگاهمون سریعتر عمل کنه، میتونه از DNS prefetching استفاده کنه یا با HTTP/2 چندتا درخواست رو همزمان بفرسته. انگار چندتا کارآگاه دیگه هم استخدام کرده!قدم دوم: Parsing HTML (Building the DOM) | ساختن اسکلت داستانقصه ساده:حالا که HTML به دستمون رسیده، مرورگر مثل یه معمار شروع میکنه به ساختن یه نقشه درختی به اسم DOM. انگار داره یه خونه میسازه، هر تگ HTML یه آجره که جاشو تو این درخت پیدا میکنه. اگه یه تگ CSS یا JavaScript ببینه، میره دنبالشون، مثل این که وسط ساخت خونه بفهمی نیاز به یه لوستر داری!جزئیات فنی:اینجا ماجرا یه کم پیچیدهتر میشه:مرحله Tokenization: مرورگر HTML رو میگیره و مثل یه کدشکن، تگها، ویژگیها و متنها رو جدا میکنه. حتی اگه HTML یه کم بههمریخته باشه، بازم درستش میکنه (مثل یه مادر مهربون که اتاق بههمریخته بچهشو مرتب میکنه).مرحله Building the DOM: از این توکنها، یه درخت DOM ساخته میشه، که انگار اسکلت کل صفحهست. هر گره تو این درخت یه عنصر یا متن خاصه.مرحله External Resources: اگه وسط کار تگ &lt;link&gt; یا  پیدا بشه، مرورگر میره دنبالشون. CSS render-blockingه، یعنی تا بارگذاریش تموم نشه، کار جلو نمیره. JavaScript هم اگه async یا defer نداشته باشه، همهچیزو نگه میداره تا اجرا بشه.مرحله بهینهسازی: برای اینکه این مرحله تندتر بره، میتونی DOM رو سبک نگه داری یا از server-side rendering استفاده کنی که انگار یه بخشی از خونه رو آماده تحویل دادن!قدم سوم: Parsing CSS (Building the CSSOM) | رنگ و لعاب دادن به خونهقصه ساده:حالا نوبت اینه که خونهمون رو خوشگل کنیم. مرورگر CSS رو میخونه و یه نقشه استایل به اسم CSSOM درست میکنه. این نقشه میگه هر چیزی چه رنگی باشه، چطور چیده بشه، و چه شکلی به نظر بیاد. تا این کار تموم نشه، صفحه نمیتونه نمایش داده بشه، چون هیچکس نمیخواد یه خونه بدون دکوراسیون ببینه!جزئیات فنی:اینجا انگار داریم یه کتاب قانون استایل مینویسیم:مرحله CSS Tokenization: CSS به قطعات ریز مثل selectorها، propertyها و valueها شکسته میشه.مرحله Building the CSSOM: این قطعات یه درخت CSSOM تشکیل میدن که مشخص میکنه کدوم استایل به کدوم عنصر DOM میچسبه. این شامل مدیریت cascade (مثل اینه که قانون مهمتر برنده میشه) و specificity (مثل یه مسابقه که selector دقیقتر امتیاز بیشتری میگیره).مرحله Render-Blocking: چون CSSOM برای رندر لازمه، مرورگر منتظر میمونه تا کامل بشه، وگرنه ممکنه Flash of Unstyled Content (FOUC) پیش بیاد که انگار یکی با لباس زیر تو مهمونی پیداش بشه!مرحله بهینهسازی: میتونی critical CSS رو inline کنی تا سریعتر رندر بشه، یا از ابزارهایی مثل CSSNano استفاده کنی که انگار یه کمد شلوغ رو مرتب کردی.قدم چهارم: Constructing the Render Tree | آماده کردن صحنه نمایشقصه ساده:حالا که اسکلت (DOM) و دکوراسیون (CSSOM) آمادهست، مرورگر این دو تا رو قاطی میکنه تا ببینه چی قراره تو صفحه نمایش داده بشه. به این میگن Render Tree، که فقط چیزایی که دیده میشن رو نگه میداره. مثلاً اگه یه چیزی display: none باشه، انگار اصلاً دعوت نشده به این مهمونی!جزئیات فنی:اینجا انگار داریم یه فیلمنامه نهایی مینویسیم:مرحله Combining DOM and CSSOM: مرورگر DOM و CSSOM رو میگیره و Render Tree رو میسازه، که فقط شامل عناصر قابل مشاهدهست (مثل div، p، یا span که display: none نیستن).مرحله Style Calculation: برای هر گره، استایل نهایی محاسبه میشه، با در نظر گرفتن inheritance (مثل ارث بردن رنگ چشم از بابا) و media queries (مثل این که لباس مناسب فصل بپوشی).مرحله Edge Cases: اگه JavaScript وسط کار DOM یا CSSOM رو تغییر بده، Render Tree باید آپدیت بشه، که انگار وسط فیلم یه بازیگر جدید اضافه شده!مرحله بهینهسازی: از selectorهای ساده استفاده کن و تعداد قوانین CSS رو کم کن تا این مرحله مثل یه نسیم ملایم بگذره.قدم پنجم: Layout (Reflow) | چیدن میز و صندلیهاقصه ساده:حالا که میدونیم چی باید نمایش داده بشه، مرورگر باید بفهمه هر چیزی کجا میره و چقدر جا میگیره. به این میگن layout، مثل اینه که داری یه مهمونی رو پلن میکنی و باید مطمئن بشی همه راحت جا میشن.جزئیات فنی:اینجا انگار داریم یه نقشه مهندسی میکشیم:مرحله Box Model Calculation: برای هر گره تو Render Tree، مرورگر width، height، margin، padding و border رو محاسبه میکنه، مثل این که داره اندازه هر مبل و میز رو چک میکنه.مرحله Positioning: موقعیتها نسبت به viewport یا والد (مثل position: absolute یا relative) تعیین میشن.مرحله Complex Layouts: چیزایی مثل flexbox یا grid یه کم کارو سختتر میکنن، مثل این که بخوای یه پازل سهبعدی حل کنی.مرحله بهینهسازی: برای اینکه layout سریعتر باشه، از will-change برای عناصر متحرک استفاده کن و DOM reads/writes رو دستهبندی کن تا از layout thrashing (مثل قاطی کردن جای مهمونا وسط مهمونی) جلوگیری بشه.قدم ششم: Painting | رنگ زدن دیوارها و آویزون کردن تابلوهاقصه ساده:حالا نوبت اینه که خونهمونو رنگ کنیم و تابلوها رو آویزون کنیم. مرورگر هر چیزی که تو Render Tree هست رو به پیکسل تبدیل میکنه و روی صفحه میکشه. این مرحله paintingه، مثل اینه که نقاش اومده و داره شاهکارشو خلق میکنه.جزئیات فنی:اینجا انگار داریم یه بوم دیجیتال رنگ میکنیم:مرحله Rasterization: هر گره به پیکسل تبدیل میشه، شامل متن، رنگ پسزمینه، border، shadow و تصویر.مرحله Layers: مرورگر ممکنه محتوا رو به لایهها تقسیم کنه (مثل عناصری که transform یا opacity دارن) تا بعداً راحتتر آپدیت بشن، انگار نقاشیهای جداگونهای داریم که میتونیم جابجاشون کنیم.مرحله GPU Acceleration: بیشتر اوقات، painting به GPU واگذار میشه تا سریعتر و روانتر باشه، مثل این که یه نقاش حرفهای استخدام کردیم.مرحله بهینهسازی: برای کم کردن فشار روی نقاش، از CSS سادهتر استفاده کن، مثلاً shadowهای سنگین رو کم کن یا از content-visibility: auto برای چیزایی که فعلاً دیده نمیشن استفاده کن.قدم هفتم: Compositing | جمع کردن همهچیز برای نمایش بزرگقصه ساده:حالا که همهچیز رنگ شده، مرورگر لایههای مختلف رو مثل یه کارگردان فیلم کنار هم میذاره تا تصویر نهایی رو بسازن. به این میگن compositing، مثل اینه که همه بازیگرای فیلم رو تو یه صحنه جمع کردی و گفتی: «اکشن!»جزئیات فنی:اینجا انگار داریم یه فیلم نهایی رو مونتاژ میکنیم:مرحله Layer Composition: لایههای painted با هم ترکیب میشن تا تصویر نهایی ساخته بشه. این کار معمولاً تو GPU انجام میشه، که مثل یه استودیوی تدوین پیشرفتهست. مرحله Efficiency: چون فقط لایههای تغییرکرده آپدیت میشن، چیزایی مثل اسکرول یا انیمیشن خیلی روان اجرا میشن، انگار فقط یه تیکه از پازل رو عوض کردیم. مرحله Edge Cases: اگه تعداد لایهها خیلی زیاد بشه، GPU ممکنه کم بیاره، مثل این که کارگردان بخواد صدتا بازیگر رو تو یه صحنه جا بده!مرحله بهینهسازی: فقط عناصری که واقعاً نیاز به لایه دارن رو ارتقا بده (مثل will-change: transform) و از Chrome DevTools Layers panel برای چک کردن استفاده کن.قدم هشتم: Interactivity (JavaScript Execution and Event Handling) | زنده کردن مهمونیقصه ساده:حالا که خونه آمادهست و مهمونی شروع شده، نوبت اینه که بذاریم مهمونا (کاربرا) برقصن! JavaScript مثل DJ مهمونی عمل میکنه، کاری میکنه که وقتی رو دکمهها کلیک میکنی یا اسکرول میکنی، اتفاقای باحال بیفته.جزئیات فنی:اینجا انگار داریم یه سیستم کنترلی برای مهمونی راه میندازیم:مرحله JavaScript Execution: اگه تگ  باشه، مرورگر اسکریپت رو اجرا میکنه. اگه async یا defer نداشته باشه، parser-blockingه و همهچیزو نگه میداره، مثل این که DJ وسط مهمونی غیبش بزنه.مرحله Event Loop: بعد از رندر اولیه، مرورگر وارد یه حلقه رویداد میشه که به کلیکها، اسکرولها و تایپها گوش میده و JavaScript رو برای مدیریتشون صدا میکنه.مرحله DOM Changes: اگه JavaScript DOM یا CSSOM رو تغییر بده، ممکنه reflow یا repaint راه بیفته، مثل این که وسط مهمونی یکی بخواد مبلا رو جابجا کنه.مرحله بهینهسازی: اسکریپتهای غیرضروری رو با defer بنداز عقب، از web workers برای کارای سنگین استفاده کن، و event listenerها رو debounce کن تا مهمونی روان بمونه.یه کم داستانهای حاشیهای: چیزایی که نباید غافل شیاین داستان فقط به این ۸ مرحله ختم نمیشه. یه سری ماجراهای دیگه هم هست که باعث میشه این نمایش بهتر اجرا بشه:معیارهای مهم:First Contentful Paint (FCP): وقتی اولین چیزی تو صفحه دیده میشه، مثل اینه که پرده تئاتر یه کم باز شده.Largest Contentful Paint (LCP): وقتی بخش اصلی صفحه لود میشه، انگار ستاره اصلی نمایش رو صحنه اومده.Time to Interactive (TTI): وقتی صفحه آمادهست که بتونی باهاش بازی کنی، مثل این که مهمونی به اوجش رسیده.ترفند: با code splitting، lazy-loading و inlining critical CSS میتونی اینا رو تندتر کنی.رندرینگ پیشرونده: مرورگر مثل یه نقاش باحال، هر چی آماده باشه رو نشون میده، حتی اگه هنوز همهچیز کامل نشده باشه. با skeleton screens میتونی کاری کنی که کاربرا حوصلهشون سر نره.حقههای مرورگرهای مدرن:Speculative Parsing: مرورگر یه جورایی پیشبینی میکنه و قبل از اینکه اسکریپتها آماده بشن، کارشو شروع میکنه، مثل یه دستیار باهوش.Preload Scanner: لینکهای منابع رو زودی پیدا میکنه و بارگیریشون میکنه، انگار یه تیم پیشقراول فرستاده.رسانه و فونتها: تصاویر اگه width و height نداشته باشن، ممکنه layout shift راه بندازن، مثل این که وسط مهمونی یکی میزو تکون بده. فونتها هم اگه دیر لود بشن، باعث Flash of Unstyled Text (FOUT) یا Flash of Invisible Text (FOIT) میشن، که انگار خواننده اصلی گروه دیر به صحنه رسیده. با font-display: swap میتونی اینو درست کنی.دسترسیپذیری و موقعیتهای خاص:شبکههای کند نیاز به progressive enhancement دارن، مثل این که مهمونی رو حتی اگه برق بره ادامه بدی.دستگاههای ضعیف نمیتونن انیمیشنهای سنگین رو تحمل کنن، پس باید سادهتر کار کنی.برای دسترسیپذیری، از ARIA attributes و HTML معنایی استفاده کن تا همه بتونن تو مهمونی شرکت کنن.چرا این داستان مهمه؟این قصه فقط یه مشت اصطلاح فنی نیست. این ماجرا درباره اینه که چطور میتونی یه تجربه بسازی که کاربرا عاشقش بشن. اگه این مراحل رو خوب بفهمی، میتونی صفحهای بسازی که سریع لود بشه، روان کار کنه، و حتی تو بدترین شبکهها هم کاربرا رو ناامید نکنه. شرکتهای بزرگ مثل Snap، Tapsi یا Digikala این چیزا رو تو مصاحبههاشون میپرسن، چون میخوان بدونن تو میتونی یه محصول بسازی که هم خوشگل باشه هم کارآمد.پایان داستان (ولی نه واقعاً!)فرآیند رندرینگ مرورگر مثل یه نمایش بزرگه که هر مرحلهاش یه نقش کلیدی داره. از پیدا کردن سرور تا زدن رنگ و لعاب نهایی و زنده کردن صفحه با JavaScript، هر قدم یه تیکه از این پازله. حالا که این داستانو شنیدی، دفعه بعد که یه صفحه وب رو باز میکنی، یه لحظه به این فکر کن که چه ماجراجویی عظیمی پشتش جریان داشته. اگه دوست داری بیشتر تو این دنیای دیجیتال غرق شی، یه سر به MDN Web Docs: How browsers work بزن و خودتو غرق این قصه کن!موردی بود بگو بهم تو کامنتا، باهم گپ بزنیم در موردش!</description>
                <category>احسان عباسی</category>
                <author>احسان عباسی</author>
                <pubDate>Sat, 12 Apr 2025 14:52:09 +0330</pubDate>
            </item>
                    <item>
                <title>سنیور کیست؟ (تعدادی نظرشخصی و تجربی)</title>
                <link>https://virgool.io/@ehsanabbasi/who-is-senior-ontiu7daus3a</link>
                <description>سنیور کیست؟یکی از سوالات اساسی اکوسیستم استارتاپی ایران از بدو شروع تا الان معقوله سنیور و جونیور بودن افراد بوده و معمولا بین علما تفاهم نظری در این باره نیست و عده‌ای معتقدن که کسی که زیر ۱۰ سال تجربه کاری داره نمی‌تونه سنیور باشه یا عده‌ای میگن اصن سنیور بودن به تعداد سال نیست و به تجربه کاریه. از اون سمت گروه دیگه‌ای معتقده که بریز دور همه اینارو و تنها مورد مهم اینکه طرف چقدر بلده اصن! خلاصه اگه مثل من اهل گشتن تو کانال و گروه های تلگرامی باشین یا کف لینکدین دور بزنید قطع به یقین این داستان یقه‌اتون رو یه جایی گرفته و تو دامش گیر کردین. منم وسط این آشفته بازار یهو به سرم زد که بیام و کمی بنویسم و بگم که به نظر من کی میتونه برای درجه سنیور ادم شایسته تری باشه و یا اصن به نظر من کسی که میخواد تو پوزیشن سنیور در یک سازمانی قرار بگیره چه شاخص هایی رو بهتر تیک بزنه.چهار تا تا موضوع رو بهتر همین اول ماجرا بگم: ۱. اصن سنیور بودن یا جونیور بودن یا هرچی مهم نیست! خودتون رو خسته نکنید بابتش ;)۲. این موارد بر اساس تجربه شخصی من به عنوان یک PM نوشته شده و می‌تونه بر اساس درک و تجربیات ادم‌های دیگه متفاوت باشه.۳. من ادعای سنیور بودن ندارم ولی سنیور هارو دوست دارم.۴. پیشاپیش از همین تریبون از سنیور های واقعی و غیر واقعی عزیزی که ممکنه بهشون بربخوره پیشاپیش عذرخواهم و اگه روحیه حساسی دارید توصیه می‌کنم ادامه این متن رو نخونید.اگه نمی‌دونید که سنیور و مدیور و جونیور چیه از اینجا بخونید وگرنه برید یه پارگراف بعد چون اینجا میخوام یکم توضیحات اولیه بدم:تو فضای تکنولوژی و IT و این داستانا، سه درجه برای دسته بندی تخصص و میزان تسلط افراد در رشته کاریشون وجود داره :جونیور (Junior): کسی هست که تازه اومده توی بازار کار مشغول شده و یه مقداری تجربه داره، بیشتر با مفاهیم آشناست و توی تست های خودش و یا محیط های کوچیک چند نمونه کار انجام داده و دانشش بیشتر در حد همون مواردی هست که توی داکیومنت ها خونده یا دوره‌ای که گذروندهمدیور (Medior): کسی که مدتی هست مشغول شده و چند جایی کار کرده و تجربه‌ی نشستن کنار دست سنیورها رو داشته و توی محیط عملیاتی و پروداکشن فعال بوده و بخشی از کارها رو هم انجام داده. دانشش فراتر از داکیومنت ها هست و میتونه تا حدودی مشکلات رو بررسی و ریشه یابی بکنه. تغییرات تا بخش زیادی بر عهده این نفر هست. میتونه توی زمینه کاریش اظهار نظر بکنه و بنا به تجربش میتونه از متد ها و تکنولوژی هایی که قبلا استفاده کرده استفاده بکنه. یک نفر مدیور مسئولیت کاری را که انجام میده رو بر عهده داره. تسک ها و وظایفی که باید انجام بده رو براش مشخص میکنن و زمانبندی بهش میدن تا تکمیلش بکنه.سنیور (Senior): کسی که مدت زیادی هست تو اون پوزیشن مشغول هست و تجربیات سافت اسکیلی هارد اسکیلی بیشتری داره که جلوتر میخوام در مورد این موارد بگم. پ‌ن‌: اینایی که این بالا گفتم تعریف های عمومی بود که کف نت هم ریخته پایین میخوام اصل داستان رو بگم.خب بریم سراغ اصل ماجرا و اینکه سنیور کیست؟ چیست؟ و چه می‌کند؟  مورد اول: سنیور کسی است که Why - How - Where تمام چیزهایی که در طول روز باهاشون سرکله میزنه رو بدونه و درک عمیقی نسبت بهشون داشته باشه.یه ادم اگه داره از ابزاری یا متدلوژی یا فریم‌ورکی و ... استفاده می‌کنه برای سنیور بودن نیازه که دقیقا بدونه اون چیز رو چرا داره استفاده می‌کنه (سایمون سینکی طور بتونه به چرایی هایش جواب بده) و بدونه که چه جوری باید استفاده کنه و اگه داره اینجوری استفاده می‌کنه چرا این روش بهترین روش برای اجراشه و هم‌چنین در مورد زمان بندی درست انجام اون کار یا استفاده از اون ابزار باید دانش نسبتا دقیقی رو داشته باشه. میدونی خلاصه‌اش میشه اینکه باید فلسفه استفاده از اون ابزار یا متد یا ... که اینجا به اختصار چیز نامیده میشه رو تا لایه های عمیقش بلد باشه.مورد دوم: سنیور کسی است که می‌تونه Estimation های نسبتا دقیقی برای انجام تسک های خودش بده.به این مفهومه که تجربه‌اش بهش اجازه میده که مسیر کاری که میخواد انجام بده رو تا حدود شفافی بدونه و تخمین بزنه یا حتی سنس کلی نسبت به مشکلات احتمالی هم داشته باشه. اینکه یه ادمی برای شروع یه کاری یا یک حرفه‌ای میتونه یکراست بزنه به دل تسک ها و بر حسب شرایط بره جلو و تسک دان کنه (ممکنه دو ساعته تموم بشه یا دو روزه یا دو ماهه یا دیده شده اصن هیچ وقت) خیلی خوب و خفنه اما به نظر من برای تبدیل شدن به یه ادم سنیور باید بتونه بعد از گرفتن دیتای دقیق و شفاف (همه DOD و DOR ها) تخمین نسبتا درستی از زمان خروجی کار بده. (نه اور‌استمیت  نه اسپیل اور) مورد سوم: سنیور کسی است که روی مهارت های ارتباطیش کار کرده و میتونه تعامل سازنده ‌ای با نفرات تیم خودش و تیم های دیگه سازمان داشته باشه.به چشمان خویش دیده‌ام که یک مهارت ارتباطی خوب چقدر میتونه در سرعت و کیفیت پیش‌روی تسک ها و هم‌چنین خروجی محصول تاثیر خفنی بزاره و به شخصه معتقدم اگه یک ادمی قراره در لول سنیور قرار بگیره باید بلد باشه که چه جوری ارتباط موثر بگیره و بلد نبودنش اسیب زاست. مورد چهارم: سنیور کسی است که EQ بالایی داره یا روی EQ خودش کار کرده و بلده نسبت به اتفاقات چالش زایی که در محیط کار یا فرایند کاریش پیش میاد واکنش مناسبی رو داشته باشه. اگه قرار یه ادمی لقب سنیور رو یدک بکشه یعنی قراره ازش به عنوان یه عضو کلیدی در سازمان استفاده بشه یا تو اسکواد یا چپتر یا تیم یا هرچی دیگه خودش شرایط رو بدست بگیره و روی خروجی تاثیر مستقیم داشته باشه. تو این فرایند همیشه (قطع به یقین) چالش و مشکل وجود داره ممکنه خودش با نفر تیمش باشه یا تیمش با تیم های دیگه یا دو عضو تیمش باهم دیگه یا اشتباه و خرابی خواسته یا ناخواسته و هر چیزی که فکرشو بکنید. و تو اون لحظه یه ادم سنیور باید روی احساسات خودش کنترل داشته باشه و بتونه شرایط رو مدیریت کنه. (نمیگم در همه‌ی شرایط چون به هرحال قرار نیست پرفکت باشیم و نمیتونیم هم که باشیم حتی به عنوان یک سنیور ولی حداقل در بیشتر مواقع یه سنیور باید بتونه مشکل رو بدست بگیره) مورد پنجم: سنیور کسی است که دائما دنبال یادگیری و اپدیت اطلاعات خودشه و برای این ادم رشد موضوع حیاتیه.راستش الان تو وضعیتی هستیم که اگه یه ادمی بیاد و بگه که من خفن ترین ادم تو موضوع فلان هستم میگم الان یا الان ؟ میدونی با این سرعت رشد اطلاعات و هم‌چنین تنوع موضوعات و اصن کانسپت های یادگیری و دانش مثل مدل تی شیپ و ... نمیدونم که اصن یه ادمی میتونه با همه‌ی این تفاسیر خفن ترین یک موضوع باشه مثلا خفن ترین پروداکت منیجر جهان باشه یا نه. ولی اینو اطمینان دارم که اگه یه مدتی دست به اطلاعاتش نزنه و خودشو اپدیت نکنه قطعا نمی‌تونه خفن ترین ادم محلشون هم باشه چه برسه به جهان. مورد ششم: سنیور کسی است که یاد گرفته که یک محصول خوب حاصل کار تیمی خوبه و من من اضافی نمی‌کنه. شخصا تجربه کار تو تیمی رو داشتم که خفن ترین دولوپر های بین المللی رو با سابقه کاری های محشر تو گوگل و امازون و اوبر و ... کنار خودم داشتم و در همون حین هیچ تیم مارکتینگی نداشتیم! (فاندر خیلی دولپر لاور بود) و محصول نتونست اون موفقیتی رو کسب کنه که شایسته‌اش باشه پس آموختم که یک محصول موفق حاصل یک تیمه نه یک نفر یا چند نفر بلکه تک تک اعضای اون تیم. ( از کاراموزی که تازه اومده تو شرکت گرفته تا مدیرای ارشد و فاندر های اون سازمان) سر این موضوع اینجوریم که ادمی که درک درستی نداره که به تنهایی هیچی نیست و نمیدونه که از یک دولپر خفن یا پروداکت منیجر نابغه یا مارکتر باهوش و ... به تنهایی محصول خفن در نمیاد. نمی‌تونه یک سنیور باشه!دلیلم دارم براش چون بر حسب تجربه است که یه ادم متوجه میشه که محصول خوب مال تیم خوب و یه ادم خوب نهایتا میتونه یه تسک رو خوب دان کنه.مورد هفتم: سنیور کسی است که تجربه شکست رو توی رزومه‌اش داره و هم شکست درست خوردن رو بلده.ادم سنیور هم تا حالا شکست خورده در کنار همه موفقیت‌هاش و هم اینکه از شکست خوردن نمی‌ترسه. فرهنگ باختن و اینکه این موضوع بخشی از مسیر موفقیت یک محصول یا سازمانه چیزیه که تو ادم‌های سنیور زیاد دیدم.مورد هشتم: سنیور بودن بج لینکدین نیست که با دوتا تست بشه چسبوندش رو رزومهفهم اینکه سنیورتی یک فراینده نه یک دستاورد که بگیری قاب کنی گوشه اتاقت و هعی پزشو بدی خودش بخشی از تبدیل شدن به یک ادم سنیور.مورد نهم: در انتها اینکه سنیورهای واقعی دائما جار نمیزنن که من سنیور ام!در این مورد به نظرم هر چی بگم توضیح اضافات خواهد بود. خلاصه که دیگه عرضی نیست و این موضوعات به نظرم چیزایی که باعث میشه بتونیم یک ادم رو سنیور خطاب کنیم و هم‌چنین اگه سودای سنیور بودن در سر داریم بدونیم باید رو چه موضوعاتی کار کنیم تا در زمره سنیور ها محسوب بشیم. من از دل تجربیات خودم نوشتم و به مرور که چیز جدیدی بیاموزم یا تجربه کنم میام و این لیست رو اپدیت می‌کنم. شماهم اگه سنیور هستید یا سنیور شناس خوبی هستید یا مثل من سنیور هارو دوست دارید از تجربیاتتون برام بنویسید. هم‌چنین اگه این سبک نوشته ها باحاله براتون منو می‌تونید تو کانال تلگرامم (Productic) و از طریق لینک زیر پیدا کنید: https://t.me/productic1دمتون گرم :)</description>
                <category>احسان عباسی</category>
                <author>احسان عباسی</author>
                <pubDate>Mon, 03 Jul 2023 02:22:56 +0330</pubDate>
            </item>
                    <item>
                <title>اجایل چیست ؟ ( 4 ارزش اصلی + 12 اصل )</title>
                <link>https://virgool.io/@ehsanabbasi/%D8%A7%D8%AC%D8%A7%DB%8C%D9%84-%DA%86%DB%8C%D8%B3%D8%AA-4%D8%A7%D8%B5%D9%84-12%D8%A7%D8%B1%D8%B2%D8%B4-bzqqfovplrmz</link>
                <description>توی اولین بخش بریم سراغ اینکه اجایل چیه و بعد از اون میریم سراغ اینکه چه جوری اجرا میشه.اجایل یک متدولوژی نیست! اولین نکته در مورد اجایل اینکه اجایل بر خلاف باور خیلی از افراد یک متدولوژی نیست چون متدولوژی از متد ها، فرایند ها و قوانین برای یک دیسیپلین خاص تشکیل شده است اما اجایل به طور مشخص از نسخه پیچی یک متد یا یک فرایند خاص خود داری کرده.اجایل چی هست ؟اجایل در واقع مجموعه ای از اصول و ارزش هاست. به این مفهوم که اگه شما به این اصول و ارزش ها در شرکت خودتون پایبند باشید به این مفهومه که شما و شرکتتون اجایل یا چابک هستید.اجایل از کجا شروع شد ؟ سیستم های مدیریت پروژه تا سالهای اواخر دهه 90 به شیوه Waterfall داشت پیش میرفت. به خاطر اشکالاتی که روش ابشاری در سیستم مدیریت پروژه داشت در فوریه سال 2001 در Snowbird ایالت یوتا 17 نفر از صاحب نظران در این زمینه دور هم جمع شدند و به یک جمع بندی در مورد توسعه چابک یا همون اجایل رسیدند.نویسندگان این مانیفست بیان کردند: &quot;ما با توسعه نرم‌افزار و کمک به دیگران در انجام آن، در حال کشف راه‌های بهتری برای توسعه نرم‌افزار هستیم&quot;.4 ارزش اصلی اجایل افراد و تعاملات بالاتراز فرایندها و ابزارها هستند.نرم‌افزاری که کار کند بالاتر از مستندات جامع است.مشارکت مشتری در انجام کار برتر از قرارداد کاری است.پاسخگویی به تغییرات بالاتر از پیروی از یک طرح ثابت است.چهار ارزش اصلی اجایل اصول 12 گانه اجایل برای اجرایی سازی 4 ارزش اصلی، 12 اصل شده تا به شما کمک کند تا تصمیمات بهتری رو بگیرید. ( تصمیمات اجایل تر، تصمیمات بهتر برای توسعه )1- رضایت مشتری : بالاترین الویت است که از طریق تحویل به موقع و مداوم محصول ( نرم افزار ) محقق خواهد شد.2- استقبال از تغییر: تغییرات در پروژه های نرم افزاری اجتناب ناپذیر هستند، حتی تغییراتی که در اواخر کار توسط مشتری درخواست شده است نیز از آنها استقبال می شود.3- ترجیح بر آن است که در تفکر چابک،محصولات در بازه های زمانی کوتاه ( بین چند هفته تا چند ماه) و بصورت مکرر، به مشتری تحویل داده شود. 4- همکاری و مشارکت ذینفعان باید در طول چرخه حیات پروژه ( بصورت روزانه ) وجود داشته باشد.5- انگیزه: پروژه ها را با استفاده از  افراد با انگیزه بسازید، به اعضای تیم خود اعتماد کنید تا احساس مسئولیت پذیری داشته باشند تا کارها به خوبی انجام شود.6- گفتگوی رو در رو، موثرترین روش انتقال اطلاعات به تیم پروژه می باشد.7- در تفکر چابک، تحویل محصول ( نرم افزار ) کاربردی به مشتری، عامل نهایی است که پیشرفت پروژه را اندازه گیری می کند.8- حفظ تداوم پایدار: فرآیندهای چابک باید به سمت توسعه پایدار حرکت کنند بطوری که ذینفعان تجاری، حامیان و کاربران قادر باشند سرعت پیشرفت را با روند ثابت در طول چرخه حیات پروژه حفظ کنند.9- نظارت و توجه منظم باعث افزایش چابکی شده و به برتری فنی و طراحی خوب محصول منجر خواهد شد.10- سادگی یک ضرورت است، همه چیز ها را ساده نگه دارید و از انجام کارهای کم اهمیت اجتناب کنید.11- تیم های چابک خود هدایت و سازماندهی می شوند و نیازی به گفتن آنچه باید انجام شود، نیست.12- لازم است تیم پروژه در فواصل منظم، کارهای خود را بررسی کند و اگر روشی برای موثرتر شدن و  پیشبرد سریع تر پروژه وجود دارد، رفتار خود را مطابق آن هم سو کند، که این اصل یکی از حیاتی ترین اصول تفکر چابک می باشد.خلاصه داستان اگر سازمان، شرکت یا تیم شما در مسیر توسعه ی محصولات خودش در چهارچوب این 4 ارزش و 12 اصل قرار بگیرد به این مفهومه که شما دارید به صورت اجایل یا چابک کار میکنید.لینکدین من : https://www.linkedin.com/in/abbasiehsan/</description>
                <category>احسان عباسی</category>
                <author>احسان عباسی</author>
                <pubDate>Tue, 05 Oct 2021 22:29:48 +0330</pubDate>
            </item>
            </channel>
</rss>