Programmer City «شهر برنامه‌نویس»
1.15K subscribers
4.2K photos
954 videos
159 files
1.96K links
دنیای برنامه‌نویسی و مهندسی کامپیوتر🌈

لینک جهت حمایت‌های مالی شما:
http://zarinp.al/programmercity

📱ارتباط با ما: پیج اینستاگراممون🎈
IG: ProgrammerCity

لینک ناشناسمون:
https://t.me/BitnetChat_bot?start=sec-ehdiahcie
Download Telegram
🧠 یکی از دلایل این احساس اینه که هرچی بیشتر یاد میگیری، بیشتر متوجه چیزهایی میشی که هنوز نمیدونی.

وقتی تازه شروع کردی:

«من Java رو یاد گرفتم؛ پس برنامه‌نویسی رو بلدم! 😎»

چند ماه بعد:

«صبر کن... Spring؟ Docker؟ Design Pattern؟ CI/CD؟ Cloud؟ 😐»

و ناگهان فکر میکنی هیچ‌چیز بلد نیستی!

اما واقعیت اینه:

📈 دایره دانشت بزرگ‌تر شده و هم‌زمان دایره چیزهایی که از وجودشان خبر داری هم بزرگ‌تر شده.

پس اینکه امروز چیزهایی رو نمیدونی، نشونه شکست نیست.

نشونه اینه که داری وارد مرحله جدیدی از یادگیری میشی.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥2
💬 تا حالا وسط یادگیری برنامه‌نویسی با خودت گفتی:

«شاید من برای برنامه‌نویسی ساخته نشدم!»؟ 😅

1️⃣ خیلی زیاد
2️⃣ گاهی
3️⃣ به ندرت
4️⃣ هیچ‌وقت

👇 شماره گزینه رو مشخص کن.

و اگر دوست داشتی، بنویس الان بیشتر از همه در برنامه‌نویسی از چه چیزی میترسی یا احساس میکنی بلد نیستی؟

📅 قسمت بعدی میریم سراغ چیزی که خیلی از جونیورها تجربه‌اش میکنن:

🔥 وقتی فکر میکنی برای این شغل به اندازه کافی خوب نیستی؛ سندروم ایمپاستر چیست؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت چهاردهم
🔥 وقتی فکر میکنی برای این شغل به اندازه کافی خوب نیستی

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

سه ماهه وارد شرکت شدی.
همکارت یک مشکل پیچیده رو در چند دقیقه حل میکنه.

تو به کدت نگاه میکنی و با خودت میگی:

«من چرا اینو بلد نبودم؟»

بعد یک نفر تکنولوژی جدیدی معرفی میکنه که تا حالا اسمش رو هم نشنیدی.

و فکر بعدی:

😐 «نکنه من واقعاً برنامه‌نویس خوبی نیستم؟»

اگر این حس رو تجربه کردی، احتمالاً با چیزی به اسم:

Impostor Syndrome

مواجه شدی.

اما دقیقاً یعنی چی؟

امشب درباره‌اش صحبت میکنیم. 👇

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🧠 سندروم ایمپاستر یعنی چی؟

خیلی ساده:

یعنی با وجود اینکه واقعاً توانایی و دستاوردهایی داری، باز هم احساس میکنی به اندازه کافی خوب نیستی و موفقیتت شاید «اتفاقی» بوده.

مثلاً:

«من فقط شانسی استخدام شدم.»
«همکارام خیلی بیشتر از من بلدن.»
«بالاخره یه روز میفهمن که من اونقدرها هم خوب نیستم.»

اما یک نکته مهم:

تو قرار نیست در اولین ماه کاری، به اندازه کسی که ۵ سال تجربه داره بدونی!

📌 مقایسه درست این نیست:

من vs برنامه‌نویس ارشد

مقایسه درست اینه:

من امروز vs من سه ماه قبل

اگر امروز مسئله‌ای رو حل میکنی که سه ماه پیش نمیتونستی، یعنی رشد کردی. 🌱

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🎯 حالا صادقانه جواب بده:

وقتی یک برنامه‌نویس باتجربه کاری رو خیلی سریع انجام میده که تو بلد نیستی، اولین فکرت چیه؟

1️⃣ «من باید بیشتر یاد بگیرم.»
2️⃣ «اون خیلی از من بهتره.»
3️⃣ «من برای برنامه‌نویسی مناسب نیستم.»
4️⃣ «طبیعیه؛ اون تجربه بیشتری داره.»

👇 شماره گزینه رو مشخص کن.

📅 فردا میریم سراغ یک سؤال مهم:

چطور از یک Junior Developer به یک برنامه‌نویس قابل اتکا تبدیل بشیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت پونزدهم

🚀 چطور از جونیور بودن خارج شیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

یک ساله برنامه‌نویسی میکنی.
دیگه با محیط شرکت غریبه نیستی.
و Git رو بلدی، پروژه رو میشناسی و چندین Task انجام دادی.

اما هنوز یک سؤال داری:

🤔 «خب... حالا چطور واقعاً بهتر بشم؟»

آیا باید زبان برنامه‌نویسی جدید یاد بگیری؟
دوره بیشتری ببینی؟
یا فقط پروژه بیشتری بنویسی؟

جواب شاید چیزی باشه که انتظارشو نداری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🚀 برای خارج شدن از سطح Junior، فقط دانش فنی بیشتر کافی نیست.

یک برنامه‌نویس قابل اتکا کم‌کم این ویژگی‌ها رو پیدا میکنه:

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

📌 پس Senior شدن فقط یعنی «کد بیشتری بلد بودن» نیست.

یعنی مسئولیت بیشتری رو میتونی با اطمینان به عهده بگیری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🎯 اگر قرار باشه فقط یکی از این مهارت‌ها رو در خودت تقویت کنی، کدومو انتخاب میکنی؟

1️⃣ حل مسئله 🧠
2️⃣ کدنویسی تمیز 💻
3️⃣ ارتباط با تیم 🤝
4️⃣فرآیند Debugging 🐞
5️⃣ مدیریت زمان

👇 شماره گزینه رو مشخص کن.

📅 فردا درباره یک اشتباه رایج صحبت میکنیم:

چرا فقط بیشتر کدنویسی کردن، لزوماً تو رو برنامه‌نویس بهتری نمیکنه؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت شونزدهم
🧠 چرا فقط بیشتر کدنویسی کردن باعث پیشرفت نمیشه؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

دو برنامه‌نویسو تصور کن.

👨‍💻 نفر اول هر روز ۶ ساعت کد میزنه.

👩‍💻 نفر دوم روزی ۳ ساعت کد میزنه، اما بعد از هر پروژه بررسی میکنه:

«چه چیزیو اشتباه انجام دادم؟»

«چطور میتونستم بهتر حلش کنم؟»

«چه چیزی یاد گرفتم؟»

بعد از چند ماه...

کدومشون احتمالاً بیشتر پیشرفت کرده؟

🤔 جواب همیشه کسی نیست که بیشتر کد زده.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
📈 تمرین بدون بازخورد، همیشه باعث پیشرفت نمیشه.

فرض کن هر روز یک اشتباهو تکرار کنی.
اگر فقط بیشتر کدنویسی کنی، ممکنه فقط در انجام همون اشتباه سریع‌تر بشی!

برای پیشرفت واقعی، بعد از هر Task از خودت بپرس:

🔹 چه چیزی خوب پیش رفت؟
🔹 کجا گیر کردم؟
🔹 چرا گیر کردم؟
🔹 آیا راه ساده‌تری وجود داشت؟
🔹 دفعه بعد چه چیزیو متفاوت انجام میدم؟

این یعنی:

Practice → Feedback → Improvement

نه فقط:

Practice → Practice → Practice

📌 برنامه‌نویس بهتر کسی نیست که فقط بیشتر کد نوشته؛
کسیه که از کدهایی که نوشته یاد گرفته.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
🎯 چالش ProgrammerCity

آخرین باری که یک پروژه یا Task رو تموم کردی، آیا بعدش برگشتی و بررسی کردی که:

«چطور میتونستم بهتر انجامش بدم؟»

1️⃣ همیشه
2️⃣ گاهی
3️⃣ خیلی کم
4️⃣ اصلاً تا حالا بهش فکر نکرده بودم

👇 شماره گزینه رو بنویس.

اگر گزینه ۲، ۳ یا ۴ رو انتخاب کردی، نگران نباش؛ از همین Task بعدی میتونی شروع کنی. 🌱

📅 قسمت بعدی:
حالا که درباره رشد یک جونیور صحبت کردیم، وقتشه بریم سراغ یکی از مهم‌ترین مهارت‌های واقعی محیط کار:

🧩 چطور یک مسئله بزرگ را به چند مسئله کوچیک‌تر تبدیل کنیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت هفدهم
🧩 چطور یک مسئله بزرگو به چند مسئله کوچیکتر تبدیل کنیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

لید تیم یک Task جدید بهت میده:

«یک سیستم گزارش‌گیری برای کاربران بساز.»

😐 چند ثانیه به صفحه خیره میشی...

سیستم گزارش‌گیری؟

یعنی چی؟

از کجا شروع کنم؟

خیلی از برنامه‌نویس‌های تازه‌کار اینجا گیر میکنن.

نه به خاطر اینکه کدنویسی بلد نیستن...

بلکه چون یک مشکل بزرگو نمیدونن چطور به بخش‌های کوچیکتر تقسیم کنن.

امروز درباره یکی از مهم‌ترین مهارت‌های حل مسئله صحبت میکنیم:

🧩Problem Decomposition

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🧠 برنامه‌نویس‌های حرفه‌ای معمولاً مستقیم سراغ کد نمیرن.

اول مسئله بزرگو خرد میکنن.

مثلاً:

«ساخت سیستم فروشگاه»

خیلی بزرگ و مبهمه.

اما اگر تقسیمش کنیم:

ساخت بخش ثبت‌نام کاربران
طراحی ورود به حساب
مدیریت محصولات
ثبت سفارش
پرداخت
نمایش گزارش‌ها

حالا هر بخش تبدیل به یک مسئله قابل مدیریت شده.

📌 مغز انسان با مسئله‌های کوچیک بهتر کار میکنه.

یک برنامه‌نویس خوب کسی نیست که همیشه جوابو بدونه؛

کسیه که بلد باشه یک مشکل بزرگو به چند سؤال کوچیکتر تبدیل کنه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
🎯 تمرین ProgrammerCity

فرض کن به تو یک Task داده شده:

«ساخت اپلیکیشن یادداشت‌برداری»

قبل از کدنویسی، این پروژه رو به حداقل ۳ بخش کوچیکتر تقسیم کن.

مثلاً:

🔹 بخش اول: ...

🔹 بخش دوم: ...

🔹 بخش سوم: ...

جوابتو بنویس. 👇

📅 فردا درباره یک قدم مهم قبل از شروع کدنویسی صحبت میکنیم:

📝 چرا برنامه‌نویس‌های حرفه‌ای قبل از کدنویسی الگوریتم طراحی میکنن؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت هجدهم
📝 چرا قبل از کدنویسی باید فکر کنیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

یک Task جدید گرفتی:

«یک سیستم مرتب‌سازی برای لیست کاربران بنویس.»

اولین واکنش:

💻 سریع ادیتور را باز میکنی.

شروع به تایپ میکنی...

اما بعد از چند دقیقه:

🤔 «صبر کن... اصلاً راه‌حل من درست بود؟»

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

قبل از نوشتن کد، اول راه‌حلو طراحی کن.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1
📝 طراحی الگوریتم یعنی قبل از کدنویسی مشخص کنیم:

🔹 ورودی ما چیه؟
🔹 خروجی مورد انتظار چیه؟
🔹 چه مراحلی باید انجام شه؟
🔹 چه حالت‌های خاصی وجود داره؟

مثلاً برای پیدا کردن بزرگ‌ترین عدد یک لیست:

مستقیم شروع به کدنویسی نکن.

اول فکر کن:

اولین عددو به عنوان بزرگ‌ترین در نظر میگیرم.
بقیه اعدادو بررسی میکنم.
اگر عدد بزرگتری پیدا کردم، مقدارو تغییر میدم.
در پایان نتیجه رو برمیگردونم.

حالا نوشتن کد خیلی ساده‌تر میشه.

📌 کد زدن سریع همیشه نشانه حرفه‌ای بودن نیست.

گاهی حرفه‌ای‌ترین کار اینه که چند دقیقه بیشتر فکر کنیم.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥1
🎯 یک سؤال:

وقتی یک مسئله جدید بهت داده میشه، معمولاً چکاری انجام میدی؟

1️⃣ سریع شروع به کدنویسی میکنم.
2️⃣ اول درباره راه‌حل فکر میکنم.
3️⃣ اول نمونه‌های مشابه رو پیدا میکنم.
4️⃣ از یک نفر کمک میگیرم.

👇 شماره گزینه رو بنویس.

📅 قسمت بعدی:

🚀 چطور یک برنامه‌نویس میتونه سرعت یادگیری خودشو چند برابر کنه؟

━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1