-
دنیای تکنولوژی و مهندسی کامپیوتر🌈 لینک جهت حمایتهای مالی شما: http://zarinp.al/programmercity 📱ارتباط با ما: پیج اینستاگراممون🎈 IG: ProgrammerCity ✅ لینک ناشناسمون:✨ https://t.me/BitnetChat_bot?start=sec-ehdiahcie
امروز دیدیم قیمتگذاری اشتباه فقط به معنی «ارزون گفتن» نیست.
گاهی مشکل اینه که:
❌ Scope مشخص نیست
❌ زمان واقعی پروژه حساب نشده
❌ پشتیبانی مشخص نیست
❌ تغییرات مشتری محدود نشده
❌ فقط برای گرفتن پروژه قیمتو پایین آوردیم
و نتیجه؟
👨💻 کلی ساعت کار
😵💫 کلی استرس
💸 سود خیلی کم
پس قبل از اینکه بگی:
💰 «قیمت پروژه X تومنه»
اول باید بدونی:
دقیقاً بابت چه چیزی داری پول میگیری؟
از قسمت بعد، میخوایم وارد مرحلهای بشیم که برای ProgrammerCity خیلی مهمه:
🚀 اولین سفارش خدماتی چطور شکل میگیره؟
یعنی از وقتی یک مشتری پیام میده:
💬 «سلام، برای پروژهمون برنامهنویس میخوایم...»
تا زمانی که پروژه واقعاً شروع میشه، چه مراحلی باید طی بشه؟
ادامه داره... 👀
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۹
💰 اشتباهات رایج فریلنسرها هنگام قیمتگذاری
فرض کن یک پروژه گرفتی.
۲ ماه روش کار کردی...
آخرش حساب میکنی و میبینی:
😐 «عه... من تقریباً مفت کار کردم!»
چرا؟
یکی از دلایلش میتونه این اشتباهات باشه:
❌ ۱. قیمتگذاری فقط بر اساس زمان کدنویسی
مثلاً میگی:
«این پروژه ۲۰ ساعت کدنویسی داره، پس ۲ میلیون.»
اما پروژه فقط کدنویسی نیست!
تحلیل، تست، جلسه با مشتری، رفع باگ، استقرار و پشتیبانی هم زمان میبرن.
---
❌ ۲. قیمت دادن قبل از مشخص شدن Scope
مشتری:
«یه ربات ساده میخوام.»
تو:
«باشه، ۱۰ میلیون.»
بعداً معلوم میشه:
😐 پنل مدیریت میخواد
😐 پرداخت آنلاین میخواد
😐 گزارشگیری میخواد
😐 چند نوع کاربر میخواد
😐 اعلان هم میخواد!
و پروژهای که قرار بود ساده باشه تبدیل میشه به یک پروژه بزرگ.
---
❌ ۳. تخفیف بیش از حد
تازهکاری و میگی:
💬 «چون نمونهکار ندارم، نصف قیمت انجام میدم.»
یک تخفیف منطقی میتونه قابل قبول باشه؛
ولی اگر قیمتت هزینه واقعی زمان و تخصصتو پوشش نده، عملاً داری برای خودت ضرر میسازی.
---
❌ ۴. پشتیبانی نامحدود!
«هر وقت مشکلی داشتی پیام بده.»
و سه ماه بعد:
📩 ساعت ۱۱ شب:
«این قسمتو هم میشه تغییر بدی؟»
😂
پشتیبانی باید زمان و محدوده مشخص داشته باشه.
---
❌ ۵. قیمت پایین برای گرفتن هر پروژه
هدف فقط این نیست که:
📦 پروژه بگیری.
باید پروژهای بگیری که:
💰 ارزش مالی داشته باشه
⏱ زمانتو منطقی مصرف کنه
📚 به رشد مهارتت کمک کنه
📁 بتونی ازش نمونهکار بسازی
فریلنسری فقط «کدنویسی برای دیگران» نیست.
بخشی از کار حرفهای،
بلد بودنِ مدیریت خودته. 👨💻
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🤔 یه سؤال مهم برای فریلنسرها!
فرض کن مشتری میگه:
💬 «یه سایت فروشگاهی میخوام.»
تو قبل از اعلام قیمت باید چیکار کنی؟
1️⃣ سریع یه قیمت بگی تا مشتری نپره 😅
2️⃣ اول نیازها و امکانات پروژه رو مشخص کنی
3️⃣ قیمت چند رقیب رو پیدا کنی و همون رو بگی
4️⃣ بگی «هرچی شما بگید!» 😂
👇 انتخابتو بگو
جواب درست رو امشب بررسی میکنیم.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🎯 چالش امشب ProgrammerCity
مشتری میگه:
> «یه سایت فروشگاهی ساده میخوام.»
اما وقتی سؤال میپرسی، مشخص میشه که میخواد:
🛍️ ۵۰۰ محصول
💳 درگاه پرداخت
👤 ثبتنام کاربران
📦 مدیریت سفارشها
🔎 جستجو و فیلتر محصولات
👨💼 پنل مدیریت
📱 نسخه موبایل
🔔 اعلان سفارش
حالا به نظرت:
❓ هنوز میشه بهش گفت «یک سایت ساده»؟ 😂
1️⃣ بله، چون سایت فروشگاهیه.
2️⃣ نه، باید امکانات و Scope دقیق بررسی بشه.
3️⃣ فقط تعداد صفحاتو حساب میکنم.
4️⃣ قیمتو بر اساس تعداد خطوط کد تعیین میکنم.
👇 جواب درستو بگو و اگه دوست داری، بگو کدوم قابلیت این پروژه به نظرت بیشترین زمانو میگیره.
📅 فردا میریم سراغ مرحلهای که برای ورود به فاز خدمات خیلی مهمه:
💼 چطور یک پیشنهاد قیمت حرفهای برای مشتری بنویسیم؟
یعنی وقتی مشتری گفت «قیمت بده»، دقیقاً چی براش ارسال کنیم؟
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۷
💰 دیروز یاد گرفتیم چطور یک درخواست مبهم مشتریو تبدیل کنیم به یک پروژه مشخص.
حالا رسیدیم به سؤال معروف:
> «خب، چقدر هزینه داره؟» 😅
فرض کن مشتری میگه:
«یه ربات تلگرام برای فروش محصولاتم میخوام.»
تو نباید فقط با شنیدن همین جمله قیمت بدی.
چرا؟
چون هنوز نمیدونی:
🤖 ربات چقدر پیچیدهست؟
👤 چند نوع کاربر داره؟
📦 مدیریت محصولات داره؟
🛒 سبد خرید داره؟
💳 پرداخت آنلاین داره؟
👨💼 پنل مدیریت میخواد؟
🔔 اعلان خودکار داره؟
🗄 دیتابیس لازم داره؟
🔧 پشتیبانی بعد از تحویل چطور؟
پس اولین قدم قیمتگذاری:
مشخص کردن دقیق Scope پروژه است.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🧩 حالا بیایم همون درخواست مشتریو تبدیل کنیم به یک پروژه واقعی.
مشتری گفته:
> «یه ربات برای مدیریت سفارش میخوام.»
بعد از صحبت با مشتری متوجه شدیم:
👤 کاربر باید بتونه:
▫️ محصولاتو ببینه
▫️ محصول انتخاب کنه
▫️ سفارش ثبت کنه
▫️ اطلاعات تماس وارد کنه
▫️ وضعیت سفارشو ببینه
👨💼 ادمین باید بتونه:
▫️ محصولاتو اضافه/ویرایش/حذف کنه
▫️ سفارشها رو ببینه
▫️ وضعیت سفارشو تغییر بده
▫️ اطلاعات مشتریو مشاهده کنه
🔔 سیستم هم باید:
▫️ بعد از ثبت سفارش به ادمین اطلاع بده
▫️ تغییر وضعیت سفارشو به مشتری اعلام کنه
حالا یک درخواست مبهم تبدیل شد به:
✅ User Features
✅ Admin Features
✅ Notifications
✅ Order Management
و تازه الان داریم به یک پروژه واقعی نزدیک میشیم.
📌 این کار اسمش فقط «لیست کردن امکانات» نیست؛
ما داریم Scope پروژه رو مشخص میکنیم.
هرچه Scope واضحتر باشه، تخمین زمان و هزینه هم منطقیتر میشه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🎯 چالش امشب ProgrammerCity
یک مشتری فقط این جمله رو بهت میگه:
> «یه ربات تلگرام میخوام که سفارشهای مشتریامو مدیریت کنه.»
تو به عنوان برنامهنویس، اولین سؤالی که از مشتری میپرسی چیه؟
❌ سریع قیمت نده!
❌ سریع نگو «حتماً میسازم»!
اول سعی کن مسئله رو بفهمی.
👇 اولین سؤالتو بنویس.
📅 فردا میریم سراغ یک موضوع بسیار مهم برای هر کسی که میخواد از برنامهنویسی درآمد داشته باشه:
💰 چطور نیاز مشتری رو به یک پروژه قابل اجرا و قابل قیمتگذاری تبدیل کنیم؟
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۵
🎬 یک سناریوی واقعی:
یک مشتری بهت میگه:
«من یک سایت میخوام که مشتریها بتونن سفارش ثبت کنن.»
تو هم شروع میکنی به ساختن:
💻 صفحه اصلی
💻 ثبتنام
💻 ورود
💻 محصولات
💻 سبد خرید
💻 پرداخت
همهچیز هم درست کار میکنه. ✅
اما وقتی پروژه رو تحویل میدی، مشتری میگه:
😐 «این چیزی نیست که من میخواستم.»
اینجا یک سؤال مهم وجود داره:
❓ مشکل از کدنویسی بود؟
نه لزوماً!
ممکنه مشکل از این باشه که قبل از کدنویسی، نیاز واقعی مشتری رو درست نفهمیدیم.
و این یکی از تفاوتهای بزرگ بین «کدنویس بودن» و «توسعهدهنده نرمافزار بودن»ه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🔥 کانفیگ نامحدود یک ماهه 95 هزار تومن، با پشتیبانی و تست رایگان 😍
🟣 /channel/AtlasDNbot?start=175781270
➰➰➰➰➰➰➰➰➰
🟪تمام پکیج های آموزشی رو اینجا رایگان دانلود کن!!
🖇@Computer_IT_Engineering
🟪تعمییرات موبایل و تبلت
🖇@repairms
🟪اموزش هک غیرقانونی با (موبایل)
🖇@EngineeringReverse
🟪گروه معماری " چهارسوق "
🖇@CHAHAR_SOOGH_archi_gp
🟪آموزش کامپیوتر و نرمافزار
🖇@spcware
🟪کانال استخدامی نفت
🖇@oilbook1
🟪ایدهای دکوراسیون داخلی
🖇@Design_groooup
🟪آموزش شبکه های Cisco و مایکروسات
🖇@modirshabake
🟪صفر تا صد نظام مهندسی معماری
🖇@tarrahimemari
🟪❰❰❰شغل دانشجویی با درآمد 3/000/000❱❱❱
🖇@tablighahti
🟪دنیای کلیپ های انگیزشی وسخنان بزرگان
🖇@BookUp
🟪آمورش 3dmax
🖇@Arch_referece
🟪اسرار و شگفتی های تاریخ علوم و تکنولوژی
🖇@ScienticNews
🟪پروژه و کاریابی vip
🖇@nahal_proje
🟪دانلود قالب وردپرس ، افزونه وردپرس
🖇@Templates_wp
🟪آموزش اتوکد با نورمحمدیان
🖇@autocad7000
🟪استخدام ادمین / پروژکت
🖇@porozhhande
🟪گروه معماری نورمحمدیان
🖇@autocad70
🟪گروه كافه گرافيست
🖇@cofegraph
🟪گروه معماری
🖇@Archreferece
🟪استخدام ادمین پاسخگویی
🖇@prozhehYAS
🟪آنلاین پروژه ببین
🖇@porje_online
🟪تکنولوژی های خودروهای روز جهان
🖇@Speed4u
🟪مباحث درسی و تبادل اطلاعات معماری
🖇@arch_talk1405
🟪پروژه های کاردرمنزل +20میلیون حقوق
🖇@moni_8184
🟪ترفندهای جدید کامپیوتر, شبکه و امنیت
🖇@Secure4u
🟪دوره های رایگان هوش مصنوعی
🖇@EduPediia
🟪پروژه استخدامی برکه
🖇@project_land_com
🟪آموزشی زبان انگلیسی
🖇@be_translator
🟪کاریابی و پروژه های میلیونی
🖇@farilensari
🟪مهارتهای نرم شغل برنامهنویسی
🖇@programerCity
🟪کامپیــــوتر , Windows , شبکــــــه
🖇@Azsefr_beyek_test
🟪پروژه های میلیونی
🖇@poro_ad
🟪پروژه و تبلیغات لیوای
🖇@porozhlevi
🟪کاریابی برتر
🖇@karyabisogand
🟪استخدام شرکتی وادمین های واقعی
🖇@porojakar
🟪آموزش، هوش مصنوعی، پرامپت
🖇@LumoraDesignLab
🟪جامعــه کتابخوان | کتابـ YAR
🖇@Azsefr_beyek_ketab
🟪مجموعه ترفندهای فتوشاپ
🖇@GraphTarfand
🟪پروژه استخدامی ماه با درآمد میلیاردی
🖇@javjvzkab
🟪استخدام فوری بدون سابقه
🖇@caryabaniran
🟪جملات انگیزشی
🖇@Mokhytoo
🟪آموزش کوتاه و کاربردی زبان انگلیسی
🖇@englishwoorld
🟪فریلنسر گلد پروژه
🖇@karii2farma
🟪سـوالات ادبیـات test | کنکـور
🖇@Azsefr_beyek_text
🟪قنــد و پنــد ، شعـر FARSI
🖇@Azsefr_beyek_farsi
🟪ثبت پروژه رایگان
🖇@porozh_ronak
🟪دانلود پرامپت های معماری
🖇@promtArch
🟪پروژه رایگان دریافت کن
🖇@porojeSahel
🟪دنبال پروکسی فوول وصل با نت ملی میگردی؟
🖇@ReexProxy
🟪تدوینگر، طراح سایت
🖇@VLink_venusteam
🟪در یونیک کارفرما و کارجو
🖇@porozhYONK
🟪آموزش پیشرفته آیلتس
🖇@IELTS_Brilliance
🟪استخدام شو در یک ثانیه
🖇@porojeroyall
🟪کانال موزیک
🖇@Musicyab3
🟪اشتباهات رایج زبان
🖇@Fixenglish1
🟪هر فایل PDF کمیابی که بخوای اینجاست !!
🖇@File2PDF
🟪ثبت آگهی استخدامی در پروژه لند
🖇@Projeeland
🟪«جایی مـیان صـدا و سـکوت»
🖇@RamaMusic_ir
🟪با آموزش های رایگان تابلو برق پولدار شو
🖇@BarghTabloo
🟪منبع کلیپ های رایگان علمی و آموزشی
🖇@Magic_gif
🟪سایت، بات، اپ های کاربردی
🖇@LearnDotfar
🟪کانال تخصصی انرژی های تجدیدپذیر
🖇@NewPowerEnergy
🟪کاریابی ، استخــــــدام ، مشــــــاوره
🖇@Azsefr_beyek
🟪دانلود رایگان Proxy
🖇@v2rayenn
🟪آموزش های رایگان تخصصی مهندسی برق
🖇@HighVoltage_ir
🟪آموزش 3DMax ، لومیون
🖇@tdmax_vray
🟪❰❰❰میلیونر شو❱❱❱
🖇@shahzadAds
🟪اجرا و ضوابط اصولی ساختمان
🖇@CIVILENG
🟪منبـع کانفیـگ پرسرعـت و هوشمـصنوعی
🖇@netron_shop
🟪آگهی استخدام و کاریابی در کارینو
🖇@Nab_project
🟪ادمـینـی
🖇@Leila_porojheh
🟪آموزش ها و مطالب عمران و معماری
🖇@civillplus
🟪سریال روم " دنیای فیلمای خارجی "
🖇@SeriallRoom
🟪آرشیو کامل آبجکتهای رویت
🖇@VoxelObjectRevit
🟪آبجکت پولی برای 3DMax
🖇@Voxel3DDVray
🟪ایده کسب وکار پول ساز
🖇@iteraket
🟪کلی آموزش از منابع هوش مصنوعی
🖇@hashtagifyofficial
🟪آموزش رشد برندینگ و کسبوکار
🖇@Cardnotes
🟪یادگیری تخصصی برنامه نویسی
🖇@programmer_best
🟪سفارش پروژه | پروژه بگیر
🖇@prozhebegir_ir
🟪مهدی هک
🖇@Mahdiihack
🟪انگلیسی از مبتدی تا پیشرفته
🖇@Eng_Online
▪️▪️▪️▪️▪️▪️▪️
👉🏾 @Tab_Mohandesi24
.
🎯 حالا یک سؤال:
اگر روی پروژهات چند ساعت کار کردی و هنوز نمیتونی بفهمی مشکل دقیقاً از کجاست، ترجیح میدی:
1️⃣ چند ساعت دیگه خودم ادامه بدم.
2️⃣ از Google و Stack Overflow بیشتر استفاده کنم.
3️⃣ از یک برنامهنویس باتجربه کمک بگیرم.
4️⃣ فعلاً پروژه رو کنار بذارم. 😅
👇 شماره گزینه رو بنویس.
و اگر الان خودت دقیقاً در چنین شرایطی هستی:
🐞 یک Bug داری
💻 کدت درست اجرا نمیشه
🔎 علت یک Error رو پیدا نمیکنی
🧩 یا بخشی از پروژه نیاز به بررسی داره
میتونی مشکل رو برای ProgrammerCity بفرستی.
ما مسئله رو بررسی میکنیم، علت مشکلو پیدا میکنیم و مشخص میکنیم چه راهحلی برای پروژه مناسبه.
📩 برای بررسی، توضیح مشکلت + Error + کد مرتبطو ارسال کن.
گاهی چیزی که چند ساعت ذهنتو درگیر کرده، با یک بررسی درست خیلی سریعتر حل میشه. 🚀
📅 قسمت بعدی:
💰 اصلاً خدمات برنامهنویسی چطور قیمتگذاری میشن؟ یک پروژه یا رفع یک خطا چقدر باید هزینه داشته باشه؟
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۴
🔍 تا حالا به این فکر کردی وقتی کدتو برای یک برنامهنویس باتجربه میفرستی، اون دقیقاً از کجا شروع میکنه؟
قرار نیست کدو باز کنه و با یک نگاه بگه:
«مشکل اینجاست!» 😎
معمولاً باید مرحلهبهمرحله جلو بره:
🔹 مسئله رو بفهمه
🔹 شرایطی که Bug اتفاق میفته رو بررسی کنه
🔹 مشکلو دوباره ایجاد کنه
🔹 مسیر اجرای برنامه رو بررسی کنه
🔹 علت اصلیو پیدا کنه
🔹 راهحل مناسبو بررسی کنه
🔹 و در نهایت تغییرو تست کنه
این یعنی Problem Solving واقعی.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🧠 وقتی میخوای از یک برنامهنویس باتجربه کمک بگیری، این ۵ مورد رو آماده داشته باش:
1️⃣ دقیقاً چه مشکلی داری؟
2️⃣ انتظار داشتی چه اتفاقی بیفته؟
3️⃣ الان چه اتفاقی میفته؟
4️⃣ چه چیزهایی رو تا الان امتحان کردی؟
5️⃣بررسی کن Error یا کد مرتبط رو داری؟
مثلاً به جای:
❌ «Login کار نمیکنه.»
بگو:
✅ «در صفحه Login، وقتی Username و Password صحیح وارد میکنم، درخواست ارسال میشه ولی پاسخ 401 دریافت میکنم. طبق مستندات انتظار داشتم 200 دریافت کنم. Header مربوط به Authorization رو هم بررسی کردم.»
این دو سؤال، زمین تا آسمون فرق دارن.
📌 هرچه مسئله رو دقیقتر توضیح بدی، احتمال اینکه سریعتر به راهحل برسی بیشتره.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💻 حالا یک سؤال جدیتر:
اگر قرار باشه کدی که نوشتی قبل از تحویل پروژه توسط یک نفر دیگه بررسی بشه، دوست داری چه چیزهایی بررسی بشه؟
🔹 پیدا کردن Bug
🔹 خوانایی کد
🔹 ساختار و منطق
🔹 مشکلات احتمالی در شرایط خاص
🔹 بهینهسازی
🔹 امنیت
🔹 همه موارد
👇 شماره یا مورد موردنظرتو بنویس.
---
و اگر خودت الان یک پروژه داری که:
🐞 خطا داره
🔎 نمیدونی مشکل از کجاست
🧩 کدت درست اجرا میشه ولی مطمئن نیستی اصولی نوشته شده
📤 یا قبل از تحویل میخوای یک نفر کدتو بررسی کنه
میتونی برای بررسی و Code Review پروژه با ProgrammerCity در ارتباط باشی.
📩 برای شروع فقط توضیح کوتاهی از پروژه و مشکلت بفرست.
ما اول بررسی میکنیم که دقیقاً چه کمکی لازم داری و بعد راهکار مناسب رو بهت میگیم.
اینجا ProgrammerCity؛ از یادگیری تا حل مسئله واقعی. 💻🚀
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🛠 مشکل واقعی یک برنامهنویس | Case Study #7
🔎 بیایم یک کد واقعی رو Code Review کنیم!
🔎 Code Review Challenge
فرض کن یکی از اعضای تیم این کد Python رو برای Pull Request فرستاده:
def get_user(users, id):
for user in users:
if user["id"] == id:
return user
return None
def show_user(users, id):
user = get_user(users, id)
print(user["name"])
💡 وقتی با یک نظر در Code Review موافق نیستی، اول سعی کن بفهمی دلیل پیشنهاد چیه.
مثلاً به جای:
❌ «ولی این کد درست کار میکنه.»
بگو:
✅ «میشه بگی چه مشکلی ممکنه با این روش داشته باشیم؟»
یا:
✅ «من این روش رو به خاطر X انتخاب کردم؛ به نظرت روش پیشنهادی چه مزیتی داره؟»
حالا ممکنه یکی از این اتفاقها بیفته:
🔹 متوجه میشی Reviewer نکتهای دیده که تو ندیدی.
🔹 متوجه میشی دو راهحل مختلف وجود داره.
🔹 یا حتی ممکنه بعد از توضیح، مشخص بشه پیشنهاد اولیه مناسب این شرایط نیست.
📌 پس Code Review مسابقه «چه کسی درست میگه؟» نیست.
هدفش اینه که بهترین تصمیم برای پروژه گرفته بشه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🎯 یه سناریوی واقعی:
مشتری میگه:
💬 «یه سایت فروشگاهی میخوام.
حدود ۵۰۰ محصول دارم.
درگاه پرداخت هم میخوام.
پنل مدیریت، جستجو، فیلتر و ثبت سفارش هم داشته باشه.»
تو هنوز هیچ سؤال دیگهای نپرسیدی.
مشتری میگه:
💬 «خب چقدر میگیری؟»
به نظرت کدوم کار منطقیتره؟
🅰️ همون لحظه یه قیمت بگی
🅱️ اول نیازمندیها رو کامل مشخص کنی
🆑 قیمت رو خیلی پایین بگی که پروژه رو از دست ندی
🅾 بگی «هرچقدر شما صلاح بدونید» 😂
👇 رأی بده
چون یک سؤال ساده میتونه جلوی کلی دردسر در ادامه پروژه رو بگیره.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
امروز فهمیدیم «قیمت دادن» فقط گفتن یک عدد نیست.
قبل از قیمت باید بدونیم:
🎯 چی قراره ساخته بشه؟
⏱ چقدر زمان میبره؟
📦 دقیقاً چه چیزهایی تحویل داده میشه؟
🛠 پشتیبانی شامل چه چیزیه؟
🚫 چه چیزهایی خارج از Scope پروژهست؟
هرچی این موارد واضحتر باشن،
احتمال سوءتفاهم بین برنامهنویس و مشتری کمتر میشه.
حالا یک سؤال:
😬 به نظرت بزرگترین اشتباه یک فریلنسر موقع قیمتگذاری چیه؟
فردا دقیقاً میریم سراغ همین موضوع:
💰 اشتباهات رایج فریلنسرها هنگام قیمتگذاری
و بعضی از این اشتباهات میتونن باعث بشن با وجود کلی کار، آخر پروژه تقریباً هیچ سودی برات نمونه! 👀
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۸
💰 چطور یک پیشنهاد قیمت حرفهای برای مشتری بنویسیم؟
فرض کن مشتری بعد از توضیح پروژه میگه:
💬 «خب، قیمتش چقدره؟»
اینجا فقط گفتن یک عدد مثل:
«۲۰ میلیون»
خیلی حرفهای نیست! 😅
یک پیشنهاد قیمت خوب باید به مشتری نشون بده:
🔹 دقیقاً قراره چه چیزی تحویل بگیره
🔹 پروژه چقدر زمان میبره
🔹 هزینه بابت چه بخشهایی هست
🔹 چه چیزهایی داخل پروژه هست و چه چیزهایی نیست
مثلاً برای همون ربات مدیریت سفارش قسمت قبل:
📌 امکانات پروژه:
▫️ ثبت و مدیریت کاربران
▫️ ثبت و مدیریت محصولات
▫️ ثبت سفارش
▫️ پیگیری وضعیت سفارش
▫️ پنل مدیریت
▫️ ارسال اعلان به کاربر
▫️ اتصال به دیتابیس
⏱ زمان اجرا:
مثلاً ۳ تا ۴ هفته
💰 هزینه پروژه:
مبلغ مشخص
💳 نحوه پرداخت:
مثلاً ۵۰٪ شروع پروژه
۵۰٪ هنگام تحویل
🛠 پشتیبانی:
مثلاً ۷ روز رفع باگ بعد از تحویل
و یک نکته خیلی مهم:
❌ «هر چیزی که بعداً خواستی هم انجام میدم.»
این جمله میتونه پروژه رو تبدیل به یک پروژهی بیانتها کنه! 😂
باید مشخص باشه Scope پروژه دقیقاً چیه.
یعنی مشتری بدونه بابت پولی که پرداخت میکنه، دقیقاً چه چیزی دریافت میکنه.
👨💻 یک برنامهنویس حرفهای فقط کد نمینویسه؛
بلکه پروژه رو هم حرفهای مدیریت میکنه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
⏱️ بعد از مشخص شدن امکانات، باید پروژه رو به بخشهای کوچکتر تقسیم کنیم.
مثلاً همین ربات:
🤖 طراحی جریان ربات
⏱️ ۴ ساعت
🗄 طراحی دیتابیس
⏱️ ۳ ساعت
📦 مدیریت محصولات
⏱️ ۵ ساعت
🛒 ثبت و مدیریت سفارش
⏱️ ۷ ساعت
💳 اتصال پرداخت
⏱️ ۵ ساعت
👨💼 پنل مدیریت
⏱️ ۸ ساعت
🔔 سیستم اعلان
⏱️ ۳ ساعت
🧪 تست و رفع Bug
⏱️ ۵ ساعت
حالا به جای اینکه بگیم:
❌ «فکر کنم حدوداً ۱۰ روزه آماده بشه.»
یک تخمین منطقیتر داریم.
📌 البته این اعداد فقط یک مثال آموزشین؛ زمان واقعی به تکنولوژی، امکانات، تجربه توسعهدهنده و شرایط پروژه بستگی داره.
پروژه رو تخمین میزنیم، نه اینکه از روی حدس قیمت بندازیم وسط!
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🎯 حالا نوبت توئه!
فرض کن یک مشتری بهت میگه:
> «یه سایت فروشگاهی میخوام.»
قبل از اینکه حتی یک خط کد بنویسی، چه اطلاعاتی باید ازش بگیری؟
حداقل ۵ سؤال بنویس. 👇
مثلاً:
❓ «چه محصولاتی قراره داخل سایت فروخته بشه؟»
اما ۴ سؤال بعدیو خودت پیدا کن. 😉
📌 برنامهنویس حرفهای فقط کدنویسی نمیکنه؛
بلده نیاز مشتری رو به یک پروژه واقعی تبدیل کنه.
و این دقیقاً همون مرحلهایه که قبل از شروع هر پروژه باید انجام بشه.
📅 فردا میریم سراغ مرحله بعد:
💰 حالا که فهمیدیم پروژه دقیقاً چیه، چطور زمان و هزینه انجامشو تخمین بزنیم؟
این قسمتو از دست نده؛ چون قراره ببینیم چرا دو پروژه که روی کاغذ «تقریباً یکسان» به نظر میرسن، ممکنه قیمت کاملاً متفاوتی داشته باشن.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۶
🎬 دیشب گفتیم:
مشتری فقط میگه:
> «یه ربات تلگرام میخوام که سفارشهای مشتریامو مدیریت کنه.»
اما تو نباید همینجا بگی:
💰 «باشه، ۱۰ میلیون!»
چرا؟
چون هنوز دقیقاً نمیدونی قراره چی بسازی!
قبل از قیمت دادن، باید درخواست مشتریو تبدیل کنیم به یک لیست مشخص از نیازها.
مثلاً باید بپرسیم:
🔹 مشتری چطور سفارش ثبت میکنه؟
🔹 چه اطلاعاتی باید وارد کنه؟
🔹 محصولات از کجا مدیریت میشن؟
🔹 ادمین چطور سفارشها رو ببینه؟
🔹 پرداخت آنلاین لازمه؟
🔹 بعد از ثبت سفارش چه اتفاقی میفته؟
🔹 مشتری باید وضعیت سفارشو ببینه؟
🔹 چند نفر قرار هست با پنل مدیریت کار کنن؟
📌 اولین مهارت مهم اینجاست:
قبل از اینکه بپرسی «چقدر کد بنویسم؟»، بفهم «دقیقاً چه چیزی باید ساخته بشه؟»
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🧠 قبل از اینکه پروژهای رو شروع کنی، فقط نپرس:
❌ «چه چیزی باید کدنویسی کنم؟»
بپرس:
🔹 مشکل اصلی چیه؟
🔹 چه کسی قراره از این سیستم استفاده کنه؟
🔹 کاربر دقیقاً چه کاری باید بتونه انجام بده؟
🔹 چه امکاناتی واقعاً ضرورین؟
🔹 چه چیزهایی فقط «ایدههای جانبی» هستن؟
مثلاً مشتری میگه:
«یک ربات تلگرام برای فروش میخوام.»
قبل از شروع کدنویسی باید مشخص بشه:
🤖 ربات چه محصولی میفروشه؟
💳 پرداخت چطور انجام میشه؟
📦 بعد از پرداخت چه اتفاقی میفته؟
👤 اطلاعات مشتری کجا ذخیره میشه؟
📩 ادمین چطور سفارش رو مدیریت میکنه؟
🔔 آیا باید اعلان ارسال بشه؟
📊 آیا پنل مدیریت لازم داریم؟
📌 پروژه خوب از کد شروع نمیشه؛ از فهمیدن مسئله شروع میشه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
لیستی از بهترین کانال های VIPپولی تلگرام که برای چند دقیقه به صورت رایگان در اختیار شما عزیزان قرار گرفت👇👇
/channel/addlist/oZz8MnT3-zZiODk0
.
گوش بدین
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🐞 یک مثال واقعی:
فرض کن میگی:
«وقتی سفارش ثبت میکنم، برنامه Crash میکنه.»
متخصص نباید فقط بگه:
❌ «این خطو عوض کن.»
اول باید بفهمه:
🔎که Crash دقیقاً چه زمانی اتفاق میفته؟
🔎 آیا برای همه سفارشهاست یا فقط بعضیها؟
🔎بعد Error Message چیه؟
🔎 قبل از Crash چه اتفاقی میفته؟
🔎 دادهای که وارد برنامه شده چه شکلیه؟
🔎 مشکل از کدوم بخشه؟
ممکنه در نهایت بفهمیم مشکل اصلاً در دکمه «ثبت سفارش» نیست!
مثلاً یک مقدار null از دیتابیس برگشته و چند مرحله بعد باعث Crash شده.
📌 به همین دلیل حل مشکل با کپی کردن یک تکه کد فرق داره.
باید علت اصلی پیدا بشه، نه فقط علامت مشکل.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🎯 چالش امشب ProgrammerCity
فرض کن این پیام رو از یک دوست برنامهنویس دریافت کردی:
❌ «داداش پروژهم اجرا نمیشه، یه نگاهی بنداز.»
اگر بخوای قبل از شروع بررسی ازش اطلاعات بگیری، ۳ سؤال اولت چی هست؟
سؤالهات رو بنویس. 👇
مثلاً:
🔹 دقیقاً چه خطایی دریافت میکنی؟
اما دو سؤال بعدی رو خودت پیدا کن. 😉
📅 فردا میریم سراغ یک موضوع مهمتر:
🔍 وقتی یک متخصص مشکل پروژهات رو بررسی میکنه، چه کاری انجام میده و چرا فقط «جواب دادن» نیست؟
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
💼 از دانشگاه تا شرکت | قسمت ۲۳
🆘 وقتی گیر کردی، چطور درست کمک بخوای؟
🎬 داستان امروز...
بالاخره تصمیم گرفتی از یکی از اعضای تیم کمک بگیری.
پیام میدی:
«سلام، این کدم کار نمیکنه، میشه کمکم کنی؟»
همتیمی:
«مشکل چیه؟»
تو:
«نمیدونم، ارور میده! 😂»
و حالا باید ۲۰ دقیقه فقط توضیح بدی که دقیقاً چه اتفاقی افتاده.
مشکل از کمک گرفتن نیست؛
مشکل اینه که مسئله رو درست مطرح نکردی.
یک سؤال خوب میتونه خیلی سریعتر از یک سؤال مبهم به جواب برسه.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🔎 جواب Code Review Challenge
یک مشکل مهم اینجاست:
اگر کاربر پیدا نشه، تابع get_user مقدار:None
برمیگردونه.
اما در show_user بدون بررسی، این کارو انجام دادیم:user["name"]
🚨 پس اگر کاربر وجود نداشته باشه، برنامه با خطا مواجه میشه.
یک راه بهتر اینه که قبل از دسترسی به اطلاعات کاربر، وجودشو بررسی کنیم.
مثلاً:
if user is not None:
print(user["name"])
else:
print("User not found")
🎯 یک موقعیت واقعی:
یه Reviewer روی کدت Comment گذاشته و پیشنهاد داده یک بخشو تغییر بدی.
تو فکر میکنی روش فعلی بهتره.
چه کار میکنی؟
1️⃣ میگم «کد من مشکلی نداره.» 😐
2️⃣ بدون بررسی پیشنهادش رو انجام میدم.
3️⃣ دلیل انتخابمو توضیح میدم و نظرشو درباره راهحلها میپرسم.
4️⃣ یا Comment رو نادیده میگیرم.
👇 شماره گزینه رو بنویس.
📅 فردا میخوایم یک قدم جدیتر برداریم:
🔎 یک قطعه کد واقعی رو با هم Code Review میکنیم و ببینیم چه ایرادهایی میشه از داخلش پیدا کرد.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
🛠 مشکل واقعی یک برنامهنویس | Case Study #6
💬 اگر با نظر Reviewer موافق نباشیم چی؟
میری Pull Request رو باز میکنی.
یکی از همتیمیها نوشته:
💬 «I think we should change this approach.»
اما تو مطمئنی روشی که استفاده کردی درسته.
😐 حالا چی؟
بگی:
«نه، روش من بهتره.»
یا بدون فکر نظرشو قبول کنی؟
هیچکدوم!
چون یکی از مهارتهای مهم کار تیمی اینه که بتونی درباره کدت گفتوگو کنی، نه اینکه ازش دفاع احساسی کنی.
━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━