لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
آیا می‌دانستید نگاه شرکت‌های نرم‌افزاری به دولوپرهای تازه‌کار چگونه است؟

آیا می‌دانستید نگاه شرکت‌های نرم‌افزاری به دولوپرهای تازه‌کار چگونه است؟

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

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

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

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

برای انجام این‌کار، کمپانی‌ها به شما اجازه‌ٔ دسترسی به کدهای اصلی در پلتفرم سورس کنترل -مثل گیت- را می‌دهند و کار شما این است که با موفقیت برنامه را روی کامپیوتر خود اجرا کنید؛ این فرایند می‌تواند چند روزی به‌طول انجامد.

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

به‌عنوان یک دولوپر تازه‌کار، از کمک گرفتن نهراسید
اگر هرگاه به مشکلی برمی‌خورید یا احساس می‌کنید که برای یک مدت طولانی درگیر تلاش برای انجام یک کار هستید و متأسفانه به نتیجه نمی‌رسید، باید کمک بخواهید و اصلاً از این موضوع هراسی به خود راه ندهید و فکر نکنید که سایرین دانش شما را زیر سؤال خواهند برد (چراکه وقتی لیبل تازه‌کار روی شما می‌خورد، خواه‌ناخواه برچسب‌دار شده‌اید). در چنین شرایطی، معمولاً دولوپرهای دیگر در تیم به شما کمک خواهند کرد.

شرکت در جلسات استندآپ
تیم‌های توسعه که با متدولوژی‌های اجایل کار می‌کنند، هر روز یک جلسهٔ کوتاه دارند که به این جلسه اصطلاحاً Standup (سرپایی) می‌گویند. در این جلسه، افراد حول یک دایره می‌ایستند و هر شخص یک شرح عملکرد خلاصهٔ به‌روزشده در حدود 30 ثانیه تا 1 دقیقه به بقیهٔ تیم ارائه می‌دهد. در این جلسه شما توضیح می‌دهید که:
- دیروز چه کاری انجام دادید،
- امروز می‌خواهید چه کاری انجام دهید،
- و چه چیزهایی مانع انجام تسک‌های شما می‌شوند.

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

رفع باگ‌های کوچک به‌عنوان اولین مشارکت در کدنویسی
وظیفهٔ بعدی که تیم توسعه معمولاً به دولوپرهای تازه‌کار می‌سپارد، رفع کردن چند باگ کوچک است؛در ابتدا، رفع این باگ‌ها بسیار ساده خواهد بود و مواردی مثل اشتباهت تایپی در سورس‌کد و رفع کردن باگ در بلوک کدهای ۱ تا ۵ خطی را شامل می‌شود.

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

بازبینی کد اطمینان می‌دهد که حتی اگر اجرای کد اصلی با باگ همراه بود، تنها شما مسئول بروز این مشکل نیستید و دولوپرهای دیگر که کد را اجرا نکرده‌اند نیز تا حدودی برای باگ ایجاد شده مسئول هستند.

اگر شما در یک شرکت کوچک مشغول به کار شوید، این انتظار می‌رود که اولین همکاری‌های شما در هفته‌های ابتدایی باشد اما اگر در یک شرکت بزرگ‌تر کار می‌کنید، ۱ ماه یا بیشتر طول می‌کشد تا اولین تغییراتتان اعمال شود و همه آن‌را ببینند و به‌معنای واقعی کلمه وارد حوزهٔ کدنویسی شده باشید. به مرور زمان، اعضای تیم -به‌خصوص مدیر فنی- به آرامی پیچیدگی فیچرهایی که از شما انتظار می‌رود بسازید را بالا می‌برد تا درنهایت به سطح سایر دولوپرها برسید.

تجربه کدنویسی به‌صورت دونفره!
برنامه‌نویسی دونفره یا اصطلاحاً Pair Programming مهارتی است که امروز تأکید زیادی روی آن می‌شود به این شکل که دولوپری حرفه‌ای شروع به کدنویسی می‌کند و دولوپر تازه‌کار کنار دستش نشسته و صرفاً نگاه می‌کند؛ از نامگذاری متغیرها گرفته تا فراخوانی متدها و غیره، همه را می‌بایست به‌دقت نگاه کرد و هرکجا هم که سؤالی برایتان پیش آمد، می‌توانید از همکار حرفه‌تر خود بپرسید و به این شکل خواهید آموخت که خروجی سال‌ها کدنویسی و کسب تجربه چگونه از حالت بالقوه به بالفعل درخواهد آمد (برای آشنایی بیشتر با مفهوم برنامه‌نویسی دونفره، به مقالهٔ آیا می‌دانستید که برنامه‌نویسی دو نفره می‌تواند شما را به برنامه‌نویس ماهرتری تبدیل کند؟ مراجعه نمایید). 

مشارکت در اسپرینت
بیشتر تیم‌های توسعهٔ نرم‌افزار برنامه‌ریزی می‌کنند که کدام دولوپر بر روی کدام فیچر کار خواهد کرد که به این فرایند عموماً Sprint Planning می‌گویند؛ به‌عنوان یک دولوپر تازه‌کار، شما در جلسات شرکت خواهید کرد و روند این فرایند را خواهید آموخت. به‌طورکلی، این فرایند به شکل زیر اتفاق می‌افتد:

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

- سپس تیم توسعه به بررسی کارها می‌پردازد و هر کاری را به یک دولوپر محول می‌کند، وظایف را تقسیم می‌کند تا همهٔ کارها مابین همهٔ اعضا تقسیم شوند.

دولوپرهای قدیمی‌تر معمولاً دولوپرهای تازه‌کار را مجبور می‌کنند تا کارهای کوچک‌تر و آسان‌تر را برعهده بگیرند؛ اما با گذشت هفته‌ها، پیچیدگی تغییراتی که باید اعمال کنید به تدریج افزایش می‌یابد.

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

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

پیشرفت شغلی با حذف لیبل «تازه‌کار» از کنار اسم خود!
هفته‌های ابتدایی اولین شغل شما احتمالاً کمی طاقت‌فرسا خواهد بود چراکه شما یک مهارت مهم خواهید آموخت: چگونه در تیمی از دولوپرها کار کنید که به‌صورت حرفه‌ای 40 ساعت در هفته کد می‌زنند. این یعنی درک روابط کاری و جلسات مختلف، فهمیدن این موضوع که چه کسی از برنامه‌نویسی گروهی لذت می‌برد (و چه کسی لذت نمی‌برد) و آموختن کار تیمی به‌معنای واقعی کلمه.

معمولاً در تیم‌های توسعهٔ نرم‌افزار اعضای تیم از ارتباطات خوبی با یکدیگر برخوردارند و عضو شدن در این تیم شامل برقراری ارتباط با سایر اعضاء خواهد بود؛ اما بعد از ۱ ماه یا بیشتر، اکثر دولوپرها در جریان همه‌چیز قرار می‌گیرند و شرایط خیلی آسان‌تر از روزهای ابتدایی خواهد شد. در این زمان، شما احتمالاً می‌فهمید که گام بعدی در شغلتان این است که دیگر مانند یک دولوپر تازه‌کار با شما رفتار نشود.

برای این‌که به‌جای یک دولوپر تازه‌کار با شما به‌عنوان یک همکار واقعی رفتار شود، باید مثل یک همکار واقعی هم کد بزنید، سولوشن ارائه دهید و در حل مشکلات سهیم شوید؛ بنابراین طی 1 یا 2 ماه، شما باید به این مهارت‌ها دست یابید که در ادامه ۲ راه‌کار برای زودتر به نتیجه رسیدن ارائه خواهیم داد:

- همیشه کاری که به شما محول می‌شود را در چارچوب زمانی که مشخص کردید می‌توانید انجام دهید، کامل کنید.

- برای کارهای برنامه‌نویسی بزرگ‌تر داوطلب شوید و شروع به مال خود کردن بخش‌های مشخصی از کد اصلی کنید؛ به‌عبارت دیگر، بینشی نسبت به بخش‌های مشخصی از کد کسب کنید که کس دیگری ندارد چراکه این انحصاری بودن دانش شما، شرکت را به خودتان نیازمندتر از گذشته می‌کند.

شغل شما به‌عنوان یک دولوپر تازه‌کار یادگیری، پیشرفت و درنهایت حذف برچسب «تازه‌کار» از عنوانتان است؛ هدف شما باید رسیدن به سطحی باشد که قادر باشد به دولوپر تازه‌کار بعدی که تیم استخدام می‌کند کمک کنید. رسیدن به این سطح که شما هم‌تراز با سایر دولوپرها در تیم هستید فرایندی است که معمولاً -بسته به پشتکار افراد- حدود 3 تا 6 ماه طول می‌کشد.

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

در پایان هم این نکته را به یاد داشته باشیم که اکثر مدیران منابع انسانی شرکت‌های نرم‌افزاری به مهارت «یادگیری سریع» و دیگر مهارت‌های غیرفنی به‌مراتب بیش از مثلاً تسلط به یک زبان برنامه‌نویسی خاص بیشتر اهمیت می‌دهند؛ پس سرمایه‌گذاری روی مهارت‌های غیرفنی همچون هوش هیجانی، مهارت‌های درست گوش دادن، صداقت، کار تیمی، مدیریت استرس و ... را هرگز فراموش نکنید.

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

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

منبع


هانیه نیرومند جلالی