چگونه یک توسعه دهنده ارشد شویم

چگونه یک توسعه دهنده ارشد شویم

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

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

اشتراک ها :

مقالات معمولاً مواردی را که برای تبدیل شدن به یک توسعه‌دهنده ارشد نیاز دارید، مورد بحث قرار می‌دهند . راهنماهای گام به گام زیادی آنطور که انتظار داشتم وجود نداشت ، اما چک لیست های بیشتری از کارهایی که توسعه دهندگان ارشد باید بتوانند انجام دهند وجود داشت که اینها به دو دسته عمده تقسیم می شدند :

  1. مهارت های نرم Soft Skill
  2. مهارت های سخت Hard Skill

مهارت های نرم Soft  Skill

A . دانش ” T شکل ” ( “T shaped” knowledge )

طبق ویکی پدیا :

” نوار عمودی روی حرف T عمق مهارت‌ها و تخصص‌های مرتبط را در یک زمینه واحد نشان می‌دهد . در حالی که نوار افقی توانایی همکاری در رشته‌های مختلف با متخصصان در سایر زمینه‌ها و به کارگیری دانش در زمینه‌های تخصصی غیر از تخصص خود است. “

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

B. راهنما :

سه موضوع اصلی پیرامون موضوع راهنما مطرح است .

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

مورد دوم به همراه مورد اول است ، اینکه بدانید چه زمانی باید کمک بخواهید . کارکردن با دیگران یعنی اینکه بتوانید به آنها تکیه کنید و محدودیت های خود را بدانید .

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

C. فکر کردن به یک تصویر بزرگ تر

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

آن ها به معنای هر یک از این موارد ( یا همه موارد ) هستند :

  1. موارد کسب و کار – به وجود آوردن یک اتفاق خیلی بزرگ
  2. چگونه میتوان ارزشی را برای افرادی که از آنچه شما میسازید استفاده می کنند، فراهم کرد
  3. چگونه چیزی بسازیم که مدت طولانی اعتبار داشته باشد .

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

Dِِ. قدرت حل مسئله :

همانطور که جیمز هیکی ( James Hickey ) در این مقاله گفت :

” توسعه دهندگان ارشد برای حل مشکلات افرادی محتاط ، متفکر ، عمل گرا و ساده هستند ”              

که این شامل تفکر در مورد تاثیرات کد خود در برنامه در طولانی مدت و توانایی ایجاد راه حل های ظریف و مناسب برای مشکلاتی است که با آن مواجه می شوند .

E. اهداف خود را مشخص کنید :

بیان کردن این مورد واقعا ساده است ، اما انجام دادن آن بسیار سخت است . این را در محل کار خود ، به ویژه برای کسانی که در حین مصاحبه کاری از شما سوال میپرسند بیان کنید : ” من میخواهم یک توسعه دهنده ارشد باشم ” . اگر به مردم نگویید که این مسیری است که شما میخواهید ، احتمالا به آن توجه نمی کنند .

همانطور که مقاله مورد علاقه من گفت :

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

چگونه یک توسعه دهنده ارشد شویم
چگونه یک توسعه دهنده ارشد شویم

مهارت های سخت ( Hard Skill ) :

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

A. سرعت تایپ ( Typing speed ) :

این موضوع آنقدر مطرح شده است که باعث خنده ام شد . همانطور که همه ما میدانیم ، اگر مانند یک هکر در تلویزیون تایپ نکنید، نمی توانید بهتر شوید. همچنین شما میتوانید از اپشن هایی که نرم افزار vs code  ( به مانند Emmet ) یا سایر نرم افزارها برای سریعتر تایپ کردن در اختیار شما قرار میدهند استفاده کنید ( به شرط اینکه همه shortcuts را بدانید )

  B. این فناوری را بیاموزید :

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

C. کار کردن روی پروژه های افراد دیگر :

این ایده فراگیر در فناوری وجود دارد که شما باید روی پروژه های دیگران کار کنید تا به عنوان یک توسعه دهنده رشد کنید. البته این بدین شکل درست می باشد که لازم نباشد که هر لحظه از زندگی خود را صرف کارهای برنامه نویسی کنید.

 بر اساس تجارب من سه دلیل برای کار روی پروژه دیگران وجود دارد :

  1. یادگیری – به دست آوردن مهارت خاصی که قبلا نداشتید .
  2. تجربه – این کار باعث می شود شما ساعات بیشتری برنامه نویسی انجام دهید که باعث با تجربه تر شدن شما می شود ..
  3. سرگرم کننده – گاهی اوقات برنامه نویسی یک کار سرگرم کننده است .

اگر می خواهید هر سه را به طور همزمان انجام دهید، احتمالاً پروژه های دیگران برای شما عالی هستند! پس حتما پیشنهاد میکنم WeeklyProject.Club را بررسی کنید.

اگر هم چنین دلایلی ندارید ، حداقل میتوانید در موردش احساس بدی نداشته باشید .

D. از روش های قدیمی بیاموزید :

این تقریبا به اندازه سایر موارد مطرح نشده است . اما بسیاری از برنامه نویسان به شما میگویند که باید Knuth یا Pragmatic Programming یا Clean Code یا کتاب های محبوب دیگری را بخوانید .

و شما بروید! اکنون دیگر لازم نیست مقاله دیگری در مورد “چگونه یک توسعه دهنده ارشد شوید” را بخوانید. با ساعات اضافی زندگی خود چه خواهید کرد؟ در نظرات به من اطلاع دهید! از طرف دیگر، پاسخ دهید که با کدام یک از اینها بیشتر مشکل دارید.

امیدواریم از این مقاله نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کلاس طراحی سایت