برنامه نویسی چیست؟

به این مطلب امتیاز دهید

برنامه نویسی چیست؟

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

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

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

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

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

 

 

 

وظایف برنامه نویسان:

  • نوشتن برنامه های رایانه مطابق با نظر کارفرما، طراح یا مشتری به زبان های مختلفی مانند: c++ و java
  • به روز رسانی برنامه های موجود با توجه به نظر طراح یا نیاز بازار
  • اشکال زدایی برنامه های موجود
  • همکاری با طراحان، کارشناسان بانک های اطلاعاتی و شبکه به منظور ایجاد سهولت در بکارگیری سیستم ها
  • همکاری با گرافیست ها برای زیبایی سازی نرم افزار

 

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

زبان های برنامه نویسی:

 

  • برنامه نویسی پایتون
  • برنامه نویس c++
  • برنامه نویسی c#
  • برنامه نویسی جاوا (java)
  • برنامه نویسی c
  • برنامه نویسی php
  • برنامه نویسی متلب matlab))
  • برنامه نویسی اندروید (android)
  • برنامه نویسی scratch
  • برنامه نویسی sql
  • فریم ورک (google flutter)
  • Visual basic
  • برنامه نویسی های تحت وب

 

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

زبان های برنامه نویسی تحت وب به دو دسته تقسیم می شوند؛

  1. زبان های سمت کاربر front end
  2. زبان های سمت سرور back end 

 

برنامه نویسی
فرانت اند front end  

 

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

 

فرانت از دو بخش تشکیل می شود:

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

 

آموزش گرافیک

زبان های برنامه نویسی مربوط به فرانت اند:

  • Css
  • HTML
  • JAVA SCRIP
  • JQUERY

 

بک اند  BACK END

بک اند  BACK END از دو بخش تشکیل شده است که BACK  یعنی پشت، منظور از بک اند بخشی مرتبط با قسمتی از سایت است که مستقیما با سرور ها در ارتباط است و برای کاربران قابل مشاهده نیست.

بک اند BACK END از سه بخش تشکیل شده اند:

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

زبان های برنامه نویسی مربوط به بک اند:

  • PHP
  • ASP
  • Net
  • Python
  • هم چنین از فریم ورک هایی مانند: RUBY ON RAILSt CAKE , PHP نیز استفاده می شود.

 

مصاحبه با حمید روحانی، برنامه نویس موفق وب 

 

سرکار آقای روحانی، برنامه نویس موفق وب

 

۱- لطفا یک بیوگرافی از خودتان به ما بدهید؟

– من حمید روحانی هستم، ۲۹ سالمه و برنامه نویس وب هستم و وکن و پی اچ پی کار می کنم.

۲- از کجا شروع کردین؟

– در مقطع دبیرستان که بودم تازه کامپیوتر وارد خانه ها شده بود و از این رو خیلی به کشف و یادگیری کامپیوتر علاقه داشتم اما به دلیل شرایطی در دانشگاه در رشته ی برق ادامه تحصیل دادم اما به مرحله ای که در رشته ی برق به سرکار برم  و کسب درآمد کنم، نرسید (اما خوب در رشته ی برق برای کسب درآمد و اشتغال ادامه ندادم) و در سال ۹۵ تصمیم به فراگیری مهارت در رشته ی کامپیوتر گرفتم،

۳- علت انتخاب شما برای تغییر رشتتون از برق به کامپیوتر چی بود؟

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

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

۴- این مهارت را به صورت خود آموز به دست آوردید یا با آموزش شروع کردین؟

– برای فراگیری این مهارت من به آموزشگاه رفتم و سالی که من فراگیری این مهارت را شروع کردم، متاهل بودم و تصمیم گرفتم که دست پر برگردم و آن شیطنت دوران دوران دانشجویی و پیچاندن کلاس ها را نداشتم و به خاطر استعداد و تصمیم قاطعی که گرفته بودم، باعث شد جز تاپ استیودنت ها(top student) (بهترین دانشجویان) باشم. حدود چهار دوره رفتم و مقدماتی، جاوا اسکریپ، php،  html، css و غیره آموزش دیدم که پایان هر دوره ی آموزشی باید پروژه تحویل می دادم.

و خوب برنامه نویسی انقدر دنیای گسترده ای هستش که کتاب نمی تواند دنیای برنامه نویسی را در خودش بگنجاند و داکیومنتش هم بخواهید در سایت بخوانید به نظرم ۱۰ سال طول می کشد که بخواند و برنامه نویسی صد ندارد و بی انتهاست  و کلاس تنها کافی نیست، بنابراین خودم درخانه هم کار کردم

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

 

۵- چه قدر طول کشید که حرفه ای شوید؟

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

۶- از نظر شما دانشگاه آکادمیک و دانش تجربی کدام یک بر برنامه نویسی تاثیر بیشتر دارند؟

– نمی توان گفت کدام تاثیر بیشتر دارند و مکمل هم هستند و حتی به نظرم تنها به تجربی هم نمی توان اکتفا کرد، در واقع دانش -: آکادمیک علم شما را پایه گذاری می کند و دانش تجربی باعث رشد علم شما می شود.

۷- شما گفتید که گرایشتون طراحی وب هست شما چه زبان هایی را کار می کنید؟

– به طور کل زبان های طراحی وب به دو دسته تقسیم می شوند: فرانت اِند (front-end) و بک اِند (back-end)

کسی که حتی بک اِند کار می کند، نیاز هست که کمی فرانت هم بداند تا بتواند کار کند، به همین خاطر من زبان هایی که مربوط به فرانت هم می شود مانند html , java scrip, css  را یاد گرفتم و بعد از آن php  که برای آن نیاز به دیتا بیس ها دارید و  SQL ها هم رفتم، یعنی تجربه کاری هر دو را دارم. بعد از آن سمت محبوب ترین و پر کاربردترین فریم ورک php  یعنی laravel  رفتم.

۸- اولین مشتری های شما چه کسانی بودند و چگونه اولین مشتری هاتون را جذب کردید؟

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

۹- چگونه رضایت مشتری هاتون و جلب کردید و رمز موفقیت شما در کارمندیتون چی هست؟

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

۱۰ شما روزانه چند ساعت وقت می گذارید؟

– حدود ۱۰ ساعت

۱۱- آیا داشتن پایه ی قوی ریاضی و تحلیل مسائل و زبان انگلیسی بر روی برنامه نویسی تاثیر گذار هست؟

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

۱۲- سطح رقابت در این رشته چگونه هستش؟

– با توجه به این که مشاغل بیشتر به سمت تکنولوژی می روند و سعی می کنند علاوه بر مغازه ای که دارند وب سایت هم داشته باشندو تقاضا زیاد شده اما فکر می کنم سطح رقابت شدید نیست و جز مشاغلی هستش که فرد با هر سطح از توانایی می تواند کار داشته باشد و موقعیت شغلی برای آنها فراهم هستش.

۱۳- از آنجایی که شما گفتید که بیشتر مشاغل به سمتی می روند که نیاز به این رشته افزایش پیدا می کند، شما آینده ی این رشته و جایگاهش را چگونه می بینید؟

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

۱۴- دنیای بدون برنامه نویسی را چگونه می بینید؟

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

۱۵- شما به کسی که می خواهد وارد این حوزه شود پیشنهاد می کنید کجا و چگونه آموزش ها را ببینند و این مهارت ها را کسب کنند؟

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

 

۱۶- افرادی که می خواهند وارد این رشته شوند، چه آموزش هایی را لازم هست که ببیند؟

– اگر صرفا برای طراحی وب باشد، یک سری ملزوماتی هست که فرد اساسا باید آنها را بخواند اما مواردی هست که اگر فرد در کنار این ملزومات تجربه ی کار با آنها را داشته باشد، می توانند خیلی قوی تر باشد و شانس های بهتری داشته باشد، مثل تجربه ی کار با کتابخانه های css,bootstrap  و انیمیت و غیره، زمانی که شخص تجربه های زیادی در این موارد داشته باشد می تواند عملکرد بهتری داشته باشد و علاوه بر آن این کتابخانه ها شما را از نوشتن های اضافی دور می کند و سرعت کار شما را بالا می برند و شما تنها زحمت وارد کردن (import) آنها را دارید.

۱۷- شما هنوز هم آموزش دارید؟

– بله

۱۸- یک برنامه نویس چه وظایفی دارد؟

– معمولا جایی که یک برنامه نویس استخدام می شود، یا یک تیم هستند یا یک فرد تمام وظایف را به عهده دارد، که خوب اگر تیم باشند هر کسی مسئول یک زبان هستش، مثلا یکی مسئول فرانت هستش، یکی بکند و خوب در هر شرکتی متفاوت هستش، اما به طور به همان وب و شرکت مربوط می شود.

۱۹- چه زمینه های کاری برای برنامه نویسان وجود دارد؟

– شرکت های طراحی سایت یا مثلا اگر شرکت توزیع دارو باشد برای وب شرکت نیاز به برنامه نویس داشته باشند

۲۰- چه توصیه هایی به شخصی که می خواهد وارد این حرفه شود دارد؟

– علاقه مهم ترین مورد هست که باید داشته باشند و به برنامه نویس به چشم یک کار نگاه نکنند و از انجام دادن آن لذت ببرند، علاقه و استعداد می تواند اتفاق های خوبی را برای آنها رقم بزند.

۲۱- لازمه ی کسب و کار برنامه نویسی چی هست؟

– هوش، برنامه نویسی هوش خوبی را لازم دارد.

۲۲- معمولا  افرادی که می خواهند وارد برنامه نویسی شوند معمولا به این مشکل بر می خورند که چه زبانی را انتخاب کنند، شما چه پیشنهادی برای این افراد دارید؟

 – برای درک برنامه نویسی، من فکر می کنم اگر با یکی از زبان های c family شروع کنند، خیلی خوبه. با یک سری مفاهیم شرط ها، کاندیشن ها، حلقه و منطق برنامه نویسی آشنا می شوند، مثلا c,c# فرقی نمی کند، به طور کلی شروع با زبان ها c family خوبه.

 

۲۳- برنامه نویسی چه مشکلات و موانعی دارد ؟

– ساعت پشت کامپیوتر بودن و تحرک نداشتن به سلامت فرد آسیب می زند، مخصوصا چشم ها! اما خوب کارهایی برای اجتناب از آن وجود دارد.

به عنوان مثال، هر نیم ساعت یک بار به دوردست نگاه کنند، هر ۴۵ دقیقه یک بار تمرینات بدنی انجام دهند، من پیشنهاد می کنم برای تناسب اندام خودشان به باشگاه بروند.

۲۴- مزایای این حرفه چی هست؟

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

۲۵- مشکلات و مزایایی که در ایران دارد و مقایسه ی جایگاهی که در ایران و خارج از ایران دارد؟

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

۲۶- حداقل میزان سرمایه اولیه ای که فرد باید داشته باشد تا وارد برنامه نویس شود، چی هست؟

– به اندازه ای که یک سیستم داشته باشند که بتوانند با آن به اینترنت متصل شوند.

 

۲۷- سیستم مورد نیاز برنامه نویسان باید چه ویژگی هایی داشته باشند؟

– بستگی به گرایش خود فرد دارد، اما برای شروع خیلی سیستم اهمیت ندارد.

 

 

۲۸- حداقل درآمدی که فرد باید داشته باشد، چه قدرهستش؟

-: بستگی به مهارت و تجربه ی خود فرد دارد و نمی توان گفت چه قدر باید باشد و درآمد برنامه نویسان متغیر هستش

۲۹-: و حداکثر درآمد آنها چه قدر می تواند باشد؟

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

۳۰- نرم افزار های لازم برنامه نویسان چی هست؟

 – بستگی به زبانی که انتخاب می کنند، دارد.

 

۳۱- آیا به روز بودن فرد در این حرفه مهم هستش؟

– بله خیلی خیلی مهم هست.

۳۲- آیا فرد حتما باید مهارت را به صورت کامل فرا بگیرد وارد بازار کار شود یا کامل هم نباشد می تواند؟

– کامل که نمی توان این مهارت را یاد گرفت اما حداقلی باید داشته مانند همان پروژه هایی که در قبل گفتم.

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

– خواهش می کنم، به همچنین، آیدی اینستاگرام من hamid.roohani4541 و شماره ی من ۰۹۳۷۵۷۷۵۹۴۷ هستش.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

برچسب ها
نمایش بیشتر

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن