دوستان عزیز سلام ، امیدوارم حالتون خوب باشه
امروز و توی این مقاله میخوام یه نقشه راه در مورد برنامه نویسی بهتون ارائه بدم .
برنامه نویسی چیه؟ از کجا شروع کنیم، چطور ادامه بدیم و باید به کجا برسیم ؟
مواردی که اینجا میگم رو شاید توی دانشگاه و یا کتاب ها نتونین پیدا کنین، من، علی تقی زاده ، امروز میخوام تجربیات خودم رو در اختیارتون بذارم . تجربیاتی که در طول سال هایی که در حوزه برنامه نویسی فعالیت داشتم، بدست آوردم.
در واقع این یک مقاله نیست ، یک تجربه نویسیه :
قبل از اینکه به مباحث تخصصی بپردازم، یک نکته مهم رو بگم. برنامه نویسی یاد گرفتن یک سری کد و بکار بردن اونها نیست ، برای برنامه نویس شدن ، ابتدا باید عاشق باشی تا بتونی ساعت ها پشت سیستم بشینی و کار کنی ، باید مصمم باشی، تا بعد از ساعت ها کد زدن ، وقتی فهمیدی از اول تحلیلت اشتباه بوده جا نزنی، باید با حوصله باشی تا از گیرهای مداوم کارفرما و کسانی که بهت پروژه دادن عصبانی نشی .
به قول معروف برنامه نویسی یه سبک زندگیه، زندگی با یه لپ تاپ و یه فنجون قهوه!

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

بذارین خیلی ساده برنامه نویسی رو براتون تعریف کنم .
یک سیستم کامپیوتر شامل هزاران قطعه هست از CPU که مهمترینشه گرفته تا اون خازن های کوچولو که همه جا پخشن . این قطعات هیچ کاری رو انجام نمیدن تا زمانی که بهشون دستوری داده بشه . چه دستوراتی؟ دستوراتی شامل صفر و یک ها . البته نگران نباشین ، شما قرار نیست صفر و یک ها رو بنویسین ، کد های شما به صفر و یک که زبان قابل فهمه سیستمه تبدیل میشه . در واقع با برنامه نویسی به این قطعات سخت افزاری مُرده، روح میدیم و براشون مشخص می کنیم چه کاری انجام بدن . این یه تعریف عامیانه اما کاملا مفهومی از برنامه نویسی بود…😊

حالا یکم تخصصی تر بشیم . برنامه نویسی شامل چه سطوحی میشه؟

برنامه نویسی سطح پایین : زبان هایی که به صورت مستقیم با CPU کامپیوتر در ارتباط هستند و کدهایی که نوشته میشه باید توسط CPU پردازش بشه، مثلا زبان ماشین یا MachineLanguage که با استفاده از صفر و یک ها با CPU یا پردازنده در ارتباط هست.

برنامه نویسی سطح میانی : زبان هایی که به برنامه نویسی سطح بالا نزدیک هستند و از طرفی کدنویسی پیچیده تری دارند و به زبانهایی که معمولا برای نوشتن نرم افزارهایی که ارتباط مستقیم با سخت افزار برقرار میکنند زبان سطح میانی میگیم، سیستم عامل یکی از نرم افزارهای مطرحیه که اکثر مواردش با زبان های سطح میانی پیاده سازی شده. مطرح ترین زبان سطح میانی زبان برنامه نویسی c++ ( آموزش زبان برنامه نویسی c++ به زبان ساده ) هست.

برنامه نویسی سطح بالا : زبانهای برنامه نویسی مرسومی که همه ما برای پیاده سازی پروژه های نرم افزاری استفاده میکنیم در دسته بندی برنامه نویسی سطح بالا یا HighLevel قرار میگیرن، برنامه نویسی سطح بالا بسیار به زبان انسان نزدیک هست و به زبان انگلیسی با لغات و استاندارد مشخص به کامپیوتر دستور میدیم که عملیات هایی که میخوایم رو اجرا کنه…

یک نکته در اینجا وجود داره: زبان های سطح بالا دستورات رو از ما به زبان ساده دریافت میکنن و با استفاده از کامپایلر تبدیل میکنن به زبان قابل فهم کامپیوتر، یعنی همون زبان ماشین. و بعد کامپیوتر اونها رو اجرا میکنه، کامپایلرها توسط متخصصین و کمپانی های خاص در دنیا تولید شده و همه نرم افزارهای دنیا با استفاده از اونها ترجمه و اجرا میشن.

معروفترین زبان های برنامه نویسی (سطح بالا) که میشه ازش نام برد C#، جاوا، پایتون، جاواسکریپت، PHP و … هستند.

خب حالا که متوجه شدیم برنامه نویسی دقیقا چی هست و اطلاعات پایه ای در این زمینه رو به دست آوردیم بریم سراغ ادامه کار و درباره انتخاب و یادگیری این شغل عالی صحبت کنیم.

چگونه برنامه نویسی را شروع کنیم

۱٫ مشخص کردن هدف، برنامه نویسی برای چه هدفی؟

  • انجام پروژه های فریلنسری و کسب درآمد از کارفرماها

یکی از پرطرفدارترین جایگاه های شغلی در زمینه برنامه نویسی دریافت پروژه از کارفرما و انجام پروژه هست، به این شیوه، کار فریلنسری و به شخصی که به این سبک فعالیت میکند، فریلنسر میگیم.

از جذابیت های این شیوه کاری امکان داشتن درآمد برنامه نویسی دلاری و شرکت در پروژه های بین المللی در بستر های مختلفی که برای ارتباط بین کارفرما و فریلنسر وجود داره هست، که از معروف ترین سرویس های ایرانی در این زمینه پونیشا و پارس کدرز می باشند.

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

  • پیاده سازی ایده ها و پروژه های شخصی

گاهی اوقات ایده های شخصی عامل انگیزشی و مهمی برای شروع برنامه نویسی هستن.

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

  • استخدام در شرکت ها و سازمان ها

و اما دسته سومی هم وجود داره که نه میخوان خودشون پروژه بگیرن ، نه استارتاپ شخصی دارن، بلکه قصد دارن با یک امنیت شغلی به دور از ریسک دو دسته قبلی ، از تخصصشون کسب درآمد کنن.

اگه جزو این دسته هستین توصیه میکنم حتما ترند درخواست مشاغل این حوزه رو بررسی کنید، به عنوان مثال درخواست شغل برنامه نویس ویندوز ۵ سال پیش به وفور وجود داشت ولی الان خبری ازش نیست و اکثر شرکت ها و سازمان ها پیگیر جذب برنامه نویس وب یا متخصص وب هستن، پس شناخت این موضوع بسیار مهمه.

یکی از راحت ترین راه ها برای بررسی این موضوع مطالعه سایت های درخواست نیروی کار مثل jobinja  و ای استخدام و … هست.

شغل برنامه نویسی

۲٫  انتخاب محیط یا پلتفرمی که میخواین کار کنین و نرم افزار براش تولید کنین

  • قصد دارین برنامه نویس وب بشین و وبسایت های اینترنتی تولید کنین؟

برنامه نویسی و توسعه وب یکی از پرکاربردترین زمینه های فعالیت در حوزه برنامه نویسی می باشد. امروزه بیش از ۷۰ درصد پروژه های نرم افزاری بر پایه پلتفرم های تحت وب هستن و این یعنی درصد قابل توجهی از بازار برنامه نویسی در این زمینه متمرکز شده…

و به همین نسبت هم دارای تخصص های متنوع و جذاب هست که در ادامه درباره آن صحبت میکنیم

هر وبسایت اینترنتی که آدرسش رو توی مرورگر وارد میکنین و باز میشه دارای دو بخش عمده ظاهر وبسایت (هر چیزی که میبینیم) و پشت صحنه وبسایت (ری اکشن هایی که نمیبینیم) هست.

به بخشی که شامل ظاهر وبسایته میگیم FrontEnd که توسعه دهنده اون FrontEnd Developrt  نامیده میشه و بخشی که شامل ری اکشن های پشت صحنه یک وبسایت هستن میگیم BackEnd و به کسی که در این زمینه کار میکنه اصطلاحا میگیم BackEnd Developer.

اینجا سوال پیش میاد نمیشه هر دو مورد رو متخصص شد؟ عموما پیشنهاد نمیشه این موضوع اما خب امکانش هست و به کسی که هر دو مورد رو تخصصی کار میکنه میگیم FullStack Developer که میتونه صفر تا صد پروژه رو خودش انجام بده.

برای متخصص شدن در زمینه Front End باید تکنولوژی ها و زبان های برنامه نویسی زیر رو کامل آموزش ببینین و متخصص بشین :

  • زبان برنامه نویسی جاوااسکریپت ، CSS ، HTML
  • فریم ورک های جاوا اسکریپت مثل Jquery ، VueJS یا AngularJs (میتونین مقاله مقایسه angular و Vuejs این دو فریم ورک محبوب رو مطالعه کنین )
  • فریم ورک بوت استرپ که برای ریسپانسیو کردن صفحات وب استفاده میشه.

اما یک نکته مهم : این موارد زبان های پیاده سازی فرانت اند وبسایت هستن ، طرح اصلی ظاهر وبسایت یا بهتره بگم تصویر ظاهر وبسایت توسط طراح وب با نرم افزارهای فتوشاپ یا Adobe xd  (مقاله تفاوت adobe xd و adobe photoshop رو حتما مطالعه کنین😊) پیاده سازی میشه. پس ما از برنامه نویس FrontEnd نباید انتظار طراحی بصری و تجربی وبسایت رو داشته باشیم و اون خودش یک موضوع شغلی مجزا در زمینه طراحی ظاهر و تجربه کاربری سایت هست.

و اما برای متخصص شدن در زمینه BackEnd انتخاب های متنوعی پیش رو هست … بریم ببینیم چیا داریم…

زبان های مرسوم برنامه نویسی BackEnd در ایران PHP ،ASP.NET و پایتون هستن، که هر کدوم دارای ویژگی های خارق العاده و حرفه ای خاصین و میتونین متناسب با سلیقه و پیش زمینه های برنامه نویسیتون انتخابشون کنین.

  • اکثر استارتاپ ها برای توسعه backend از PHP  استفاده میکنن
  • اکثر وبسایت های سازمانی و دولتی از ASP.NET استفاده کردن
  • اکثر وبسایت هایی که امنیت اطلاعات و سرعت در درجه اول اهمیت هست رفتن سراغ زبان برنامه نویسی پایتون .

هر کدوم از این زبان های برنامه نویسی دارای فریم ورک های مختلفی هستند، فریم ورک در واقع چارچوب کاری استانداردی هست که اکثر برنامه نویس ها ازش استفاده میکنن.

در PHP که پرکاربردترین زبان برنامه نویسی BackEnd این روزهاس، فریم ورک های لاراول، yii2 کدیگنایتر معریف ترین فریم ورک ها هستن.

در زمینه برنامه نویسی پایتون هم فریم ورک های Django و ticknet و scrapy از طرفدارهای بالایی برخوردارن.

مقالات زیر برای کسب اطلاعات کاملتر در زمینه برنامه نویسی و طراحی وب بهتون کمک میکنه :

مقاله چگونگی طراحی سایت و برنامه نویسی

بررسی فریم ورک های PHP درسال ۲۰۱۹

نکته مهم : بعد از تحقیق و کسب اطلاعات کامل و حتی مشاوره با چندین نفر متخصص، یکی از زبان های برنامه نویسی رو انتخاب کنین، چون آینده شغلی شما بسیاار وابستس به انتخاب امروز شما، یک انتخاب خوب میتونه درآمد عالی برای شما رقم بزنه و یک انتخاب ضعیف باعث این بشه که همیشه از شغل و انتخابتون دلخور باشین.

  • قصد دارین یک توسعه دهنده موبایل باشین و اپلیکیشن های موبایلی منتشر کنین؟

این روزا گوشی های هوشمند نبض دنیای فناوری اطلاعات شدن، توسعه روزافزون و با سرعت بالای اون باعث شده که به تناسب ایده ها و درخواست های متنوعی در این زمینه وجود داشته باشه و بازار کار توسعه دهنده هاش پر رونق تر از هر زمانیه…

کاربران گوشی های هوشمند به دو دسته عمده اندروید و IOS تقسیم میشن و و شما برای فعالیت در زمینه برنامه نویسی اپلیکیشن های موبایل باید یکی از این دو گزینه رو انتخاب کنید و در اون متخصص بشین.

یعنی باید یا برنامه نویس اندروید و یا برنامه نویس IOS باشین.

با توجه به گسترش بیشتر گوشی های هوشمند اندرویدی نسبت به IOS ، توسعه اپلیکیشن در این زمینه نیز پر رونق تره و به همین نسبت افرادی که در این زمینه فعالیت دارن تقاضای بیشتری برای کارشون در بازار هست.

اما در مقابل برنامه نویسی IOS تعداد پروژه کمتری داره ؛ ولی با این حال چون هزینه انجام پروژه های ios بالاتره ، برنامه نویسایی که در این زمینه فعالیت دارن دارای درآمد خوبی هستن.

برای برنامه نویسی اندروید از زبان ها و تکنولوژی های زیر می تونین استفاده کنین :

  • زبان برنامه نویسی Java : زبان اصلی برنامه نویسی اندروید Java هست ، حتی سیستم عامل اندروید هم بر پایه همین زبان قدرتمند ایجاد شده، شما میتونین در محیط اندروید استودیو که توسط شرکت گوگل ارائه شده با این زبان برنامه نویسی کدنویسی کنین و اپلیکیشن های خودتون رو تولید کنین.
  • زبان برنامه نویسی کاتلین : جدیدترین زبان برنامه نویسی اندروید که توسط شرکت گوگل ارائه شده زبان کاتلین هست، این زبان هم با توجه به اینکه توسط گوگل ارائه شده و توسعه پیدا میکنه دارای قدرت کافیست و یه جورایی زبان رسمی برنامه نویسی اندروید محسوب میشه، در عین حال که قدرتمنده پیچیدگی های جاوا رو نداره.( دوره جامع آموزش برنامه نویسی کاتلین)
  • فریم ورک های جاواسکریپت : فریم ورک های جاوااسکریپتی ReactNative و VueNative گزینه مناسبی برای دوستانی هست که جاوااسکریپت رو مسلط هستن و میخوان اپلیکیشن اندروید توسعه بدن. حتی نرم افزارهای بزرگی هم در دنیا با این شیوه و تکنولوژی ها پیاده سازی شدن مثل اینستاگرام
  • زبان های برنامه نویسی اندروید تنوع بیشتری دارن مثلا زبان تحت دات نت زامارین و … که میتونین لیست کاملشون رو از اینجا ببینین و دربارشون مطالعه کنین.

 

  • یک برنامه نویس ویندوز بشین و نرم افزارهای تحت ویندوز تولید کنین؟

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

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

معروف ترین زبان های برنامه نویسی تحت ویندوز میتونیم به C# ، جاوا، پایتون، دلفی و … اشاره کنیم.

زبان C# توسط شرکت مایکروسافت ارائه شده ، مهمترین ویژگی که داره قابلیت نوشتن نرم افزارهای کراس پلتفرم با یادگیری این زبان و تکنولوژی های وابستش هست.

اکثر افراد برای پیاده سازی نرم افزارهای تحت ویندوز این روزا از c# استفاده میکنن.

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

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

اطلاعات بیشتر درباره زبان های ویندوزی رو میتونین از اینجا مطالعه کنین و بعد تصمیم به انتخاب بگیرین.

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

۳٫ شروع فرآیند یادگیری با استفاده از یکی از گزینه های زیر :

یادگیری به شیوه های مختلف میتونه شکل بگیره ولی ۳ بستر زیر عمومی ترین روش های یادگیری برنامه نویسی هستن که هر کدوم مزایا و معایب خاص خودشون رو دارن.

  • شرکت در دوره های حضوری :

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

در عین حال معایب دیگه ای هم به این شیوه برگذاری وارده مثل :

وابسته به زمان و مکان بودن ، عدم دسترسی دانشجو به منابع آموزشی در صورت غیبت ، سرفصل غیر قابل انعطاف

از طرفی مزایایی هم داره مثل ارتباط مستقیم دانشجو با استاد و ملزم شدن دانشجو به شرکت در کلاس

  • شرکت در دوره های آنلاین آموزشی

دوره های آنلاین یا Live اصطلاحا به دوره هایی گفته میشه که توسط یک سیستم برگزاری کلاس آنلاین یا LMS برگزار میشه و دانشجو و استاد در ساعت مقرر با ورود به کلاس از طریق اینترنت کلاس رو برگذار میکنن، مزایا و معایبش به صورت کلی مشابه دوره های حضوری هست با این تفاوت که وابستگی به مکان نداره و آموزش میتونه ضبط بشه که در صورت غیبت دانشجو در اختیارش قرار بگیره.

  • مشاهده ویدئوهای آموزشی معتبر:

سوالی که مطرح میشه همواره اینه که با دیدن ویدئوهای آموزشی چگونه برنامه نویسی را شروع کنیم ؟ روش یادگیری که به دلیل نوپاتر بودنش نسبت به سایر سبک های آموزشی ، خیلی از دوستان در انتخابش تردید دارن …

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

مهمترین مزیت آموزش ویدئویی عدم وابستگی سرفصل به دانشجوهای حاضر در کلاس هست یعنی سرفصل و مواردی که باید تدریس بشه توسط استاد تدوین و تدریس میشه. ساده بگم یعنی دانشجویی نشسته نیست که بگه استاد متوجه نشدم و سطح کلاس رو بیاره پایین 😊

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

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

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

۴٫ کسب تجربه و مهارت در قالب کار عملی

مشاهده آموزش های پروژه محور

یکی از راه های کسب تجربه و مهارت عملی دیدن آموزشایه پروژه محوره ، به این معنی که در آموزشی شرکت کنین که مدرس یک پروژه رو تعریف میکنه و همه مراحلش رو انجام میده… بله همه مراحل از مهندسی نرم افزار، تحلیل پایگاه داده ، پیاده سازی پایگاه داده ، تحلیل تجربه کاربری و طراحی، پیاده سازی و کدنویسی ، انتشار و یا تحویل دادن به مشتری… اینها مراحلی هستن که برای ساده ترین پروژه ها هم باید انجام بشه تا یک پروژه تکمیل و تحویل مشتری بشه…

با دیدن همه این مراحل در قالب یک آموزش، در واقع شما درگیر یک کارآموزی مدرن میشین که فوق العاده می تونه راهگشا باشه.

آموزش های پروژه محور این روزا بیشتر در قالب ویدئوهای آموزشی آماده سازی میشن چون مباحث برای طرح توی کلاسهای حضوری سنگینه و زمان یک کلاس حضوری و سایر محدودیت هاش باعث میشه که امکان آموزش در اون محیط نباشه

  • گذراندن دوره کارآموزی

در مرحله بعد از دیدن آموزش، کارآموزی و نشستن کنار دست متخصصین باعث میشه که علاوه بر دریافت تجربیات فنی خاصی که در کار واقعی باهاش درگیری هستیم، از تجربیات اجتماعی در مدیریت کسب و کار و ارتباط با مشتری هم بهره مند بشین، زمانی که شما وارد دنیای برنامه نویسی بشین و بخواین از اون کسب درآمد کنین، بخشی از کار دانش برنامه نویسی هست و بخش خیلی مهم و حیاتی رو ارتباط اجتماعی و شبکه سازی شما شکل میده که باعث میشه پروژه های حرفه ای بیاد سراغتون و بتونین رضایت مشتری رو به بهترین شکل ممکن جلب کنین.

  • انجام پروژه های آزمایشی

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

این مراحل باعث میشه که کم ریسک و مطمئن با بهترین کیفیت وارد بازار کار بشین و با خیال راحت برای مشتریان خدمات رو ارائه و کسب درآمد کنین.

درامد برنامه نویسی

۵٫ ورود به بازار کار برنامه نویسی

  • زمان دریافت سفارش از کارفرما چه نکاتی رو باید بررسی کنیم؟

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

اما خب مسئله اصلی اینه که چه مواردی رو باید رعایت کنیم؟

  • در اولین قدم نسبت به درخواست کارفرما شناخت کامل رو به دست بیارین ، دقیق بررسی کنین کهچه مواردی مد نظرش هست و طبق اون قیمت و زمان رو اعلام کنین.
  • توی قیمت دادن همیشه هزینه های پنهان کار که شاید الان به ذهنتون نرسیده رو در نظر بگیرین.
  • برا پروژه های ابتدایی به زمانی که برای انجام پروژه پیش بینی میکنین ۲۰ درصد اضافه کنین و طبق اون قرار داد ببنیدین! این کارو انجام بدین خودتون بعد متوجه میشین چرا گفتم 😊
  • حتما پروژه رو کامل از همه نظر تست کنین بعد به کارفرما تحویل بدین
  • در طول انجام پروژه با کارفرما در ارتباط باشین، طوری که در جریان پیشرفت کار قرار بگیره و اگر موردی بود با هم رفع کنین.

موارد دیگه ای هم هست که باید دربارش اطلاعات کامل داشته باشین و مباحث خیلی گسترده و مهمیه که اینجا توی این مقاله نمیشه زیاد دربارش ریز شد، مثل شیوه عقد قراردادهای برنامه نویسی، شیوه تحویل پروژه های برنامه نویسی، پشتیبانی از پروژه های برنامه نویسی، قرار داد توسعه پروژه های برنامه نویسی و … که توی آموزش ناگفته های برنامه نویسی تجاری در ایران به صورت کامل بررسی و گفته شده و میتونین از اینجا دریافت کنین.

  • چطوری تبدیل بشیم به یک برنامه نویس خیلی خوب؟

توی دنیای برنامه نویسا بین یک برنامه نویس خوب و یک برنامه نویسی خیلی خوب تفاوت خیلی زیادی وجود داره … از حیث تخصص تعداد برنامه نویسای بالاس ولی برنامه نویس خیلی خوب کم داریم، به همون نسبت هم درآمد برنامه نویسی خیلی خوب چندین برابر یک برنامه نویسی معمولیه، این حرفو من نمیگم آقای بیل گیتس یکی از بزرگای دنیای برنامه نویسا گفته

اما برای خیلی خوب شدن نیازه که

  • روی یک موضوع به شدت متمرکز باشین
  • همیشه در حال یادگیری و توسعه خودتون باشین
  • شبکه خیلی قوی از منابع انسانی و اطلاعاتی برای یادگیری و توسعه مباحثی که کار میکنین داشته باشین
  • از لحاظ اخلاقی و رفتاری و ارتباطات اجتماعی هم در جایگاه خوبی قرار داشته باشین!
  • خلاقیت و قدرت حل مسئله خیلی بالایی داشته باشین
  • از حضور توی بحث های علمی و چالشی فراری نباشین و همیشه برای رفع چالش ها پیش قدم باشین…
  • این ویژگی ها اگر در وجودتون نهادینه بشه تبدیل خواهید شد به یک برنامه نویس خیلی خوب …

این پروسه و طی کردن ۵ گام برنامه نویس شدن چه مدت طول میکشد؟

سوالی که همیشه توسط مخاطبین مطرح میشه اینه که چه مدت طول میکشه تا مبحثی رو یاد بگیرم و حرفه ای بشم؟

پاسخ این سوال سادس… واقعیت هر چی بیشتر وقت و انرژی بذاری سریعتر به نتیجه میرسی اماا موارد خیلی مهم دیگه ای هم هستن که باعث بالا یا پایین اومدن سرعت یادگیری میشن که در پایین نام میبرم…

  • داشتن هدف قابل اندازه گیری که باهاش خودتون رو ارزیابی کنین
  • وجود انگیزه و محرک درونی قوی
  • انتخاب منابع و شیوه آموزشی صحیح، کاربردی و قدرتمند
  • گذاشتن زمان کافی برای طی مراحل آموزش
  • تمرکز روی یادگیری یک مبحث، حرفه ای شدن و شروع مبحث بعدی
  • و در نهایت نقش اطرافیان و مشوق ها که تاثیر بسزایی داره

هر کدوم از موارد بالا میتونه مدت زمان یادگیری شما رو کم یا زیاد کنه…

در عین حال در بهترین حالت برای یادگیری یک تخصص تا حد انجام پروژه حداقل ۶ ماه و حداکثر یک سال در نظر بگیرید.

اگر بیشتر از یک سال درگیر موضوع بودین و نتونستین اولین پروژه های ساده رو حتی انجام بدین به عقیده من شما برای این کار و شغل مناسب نیستید! و به فکر اصلاح روند و یا تجدید نظر در انتخاب شغل باشید.

بهترین برنامه نویسان جهان چه کسانی بودن؟ چه کارهای بزرگی انجام دادن؟

خیلی از اسم هایی که الان با عنوان بهترین برنامه نویسان دنیا میشنویم ، آدم های عجیب و غریبی نبودن و یا دارای یک استعداد مادرزادی خاص نبودن که شدن بهترین برنامه نویس. همه اون های آدم های معمولی بودن که فقط برای رسیدن به هدفشون بیشتر از بقیه تلاش کردن . به خودشون باور داشتن ، به هدفشون باور داشتن.

الهام گرفتن از زندگی بزرگان هر زمینه ای باعث رشد انگیزه و تحرک درونی میشه، وقتی سرگذشت این افراد رو مطالعه میکنین و با فراز و نشیب هایی که طی کردن آشنا میشین، میبینین که تونستن از سختی ها عبور کنن و مسیر همواری رو در پیش بگیرن .

بهتون پیشنهاد میکنم در تایم های آزادتون حتما و حتما ، به مطالعه زندگی افراد موفق به خصوص در حوزه برنامه نویسی بپردازین تا به این باور برسین که شما هم میتونین، منتهی با انگیزه و تلاشی چند برابر…

 

با برنامه نویسی چطوری میتونیم به بهتر شدن زندگی در جهان کمک کنیم؟

برنامه نویسی هم مثل خیلی از رشته ها و شاخه های علمی دیگه یه چاقوی دو لبه س . هم مضره و هم مفید و این به نوع استفاده ما از برنامه نویسی بر میگرده .
بذارین یه مثال بزنم :
یه نفر هست که توی برنامه نویسی خیلی حرفه ای میشه اما از اون برای هک و هوش سیاه استفاده می کنه و به وسیله اون زندگی خیلی ها رو با مشکل مواجه میکنه . چند وقت پیش فیلم Unfriended Dark Web رو دیدم . به شما هم پیشنهاد میکنم اگه میخواین با خطرات دنیای وب و هکر ها و … آشنا بشین حتما این فیلم رو ببینین . من که دیگه با ترس و لرز از لپ تاپم استفاده میکنم :
اما از اون طرف برنامه نویسی میتونه به راحت شدن زندگی ما کمک کنه . ساخت ربات های مختلف در زمینه پزشکی ، ربات های کشف مواد معدنی ، حتی خیلی ساده تر ، اپلیکیشن هایی که ما روزانه از خیلیاشون استفاده میکنیم ، همه اینها بر میگرده به استفاده درست از برنامه نویسی .

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

امیدوارم با مطالعه مقاله بهترین روش یادگیری برنامه نویسی سوالاتی که توی ذهنتون وجود داشته در این رابطه پاسخ داده شده باشه.

منتظر نظرات ارزشمندتون هستم و مشتاق به بحث و تبادل نظر در این زمینه.