چطور به عنوان یک مهندس نرم افزار یا برنامه نویس استخدام شویم؟

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

مسیر خود را مشخص کنید!

یک دید کلی از مسیر خود داشته باشید، حوزه نرم‌افزار بیش از حد انتظار شما پراکنده است، زمینه‌های زیادی وجود دارد که می‌توانید در آن فعالیت کنید:

زمینه برنامه‌نویسی وب ( Back-end و Front-end)
زمینه برنامه‌نویسی برای موبایل (Android, iOS)
زمینه برنامه‌نویسی شبکه
زمینه کار با داده (داده کاوی و…)
زمینه برنامه‌نویسی سیستم
و….

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

عجله نکنید!

پیشرفت شغلی خود را فدای کار کردن در شرکت‌های نامناسب نکنید! اگر لازم هست مدت زیادی به کارآموزی در شرکت‌های بزرگ بپردازید (دو سال کارآموز بودن در گوگل بهتر از استخدام شدن در یک شرکت نا معتبر هست).

با شرکت‌های برتر حوزه خود آشنا شوید!

مطمئنا شرکت‌های زیادی وجود دارند که شما علاقه دارید داخل اونها کار کنید! اون شرکت‌ها رو هدف خود قرار دهید و رزومه‌ی خودتون رو برای آگهی‌های استخدام این شرکت‌ها ارسال کنید. با فرهنگ کاری و محیط این شرکت‌ها بیشتر آشنا بشید:

شرکت‌های برتر در حال استخدام ایران در جاب اینجا

کماکان یاد بگیرید!

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

رزومه‌ مناسب یک برنامه‌نویس را داشته باشید!

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

روی کار‌ها و مهارت‌هایی که بلد هستید مانور دهید، رزومه‌ی شما باید گویای مسیر آینده‌ی شما باشد، تمام تکنولوژی‌هایی که اسم آنها را شنیده‌اید در رزومه‌ی خود ذکر نکنید.

اطلاعات تحصیلی یا آموزشی خود را به دقت وارد کنید ولی روی آنها مانور بیش از حد ندهید، بر خلاف صنایع دیگر شرکت‌هایی که به دنبال استخدام برنامه‌نیس هستند، توجه زیادی به سوابق تحصیلی شما نمی‌کنند، بیشتر به استعداد و توانایی شما در یادگیری توجه می‌کنند.

مربی و منتور داشته باشید

حتما در کنار شما افرادی بوده‌اند که از نظر شما در زمینه‌ی برنامه‌نویسی و توسعه نرم‌افزار از مهارت و تجربه‌ی بالایی برخوردار بوده اند، از تجربه‌ی این دوستان در پیشرفت شغلی خود استفاده کنید، نظرات آن‌ها را به کار ببندید.

شانس خود را برای شرکت‌های مختلف امتحان کنید!

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

به‌ روز باشید و فعالیت داشته باشید!

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

در زمان مصاحبه اشتیاق نشان دهید!

اگر از لحاظ فنی مورد تایید باشید، در زمان مصاحبه نگرش و اشتیاق شما چیزی است که باعث می‌شود نظر کارفرما نسبت به شما مثبت باشد.

فرصت شغلی برنامه‌نویسی در شهرستان

به عنوان شخصی که تازه فارغ التحصیل شده، شاید شما فرصت اینکه از شهرستان به تهران مهاجرت کنید را داشته باشید، مطمئنا پیشرفت شغلی شما سریع‌تر خواهد بود، اما این به این معنا نیست که در شهرهای دیگر (اصفهان، تبریز، رشت، مشهد، شیراز و…) فرصت برای پیشرفت نیست. شرکت‌های بزرگ زیادی بیرون از تهران همواره به دنبال پیدا کردن نیروهای با استعداد مخصوصا در زمینه برنامه‌نویسی هستند.

منبع: https://bit.ly/2kYkmy3

توسعه نرم افزاری چابک

توسعه نرم‌افزاری چابک یا Agile زمانی مطرح شد که بسیاری از پروژه‌های نرم افزاری یا تولید محصول با شکست مواجه می‌شدند. زمانبندی نا مناسب، کیفیت پایین در تولید نرم افزار، عدم ارتباط با مشتری، تحلیل نادرست نیازمندی‌ها، عدم بررسی کافی نرم افزار، از عمده‌ترین دلایل شکست پروژه‌های نرم افزاری بود.

در فوریه سال ۲۰۰۱، گروهی از توسعه‌دهنده نرم‌افزار دور هم جمع شدند تا تجربیات خود را از علل ناکامی پروژه‌های نرم افزاری به اشتراک بگذارند. آن‌ها معتقد بودند که این صنعت نیازمند یک تغییر اساسی در رویکرد توسعه نرم‎افزار است. آن‌ها برای توصیف رویکردی که اکنون به عنوان «توسعه چابک نرم‌افزار» شناخته می‌شود، مانیفستی برای توسعه چابک نرم‌افزار منتشر کردند که بر ۱۲ اصل استوار است:

۱. بالاترین اولویت، جلب رضایت مشتری با تحویل به موقع و مستمر نرم افزاری ارزشمند است.

۲. استقبال از تغییر نیازمندی‌ها، حتی در اواخر فرآیند توسعه. فرآیندهای چابک، تغییر را در جهت مزیتِ رقابتی مشتری مهار می‌کنند.
۳. تحویل به موقع بخش‏‎هایی از نرم‌افزار قابل استفاده (با فواصل زمانی کوتاه‌تر هفتگی نسبت به ماهانه)
۴. ذی نفعان کسب و کار و توسعه دهنده‌ها می‌بایست به صورت روزانه در طول پروژه با هم کار کنند.
۵. پروژه‌ها به دست افراد باانگیزه سپرده شود، فضا و امکانات لازم به آن‌ها داده شود تا کارها را به‌درستی انجام دهند.
۶. کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه و تبادل آن در میان اعضای تیم، گفتگوی چهره به چهره است.
۷. نرم افزار قابل استفاده، اصلی‌ترین معیار سنجش پیشرفت است.
۸. فرآیندهای چابک توسعه پایدار را ترویج می‌دهند؛ حامیان مالی، توسعه دهندگان و کاربران باید بتوانند سرعت پیشرفت ثابتی را برای مدت نامحدودی حفظ کنند.
۹. توجه مستمر به برتری فنی و طراحی خوب
۱۰. سادگی – هنر به حداکثر رساندن مقدار کار انجام نشده – ضروری است.
۱۱. گروه‌های خودسازمان‌دهی شده.
۱۲. انطباق با تغییرات و محدودیت‌ها به‌طور منظم.

متدولوژی Agile مجموعه روش‌هایی است که باعث می‌شود تا نرم‌افزار تولیدشده کاملاً با نیازهای مشتریان مطابقت داشته باشد. در این روش محصول به‌صورت فازبندی به مشتری تحویل داده می‌شود. درواقع مشتری با گروه پروژه کاملاً در ارتباط است. از دیدگاه این متدولوژی، مشتری یکی از مهم‌ترین افراد در تولید پروژه است، چراکه پروژه برای مشتری است و تنها کسی است که از نیازمندی‌های واقعی نرم‌افزار مطلع است. درنهایت باید گفت که محصول نهایی دقیقاً همان چیزی خواهد بود که مدنظر اوست.

اجایل (Agile) یا تفکر چابک مجموعه ای از ارزش‌ها و اصول معرفی‌شده است که با به کار بستن آن‌ها در محیط توسعه محصولات نرم‌افزاری می‌توان به نتایجی مانند محصولات کارآمد، مشتری خوشحال و نیروی کار باانگیزه دست‌یافت. با معرفی اجایل متدهایی مطرح شدند که اصول و ارزش‌های اجایل در آن‌ها نهادینه شده بود؛ از متدهای رایج و پرطرفدار توسعه چابک نرم‌افزار می‌توان به اسکرام اشاره نمود.

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

منبع: https://bit.ly/2kgEqvt

چطور به یک توسعه دهنده فرانت اند حرفه‌ای تبدیل شویم؟

در دنیای فرانت اند جایی که همه چیز به سرعت در حال تغییر است، بسیار سخت است که تقریبا در مورد همه موارد اطراف به روز باشید. فقط تصور کنید چه تعداد فریمورک CSS، جاوا اسکریپت و ابزارهای مختلفی که روزانه به وجود می‌آیند و حتی فکر به آن نیز به اندازه کافی ترسناک است، درسته‌؟

Continue reading Template: More Tag

Create A product first!

Create a product first please!