10 ویژگی برنامه نویسان موفق
سلام در این مقاله به بررسی 10 ویژگی برنامه نویسان موفق را مورد بررسی قرار میدهیم برنامه نویسان موفق ویژگی های مختلفی دارند اما برخی از ویژگی های برنامه نویسان موفق مشترک است که در ادامه آنها را بیان خواهیم کرد در ادامه با ما همراه باشید.
1.Be well rounded (چند مهارته هستند)
دانستن یک تکنولوژی (زبان برنامه نویسی) به صورت عمیق شاید خوب باشد اما مشکل جهان فعلی همیشه با یک تکنولوژی (یک زبان) حل نمی شود.حتی اگر به عنوان یک متخصص استخدام شوید، هنوز باید بدانید چگونه تکنولوژی خود را (زبان برنامه نویسی) با نرم افزار، سخت افزار و شبکه دیگر که اکوسیستم برنامه را تشکیل می دهد، ارتباط برقرار دهید. به طور ساده اگر شما چند زبان برنامه نویسی بلد باشید به راحتی هم می توانید اپ اندروید و ios تولید کنید و این را در ذهن داشته باشید همیشه زبان ها بعد از چند سال منسوخ می شود مثل قبل بازهم تاکید می کنم concept برنامه نویسی را یاد بگیرید تا اینکه یک زبان برنامه نویسی را به طور کامل یاد بگیرید.
2.Enjoy solving puzzles (از حل پازل لذت می برند)
ساخت برنامه های کاربردی یک پروسه ساده نیست تشخیص اینکه چرا کد کامپایل نشده است، علت باگ چیست و چگونه مشکل را حل کنیم نیازمند داشتن مهارت حل مشکل (puzzle-solving) است و باید همیشه به این فکر کنند که یک راه حل برای حل مشکل وجود دارد. اگر شما مهارت حل مشکل را داشته باشید خب بهتر از پایین بودن system است (این یک اصطلاح است به نام when you have skill the system not going to be down ).
3.Love learning (عاشق یادگیری اند)
تکنولوژی یا هر زبان برنامه نویسی هر سه ساعت یکبارد در حال بروز رسانی و تغییر است شاید زبانی که امروز استفاده می کنید شاید ماه دیگر منسوخ شود (در آینده ای نزدیک شاهد همچین چیزی خواهیم بود) شما احتیاج دارید هر لحظه با زبان های مختلف بروز باشید هرچند که کار دشواری است بهترین زمان برای یادگیری همین الان است شاید فکر کنید وارد شرکتی شوید و زمانی را برای کارآموزی بگذرانید ولی شما اگر در یک محیط آماده شده شروع به یادگیری کنید خیلی بهتر است که در جایی کارآموزی بگذرانید البته از این نمی شود غافل شد که گذراندن کارآموزی باعث به دست آوردن تجربه بسیار خوبی است.
4.Good communication skills (مهارت ارتباطی خوبی دارند)
فقط یک فرد Developer خوبی باشد کافی نیست بلکه باید بتواند با دیگران به خوبی ارتباط برقرار کند یعنی انقدر توانایی داشته باشد که بتواند انتظارهایی که یک شخص از برنامه خود دارد را برآورده کند و نحوه استفاده از آن را به او به گونه ای توضیح دهد تا دچار هیچ مشکل یا ابهامی نشود و به طور کلی قدرت بیان کافی برای صحبت کردن با دیگران را داشته باشند.
5.Confidence(اعتماد به نفش دارند)
هرگز تنها یک راه برای ساخت یک سیستم وجود ندارد. مهم نیست که ایده های شما چقدر خوب هستند، اگر آنها را نزد خودتان نگه دارید هیچوقت ارزش نخواهند داشت. بهترین توسعه دهندگان به ایده های خود اعتماد دارند و در بحث های طراحی برای کمک به شکل گیری معماری نرم افزار صحبت می کنند. برای افزایش اعتماد به نفس، ابتدا با پیشنهاد کوچک شروع کنید، تا اینکه پیشنهاد های بزرگی را انتخاب کنید که بعدا لازم باشد آن را دوباره طراحی کنید.
6.Be interested in the business (به کاری که انجام می دهند علاقه دارند)
کار شما از تکنولوژی استفاده می کند که مشکلات کار شما را حل می کند ! افرادی که توسعه دهنده هستند اگر به کاری که انجام میدهند علاقه نداشته باشند هرگز در کار خود موفق نخواهند بود این ویژگی فقط به توسعه دهندگان مربوط نمی شود در بقیه شغل ها نیز صادق است تنها کلید موفقیت ادامه دادن است !
7.Be a team player (بازی کن یک تیم باشید)
توسعه دهندگانی موفق اند که به صورت گروهی کار می کنند توسعه دهندگانی که به عنوان یک co-workers (همکار) در یک شرکت کار می کنند بسیار موفق تر از کسانی هستند که به صورت تنها کار می کنند یک گروه همیشه موفق تر از یک نفر است زیرا زمانی که شما یک گروه هستید و مشکلی که دارید را بیان می کنید به طور مثال بیش از یک نفر بروی آن مشکل کار خواهند کرد ولی زمانی که تنها باشید فقط خودتان هستید !
8.Understand the importance of deadlines (اهمیت مهلت را درک می کنند)
زمانی که یک کار به توسعه دهنده اطلاق می شود باید کار را در زمان مشخص شده انجام دهد توسعه دهندگان باید کارهایی که به آنها محول می شود را زمان بندی کنند. توسعه دهندگان نباید تمامی زمان خود را برای حل مشکل در یک شرکت بگذرانند (البته اینطور نیست ! حداقل در ایران ) توسعه دهندگان باید به صورت حرفه ای کاری خود را انجام دهند.
9.Be adaptable (سازگار باشید)
یکی از ویژگی توسعه دهنگان خوب سازگار بودن است.پروژه ها و اولویت ها به دلایل بسیاری تغییر می کنند، و توسعه دهندگان باید بتوانند به آنچه در حال حاضر مهمتر است، تمرکز کنند. این تغییرات ممکن است کوچک و موقت یا بزرگ و دائمی باشد. اگر آنها موقت هستند، مطمئن شوید که یادداشت های خوبی بر میدارید تا دوباره به کار قبلی خود برگردید. در کل ممکن است موقعیت شغلی شما در طی کار کردن در یک شرکت تغییر کند سعی کنید خودتان را با آن وفق دهید.
10.Laziness (تنبل هستند)
لری وال (Larry Wall) ، نویسنده اصلی ، زبان های برنامه نویسی Perl ، توصیف سه کیفیت خوب در یک برنامه نویس خوب:تنبلی، بی صبری و غرور.شاید بنظر برسد تنبلی یک صفت بد است اما مدیران IT (آی تی) گفته اند اگر شما می خواهید برای انجام کاری بهترین راه را پیدا کنید ، از یک فرد تنبل بپرسید. خوش شانس هستند ، شخص تنبل سریعترین و کارامدترین راه برای انجام کار را پیدا خواهد کرد. (این ویژگی در 90 دردصد برنامه نویسان وجود دارد !)
موفق باشید.
مطلب زیاد جالبی نبود تنها درصد کمیش درست بود میتونم بگم گزینه اول که میگه یه یرنامه نویس چند مهارته باشه بسیارم غلطه بله تایه جایی باید اشنا باشه فرد با تکنولوژی های دیگه ینی بتونه زبونای دیگرو بفهمه چون کانسپت کدنویسیو بلده ولی اینکه یکی بیاد هم تو وب هم تو اندروید هم تو ios باشه از هیچ کدوم هیچیم یاد نمیگیره و یک ضرر هم خواهد کرد تو اندروید ما مباحث بسیار جالبی داریم مثله واقعیت افزوده و تو وب هم ماشین لرنینگو و یا مفهمو جستجو که هر کدوم از اینا خودش دنیایی از علمه هیچ جای دنیا نمیان بگن تو باید همه چی دون باشی فقط ایرانه که این طوریه و در ضمن جاوا چندین ساله که داره کار میکنه و حالا حالا ها میتونم بگم هیچ وقت منسوخ نخواهد شد پس لطفا نگید همه زبان ها بلکه زبان های سطح پایین این اتفاق براشون میوفته
سلام
به نظر من نظر شخصی فرد هیچوقت ملاک نیست چون هر کس طرز فکری دارد من کاری به خارج از کشور ندارم و اگر در ایران را بخوام بگم شما وقتی می خوای وارد یک شرکت بشی باید اگر اندروید بلدید سمت سرور هم بلد باشید هیچ شرکتی یک برنامه نویس خام رو نمگیره. شما وقتی داری اندروید کار می کنی اگر php بلد نباشید کلا باید با سمت سرور خداحافظی کنید منظور دونستن کل زبان های برنامه نویسی نیست یک برنامه نویس اگر حداقل 3 تا زبان برنامه نویسی رو ندونه اصلا برنامه نویس نیست به این نوع برنامه نویس ها میگن برنامه نویس شرطی مطلب قرار داده شده از یکی از منابع بزرگ جهانی است و نظر شخصی کسی هم با آن ترکیب نشده البته از نظر زبان های برنامه نویسی شاید بشه گفت همشون در آینده منسوخ میشن دست من و شمام نیست بگیم این زبان منسوخ بشه و اون یکی نشه خود گوگل به خاطر اینکه میانه ی خوبه با جاوا نداشت یه جورایی کوتلین رو زبان اصلی اندروید معرفی کرد به همین سادگی می تونه همه چیز تغییر کنه و در مورد یادگیری چندین زبان برنامه نویسی شاید هر زبان 5 سال طول بکشه تا شخص در آن حرفه ای بشه ولی چه در ایران چه در خارج کشور به فردی که یک زبان برنامه نویسی رو یاد گرفته پول آنچنانی نمیدهند البته از این نیمشه گذشت هر زبان کار مخصوص خودش رو داره زمانی که شما در یک زبان expert بشید میزان درآمدتونم هم به همان میزان افزایش پیدا می کند.
لطفا منبع بزرگ جهانی رو ذکر کنید و این که نظر هرکس برا خودش محترمه که نظر من رو کسایی که چنتا زبان رو باهم میخونن برنامه نویس نیستن در اصل تحربه به من ثابت کرده کسایی که همچین کاری رو میشی گرفتن تو اندروید همیشه از کتابخونه استفاده میکنن تا اینکه خودشون کد بزنن برا همین دانش سطحی دارن
سلام و درود مجدد
در سایت بالا جستجو کنید مطلب رو پیدا می کند.
استفاده از همه کتاب خانه اصلا کار درستی نیست چون معماری 90 درصد کتاب خانه ها فوق العاده بد نوشته شده است ولی در مقابل در بعضی موارد استفاده از کتاب خانه خوب است به طور مثال کتاب خانه gson بیش از 8 میلیون بار استفاده شد شخصی نمیادش بشینه از اول این کتاب خانه رو بنویسه یا مثلا rxjava شما 30 سال هم کدنوسی کنید نمی تونید همچین چیزی رو پیاده سازی کنید من هم نمی تونم یا مثلا Butterknife ممنون میشیم در مورد چیزی که باهاش کار کردید و تجربه دارید نظر بدید و در مورد چند زبانه بودن اگر اصولی یاد بگیرید شما می توانید 20 زبان رو یاد بگیرید البته نظر هر شخص برای خودش محترمه .
ممنون که فضای تعاملی را در سایت ایجاد می کنید.
موفق باشید.
سلام خسته نباشید و تشکر بابت مطالب سایتتون
قصد من فقط ارائه نظر شخصیم هست و خودمو درجایگاهی نمیبینم که بخوام بگم حرفم درسته
تا حدودی با نظر Hessam موافق هستم. اینکه برنامه نویس باید در چند حوزه فعالیت داشته باشه فکر نمیکنم خیلی درست باشه.
علتشم از نظر من اینه که وقتی یک شخص بخواد تو چند حوزه فعالیت کنه انقدر مطالب هر حوزه مفصل هست که وقت نمیکنه همه رو به خوبی یاد بگیره و بخواد تو همشون موفق بشه. فکر میکنم اگر یک حوزه رو ولی بصورت عمیق دنبال کنه بهتر از این هست که بخواد در چند زمینه ولی با اطلاعات سطحی فعالیت داشته.
ضمن اینکه مورد ۷ اشاره به کار تیمی داره. اگر هر برنامه نویس بخواد تو همه زمینه ها پیش بره دیگه نیازی به کار تیمی نداره و خودش یک نفر همه کارهارو انجام میده!!!
همچنین تجربه ای که من داشتم بهتره برای مطالبی که نوشته میشه منابعی هم ذکر بشه
باتشکر از سایت خوبتون
سلام و درود
کاملا درست می فرمایید.
سلام دوستان
من مهدی سعیدی هستم
کلاس دهمم تازه
رشته تحصیلیم هم ریاضی_فیزیک انتخاب کردم
میخواستم بدونم برای برنامه نویسی برام زوده یا نه
چون بیشتر علاقم انیمیشینه
نمیدونم چیکار کنم
لطفا راهنمایی کنید
ممنون