کدوم دنیا رو انتخاب کنم ؟

سلام .
قبل نوشتن این موضوع رفتم سرچ کردم و موضوعاتی که در این مورد بود رو خوندم ولی احساس کردم نیازه یه موضوع مختص به خودم بنویسم .
من ۱۹ سالمه LPIC 1 رو گذروندم و حتی بیشتر از ویندوز با لینوکس کار کردم یه مدتیه Python رو شروع کردم از منابع خارجی
علاقه ی خودم تو بحث شبکه و امنیته و توانایی حل مسله بالایی هم دارم
اما از یه طرفی درامد واسم مهمه و نیم نگاهی هم به اپلای در اینده دارم
مهندسی کامپیوتر میخونم
حالا نمیدونم بعد یادگیری پایتون تو کدوم شاخه خودمو حرفه ای کنم چون اعتقاد دارم باید تو یه بحث خاصی حرفه ای شد تا همه چیو کم دونست
برنامه نویسی (اگه اره چه زبانی ) طراحی وب . یا همین بحث امنیت و شبکه
ممنون میشم ازتون درمورد بازار کار فعلی و آینده هرکدوم توضیحی بدید و تجربیاتتون رو بهم منتقل کنید
مرسی

1 Like

اگه منظور از «دنیا» linux vs windows هست، مسلما لینوکس. سیستم عامل هرچقدر بازتر باشه بیشتر به شما کمک میکنه و بیشتر به‌درد میخوره.
البته شما که LPIC1 رو گذروندید دیگه نباید توی این مساله شک داشته باشید.


اگه منظور از «دنیا» back-end vs front-end vs security vs mobile app vs desktop app vs embedded vs hardware یا خیلی چیزهای دیگست، باید صرفا به علاقه‌ی خودتون توجه کنید.
بین این چیزایی که مثال زدم، یه‌سریهاشون بازار کار بهتری دارن و یه سریا کمتر. اگه بخوام با توجه به اطلاعات خودم اینا رو به ترتیب لیست کنم میشه این:

  • Front-end
  • Back-end
  • Mobile development
  • Embedded systems
  • Desktop app
  • Hardware programming
  • Security (این یه مورد نمیدونم دقیقا کجای این لیست قرار میگیره)

البته لیست بالا فقط بر اساس تعداد شغلها مرتب شده. میزان درآمد تقریبا برعکسه (چون نفرات کمتری توش هستن، دستمزدها بیشتره)
توی هرکدومشون هم شاخه‌های زیادی هست که با هم فرق میکنن. مثلا برنامه نویس python و php و js (که تعدادشون هم زیاده) مسلما حقوقش کمتر از Rust یا clojure (که تعدادشون هم کمتره) هست.
کسی که رزومه‌ی کاملتری داشته باشه حقوقش بیشتره. مسلما موقع استخدام به پروژه‌هایی که انجام دادید (توی شرکتها یا پروژه‌ی شخصی و مخصوصا پروژه‌های اوپن‌سورسی که توش مشارکت داشتید) توجه میکنن و تکنولوژی‌هایی که باهاش کار کردید هم براشون مهمه. (به شخصه اگه کسی git بلد نباشه از جلسه‌ی مصاحبه پرتش میکنم بیرون)


بله. درسته. حرفه‌ای بودن در یک زمینه خیلی خوبه و البته لازمه. ولی برنامه‌نویس back-endی که با react هم کار کرده باشه (حتی خیلی کم) خیلی بهتر میتونه با برنامه نویس front-end هماهنگ بشه و نتیجه‌ی کارش اصولی‌تره. پس توی استخدام هم تاثیر میذاره.

پیشنهاد من اینه که دنبال یادگیری تکنولوژی‌های جدید و خوب باشید.
الآن که هنوز از مسیر خودتون مطمئن نیستید، میتونه به تصمیم‌گیری کمک کنه.
بعدا که مسیر مطمئنی انتخاب کردید، کمک میکنه تصمیمات بهتری بگیرید و زمانی که لازمه مسیر عوض کنید.
http://www.commitstrip.com/en/2016/03/21/like-a-shooting-star/
http://www.commitstrip.com/en/2016/09/09/the-mistakes-of-youth/

2 Likes

دقیقا منظورم همین بود به فرانت اند علاقه ای ندارم واقعا اما بک اندو خیلی دوس دارم .
بله درسته خوبه که تو زمینه های مرتبط یا حتی غیر مرتبط اطلاعات کمی داشت ولی واقعا دنبال اینم تو یه کاری بهترین باشم
درمورد علاقمم بگم من کلا عاشق کار کردن با سرور و اینطور چیزا هستم.
ممنون از اطلاعاتتون.:heart:
درمورد اپلای کردن چطور تا چند سال اینده پیش بینی میشه که چه شاخه ای خیلی مورد کاربرده چه ایران چه خارج
و اینکه با چه چیزی اپلای کردن راحته ؟

کسی اگه درمورد بک اند یا امنیت و شبکه تجربه ای داره خیییلی ممنونش میشم راهنماییم کنه

1 Like

فکر نمیکنم اینجا کسی security expert باشه. یا حداقل من نمیشناسم ولی تقریبا همه‌ی کسانی که back-end کار میکنن، توی امنیت و شبکه تجربه دارن. به هرحال وقتی شما یه وبسایت با flask میسازید اگه مدیریت سرور بلد نباشید نمیتونید deploy کنید.
من بلد نیستم دیتاسنتر راه بندازم تجربه‌ی کم از کار کردن با سرور فیزیکال دارم. ولی اونقدر شبکه بلدم که توی پروژه‌های برنامه‌نویسی گیر نکنم. همینطور درمورد امنیت.

اگه به کشور خاصی علاقه‌دارید باید توی وبسایتهای همون کشور بگردید.
ولی درکل توی ایران .net زیاد استفاده میشه که خارج‌از‌کشور تقریبا قضیه برعکسه. یا مثلا #clojure توی ایران فقط یکی دوتا شرکت استفاده میکنن ولی خارج خیلی راحتتر کار گیر میاد (و مثل اینکه بالاترین درآمد رو داره)

نمیتونم دقیقا بگم چه زبان یا تکنولوژی وضعیت شغلیش بهتره. شاید اگه به stackoverflow.com/jobs سر بزنید به نتیجه‌ی بهتری برسید یا نتیجه‌ی آمارگیری سال ۲۰۱۹ رو ببینید.
البته چیزی که پر‌استفادست لزوما بهتر نیست (اصولا برعکس، خیلی هم آشغاله) ولی به هرحال دیدن این ۲تا لینک میتونه بهتون کمک کنه.

2 Likes

اپلای برای چی؟
در زمینه امنیت دقیقا دنبال چی هستی؟

1 Like

منظورتون رو متوجه نشدم !
در زمینه امنیت خب دنبال اینم متخصص امنیت سایتا یا شرکت خاصی بشم

سطوح زیادی در این زمینه وجود داره.

سطح اول کسانی هستن که فکر میکنن همه‌چی بلدن ولی هیچی بلد نیستن. یه kali linux نصب کردن و چندتا tutorial دیدن فکر میکنن با deface کردن وبسایت یا اجرای کد از‌پیش نوشته‌شده‌ی ddos روی یه سرویس و خراب کردنش، خیلی خفنن.

تقریبا همه‌ی ما (حداقل همه‌ی کسانی که back-end کار میکنن با زبانهایی غیر از php) میتونیم فایروال روی لینوکس نصب و کانفیگ کنیم. با حملات امنیتی و نقصهای امنیتی معمول آشنایی داریم و میتونیم توی کدهامون فیکسش کنیم. تستهای امنیتی معمول رو میتونیم انجام بدیم و مشکلاتش رو برطرف کنیم.
اگه میخواید در این سطح فعالیت کنید، back-end مسیر مناسبیه و در انتها باید یاد بگیرید چطوری سرور کانفیگ کنید و پروژه‌ی خودتونو روش deploy کنید. اگه از کار با ترمینال نمیترسید، اگه محتاج ابزارهایی مثل داکر نیستید (کاملا بد نیست، ولی نباید تکیه‌گاه اصلی باشه) مسائل امنیتی مورد نیاز رو یاد میگیرید.
البته نیاز به مطالعه هم داره که وقتی علاقه داشته باشید تاپیکهای مورد نیازش اتوماتیک توی مسیر یادگیریتون قرار میگیره.

ولی اگه میخواید security expert بشید، کلا مسیرش جداست و برنامه نویسی خیلی زیادی توش نداره.


شاید مطالعه‌ی How to become a hacker نوشته‌ی eric raymond براتون مناسب باشه. جزء متنهاییه که به همه پیشنهاد میکنم مطالعه کنن.
http://www.catb.org/~esr/faqs/hacker-howto.html
بهتره انگلیسیشو مطالعه کنید. هم دقیقتره و هم احتمالا آپدیت‌تر (اریک ریموند این متن رو هر چندوقت یکبار آپدیت میکنه) ولی اگه ترجمه‌ی فارسی میخواید، فصل «چگونه هکر شویم» توی کتاب «لینوکس و زندگی» جادی رو مطالعه کنید:
https://linuxbook.ir/chapters/being_hacker.html

1 Like

بازار کار بک اند چطوریه ؟

و همینطور بازار کار security expert
درکل در مقایسه با بک اند کدومش بهتره ؟
راستش من اطلاعات کمی درمورد جفتش دارم

بازار کار داشتنش خب خیلی برام مهمه چون اخرش نمیخوام به قول خودتون با نصب کالی لینوکس و دوتا سایت خراب کردن حس کنم خفنم
میخواستم بدونم توی چه چیزی تا حدودی تضمین شغلی دارم ؟

بازار کارش خوبه.
از طرف دیگه افرادی که توی این حوزه هستن به مراتب حرفه‌ای تر از front-end کارها هستن (الآن یه سریا میان منو میبندن به توپ و تانک :sweat_smile:) برای همین این بخش رو بیشتر دوست دارم.
یه جورایی هم نمیشه front-end و back-end رو از هم جدا کرد. خیلیوقتا جفتشو یه نفر انجام میده (مگر شرکتهای بزرگ که دسته‌بندیهای زیادی داشته باشن) و بهتره هردوشو بلد باشید (و تمرکز روی یکیش باشه) خلاصه اینطور نباشه که به عنوان back-end کار، هیچی از front-end ندونید. این اصلا خوب نیست.

واقعیتش اینه که خبر ندارم ولی مطمئنا بازارکارش کمتر از برنامه نویسیه. (دستمزدش میتونه خیلی بالاتر باشه)

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

توی هر چیزی اگه کارتون خوب باشه تضمین شغلی خواهید داشت.
بعضی‌چیزها سختتر هستن و کار براشون کمتر پیدا میشه، اینا حقوق بالاتری دارن.
بعضی‌چیزها راحتتر هستن و کار و کارمند براشون زیاد هست، اینا حقوق کمتری دارن و البته امنیت شغلی هم کمتره.

وقتی شما برنامه نویس js یا php یا python یا asp باشید، خیلی راحت کار پیدا میکنید و خیلی راحت هم اون کار رو از دست میدید. چون هرکسی چند ترم کلاس کامپیوتر رفته یا از دانشگاه بیرون اومده اینا رو بلده (نه خیلی حرفه‌ای ولی بلده) و کارفرما ممکنه به خاطر حقوق کمتر نفر جدید رو جایگزین کنه. (خیلیوقتها مشاهده میشه شرکتهایی که با این تکنولوژی‌ها کار میکنن هم استارت‌آپ‌های قوی نیستن و استراتژیهای درستی ندارن و موفق هم نمیشن. البته این حرف کلی نیست)
اینا زبانهایی هستن که خیلیها به عنوان زبان اول انتخاب میکنن. برنامه نویسهای زیادی توی این حوزه هست و شرکتهای زیادی توی این حوزه استخدام میکنن.

وقتی شما برنامه نویس اسمبلی باشید (یه چیز خیلی سخت رو مثال زدم) شاید ۱۰تا شرکت توی ایران استخدامتون کنن ولی قطعا رقیب‌های شما هم بیشتر از ۱۰۰نفر نیستن. این باعث دریافت حقوق بالاتر و امنیت شغلی بیشتر میشه.
البته وقتی توی این گروه قرار میگیرید، با کسانی رقابت میکنید که چندین سال تجربه‌ی برنامه نویسی دارن. هیچ‌کسی زبانهایی مثل rust و elixir و clojure رو به عنوان زبان اول انتخاب نمیکنه (نمیتونه همون ابتدای برنامه نویسیش اینا رو درک کنه) پس طبیعیه که توی کنفرانسهای کلوژری که من میبینم همه‌ی صندلیها رو ۳۰-۴۰ ساله ها اشغال کردن :sweat_smile:

درنهایت همش برمیگرده به سلیقه‌ی خودتون. باید یه مقدار اینا رو تست کنید تا ببینید با کدوم راحتتر هستید.

2 Likes

واقعا پاسخ کامل و کمک کننده ای دادید
ممنونم :pray::pray::pray:

1 Like

سلام دوست عزیز. امیدوارم سلامت باشی
پیشنهادم به تو یک چیز هست اگر علاقه داری البته
ورود به دنیای Data Science

2 Likes

ممکنه دلزده بشن
بنظرم خوبه که کنار یکی از این تخصص ها

یک نیم نگاهی هم به دنیای DSو ML وAI داشته باشن

2 Likes

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

بله خودم بیشتر دنبال متخصص امنیت هستم هم علاقه دارم و هم فکر میکنم بازار کار خوبی داره و خواهد داشت
فکر میکنم بتونم در بک اند هم فعالیت بکنم

بیشتر توضیح میدید؟

شما وارد هر حوزه ای که بشین حتما مباحث AI در اون دخیل خواهند بود و این حوزه که بصورت کلی AI میگم با سرعت خیلی زیادی در حال پیشرفت و دخالت در حوزه های متفاوت هست و خوبه که درموردش ما مقداری پایه و بیسیک داشته باشیم چون از طرف دیگه حوزه های AI ML DS و… خیلی درهم تنیده هستن و داشتن یه تصور کلی درست هم از همشون سخته هم مهمه (در واقع همین یه بیسیک رو در مورد دنیای AI داشتن هم کمی سختی داره) خوبه که به عنوان یه هابی بهش دقت کنین و مقالاتی بخونین

1 Like

خیلیم عالی ، قطعا به این توصیتون عمل میکنم، مرسی

1 Like