شاید یکی از متداولترین مسائل در اکثر پروژه‌ها عدم شناخت نیازمندی‌ها توسط پیمانکار باشه که منشا سایر مشکلات مانند تغییر زیاد خصوصیات و قابلیت‌های نرم افزار و در نتیجه تغییر زیاد کدهای نوشته شده و طولانی شدن زمان تحویل و دلسردی بابت میزان و به موقع بودن پرداخت‌ها بشه. بنابر این به همه دوستان پیشنهاد میکنم این دو نکته حتما کمکتون میکنه هنگام بستن قرارداد و انجام پروژه:
1- از کارفرما بخواهید نیازمندیهای پروژه رو بصورت مستند به شما تحویل بدن که ضمیمه قرارداد کنید.
2- مورد دوم اینکه در قرارداد حتما ذکر کنید که هر گونه تغییری که در لیست نیازمندی‌ها بصراحت ذکر نشده باشه به هزینه انجام پروژه و زمان پروژه اضافه خواهد کرد.
فکر کنم با این دو بند خیلی از مشکلات کمتر پیش بیاد و همینطور پیمانکار بیشتر تلاش میکنه که تعریف و تحقیق دقیقتری در مورد پروژه انجام بده.
‫۷ سال و ۲ ماه قبل، شنبه ۱۰ تیر ۱۳۹۶، ساعت ۱۵:۲۳
یک اتومبیل گلف بازی کوچک رو در نظر بگیرید (golf cart) . اگر بجای چرخ‌های کوچک آن چرخ‌های ماشین دو دیفرانسیل هم ببندید باز همان ماشین گلف است. این اتفاقیه که در طول این سالها برای زبان جاوا اسکریپت افتاده
‫۷ سال و ۲ ماه قبل، شنبه ۱۰ تیر ۱۳۹۶، ساعت ۱۵:۱۴
متاسفانه اغلب شرکتهای توسعه نرم افزار بدلیل تعهدات زمانی نامعقول و یا عدم بهره گیری از تیم توسعه با دانش فنی مناسب با مشکلات عدیده ای مواجه اند. این شرکت‌ها با اسکرام بیگانه اند یا وقت رعایت چارچوبهای آنرا ندارند و یا نوشتن آزمونهای واحد رو کاری اضافی (یا به اصطلاح سوسول بازی میدونند) و شاید در طول فرآیند توسعه حتی یک ریفکترینگ ساده کد هم صورت نگیرد و به کار کردن کد رضایت بدهند و مواردی از این دست.
در چنین شرکتهای بحران زده ای کار کردن بسیار دشواره.
عدم رعایت اولویت بندی مناسب Work Itemها هم میتونه بسیار دردسر ساز و دلسردکننده باشه.
همینطور در موارد حادتر نیازسنجی و تحلیل نادرست از پروژه ست که فاجعه جبران ناپذیری در فرآیند توسعه نرم افزاره.
‫۷ سال و ۳ ماه قبل، یکشنبه ۲۱ خرداد ۱۳۹۶، ساعت ۲۳:۵۲
دو مورد از این گزینه‌ها برای من پیش آمده است که یکیش عدم پرداخت به موقع مبالغ پروژه بود و دیگری  نبود دانش فنی و ناتوانی پیمانکار  ، زمانی که برنامه نویس مدت طولانی را صرف یک پروژه (بدون تحلیل) بکند و هیچ مبلغی به آن پرداخت نشود واقعا از آن پروژه دلسرد می‌شود.
در حال حاظر اغلب کاربران با استفاده از موبایل سایت‌ها را می‌بینند (بر اساس طیف متنوعی از مشتریان که داریم و آمار سایت هایشان را می‌بینیم)، تست روی chrome و safari و روی گوشی‌های  آیفون و سامسونگ در اولویت است. تست روی دسکتاپ در مرحله دوم است. البته طبیعتا به مخاطبین شما بستگی دارد.
در حال حاظر ابزارهای دیباگ روی کروم (موبایل + دسکتاپ) کامل‌تر است.
فایرفاکس و کروم بیشتر به دلیل محبوبیت و پیشرو بودنشون مورد استفاده قرار میدم ولی چون مرورگر شخصی خودم فایرفاکسه ، بیشتر هم با همون کار میکنم ولی کروم هم باشه بد نیست. بیشتر دلایل علاقه ای و هم اینکه ابزارهای خوبی هم ارائه میدن.
با اینکه Edge هم تغییرات اساسی داشته ولی عملا یا دیر به بازار اومده یا اینکه کلا باز مثل قبل به اون شکل پذیرفتنی نیست، به نظرم از لحاظ رابط و UX راه زیادی داره و حتی باز ممکنه در آخر پذیرفته نشه.
‫۷ سال و ۴ ماه قبل، دوشنبه ۱ خرداد ۱۳۹۶، ساعت ۲۰:۱۷
تا دو سال پیش روزی سه وعده هر بار سه چهار فنجان چای مصرف می‌کردم. بعد چند جا خوندم که یکی از دلایل زود عصبی شدن و احساس کمبود انرژی مصرف زیاد چای است.

الان روزی یک وعده، دو یا سه فنجان چای سبز مصرف می‌کنم معمولا عصرها یا آخر شب. احساس کمبود انرژی کمتری دارم. البته همزمان با این تغییر، هفته‌ای یک‌بار هم استخر میرم. مصرف لبنیات پاستوریزه رو هم قطع کردم، لبنیات محلی مصرف می‌کنم (مخصوصا کره و شیر). قبلا افت قند و احساس کمبود انرژی زیادی داشتم. الان خیلی کم شده.
‫۷ سال و ۴ ماه قبل، یکشنبه ۳۱ اردیبهشت ۱۳۹۶، ساعت ۱۶:۳۸
با تشکر از این نظر سنجی 
برای دوستانی که علاقه به بازی سازی دارن این مطلبو میزارم...
همانطور که میدونید بازیهای روز از گرافیک فوق العاده ای برخورداره و مشخصه که این بازیهارو فقط با برنامه نویسی نمیشه ساخت. 
نیازهایی نرم افزاری که برای ساخت یک بازی باید در نظر گرفت:
1-استفاده از 3d-max یا maya برای ساختن کارکترها و متریالها
2-استفاده از موتورهای بازی سازی مانند  unity game engine یا unrealengine هر دوی این موتورها از C# پشتیبانی می‌کنند و منابع آموزشی خوبی دارن. دوستان مایه داری که هزینه براشون مهم نیست میتونن از آنرییل انجین استفاده کنند و دوستانی که مانند من از نرم افزارهای رایگان یا ک.ر.ک استفاده می‌کنن یونیتی بهترین گزینه هست(با نرم افزارهای تغییر آی پی وارد سایت یونیتی بشید)
3-سی شارپ یا سی پلاس در حد متوسط 
همچنین نیاز هست تا حدودی به هوش مصنوعی و تکنیک‌های درآمد زایی از طریق بازی سازی آگاه بود.(باید بدونید این بازی که میسازید قراره فقط از فروش خود بازی کسب درآمد کنه یا رایگان باشه و  پرداختهای درون برنامه ای داشته باشه مانند اغلب بازیهای اندروید)
نکته: توسط موتورهای بازی سازی می‌توانید خروجی سازگار برای اندروید، آی او اس ، رایانه  و... داشته باشید .

‫۷ سال و ۴ ماه قبل، شنبه ۳۰ اردیبهشت ۱۳۹۶، ساعت ۰۰:۴۲
به نظر من بیشتر از 1 سال منوط به شرایط کاری و محیطی شرکت هست که در بعضی مواقع نباید بیشتر از 1 سال در شرکتی ماند و در بعضی مواقع تا چندین سال می‌توان در یک شرکت ماند و کار کرد
خیلی بستگی به شرایط کار، محیط، مدیر فنی، مدیریت دارد.
‫۷ سال و ۴ ماه قبل، شنبه ۳۰ اردیبهشت ۱۳۹۶، ساعت ۰۰:۳۸
اکثر شرکت‌های که کار کردم 2 مشکل بزرگ دارن:
1: مشکل مدیریتی
2: مشکل مدیرفنی
خیلی از شرکت‌ها چون در این 2 موضوع دارای مشکل هستن قاعدتا کدهای کثیف و زیبایی ندارن و همچنین عدم برنامه ریزی صحیح در طول یک یا چند سال باعث میشه تعدد برنامه نویس زیاد بشه و نشه یک پروژه خوب رو پیاده سازی کرد.
‫۷ سال و ۴ ماه قبل، جمعه ۲۹ اردیبهشت ۱۳۹۶، ساعت ۲۱:۱۹
خودم یه زمانی علاقه مند شده بودم ولی سمتش نرفتم و یا فرصتش پیش نیامد، ولی یک سری از دوستان اتفاقا در این حرفه مشغول هستن، در زمینه بازی‌های دسکتاپ به نظرم در اینجا هیچ پیشرفتی حتی به صورت ذره ای وجود نداره و اتفاقاتی چون گرشاسب هم الان غیر ممکن شده. ولی در زمینه موبایل تا حدی میشه روش حساب کرد که البته اون هم ضمانت موفقیت نداره. بد نیست روش مانور داد ولی در صورتی که ناموفق بشه میتونه خسارات زیادی بزنه.
‫۷ سال و ۴ ماه قبل، جمعه ۲۹ اردیبهشت ۱۳۹۶، ساعت ۱۵:۰۰
بین اینها به نظرم MongoDb بهترین گزینه باشه و برای کارهای کوچک‌تر که نیاز به دیتابیس فایل هست من پیشنهادم LiteDb هستش من در اکثر برنامه هام حتی شده برای ذخیره تنظیمات دارم ازش استفاده میکنم
تنها ایرادی که به mongodb وارده به نظرم نداشتن transaction بین دو document مجزا هست که خیلی جاها آزار دهندست.
با این که کار من نوشتن از صفر است و اگر قرار باشد چیزی از صفر نوشته نشود من هم در آن پروژه نخواهم بود، اما به طور کلی با نوشتن از صفر میانه خوبی ندارم. ترجیح می‌دهم گزینه نوشتن از صفر را به عنوان آخرین گزینه بررسی کنم. نوشتن از صفر بیشتر مناسب پروژه هایی است که مشابه شان وجود نداشته باشد. در کاربردی مثل فروشگاه اینترنتی که خیلی عام به نظر می‌رسد ترجیحم این است که از یک سورس موجود استفاده کنم.
استفاده مجدد از پروژه‌های موجود که تعداد زیادی نصب از آن زیر بار است ارزان‌تر و سریع‌تر از «نوشتن از صفر» به نظر می‌رسد. خیلی از اوقات نوشتن از صفر به معنای اتلاف منابع است.