خیلی از برنامهنویسها باورهای اشتباهی دارند که سبب میشود در کارشان پسرفت داشته باشند یا پیشرفت قابل توجهی نکنند. من بر اساس تجارب خودم، برخی از این باورهای اشتباه را فهرست کردهام.
البته باید توجه داشت که برخی از این باورها، الزاما هم ربطی به برنامهنویسها ندارد و شاید درباره خیلیها دیگر هم درست باشد. (برای نمونه همین مورد اول)

اصرار بر باور خودمان
این که اصرار داشته باشیم حتما باور ما درست است، سبب میشود که سخن بقیه را نشنویم؛ حتی اگر تظاهر به شنیدن آنها بکنیم.
همیشه باید این شک را داشت که شاید راه حل ما یا شیوه تفکر ما نسبت به یک مسئله درست نباشد؛ تا بتوان سخن بقیه را شنید، درک کرد و آن را بی طرفانه سنجید.
مشتری هیچ وقت نمیداند که چه میخواهد
اگر حتی شش ماه در زمینه برنامهنویسی کار کرده باشید، به احتمال زیاد این سخن را بارها و بارها از دوستان، همکاران و یا رئیستان شنیده باشید. در حالی که به نظر من، این مسئله همیشه درست نیست. بعضی وقتها (اگر نگویم خیلی وقتها) مشتری دقیقا میداند که چه میخواهد. اگر چه شاید بتوان بهبودهایی را به او پیشنهاد کرد.

دلیل این که کد یک نفر را نمیتوان خواند، درست کد ننوشتن او است
همیشه خواندن کد دشوار است. حتی خواندن بهترین و تمیزترین کدهای نوشته شده به دست بهترین برنامهنویسان دنیا. من سه دسته مشخص کد را به شخصه زیر و رو کردم: کدهای Net Framework، کدهای VCL (کتابخانه کنترلهای دیداری دلفی) و کدهای CentOS (یک نگارش مشهور لینوکس که خیلی شبیه به Redhat درست شده ولی رایگان است). همه کدها به شدت تمیز و ساختار مند نوشته شدهاند ولی با این حال خواندن آنها دشوار بوده و نیاز به تمرکز دارد.
بنابراین این قدر سختگیر نباشید و از کد بقیه ایراد نگیرید. کد فعلی خود شما هم اگر توسط یک برنامه نویس حرفهایتر بازبینی شود، شاید کاملا غیر بهینه و زشت به نظر بیاید و او بتواند کد شما را خیلی بهتر و تمیزتر بنویسد. توجه داشته باشید که همه کدها (به نسبت کد بهتر) کثیف هستند. مطمئنا حتی کدهای کتابخانههای بالا را که مثال زدم هم میشود بهبود داد. همه چیز نسبی است.

برنامهنویسی مهمترین و بزرگترین بخش یک پروژه است
این باور کاملا نادرست است. من شخصا از داشتن چنین باوری، بسیار ضرر کردم. حداقل تحلیل و طراحی یک سیستم بخشهای بسیار مهمی هستند که در کنار برنامهنویسی قرار میگیرند.
تازه همه اینها، بخش فنی کار هستند. مسائلی مانند بازاریابی، جذب مشتری، ارائه درست محصول، کارهای حقوقی (ثبت شرکت، نوشتن قراردادها)، مدیریت درست، طراحی استراتژی درست برای فروش، کارهای خدماتی (نظافت محل کار، فراهم کردن فضای مناسب کاری و ...)، بستهبندی درست، طراحی گرافیکی، طراحی وبسایت برای عرضه محصول، تبلیغات درست، تعیین درست بازار هدف، استخدام نیروهای درست برای بخشهای پروژه، زمانبندی درست و خیلی کارهای دیگری تعیین کننده هستند.
شما اگر بهترین برنامهنویس هم باشید، این را باید بدانید که کار شما تنها 20% (و تازه شاید خیلی هم کمتر) از کل کارهای یک پروژه است. برای راه انداختن یک شرکت نیاز به همه عواملی هست که بر شمردم. داشتن برنامه نویس خوب مثل همان جک مشهور است که فردی یک دکمه برده بود خیاطی و از خیاط میخواست که یک کت خوب برای این دکمه بدوزد.
حتما قبلا کسی این کار را کرده است
«به خودت زحمت نده. لازم نیست بنویسیاش. فقط توی گوگل جستجو کن. حتما کسی قبل از ما این کار را انجام داده است.» یا «چرا چرخ را دوباره اختراع میکنی» این جملات را هم احتمالا کسانی که در گروههای برنامهنویسی کار کردهاند زیاد شنیدهاند.
اگر چه کلا حرف درستی است ولی خیلی از مواقع هم سبب عقب راندن شما میشود. شما به خیال این که، کدی که میخواهید بنویسید قبلا نوشته شده است، کلی در اینترنت میگردید و در نهایت چیزی پیدا نمیکنید. به نظر من همیشه، همه چیزها را قبلا نوشته نشده است.

هر چه یک کد طولانیتر باشد، احتمالا حرفهای تر است
این دیگه از آن باورهای کاملا نادرست است. بر اساس قانون KISS یا «نادون هر چه سادهتر بهتر»، روش سادهتر برای انجام یک کار، درستترین روش است. تا به حال بسیار پیش آمده که کدی که دو روز سر آن وقت گذاشتهام را مرور کردم (که مثلا شده است 1000 خط) و دیدهام که چقدر همه چیز را پیچیده کردهام. همه چیز را پاک کردهام و دوباره خیلی بهتر و موثرتر و کمباگ تر آن را با 50 خط نوشتهام.
این را باید همیشه به خاطر داشت که میشود کد را سادهتر و بهتر نوشت. این طوری باگها هم کمتر میشوند و خطایابی هم آسانتر خواهد بود.
برنامهنویسی خیلی کار با حال و خفنی است
برنامهنویسی جذابیتهای خیلی زیادی دارد. ولی از سوی دیگر مانند همه کارها است. دقیقا مانند همه کارهای دیگر دنیا. آن چنان که فکر هم میکنید این کار با حال و خفن نیست.
برنامهنویسی پیچیدهترین کار دنیا است
مطمئن باشید از این کار پیچیدهتر هم وجود دارد. کارتان را مقایسه کنید با کار یک دندانپزشک، جراح قلب، مدیر عامل شرکتهای بزرگ دنیا، طراحان معمار، مدیر پروژه برج دبی و خیلی کارهای دیگر. این قدرها هم به خودتان اعتماد به نفس نداشته باشید.
اینها چیزهایی بود که به ذهن من میرسید.
جالب بود
از نظر من حرفاتون درست بودبه علاوه چند نکته دیگه که احتمالا بفکرتون رسیده باشه
وکسایی هم که با این نظرات مخالف اند بزودی به نظر شما میرسن.من شخصا نظراتتون و قبول دارم
موفق باشید
سلام دوستان
من یکی از یرنامه نویسان یک شرکت بزرگ که شاخه ای از apple است هستم/
به نظر من اوون که اینا رو نوشته یا برنامه نویس نبوده یا برنامه نویس ضعیفی بوده یا اعتماد به نفس نداشته....
این چیزها رو من با چشم خودم دیدم:
گران ترین آدمها برنامه نویسها هستند
در آمریکا از مشکل ترین کارها (به قول شما خفن ترین ها) برنامه نویسی است
کدهای خیلی مهم در 80 درصد کارهای ما حتما طولانی هم می شوند
بخش عظیمی از لحاظ سودآوری و تکیه گاه بودن از شرکت اپل همین برنامه نویسها هستند
عمده دید تحلیل و نو آوری را در شرکت ما برنامه نویسها می دهند!
اصولا تحلیل گران خوب و مدیران خوب اوونایی هستند که روزی برنامه نویس خوبی بودند/.
کارهایی که ما برای MAC می کنیم در هیچ جا پیداش نکردیم!! ( به قول یه هندی توی تیم ما : مرتب در حال اختراع رینگهای متنوع برای چرخهامون هستیم!!!)
اعتماد به نفس حرف اول رو می زنه! همیشه ما همه کاری رو می توانیم بکنیم!!!!!
ممنون دوستان///
http://eforosh.com/cont
مطلب جالبی نوشتید با اکثرش موافقم فقط چند نکته.
این که برنامه نویسی بزرگترین بخش کار هست یا خیر کاملا بستگی به نوع پروژه داره. البته من تحلیل را هم جزو برنامه نویسی می دانم چون بدون تحویل نوشتن کد بیشتر اتلاف وقت است.
در مملکت ما نرم افزار و برنامه نویس ارزش واقعی خودشان را ندارند حالا به دلایل مختلف. در چنین وضعیت شاید بهتر باشد که همان برنامه نویسی سخت ترین و پیچیده ترین کار دنیاست را مدام در گوش همه تکرار کنیم!! :)
سلام
مطبی جالبی برام بود . :)
سلام
فید مطالبتون از طریق گودر دنبال می کنم و خواستم بگم از خوندنشون لذت می برم
خیلی مفید می نویسید.خسته نباشید.
همین
موفق باشید.
سپاسگذارم. امیدوارم شما هم همیشه موفق باشید.
مطلب خوبی نشوشتین!
واسه بهتر شدنش(و همینطور امانتداری) توصیه میکنم از ارجاع دادن استفاده بکنید(مثلا به سایت هایی مثل makinggoodsoftware.com ، نوشته های خوبی داره!)
سایت رو دیدم. بعید نیست که قبلا هم در dzone.com لینکی از این سایت بوده باشه و من خوانده باشم. ولی این مطلب را کاملا بر اساس نمونههای واقعی که در ذهنم هست نوشتهام. در واقع برای هر کدام از این موارد دو سه نفری از همکارانم در ذهنم هست که دقیقا این طوری فکر میکنند. البته بعضی ها هم باورهای خودم بوده و خیلی خیلی به من ضرر وارد کرده است (اینکه مهمترین کار در یک پروژه برنامه نویسی، خود برنامه نویسی است) در هر حال از دیدگاهی که نوشتید سپاسگذارم. این جوری دیگران میتوانند نوشته من را با نوشته های این سایت مقایسه کنند.
البته برنامه نویسی بخش اصلی کار نیست، اما
1. برنامه نویسی عموماً حجیمترین بخش کار است.
2. بیشترین هزینه بایستی در این بخش صرف شود.
3. تحلیلگری که برنامه نویس نباشد، عمدتاً تحلیل و برنامهریزی مناسبی ارائه نمیکند.
در ضمن باید توجه داشت هر کس که کد بزند، برنامه نویس نیست! برنامه نویس کدری است که علاوه بر کد زدن از آموزش صحیح، تجربه، دید نرمافزاری و البته هوش کافی برخوردار باشد.
ممکن است برنامه نویسی حجیمترین بخش کار باشد (که تازه من فکر نمیکنم این طوری هم باشد) ولی مهمترین بخش کار نیست. همان طور که گفتم بازاریابی، عرضه درست محصول و خیلی از کارهای دیگری مانند مدیریت پروژه بخشهای بسیار مهمتری هستند. این حرف من شامل کل تیم برنامه نویسی است (از جمله تحلیل گر و طراح)
فرستادن دیدگاه تازه