1401-12-04 18:07 پس از یادگیری زبان ها
xavier12

 
من با زبان های برنامه نویسی (حداقل اصول جاوا، جاوا اسکریپت، سی ++، پایتون، روبی، HTML و CSS) آشنا هستم. من چندین برنامه ساده جاوا (اندروید استودیو) و پایتون (Kivy) ایجاد کردم. من می خواهم یک توسعه دهنده حرفه ای شوم و شروع به تولید برنامه ها و برنامه های آنلاین متنوع و عالی کنم. من این وبلاگ را خوانده ام، اما مطمئن نیستم که کدام ابزار برای این اهداف بهتر است. در صورت نیاز، مشکلی برای یادگیری یک زبان برنامه نویسی جدید ندارم. علاوه بر این، سال گذشته دیپلم خود را در رشته مهندسی برق و الکترونیک دریافت کردم و علاوه بر یادگیری جاوا (در مدرسه و سال اول دانشگاه)، بقیه موارد را در حین کار یاد گرفتم.در نتیجه، من اطلاعات کافی در مورد چگونگی تبدیل شدن به یک توسعه دهنده نرم افزار ندارم. لطفا! کسی میتونه لطفا به من کمک کنه؟
1401-12-07 01:23
حاجی شریفی
مؤسس سایت
 
سلام
اگر بتوانید کار را در سه شاخه آکادمیک ، تئوری و عملی ادامه دهید که عالی خواهد بود

اول)
چون میفرمائید به تازگی دیپلم را گرفته اید پیشنهاد میکنم درس خواندن را متوقف نکنید
در دانشگاه یک سری اصول پایه را در رشته مهندسی نرم افزار یاد میدهند ولی خیلی زیاد نیست و نباید انتظار معجزه از دانشگاه داشته باشید
ولی ذات داشتن مدرک مرتبط بد نیست
در یک سری از شرکت ها راه پیشرفت تان را هموار میکند
یعنی هم مدرک مرتبط آکادمیک و هم دانش را با هم داشته باشید.

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

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

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

باور کنید دیده ام ! افرادی که سالها تجربه دارند با ادعا حرفه بودن هنوز 10% ویژگی های بومی زبان برنامه نویسی و حتی کلمات کلیدی زبان ویا فریم ورک پایه خود را هم بلد نیستند !
چون یک for,while,switch-case و... یادگرفته اند و همه کارها را با همان ها انجام داده اند
تنبلی، غرور، اعتماد به نفس کاذب یا ... به آنها اجازه نداده مطالعه را ادامه دهند و فکر کردند بلد هستند، کافی است ! دیگر نیاز به یادگیری ندارند

سوم)
برای کسب تجربه عملی پیشنهاد میکنم یکسری اهداف مشخص نرم افزاری برای خود در نظر بگیرید و دقیق و کامل تلاش کنید آنها را تولید کنید.
مثلا
تلاش کنید یک سایت وبلاگ برای خودتان با کدنویسی خودتان درست کنید
بطور نمونه یک سایتی مانند 1pezeshk.com را خودتان برای خودتان درست کنید
با تمام بخش ها و تمام قابلیت ها ...
برای مطالب عنوان و بدنه و تصویر قرار دهید ، امکان Comment گذاری بازدید کنندگان را اضافه کنید و...و....
کم کم کاملش میکنید، پله به پله ! عجله ای نیست ولی کوتاه نیاید که مثلا Comment بازدیدکنندگان را دیگرنمی خواهد، کافی است یاد گرفتم!

همین کار را میتوانید برای یک APP موبایلی هم انجام دهید
یک بازی بسیار ساده دو بعدی موبایلی را خودتان برای خودتان تولید کنید
و...

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

موفق باشید