سلام خدمت اساتید محترم،
من خدا رو شکر الان درآمد خوبی دارم و می خوام بیام برنامه نویسی یاد بگیرم دیگه و برای دو تا سه سال آینده رزومه سازی کنم برم برای کانادا انشاا… .
سن من 33 هستش.
اگر شما اساتید عزیز همین امروز بخواین از صفر شروع کنید چه حوزه ای رو انتخاب می کنید و چه زبان یا زبان هایی رو به من توصیه می کنید یاد بگیرم تا بتونم برای کانادا هم اقدام کنم.
من با کار آنلاین و طراحی و … آشنایی دارم رشتمم فیزیک بوده و کارشناسی ارشد دارم اما تا حالا برنامه نویسی نکردم.
اینهایی که گفتم رو فقط برای این گفتم که شاید با توجه به سن یا نوع مدرک و … بتونید بهتر راهنماییم کنید
پاسخ به این سوال غیر ممکنه.
ولی شاید بهتر باشه وبسایتهای کاریابی رو نگاه کنید ببینید توی کانادا چه زبانهایی پرطرفدارتره.
اصولا موبایل (react-native و kotlin و swift) بازارکار خوبی دارن و البته فرانت-اند (html-css-js و react و یه سری چیزای دیگه)
برای junior developer مناسبه ولی برای senior خیل کمه.
بعید میدونم شرکتی باشه که بخواد junior استخدام کنه از کشورهای دیگه! چون به هر حال مخارجش بالاست.
ولی اگه مشکلی توی مهاجرت ندارید، میتونید بعد از سفر به کانادا به عنوان یه برنامهنویس junior شروع به کار کنید. البته باید چندتا نمونهکار داشته باشید.
این حرفم خیلی کلیشهایه ولی کمیت مهم نیست. کیفیت مهمه. نگاه با ذهن باز و گرفتن دیدگاه درست نسبت به مساله خیلی مهمتر از زمانیه که صرف میکنید.
این یه جملهی خیلی معروفه که نمیدونم کی اولین بار گفته «به عنوان یه برنامهنویس یکی از مهمترین مهارتهای شما باید این باشه که بدونید چه زمانی از پای کامپیوتر بلند بشید و ازش فاصله بگیرید.» (وقتی کار گیر میکنه و نمیتونید مساله رو حل کنید، فکر نکردن بهش بهترین راه برای حلشه)
اگه صرفا یک جواب رک و راست میخواید، «بله. روزی ۶ساعت خوبه.»
ولی به خیلی چیزهای دیگه بستگی داره.
یک سوال دیگه.
میشه هم زمان هم توسعه دهنده اندروید بود و هم آی او اس؟
البته من دارم میبینم تو سایتای خارجی طرف سنی نداره اصلا هم برنامه نویسی موبال تدریس میکنه هم برنامه نویسی وب اونم تو udemy و دوره هاش جز بهترین توی udemy هست
بله چه با flutter یا react native یا Kotlin و Swift میتونین.
ولی اونجوری من متوجه شدم شما وقت کافی ندارین و نیازی هم ندارین برای هردوش (حالا فرض میکنم که با کاتلین یا سویفت شروع کنین) شما باید نهایت تلاشتون این باشه که به حد سنیور برسین پس کارتون رو سخت نکنین با انتخاب هر دو
جواب قسمت دومتون هم اینه که اونا از سنین خیلی پایین شروع کردن و توی یه کشور تاپ بودن به احتمال زیاد و همه چی روبه راه بوده براشون تا با سرعت تونستن به حد عالی برسن
فکر کنم اینطوری بگم برای کسی که اولین باره این اسمها رو میشنوه واضحتر باشه که ۲تا راه دارید:
۱. استفاده از کاتلین برای اندروید و سویفت برای آیاواس (دوتا زبان و ابزارهای کاملا جدا برای ۲تا پلتفرم جدا)
۲. استفاده از فلاتر یا ریاکتنیتیو که هرکدومشون میتونن برای هردوتا پلتفرم خروجی بدن. یعنی شما یه کد میزنید و با کمی تغییر (یا بدون هیچ تغییری) برای هر دو سیستمعامل خروجی میگیرید.
ممنون از توضیح خوبتون.
خوب الان من یک سوال برام پیش اومده که پس منطقا همه باید روش دوم رو پیش بگیرن چون به ظاهر بهتره و میتونه درآمد زا تر باشه.
ولی مسیر اول همچنان گویا وجود داره. علت و تفاوت ها چیه؟
مسیر اول، اینه که برای هر سیستمعامل، با زبان و تکنولوژیهایی که برای اون سیستمعامل ساخته شدن کار کنیم. نتیجهی کار بهتر میشه.
ولی نقطهی ضعفش اینه که حداقل نیاز به ۲برابر نیرو داریم (چون نیاز هست یه برنامه ۲ بار نوشته بشه)
مسیر دوم، با استفاده از زبان جاوااسکریپت یا دارت، یک کد مینویسیم که برای هردو سیستم عامل کامپایل میشه. اینطوری هزینهی نفر/ساعت پروژه پایین میاد ولی یه کم راندمان و قابلیتهاش کمتره.
البته من با هیچکدوم کار نکردم. اگه توی وب سرچ کنید مقایسههای زیادی بین این تکنولوژیها هست. و البته با چیزهای جدیدی مثل cordova+ionic آشنا میشید که اساسا webview بیش نیستن.
بنظر من سه سال وقت بسیار خوبیه به این شرط که برنامه کاملا مشخص و اراده پایداری داشته باشید، سعی کنید مفاهیم اولیه برنامه نویسی رو یاد بگیرید و تا جاییه که امکان امکان داره همزمان روی مفاهیم تئوری و عملی کار کنید، با توضیحی که دادید اگر من جای شما باشم سعی میکنم فعلا فقط روی یک پلتفرم کار کنم و واقعا فرقی نمیکنه که اندروید باشه یا iOS، بهتره روی اونی کار کنید که امکاناتش رو همین امروز دارید و نیازی به صرف وقت و هزینه نداره براتون.
من کانادا نیستم اما با توجه به آشنایی محدودی که دارم میدونم که کار برای هر سطحی از تجربه وجود داره.
اگر دوره کوتاه مدتی هم هست که میتونید استفاده کنید خیلی عالی میشه چون داشتن یک مدرک کوچیک کمک زیادی میکنه برای کار یابی، فقط در نظر داشته باشید که کار اصلی رو شما باید انجام بدین، کارآموز های زیادی هستند که از بوت کمپ ها وارد بازار میشند و یواش یواش جاشونو پیدا می کنند، شما باید سعی کنید ظرف یک سال شروع به کار کنید چون داشتن تجربه کاری بسیار مهمه و بهتره حتما با بیمه باشه البته اگر قصد دارید از این راه مهاجرت کنید.
خیلی ها در یودمی هستند که واقعا در زمینه محتوای آموزشی که ارائه میدن حرفه ای هستند و شکی درش نیست اما در موارد بسیاری هم به این صورت هست که شما فقط گوینده رو می بینید و یک تیم کامل کار آموزش رو در پشت پرده هدایت میکنه پس زیاد همه رو جدی نگیرید. در ضمن اگر بتونید در کنار آموزش و تجربه کاری پروژه های اپن سورس هم انجام بدین کمک بسیار خوبیه به رزومه.
در آخر هم باید بگم که شما وقت زیادی برای یادگیری و درست کردن رزومه دارید اما برای از این شاخه به اون شاخه پریدن هرگز