اگر تازه قدم به حوزهٔ توسعهٔ نرمافزار گذاشته باشید، احتمالاً برایتان سخت باشد که دریابید واقعاً به چه شاخهای علاقمند هستید و نیاز به توضیح نیست که دولوپرها میتوانند در حوزههای مختلفی دست به کار شود که از آن جمله میتوان به توسعهدهندۀ بکاند، توسعهدهندۀ اپلیکیشن دسکتاپ، توسعهدهندهٔ اپلیکیشن موبایل یا حتی واقعیت مجازی و اینترنت اشیاء اشاره کرد.
اجازه دهید برای درک بهتر این موضوع، یک مثال از دنیای ورزش بسکتبال بزنیم. در این ورزش پُستهای متفاوتی در تیم وجود دارد که از آن جمله میتوان به گارد رأس، گارد شوتزن، هافبکها، بازیکن مرکزی و غیره اشاره کرد و اگر به بسکتبال علاقه داشته باشید و بخواهید شروع کنید، از همان اول پست اصلی خود را انتخاب نمیکنید و اگر هم دست به چنین انتخابی بزنید، بعد از مدتی بازی در پُستهای مختلف احتمالاً به سمت پُستی بروید که در آن از بقیۀ پُستها بهتر بازی میکنید و تجربۀ بیشتری در آن کسب کردهاید.
در برنامهنویسی هم دقیقاً همینطور است. نمیتوانید انتظار داشته باشید که یک حوزۀ خاصی از برنامهنویسی را انتخاب کرده و مستقیم به سراغ آن بروید بلکه فقط باید شروع کنید و رفتهرفته خودتان خواهید فهمید که در چه چیزی بَد و در چه چیزی خوب و یا عالی هستید که در ادامه نکات بیشتری را در این باره مطرح خواهیم کرد.
سعی کنید سایتی ساده طراحی کنید
ساختن یک سایت ساده با HTML و CSS نسبتاً راحت است و نیاز به توضیح نیست که این فناوریها زیربنای راهی هستند که مرورگرهای وب از طریق آن اطلاعات را در معرض دید کاربران قرار میدهند. کار با HTML و CSS یک تصویر کلی از کدنویسی، کار با ویرایشگرهای متن و دیگر مقولات مرتبط به شما میدهد.
اصول کار را فراموش نکنید
شاید راههای متفاوتی برای اینکه تبدیل به یک دولوپر متخصص شوید وجود داشته باشد اما با این حال مسائل زیربنائی همچنان یکسانند. بدون دانستن این موارد شاید در دام اشتباهات آزاردهندۀ زیادی بیافتید که از آن جمله میتوان به نوشتن کدهای غیرحرفهای یا پیروی از روشهای کدنویسی غیربهینه اشاره کرد. وقتی ندانید که روشهای استفاده از کانسپتهایی مانند الگوریتم و ساختمان داده و حل مسائل واقعی دنیای برنامهنویسی چیست، طبیعتاً هنوز یک دولوپر درجه یک به حساب نمیآیید که برای کسب اطلاعات بیشتر در این خصوص میتوانید به مقالات زیر مراجعه نمایید:
- Web Architecture: آشنایی با مفاهیم پایهای مرتبط با معماری وب اپلیکیشنها
- درآمدی بر مهمترین اصول آموزش کدنویسی به افراد مبتدی
سعی کنید یک نفر را قانع کنید که همزمان با شما کدنویسی یاد بگیرد
کسی که همزمان با شما کد میزند، شاید در طول یادگیری یک جنبۀ جدید از برنامهنویسی را به شما نشان دهد که تا به حال به آن توجه نکرده بودید و از همین روی #برنامهنویسی دونفره مزایای بسیاری دارا است که میتواند در این زمینه شما را یاری کند.
به جلسات تخصصی برنامهنویسی بروید
Meetup (دورهمی) این امکان را به شما میدهد تا در دنیای واقعی با دیگر دولوپرها آشنا شوید و با آنها تعامل داشته باشید (جلسات همفکر و لاگها جزو میتآپهایی هستند که در ایران رایج میباشند.) وقتی با یک دولوپر دیگر شخصاً صحبت میکنید، این گپ و گفتگو یک چشمانداز و مسیرراه نشانتان خواهد داد. به جلسات مختلف بروید و ببینید که دولوپرهای دیگر چه طرز فکری دربارۀ دیگر تخصصهای برنامهنویسی دارند و دقت کنید که با چه دولوپری صحبت میکنید و زمینۀ کاری وی را جویا شوید و همچنین نقطهنظرات و دیدگاههای او را بشنوید.
کانالهای یوتیوب را دنبال کنید
بعضی از بهترین برنامهنویسان جهان در کنفرانسها صحبت میکنند و نگاه کردن به این صحبتها میتواند شما را به سمت درک راههای مختلف سوق بدهد و با درست فکر کردن است که شما میتوانید بفهمید که دقیقاً چه کاری میخواهید بکنید. در همین راستا، یکی از بهترین جاها برای شروع، یوتیوب است (همچنین با مراجعه به مقالهٔ معرفی لیستی از کانالهای مرتبط با کدنویسی در YouTube میتوانید با آموزشهای رایگان کدنویسی عرضهشده در این پلتفرم آشنا شوید.)
یک زبان برنامهنویسی سمت سرور را تست کنید
یک زبانی که برای کدنویسی بکاند استفاده میشود را انتخاب کرده و شروع به کسب تجربه کنید. سینتکس زبان پایتون بسیار به زبان انگلیسی نزدیک است و به همین خاطر یادگیری آن را راحت میکند که شاید برای شما گزینهٔ خوبی برای شروع باشد (اگر علاقمند به یادگیری پایتون هستید، میتوانید به دورهٔ آموزش پایتون در سکان آکادمی مراجعه نمایید.)
جدا از هر زبان بکاندی که فرا میگیرد، حتماً باید با زبان جاوااسکریپت آشنا باشد. چه خوشتان بیاید چه نه، این زبان در زمینههای مختلف برنامهنویسی، از فرانتاند گرفته با بکاند، کاربرد دارد و بسیاری از شرکتهای نرمافزاری در فرایندهای استخدامی خود آشنایی حداقلی با این زبان را مد نظر دارند.
با تکنولوژیهای مختلف کار کنید و آنها را امتحان کنید
تنها راه علاقمند شدن به یک تکنولوژی این است که با آن کار کنید به طوری که باید در اوقات آزادتان با تکنولوژیها، فریمورکها، ابزارها و پکیجهای متفاوتی کار کنید. کار با ابزاری که با آن آشنا نیستید به شما کمک میکند تا بفهمید که به چیزی علاقه دارید و در صورت تمایل، میتوانید آن را تا سطوح حرفهای و پیشرفته ادامه دهید.
کار با یک سیستم مدیریت دیتابیس را فرا بگیرید
هر اپلیکیشنی که با دیتا سروکار داشته باشد نیاز به سازوکاری برای ذخیرهسازی دیتا خواهد داشت. اصول کار با دیتابیس را معمولاً CRUD مینامند که مخفف واژگان Create ،Read ،Update ،Delete است که در همین راستا توصیه میکنیم این اصول را فرا بگیرید (برای کسب اطلاعات بیشتر، به دورهٔ آموزش SQL و MySQL مراجعه نمایید.)
وبلاگنویسی کنید
علاوه بر وبلاگنویسی، با پاسخ دادن به سؤالات دولوپرهایی که مشکل دارند میتوانید نقش مثبتی در این کامیونیتی ایفا کنید. در واقع، نوشتن ایدههای پیچیدهٔ کدنویسی در وبلاگها علاوه بر انتقال دانش به بقیۀ افراد، کمک میکند تا مفاهیم بهتر در ذهنتان تجسم شوند و مهمتر از آن، میتواند شما را به فردی شناختهشده در آن حوزه مبدل گرداند.
مشارکت در وبسایت استک اورفلو
مشارکت در پرسش و پاسخهای این وبسایت میتواند شاخص خوبی برای اندازهگیری مهارتهای فنی شما باشد به طوری که اگر راهحل خوبی برای یک مسئله دارید که قبلاً در این وبسایت جواب خوبی برایش داده نشده است، تنها چند دقیقه طول میکشد تا راهحلتان را منتشر کنید که در نهایت منجر به برندسازی شخصی خواهد شد.
روش جستجو و تحقیق را یاد بگیرید
تحقیق و جستجو از موارد اساسی دولوپر شدن است و باید بدانید که چهطور از اینترنت برای جستجو کردن استفاده کنید. در حقیقت، باید بدانید که چهطور مشکلات و سؤالات خود مطرح کنید که گوگل بتواند شما را به درستی راهنمائی کند (چنین مهارتی فارغ از نوع تخصص شما، کاربردی خواهد بود.)
یک پروژۀ واقعی شروع کنید
کار کردن روی پروژهای واقعی درسهایی به دولوپرهای تازهکار میآموزد که در کمتر فضای دیگری میتواند به آنها دست یابد. از همین روی، توصیه میشود علاوه بر دنبال کردن منابع آموزشی مختلف، کار روی یک پروژهٔ واقعی را شروع کنید.
جمعبندی
روی هم رفته، در ابتدای کار زیاد دنبال مسیر خاصی نباشید و فقط روی این نکتهها و بهتر کردن مهارتهای پایهای صنعت توسعهٔ نرمافزار تمرکز کنید. اگر تازه شروع به برنامهنویسی کردهاید یا مدت کمی است که کار میکنید و نمیدانید در سالهای آتی چه تخصصی خواهید داشت، کاملاً طبیعی است (اگر مجدد به مثال ورزش بازگردیم، بسکتبالیستها هم قبل از اینکه حرفهای شوند نمیدانستند که در چه پُستی بازی خواهند کرد تا اینکه شروع کردند و فهمیدند در چه قسمتی قوی هستند و سپس روی نقاط قوت خود تمرکز کردند.)
همچنین یافتن یک منتور مناسب میتواند کمک کند تا در این مسیر که پَستی و بلندیهای خاص خود را دارا است، احتمال خطای خود را کاهش داده و از تجربیات کسانی که سالها است در حوزهٔ مد نظر شما فعالیت میکنند استفاده نمایید که در همین راستا به جهت آشنایی بیشتر با مزایای منتورینگ، توصیه میکنیم به مقالهٔ منتورینگ چیست و منتور کیست؟ مراجعه نمایید.