خرسِ برنامه نویس – Telegram
خرسِ برنامه نویس
239 subscribers
184 photos
12 videos
1 file
307 links
من 5 درصد موسیقی ام! 30 درصد خواب! و بقیه به دنبال یافتن چیزی !!!
Download Telegram
3. What defines a good design? While interpretations may vary, in the context of user experience, a design is only truly effective if it solves a real problem. Most of the time, that problem is tied to a business objective—something that supports growth, efficiency, or strategic goals. Yet, if we are committed to a user-centered design approach, our solutions must also be intuitive and accessible to the people who will interact with them.
One aspect often overlooked is the influence of others involved in the project. Crafting an exceptional product is not enough; gaining the support of your team, stakeholders, and collaborators is equally critical. Without that alignment, even the most well-executed design cannot move forward.
The distinction between a good designer and a great one lies in the ability to not only solve problems through design but also to clearly and convincingly communicate how the solution addresses those problems. This clarity fosters understanding, builds consensus, and earns the trust needed to proceed.
In essence, every successful design should meet three fundamental criteria:
1. It addresses a meaningful problem.
2. It is intuitive and easy to use.
3. It has the support of the broader team and stakeholders.

These principles form the foundation of a great user experience—one that is both practical and persuasive. Projects that fall short usually lack strength in one of these areas. When all three are in place, the path to success becomes far more attainable.

تعریف یک طراحی خوب چیست؟ با اینکه برداشت‌ها ممکن است متفاوت باشند، اما در زمینه تجربه کاربری، یک طراحی زمانی واقعاً مؤثر است که یک مشکل واقعی را حل کند. در اغلب موارد، این مشکل با یک هدف تجاری گره خورده است—چیزی که به رشد، کارآمدی یا اهداف استراتژیک کمک کند. با این حال، اگر به رویکرد طراحی کاربرمحور پایبند باشیم، راه‌حل‌های ما باید در عین حال برای کاربران نیز شهودی و قابل‌دسترسی باشند.

یکی از جنبه‌هایی که اغلب نادیده گرفته می‌شود، تأثیر افرادی است که در پروژه دخیل هستند. ساختن یک محصول عالی به‌تنهایی کافی نیست؛ جلب حمایت تیم، ذی‌نفعان، و همکاران نیز به همان اندازه حیاتی است. بدون این هم‌راستایی، حتی بهترین طراحی هم نمی‌تواند به مرحله اجرا برسد.

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

در اصل، هر طراحی موفق باید سه معیار اساسی را برآورده کند:
۱. یک مشکل معنادار را حل کند.
۲. شهودی و آسان برای استفاده باشد.
۳. از حمایت تیم و ذی‌نفعان برخوردار باشد.

این اصول، پایه‌گذار یک تجربه کاربری عالی هستند—تجربه‌ای که هم کاربردی است و هم متقاعدکننده. پروژه‌هایی که شکست می‌خورند، معمولاً در یکی از این سه حوزه ضعف دارند. اما وقتی هر سه فراهم باشند، مسیر موفقیت بسیار هموارتر خواهد بود.
#BetterSoftwareEngineer
👍4🔥2
4. When working on a design, it’s essential to remain consciously aware of every decision you make and the reasoning behind it. You should continuously ask yourself, “What problem am I trying to solve with this?” Staying mindful of every change, addition, or reorganization you implement is crucial to discovering the right interface. These often unconscious choices hold the key to articulating your design rationale to others and ensuring your expert insight remains central to the final decision-making process.
The most effective way to achieve this is by writing your decisions down. Translating unconscious thought into a tangible format helps you recall and reflect on the reasoning behind your work. Since you’re addressing measurable problems, clearly document each one, followed by the design decisions made to solve it. Whatever form this documentation takes, the goal is to ground your thinking in concrete, explainable terms.

هنگام کار روی یک طراحی، ضروری است که نسبت به هر تصمیمی که می‌گیری و دلیل پشت آن، آگاهی کامل داشته باشی. باید مدام از خودت بپرسی: «با این تصمیم دقیقاً چه مشکلی را دارم حل می‌کنم؟» آگاه‌بودن نسبت به هر تغییری که اعمال می‌کنی—چه اضافه‌کردن، حذف یا بازآرایی—برای رسیدن به رابط کاربری درست حیاتی است. این تصمیم‌های ناخودآگاه در واقع کلید توضیح منطق طراحی تو برای دیگران هستند و کمک می‌کنند تخصصت در تصمیم‌گیری نهایی نقشی محوری داشته باشد.

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

#BetterSoftwareEngineer
🔥6
خرسِ برنامه نویس
4. When working on a design, it’s essential to remain consciously aware of every decision you make and the reasoning behind it. You should continuously ask yourself, “What problem am I trying to solve with this?” Staying mindful of every change, addition,…
4/1.
این وسط یه نکته ریز!

لازم نیست این یادداشت‌ها را با مشتری یا ذی‌نفعان به اشتراک بگذاری.
شاید هیچ‌وقت آن‌ها را نبینند، و اشکالی هم ندارد.
هدف بیشتر پیداکردن سر مقصد است تا ارتباط برقرار کردن با دیگران.
نکته اصلی این است که نوشتن درباره آن‌چه طراحی می‌کنی، به مغزت کمک می‌کند بین مشکلی که روی آن کار می‌کنی و راه‌حلی که طراحی ارائه می‌دهد، ارتباط برقرار کند. هرچقدر در ایجاد این ارتباط‌ها بهتر عمل کنی، برای صحبت‌کردن درباره‌شان با دیگران هم آماده‌تر خواهی بود.
مهم نیست از چه روشی استفاده می‌کنی، هدف این است که روند فکری‌ات را به چیزی واقعی، قابل‌اشتراک‌گذاری و قابل‌دیدن تبدیل کنی—تا بتوانی کلماتی پیدا کنی که به کمک آن‌ها، طراحی‌ات را برای دیگران به‌روشی قابل‌درک توضیح دهی.
🔥7
خرسِ برنامه نویس
4/1. این وسط یه نکته ریز! لازم نیست این یادداشت‌ها را با مشتری یا ذی‌نفعان به اشتراک بگذاری. شاید هیچ‌وقت آن‌ها را نبینند، و اشکالی هم ندارد. هدف بیشتر پیداکردن سر مقصد است تا ارتباط برقرار کردن با دیگران. نکته اصلی این است که نوشتن درباره آن‌چه طراحی…
5. Usability comes down to two key principles: common sense and research. At the start of a project, when data may be limited, designers must rely on experience and intuition to create simple, practical solutions. Overthinking should be avoided—do what makes sense and move forward.
However, assumptions don’t always align with user behavior. That’s where research becomes essential. While analytics can show what users did, they don’t explain why. To truly understand the impact of design decisions, direct observation through usability testing is necessary. Make informed guesses, validate them with real users, and take notes—you’ll gain valuable insights and be better equipped to justify your choices.

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

#BetterSoftwareEngineer
🔥4👍2
خرسِ برنامه نویس
5. Usability comes down to two key principles: common sense and research. At the start of a project, when data may be limited, designers must rely on experience and intuition to create simple, practical solutions. Overthinking should be avoided—do what makes…
6. Solving problems and creating user-friendly designs isn’t enough—stakeholder support is essential for progress. Even the most innovative solution will struggle if your team doesn’t understand or align with your vision.
Without clear buy-in, you risk repeating the same discussions, defending decisions that weren’t effectively communicated. Unconvinced stakeholders will continue to suggest alternatives, expanding the project scope with new features and requests. This slows down development and dilutes the user experience. Ultimately, lack of alignment can result in a compromised product—not because the design was flawed, but because it wasn’t clearly explained or supported.

حل مسئله و ساختن طراحی‌هایی کاربرپسند به‌تنهایی کافی نیست—حمایت ذی‌نفعان برای پیشرفت ضروری است. حتی نوآورانه‌ترین راه‌حل هم اگر تیم نتواند دیدگاه تو را درک کند یا با آن همراه نباشد، به سختی پیش خواهد رفت.
بدون جلب حمایت شفاف، احتمال اینکه گفتگوهای تکراری پیش بیاید و مجبور شوی از تصمیم‌هایی که خوب منتقل نشده‌اند دفاع کنی، زیاد است. ذی‌نفعانی که قانع نشده‌اند، مدام پیشنهادهای جایگزین می‌دهند و با ویژگی‌ها و درخواست‌های جدید، دامنه پروژه را گسترش می‌دهند. این روند توسعه را کند می‌کند و تجربه کاربری را از هدف اصلی‌اش دور می‌سازد.

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

#BetterSoftwareEngineer
4🔥3
خرسِ برنامه نویس
6. Solving problems and creating user-friendly designs isn’t enough—stakeholder support is essential for progress. Even the most innovative solution will struggle if your team doesn’t understand or align with your vision. Without clear buy-in, you risk repeating…
7. To effectively communicate your design decisions, you should be able to answer three key questions:
- What problem does it solve?
- How does it impact the user?
- Why is it better than the alternative?

Answering these questions isn’t just for documentation—it’s a way to clarify your own thinking. By doing so, you’ll be better prepared to defend your choices and address stakeholder concerns with confidence. These responses become the foundation for meaningful discussions around your design.


برای اینکه بتوانی تصمیم‌های طراحی‌ات را به‌طور مؤثر منتقل کنی، باید بتوانی به سه سؤال کلیدی پاسخ بدهی:
- این طراحی چه مشکلی را حل می‌کند؟
- چه تأثیری بر کاربر دارد؟
- چرا از گزینه‌های دیگر بهتر است؟


پاسخ‌دادن به این سؤال‌ها فقط برای مستندسازی نیست—بلکه راهی است برای شفاف‌سازی افکارت. با این کار، آمادگی بیشتری برای دفاع از انتخاب‌هایت خواهی داشت و می‌توانی با اطمینان به نگرانی‌های ذی‌نفعان پاسخ بدهی. این پاسخ‌ها پایه‌ای برای گفت‌وگوهای معنادار درباره طراحی تو خواهند بود.

#BetterSoftwareEngineer
🔥7👍1
😁
🤣6🔥3😁1
WorkWeave + CodeRabbit + Azure/AWS + Github + Slack + Sentry = 💛
🔥5
واقعا ادیتور کمترین اهمیت رو داره با هرچی که راحتید همون بهترینه!
👍5🔥3
درک ریاضیات و مدل کردن مسائل به زبان ریاضی دیروز کمکم کرد، مسئله یکی از دوستان رو درمورد نرم افزارش که دوسال هست باهاش درگیره رو حل کنیم. ( مسئله بیشتر فلسفی بود و حول محور تعریف پروژه میگشت )
این شد به این سوال فکر‌ کنم که آیا یک کورس خیلی کوتاه (تماما متنی!) درمورد درک ریاضیاتی از پدیده ها در مدل کردن نرم افزار بسازم؟

پ.ن: من تحصیلاتم ریاضیات نیست صرفا مطالعه شخصی بوده
👍12🔥2👎1
یه سوال کوتاه و مهم، فرض کنیم که شما یک Data Aggregator دارید، که از اپلیکیشن های دیگه دیتا میگیره.
وقتی اوردر‌ دیتا از چند میلیون بیشتر میشه و تو هر API کال فقط 100 تا رکورد برمیگردونه، شرایط رو چطور هندل میکنین؟
3🔥3
- منظورم از شرایط (گرفتن دیتا و نورمالایز کردنش و نگهداری)
- سرعت خیلی مهمه
- فرض کنین بیشتر از 1,000 تا کال در ثانیه هم نمیتونید بزنید به provider.
🔥5
Audio
صوت جلسه 22
بعد از تعطیلات عید، یک جلسه جذاب دیگه با همراهی بهنیا عزیز
🔥6
Forwarded from TondTech (مسعود بیگی)
به نظرم واقعا Vibe Coding عالیه!
اما نه برای ساخت یک محصول برای پروداکشن، بلکه برای تست و تمرین به نظرم خیلی کمک کننده ست.

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