برنامه نویس از راحتی کار متنفر است


تو این مقاله قرار است رو چه موضوعاتی کار کنیم

1-برنامه نویس علاقه مند است سختی بکشد

2-برنامه نویس طراح ui نیست

3-برنامه نویس فرانت اندکار بک اند دولوپر کار حرفه ای نیست

4-خواهشا به برنامه نویس برای حضوری کار کردن vpn دهید

5-بک اند کار خواهشا برای راحتی فرانت اند کار cms یا نرم افزار پرتال خلق نکنید

6-به درددل های برنامه نویس گوش کنید

7-برنامه نویس برای هرپروژه ای که کار میکنه باید تست بنویسد

8-گیت گیت هاب وگیت لب کار کنید

9-برنامه نویس باید تفکر الگوریتمی داشته باشد

برنامه نویس علاقه مند است سختی بکشد

برنامه نویس علاقه منده همه چی از صفر بزنه، مثلا فرانت اند دولوپر علاقه مند pure html ,pure css بزنه، ولی کسی که باهاش کار میکنه چه به عنوان حضوری وچه دورکاری و چون کارش فورس هست ومی خواهد پروژه سریع تحویل مشتری دهد،میگه با فریم ورک های css مثل بوت استرپ بزن که واقعا کثیف کاری هست ، و چون قراره اون برنامه نویس مثلا 50 سایت بزنه و اون سایت ها با سرعت ارتقا بده و سریعتر به مشتری تحویل بده میگه با css نزن وبا بوت استرپ بزن و چون نمیخواد چند برنامه نویس برای پروژه بیاره وهزینه برای کار پایین تر باشد ،میگه با بوت استرپ کار کنید. بعضی شرکت ها که بدتر میگن css چرخ دوباره اختراع میکنه و فریم ورک های css برای این خلق شده اند که شما چرخ دوباره اختراع نکنید که این حرف چرت وپرت وبی معنی است.

برنامه نویس طراح ui نیست

برنامه نویس فقط کد هایی مینویسد که طراح به ان نشان میدهد و یا یک طرحی پیدا میکند و همون طرح به سایت و اپ موبایل تبدیل می کند بدون این که با xd یا فتوشاپ کار کند.

برنامه نویس فرانت اند کار بک اند دولوپر حرفه ای نیست

https://matruecannabis.com/en/

https://bruno-simon.com/

https://2019.makemepulse.com/

این سه پروژه ای که لینکش گذاشتم پروژه های فرانت سنگینی است و یک فرانت نمیتونه هم بک اند انجام بده هم فرانت اندش همه چی به ماهیت پروژه بستگی دارد وقتی پروژه کوچک یا تستی باشد اره بک اند دربیایی منطقی است ، تازه یک تمرین خوبی هست ولی وقتی پروژه متوسط یا برزگ باشد دیگه فرانت نمیتونه خودش بک اند کار کنه وبرای پروژه یک بک اند کار استخدام بکند

خواهشا به برنامه نویس برای حضوری کار کردن vpn دهید

برنامه نویس برای این که کارش جلوببره و پکیج رو پروژه اش نصب کند یا کارش مثلا با react-native ومدام میخواد تغییرات لازم انجام دهد نیاز به vpn دارد پس خواهشا در مورد این قضیه با برنامه نویس مخالفت نکنید و باهاش مدارا کنید.

بک اند کار خواهشا برای راحتی فرانت اند کار cms یا نرم افزار پرتال خلق نکنید

قبول دارم که cms یا نرم افزار پرتال برای کار کردن با مشتری راحت است ،ولی این cms یا نرم افزار پرتال برای برنامه نویس اصلا خوب نیست برنامه نویس علاقه منده بک اند یک api بنویسه بعد فرانت اند اون api با fetch یا axios بگیرد یا بفرستد و همون api از طریق state managment که مثلا redux اون توی سایت یا اپ موبایل نشون بده وبا graphql یا restful برای فرستادن دیتا درگیر باشد ،نه این که شما برای راحتی فرانت اند کار همه چی بسپاری به cms یا پرتال وفرانت اند کار برای ارتباط با بک اند فقط دیتابیس به cms یا پرتال بفرستد.

به درددل های برنامه نویس گوش کنید

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

شما هر پکیجی بخواهید برای کار با جی کوئری که مثال همون با react خیلی زیاد است، مثلا می خوام با dropdown کار کنم سرچ میکنم پکیج dropdown بعد دانلودش میبینم که چند نفر از این پکیج استفاده کردند و اگر تعداد نفرات زیاد بود، اون استفاده میکنم و یا مثلا پکیج های دیگه همینطور مثل slider carousel popover و خیلی پکیج های دیگه شما ان ها سرچ میکنید و اون پکیج مورد نظر به پروژه اضافه میکنید.

دوما

برنامه نویس فرانت تو react با state ,set state کار میکنه حالا تو هوک اون توuse state اوردند مثل این

const [state,setstate]=useState()

که شما با dom کار نکنید و همه کار بسپاری به state ,setstate و با همین کار کنید ولی جی کوئری همش شما با dom کار دارید این اصلا قاعده تو react به هم میزنه و ممکن است سرعت سایت هم پایین بیاد من اطلاعاتم در مورد این قضیه همین قدر است ،ان شاءالله این مسائله کامل یک نفر به خوبی توضیح دهد.

https://vrgl.ir/NLKvB

مقاله ی اقای نیما عارفی را خواهشا بخوانید که درمورد این قضیه بیشتر توضیح داده است.

در مورد state management ها مثل redux یا contextapi یا mobx دست برنامه نویس باز بگذارید بگذار خودش انتخاب کنه کدوم برای کار کردن راحت تر است نه این که کارفرما یا شرکت یا مدیر پروژه بگوید شما فقط با این state managment کار کنید.

برنامه نویس برای هرپروژه ای که کار میکنه باید تست بنویسد

مثال های که واسه این قضیه برای جاوااسکریپت است مثل mocha که شما میتوانید واسه پروژه سایت یا اپ موبایل بنویسید وبرای react هم jest enzyme react-test-libarary است.

https://vrgl.ir/R57T2

این مقاله های اقای محمد اسماعیل زاده است که در مورد تست نویسی حتما مطالعه کنید و توی پروژه هاتون تست انجام بدید.

گیت گیت هاب وگیت لب کار کنید

یک برنامه نویس فرقی ندارد چه تخصصی داردباید پروژه هاش اگه private رو گیت لب بگذارید اگه public تو گیت هاب بگذارد و اگر کار طراحی سایت انجام میدهید حتما با یکی از سایت های که مثل surge است https://surge.sh

نمونه کارش دربیارید وجایی که قرار است برای مصاحبه بروید نشان دهید و اگر اپلیکیشن موبایل کار می کند حتما اپ موبایلی که نوشتید تو گوشی خودتون ذخیره کنید و برای تجربه های برزگ حتما به پروژه های برزگ در git pullrequest بفرست یا پکیج خوب ومناسب درست کنید.

برنامه نویس باید تفکر الگوریتمی داشته باشد

من یک موقعی این تفکر بهش نه میگفتم چون همیشه به من برنامه نویس فرانت برای اپ موبایل یا وب سایت یک طرح با xd میدادند و میگفتند شما مثل همون طرح سایت یا اپ موبایل من در بیایید چون همش با css ,javascript react,react-native کد میزدم هیچوقت تفکر الگوریتمی تو خودم حس نمیکردم و همیشه میخواستم بازی ساده درست کنم چون تفکر الگوریتمی نداشتم ازش فرار میکردم و چون من کتاب های الگوریتم و ساختمان داده مطالعه نکردم مثالش تو کد اجرا نمیکردم ولی دیگه میخوام خودم تغییر کنم و تفکرالگوریتمی داشته باشم و حتی حاضرم ریاضی که تو دانشگاه با تک ماده قبول شدم قوی کنم.