سوالات متداول
برنامهنویسان حرفهای و نیمهحرفهای معمولا با سوالات تکراری و زیادی از طرف علاقهمندان روبهرو میشوند. برخی از آنها را در ادامه مرور میکنیم:
- بهترین زبان برنامهنویسی چیست؟
- چقدر طول میکشد تا یه برنامهنویس خوب بشویم؟
- میزان درآمد یک برنامهنویس چقدر است؟
- تا چندسالگی میتوانم برنامهنویسی کنم؟
- برای برنامهنویس شدن حتما باید رشتهی دانشگاهیام کامپیوتر باشد؟
- اساسا چرا برنامهنویسی؟!
قبل از هر چیزی با خودتان صادق باشید. چه چیزی باعث شد که تمایل پیدا کنید برنامهنویسی را یاد بگیرید؟ درآمد بالای برنامهنویسان، علاقه به کامپیوتر و مباحث پیشرفتهی آن، وجههی شخصیتی که برنامهنویسان در اجتماع دارند، نیاز به شغلی که بتوانید در خانه بمانید و پول در بیاورید، تغییر جهان یا حتی به فعلیت رساندن ایدههایتان. اینها همه دلایل بسیار خوبی برای شروع یادگیری برنامهنویسی هستند ولی شاید دلایل خوبی برای ادامه نباشند.
انگیزه و شروع برنامه نویسی
برنامهنویسی نیاز به عشق، علاقه، انگیزه و تلاش پشتکار دارد. زندگی یک برنامهنویس با خطاها و انجام نشدن و زیر سوال رفتن مواردی که قبلا یاد گرفته، منطبق می باشد. در هر پروژهای برنامه نویسی میزان زیادی از وقت شما را برای رفع خطاهای موجود در برنامهی نوشتهشده صرف میکند و شاید روزها طول بکشد تا بفهمید مشکل کار تنها از یک غلط املایی بوده است یا هر چیز دیگری.
پس به عنوان یک برنامهنویس نیاز به این خواهید داشت که واقعا صبور و باپشتکار باشید. باید قبول کنیم که برنامهنویسی کار سادهای نیست. همین ساده نبودن برنامهنویسی، آن را خاص کرده است. نیازی نیست حتما در رشتهی کامپیوتر دارای تحصیلات باشید یا حتما سنتان بالای ۲۰ و کمتر از ۳۵ باشد. یا حتی نیاز نیست انسان بسیار باهوشی باشید یا ریاضیتان خیلی قوی باشد. ولی اگر همهی اینها را داشته باشید، ممکن است در کنار دیگر برنامهنویسان از جایگاه بهتری برخوردار شوید. برای آشنایی با زبانهای برنامه نویسی و ارائه در این زمینه پیشنهاد میکنیم به لینک زیر مراجعه کنید.
شروع کنید …
با شرکت در یک دورهی برنامه نویسی یا خواندن یک کتاب جامع، شما یک برنامهنویس خواهید بود؛ برنامهنویس به این معنی که میتوانید به مطالب گفتهشده در آن کتاب یا آن دوره عمل کنید و بتوانید آن پروژهها را از نو بنویسید. برای یادگیری اولیهی برنامهنویسی زمان زیادی نیاز ندارید؛ ولی برای آنکه بتوانید آنچه را در ذهن شما یا مشتریتان است انجام دهید به تجربههای زیادی نیاز دارید. در واقع، شما به تخصصهای زیادی نیاز خواهید داشت که بسیاری از آنها در هیچ کتاب یا آموزشگاهی ارایه نمیشوند.
بعد از اینکه متوجه شدید که راه سادهای در پیش ندارید و درصورتیکه همچنان دوست دارید برنامهنویس شوید، باید تکلیف خود را روشن کنید و برای آیندهتان تصمیم درستی بگیرید. این تصمیم آیندهی شما را تغییر خواهد داد. پس باید با خود صادق باشید و از روی احساس تصمیم نگیرید.
کدام زبان برنامهنویسی؟
زبانهای برنامهنویسی زیادی در دنیا وجود دارند که قاعدتا قادر نیستید همهی آنها را یاد بگیرید. یکسری از زبانهای برنامهنویسی «چندسکویی» (Cross-Platform) هستند. یعنی با آنها میتوان برای بسترهای متفاوتی برنامهنویسی کنید. مانند زبان برنامهنویسی «جاوا» (Java) که به کمک آن میتوانید برای سیستم عامل اندروید، وب، ویندوز، لینوکس و مک برنامهنویسی کنید. ولی برنامهنویسی برای بسترهای مختلف به سادگیِ حرفزدن در مورد آن نیست و تقریبا برای هر بستر نیاز به مهارتهای خاصی است.
اکثر زبانهای برنامهنویسی یکسری اصول عمومی دارند که معمولا در زبانهای مختلف تفاوت آنها بسیار کم است. مثلا شرطها در اکثر زبانهای رایج وجود دارند. بنابراین در ابتدای کار به شما پیشنهاد میکنم که مقدمات کلی برنامهنویسی را یاد بگیرید و روی یک زبان خاص وسواس نداشته باشید. در لینک زیر فایل آماده زبان برنامه نویسی جاوا قرار داده شده که مناسب برای ارائه کلاسی و آکادمیک شما عزیزان میباشد.
program
خوشبختانه معمولا منابع یادگیری بهصورت رایگان یا با صرف هزینهی بسیار کم در دسترس هستند. با جستوجو در گوگل به سایتهای زیادی خواهید رسید که به آموزش تخصص مورد نظرتان میپردازند. سایتهایی مثل «کد آکادمی» (Code Academy)، «کورسرا» (Coursera) و «خان آکادمی» (Khan Academy) منابع بسیار خوبی هستند.
اول سرمشق بنویسید بعد تغییرات ایجاد کنید
اکثر برنامهنویسانی که در اطرافتان میبینید، اولین برنامهای که موفق به نوشتناش شدند، برنامهی ساده «سلام جهان» (Hello world) بوده است که صرفا یک پیغام کوتاه روی نمایشگر نمایش میدهد. اگر از روی یک کتاب یا هرچیز مشابه آن اقدام به یادگیری برنامهنویسی میکنید، تمام تمرینهای خواستهشده را حتی اگر شده با تقلب کردن از دیگران، انجام دهید. سپس کمی خلاقیت خرج دهید و آن را به سبک خودتان بازنویسی کنید.
hello-world
پس از آنکه کمی در کار خود پیشرفت کردید سعی کنید با چیزهایی که بلدید یک برنامه بنویسید. برای خودتان یک پروژه تعریف کنید و تمام تلاشتان را کنید که آن پروژه را با کیفیت بالا انجام دهید. همچنین میتوانید با استفاده از سایتهایی مثل «سورس فورج» (Source Forge) کدهای سایر برنامهنویسان را بهرایگان دریافت کنید و ببینید آنها چگونه آن برنامه را نوشتهاند و سپس خودتان را با آنها مقایسه کنید.
توسعه و مشارکت در برنامهها
یکی از کارهای پسندیدهای که برنامهنویسان حرفهای انجام میدهند انتشار کدهای نوشتهشدهشان در محیط اینترنت است. این کار باعث میشود که در ابتدا برنامهنویسان مبتدی بتوانند تجربیاتی از کدهای آنها کسب کنند. برنامهنویسان حرفهای و نیمهحرفهای هم میتوانند برنامههایشان را از این طریق توسعه داده و آنها را به برنامههای بهتری تبدیل کنند. سایت «گیتهاب» (GitHub) یکی از وبسایتهای بسیار معروف در این زمینه است که با جستوجو در آن میتوانید پروژههای انجام شده بهوسیلهی سایر برنامهنویسان را مشاهده و دانلود کنید. شما میتوانید برنامهها را توسعه دهید و دوباره منتشر کنید. حتی میتوانید به برنامهای قابلیت جدیدی اضافه کنید.
اگر تا به اینجای کار هنوز پروژهای برای دوستان یا آشنایانتان انجام ندادهاید و کمی استرس دارید که شاید از پس پروژههای تجاری برنیایید، به شما پیشنهاد میکنم با جستوجوی ساده در گوگل (البته به زبان انگلیسی) در انجام پروژهای داوطلبانه شرکت کنید. پروژههای داوطلبانه معمولا بهوسیلهی چند نفر با تخصصهای مشابه و شاید هم متفاوت انجام میشوند و از آنها درآمدی عاید شما نمیشود. برنامهنویسی برای بیمارستانها، خیریهها و سایر موسسات غیرانتفاعی از نمونه پروژههای داوطلبانه هستند که در انتهای پروژه شما چند دوست خارجی، مقدار زیادی اعتمادبهنفس و یک نمونه کار دارید.