EN

موستانگ، وحشیِ دوست داشتنی

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

مهندس نرم افزار - موستانگ

برای من، مهندس نرم افزار بودن بهترین شغل در دنیاست. همیشه عاشق برنامه نویسی بودم و هستم و اینکه بتوانم با تخصصم محصولی تولید کرده و درآمد داشته باشم جذابترش هم می کند. اما همان طور که زندگی پستی و بلندی دارد، یک مهندس نرم افزار هم با چالش های مختلفی در حرفه خود مواجه می شود. اما چیزی که از همه مهمتر است، استقامت و ادامه دادن مسیر، با وجود همه این ناملایمتی هاست! و این نکته ای است که موستانگ همیشه به یاد دارد. در این مقاله با او هم قدم شوید تا 7 راهکار مهم برای تبدیل شدن به یک مهندس نرم افزار موفق را به شما بیاموزد. 1- تخصص تان را کم نفروشید ، شما یک مهندس نرم افزار هستید !   این یکی از مهمترین نکته هاست که خود من برای رسیدن به آن سختی زیادی کشیدم! واقعیت اینست که این روزها اگر در حوزه آی تی و بعنوان یک مهندس نرم افزار کار کنید، به شما به چشم یک منبع ارزشمند نگاه می کنند (منبعی که قدرت های جادویی دارد)! اینکه به چشم یک منبع (به جای یک انسان) دیده شوید، اگرچه درست نیست اما متاسفانه حقیقت دارد. چیزی که باید ما مهندسان نرم افزار به آن دقت کنیم، این است که شرکت ها به ما احتیاج دارند ! امروز مهندس نرم افزار ، یک موقعیت شغلی با بیشترین میزان تقاضا است. بعد از همه گیری ویروس کرونا و اجبار کسب و کارها به ارائه محصولات و خدماتشان به صورت آنلاین، تقاضا برای تخصص مهندسان نرم افزار حتی چندین برابر قبل شده است. بنابرین دفعه بعد که کارفرمایی به فکرش رسید که از شما بیگاری بکشد، به نکات بالا توجه کنید و بیاد آورید که چقدر برای یادگیری تکنولوژی های جدید وقت گذاشتید و بی خوابی ها کشیدید! آنوقت نه تنها موقعیت های کاری بهتری بدست خواهید آورد، بلکه عزت نفس تان نیز به میزان قابل توجهی افزایش می یابد، چیزی که نه فقط در کار بلکه در زندگی نیز کمک تان می کند. 2- روی خودتان و حرفه تان سرمایه گذاری کنید   صنعت تکنولوژی یکی از به روزترین صنعت هاست (اگر نگوییم که از همه صنعت ها به روزتر است). بنابرین گاهی اوقات همراهی با آن سخت می شود، مخصوصاً در حوزه توسعه وب. اما برای یک مهندس نرم افزار ، یادگیری تکنولوژی ها ، زبان های برنامه نویسی ، فریم ورک ها ، توانایی ها و تکنیک های جدید یک امر حیاتی است. امتیازی که مهندسی نرم افزار دارد اینست که می توانید از هر جایی که بخواهید (شرکت ، خانه و غیره) یاد بگیرید. علاوه بر این می توانید از منابع مختلفی استفاده کنید. از کتاب و ایبوک گرفته تا وبلاگ ها ، پادکست ها و کلاس های آنلاین . وقتی تخصص جدیدی یاد می گیرید، باید علاوه بر پولتان، زمانتان را هم هزینه کنید. هزینه مالی می تواند در روش های مختلف متفاوت باشد، اما آنچه مهم است ، زمان است! زمان گران بها و کم است! معمولاً یک مهندس نرم افزار ، کار تمام وقت دارد و اگر بخواهد تخصص جدیدی را هم یاد بگیرد باید این کار را قبل یا بعد از کار، آخر هفته ها و یا در تعطیلات انجام دهد. پس همیشه باید اندکی از زمان آزاد یا از خانوادتان بزنید. اما سرمایه گذاری روی تخصص ها و حرفه تان بسیار مهم است. پس همیشه نکات زیر را بیاد داشته باشید: باید هوشمندانه سرمایه گذاری کنید! مهندس نرم افزار هوشمند یعنی چه؟ یعنی لازم نیست هر فریم ورک و تکنولوژی جدیدی که می آید را یاد بگیرید. مثلاً : امروز React.js یاد نگیرید و فردا Vue.js و هفته بعد Angular.js ! جاوای پیشرفته را یاد نگیرید اگر هنوز جاوای مقدماتی را نمی دانید! بین روش های آموزشی مختلف مدام جا به جا نشوید (یک روز کتاب ، فردا کلاس)! به جای همه این ها ، خودتان را روشن کنید که اصلاً چه می خواهید: کار front-end را دوست دارید یا back-end را؟ اصولاً به تصاویر علاقه دارید یا به اعداد و ارقام؟ در حال حاضر روی چه پروژه هایی کار می کنید و چه تخصص جدیدی می تواند کمک تان کند؟ چه تکنولوژی ها ، فریم ورک ها و زبان های برنامه نویسی در حوزه کاری شما پرطرفدارتر است؟ آیا می خواهید یک تخصص جدید را برای دلیل مشخصی ( شغل جدید ، درآمد بالاتر ) یاد بگیرید یا فقط تفریحی؟   در نهایت ، یک بودجه زمانی مشخص کرده و به چیزی که برایتان اهمیت دارد اختصاص دهید. کلاس های مختلف و کیفیتشان را ( قبل از اینکه برایشان زمان صرف کنید ) بررسی نموده و در آخر، اگر تصمیم گرفتید که زمان ارزشمندتان را روی چیزی صرف کنید، به یادگیری آن متعهد بمانید. ما معمولاً عادت داریم که بعد از مدت زمانی علاقه مان را به یک موضوع از دست داده و سراغ چیز جدیدی برویم، اما شما این کار را نکنید! شما هوشمند باشید! 3- کارفرما ها و مکان های سمی را ترک کنید!   Jack Ma  ، موسس علی بابا می گوید : وقتی بین 20 تا 30 سال سن دارید، باید به دنبال یک رئیس و شرکت خوب باشید تا نحوه درست انجام دادن کار ها را یاد بگیرید. این یک توصیه خوب است اما نکته ای را کم دارد: اگر متوجه شدید که شغل یا رئیس فعلی تان آن چیزی نیست که انتظارش را داشتید، باید چه کنید؟ داشتن کارفرمایی که شما را پشتیبانی نمی کند ، برای خودتان، حرفه تان و مهم تر از همه عزت نفستان بسیار بد است. داشتن کارفرمایی که بطور مدام (و شاید هم عمدی) به حرفه شما آسیب می زند، از آن هم بدتر است. بعضی از کارفرماها اصلاً اجتماعی نیستند و یا سر و کله زدن با آن ها بسیار سخت است. بعضی ها هم رهبران خوبی نیستند.   در نهایت اگر به این نتیجه رسیدید که نمی توانید در حرفه تان به خوبی عمل کنید و دلیلش هم رئیس تان است، پیشنهاد می کنم که شغلتان را عوض کنید. زیرا به خاطر تجربه های خودم و دیگران، می توانم بگویم که: کارفرما ها عوض نمی شوند! وقتی صحبت از تغییر

یادگیری ماشین ( machine learning)

یادگیری ماشین - موستانگ

کلمه ای که این روزها همه توجه ها را به خود جلب کرده! و دلیل خوبی هم برای آن وجود دارد. تقریباً هر تکنولوژی جدیدی در حوزه علوم کامپیوتر ، به نوعی از یادگیری ماشین استفاده می کند، آنهم پشت درهای بسته! مثلاً: Cortana مایکروسافت ، نرم افزارهای تشخیص چهره و حتی پشنهاد محصولاتی که آمازون به خریدارانش می دهد، همگی از مفهوم یادگیری ماشین استفاده می کنند. تنها این ها نیست! یادگیری ماشین و علوم داده همه جا هست. چرا؟ چون داده همه جا هست! در این مقاله از وبسایت موستانگ ، قصد داریم تا بیشتر به توضیح این شاخه از کامپیوتر و کاربردهای آن بپردازیم. پس در ادامه با ما همراه باشید. هر فرد با هوش متوسط و اندک دانشی از کدنویسی ، کاملاً طبیعی است که بخواهد سرکی هم به دنیای ماشین ها بزند. اما یادگیری ماشین چیست؟ چه اندازه بزرگ است؟ بیایید یکبار برای همیشه این مفهوم را توضیح دهیم. یادگیری ماشین واقعاً یعنی چه ؟ در واقع ، یادگیری ماشین زیرشاخه ای از هوش مصنوعی است که از دانش  الگوشناسی (Pattern Recognition) و تئوری یادگیری محاسباتی (Computational Learning theory) سرچشمه گرفته. Arthur Lee Samuel یادگیری ماشین را اینگونه تعریف می کند: شاخه ای از علوم کامپیوتر و هوش مصنوعی که بدون دخالت انسان ، می تواند از داده ها یاد بگیرد. طبق این تعریف ، هر زمان که اسم یادگیری ماشین می آید ، مردم به طور ناخودآگاه به هوش مصنوعی (AI) ، شبکه های عصبی (شبکه هایی که می توانند از مغز انسان تقلید کنند) و ماشین های خودران فکر می کنند. اما واقعیت اینست که مفهوم یادگیری ماشین خیلی خیلی گسترده تر از این هاست. در ادامه موستانگ برخی نمونه هایی که تصورش را می کردید و برخی را که اصلاً فکرش را هم نمی کردید ، به شما معرفی خواهد کرد. نمونه هایی از یادگیری ماشین که احتمالاً حدسش را می زدید فیلدهایی را معرفی می کنیم که احتمالاً خودتان هم حدس می زنید: 1- تشخیص صدا (Speech Recognition) شما در ویندوز با cortona یا در گوشی سامسونگتان با Bixy صحبت می کنید و او هم حرفتان را می فهمد! اما چطور این کار را می کند؟ اینجاست که پای شاخه ای بنام NLP یا Natural Language Processing باز می شود که نحوه تعامل انسان با ماشین را مورد مطالعه قرار می دهد. حالا حدس بزنید در دل NLP چه چیزی قرار دارد؟ الگوریتم های یادگیری ماشین ! 2- بینایی ماشین (Computer Vision) بینایی ماشین یکی از زیرشاخه های دانش هوش مصنوعی است که به درک ماشین از محیط اطرافش می پردازد. در واقع ، تشخیص چهره (Facial Recognition) ، تشخیص الگو (Pattern Recognition) و تشخیص کاراکتر (Character Recognition) ، همگی مربوط به بینایی ماشین است. و اینجا هم دوباره در دل ماجرا ، الگوریتم های یادگیری ماشین حضور دارند. 3- ماشین خودران گوگل خب ، خودتان می توانید حدس بزنید که چه چیزی ماشین های خودران گوگل را می راند ؟ باز هم یادگیری ماشین ! نمونه هایی که احتمالاً تصورش را نمی کردید حالا بیایید جاهایی را بررسی کنیم که مردم عادی ، احتمال وجود یادگیری ماشین در آن مکان ها را نمی دهند: 1- پیشنهاد محصول در فروشگاه های آنلاین معروف (مثل آمازون) دقت کرده اید که چرا این فروشگاه ها دقیقاً همان پیشنهادهای وسوسه کننده ای را می دهند که می تواند جیب شما را خالی کند ؟! چون الگوریتمی خاص بنام سیستم های توصیه گر (Recommended Systems) در پشت پرده کار می کند که علاقه مندی های هر کاربر را یاد گرفته و می تواند بر اساس آن ها ، به او محصول پیشنهاد دهد. سایت های YouTube و Netflix هم دقیقاً به همین شیوه کار می کنند. 2- داده کاوی (Data Mining) / کلان داده (Big Data) داده کاوی و کلان داده ، شاخه هایی برای مطالعه و یادگیری از داده در مقیاسی بزرگ است. و هر جا هم هدف جمع آوری اطلاعات از داده باشد ، بدانید که یادگیری ماشین در کمین نشسته ! 3- بازر بورس / بازار مسکن تمامی این شاخه ها ، برای اینکه بتوانند بهتر بازار را مورد بررسی قرار دهند ، از الگوریتم های یادگیری ماشین استفاده می کنند. اصطلاحاً به این تکنیک ها ، تحلیل رگرسیون (Regression Techniques) می گویند که از قیمت یک خانه گرفته تا ترندهای بازار بورس را می تواند پیشبینی کند. همان طور که دیدید ، امروزه machine learning همه جا حضور دارد. از تحقیق و توسعه تا بهبود اوضاع شرکت های کوچک. بنابرین می توان آن را به عنوان یک فیلد کاری محبوب در صنعت در نظر گرفت. اگر هر گونه سوال و یا ابهامی در این مورد داشتید، می توانید در پایین همین نوشته و در قسمت ثبت دیدگاه ها با موستانگ در میان بگذارید. برای مطالب بیشتر نیز کافی است تا ما را در قسمت پادوک تازه ها از وبسایت موستانگ دنبال کنید. مرجع: سایت dev.to