سریعترین راه برای رسیدن به بالاترین سطح در هر حوزهای، خواه هنر، ورزش یا توسعه نرمافزار باشد، مطالعه افرادی است که در حال حاضر در بالاترین سطح و انجام دادن کارهایی است که آنها انجام میدهند و شما انجام نمیدهید.
اگر برای امرار معاش کد مینویسید، این به معنای نگاهی به برنامهنویسان ارشد است. به معنای شناسایی مهارتها، عادات و ویژگیهایی است که آنها دارند و شما ندارید.
پس از صرف هزاران ساعت در سه سال گذشته در همکاری با مهندسان نرمافزار برتر در سراسر جهان، متوجه شدم که ۱۲ ویژگی در برنامهنویسان ارشد وجود دارد که میتوانید همین حالا آنها را به کار بگیرید تا رشد خود را به سطح بعدی تسریع کنید.
بیایید با شماره یک شروع کنیم...
۱. تمرکز
به طور کلی و خلاصه تمرکز رو میشه اینطور تعریف کرد: گفتن "نه" به چیزهایی که اهمیت ندارند و گفتن "بله" به چیزهایی که تفاوت ایجاد میکنند.
این بله و نه گفتن چون بر خلاف غریزه ی طبیعی ما هست برای بسیاری از توسعه دهنده ها سخت هست. چونکه به معنای قبول این هست که شما نمیتوانید همه کارها را انجام دهید و اینکه همه فرصتها یکسان نیستند.
شما نمیتوانید هر چارچوب جدیدی را بیاموزید. نمیتوانید هر خبرنامهای را بخوانید. نمیتوانید در هر کنفرانسی شرکت کنید. و نیازی هم ندارید.
زمان شما محدود است. انرژی شما نیز محدود است.
برنامهنویس ارشد بودن به معنای انتخاب نبردهای خود است.
استیو جابز میگه: "مردم فکر میکنند تمرکز به معنای گفتن بله به چیزی است که باید روی آن تمرکز کنید. اما این اصلاً معنای تمرکز نیست. به معنای گفتن نه به صد ایده خوب دیگر است. "
جالبه که هرچه بهتر انتخاب کنید، سریعتر پیشرفت میکنید. برنامهنویسان ارشد هم همان ۲۴ ساعت در روز را دارند که شما دارید. اما آنها بیشتر کار انجام میدهند.
چطور؟
By doing less
By doing less یعنی چی؟
یعنی وقتی یه چیز جدید سر راهشون میاد، از خودشون میپرسن که این آیا واقعا مهم هست؟ یه یه چیز روتین هست؟ یا یه چیزی که باعث حواس پرتی میشه؟ یا واقعا یه فرصت پنهان شده هست که باید کشف بشه!؟
۲. تفکر مرحله ی دوم
یکی از مواردی که نشون میده یه برنامه نویس جوان(جونیور) هست اینه که بیا تا بسازیم، توسعه بدیم، بعد میفهمیم چطوره!. بصورت کلی برنامه نویس های جوان دوست دارن اول کد بزنن و بعد فکر کنند!
این نگرش ممکن است زمانی که تازه شروع میکنید خوب باشد، اما وقتی روی نرمافزار آماده برای تولید کار میکنید، برخی تصمیمات فنی را نمیتوانید به راحتی تغییر دهید.
به عنوان مثال، شما Vue را به عنوان یک چارچوب برای فرانت انتخاب میکنید. سپس، نیازها تغییر میکنند. شروع به فکر کردن میکنید که React گزینه بهتری خواهد بود. بله، میتوانید به React تغییر دهید. اما نه آسان خواهد بود و نه ارزان!
برنامهنویسان ارشد میدانند که به راحتی میتوان تحت تأثیر ابزارهایی که میشناسید قرار گرفت. اما اگر عاشق چارچوبها و کتابخانههایی شوید که بهتر میشناسید، شروع به گرفتن تصمیمات فنی ضعیف خواهید کرد.
۳. عملگرایی
برنامه نویس های جونیور وقتی کتابی رو مطالعه میکنن بلافاصله میخوان که اون رو توی هر خط از کد اعمال کنند! مثل یک فرد مذهبی که دوست داره همه چیز رو از دین پیروی کنه! اما توسعه نرم افزار یه دین نیست.
اگر نمیتوانید تصمیمات فنی را خودتان بگیرید، بسیار راحتتر است که به قوانین از پیش تعریف شده پایبند باشید.
یه مثال خوب تست کردن هست.
وقتی یک برنامهنویس جوان در مورد TDD (توسعه مبتنی بر تست) میخواند، شروع به تلاش برای تست همه چیز میکند. به دنبال پوشش کامل کد. در واقع، پوشش کامل کد نتایج کاهشی دارد و تبدیل به اتلاف وقت میشود.
به سرعت انجام دادن کارها باگها و بدهی فنی ایجاد میکند. همیشه پایبند به قوانین بودن وقتی زمینه کد شما تغییر میکند، به تصمیمات بد منجر خواهد شد.
شما نیاز به تعادل دارید.
باز بودن به بازنگری انتخابهای فنی خود بر اساس شرایط.
۴. چیزی برای اثبات ندارند
به دلیل کمبود اعتماد به نفس، برنامهنویسهای جوان و همچنین برنامه نویس های ارشدی که در مورد ارزش و مهارت های خود مطمئن نیستند خود رو دائماً در تلاش برای اثبات به دیگران میبینند.
این افراد اعتماد به نفس خود را بر اساس تأییدیهای که از دیگران دریافت میکنند، بنا میکنند.
این کار یه باخت بزرگ هست.
آنها سعی میکنند نشان دهند چقدر در یک بحث فنی میدانند، صحبت کردن روی دیگران یا فشار دادن کد در اواخر شب یا آخر هفته.
در واقعیت، همه این رفتارها یک محیط تیمی سمی ایجاد میکنند و نتیجه معکوس دارند. در بهترین حالت، شما کمتر از آنچه که واقعاً هستید، ارشد به نظر خواهید رسید.
یوزپلنگ در مسابقه نیازی به اثبات خود ندارد، فقط برای شکار میدود.
دو راه برای مقابله با این وجود دارد.
اولی این است که از صرف کردن این همه زمان برای تأیید خارجی دست بردارید. زیرا حقیقت این است که نیازی به اثبات خود به کسی ندارید. فقط به خودتان.
دومی ایجاد صلح با صدایهای منفی در سر خودتان است.
شما میتوانید بزرگترین منتقد خود باشید. کمالگرایی، ترس از شکست وایده اشتباه از اینکه یک \"برنامهنویس واقعی\" چیست، در حال از بین بردن اعتماد به نفس شماست. به همین دلیل است که هرچقدر سخت کار کنید همیشه احساس میکنید کوتاهی میکنید.
زمان آن است که از سر خود بیرون بیایید!
روی مسلط شدن به هنر خود تمرکز کنید و بقیه چیزها دنبال خواهند شد. شما بلافاصله در خود و مهارتهایتان اعتماد به نفس بیشتری پیدا خواهید کرد و از تلاش برای اثبات خود به غریبهها دست خواهید کشید.
۵. تسلط بر اصول
هر زمان که با یک پروفایل لینکدین از یک برنامهنویس برخورد میکنم و خود را به عنوان یک "برنامهنویس React" یا "برنامهنویس Angular" توصیف میکند، میدانم که ارشد نیستند. آنها ممکن است در آن چارچوب ارشد باشند، اما به طور کلی ارشد نیستند.
یک برنامهنویس فریم وورک هرگز یک برنامهنویس ارشد نخواهد بود.
چارچوبها شما را ارشد نمیکنند زیرا چارچوبها فقط تزئین روی کیک هستند. نه خود کیک. نوک کوه یخ، در مقابل قسمت زیرین آن.
برای تبدیل شدن به یک برنامهنویس ارشد، شما باید نه تنها "چی" بلکه "چرا"ی پشت چیزها را درک کنید.
یک برنامهنویس ارشد نه تنها قادر به ساخت یک برنامه React خواهد بود، بلکه همچنین درک خواهد کرد که چرا React به یک روش خاص ساخته شده است. و چگونه با زبانی که در آن نوشته شده (جاوااسکریپت/تایپاسکریپت) و پلتفرمی که روی آن اجرا میشود (مرورگر وب) ترکیب میشود.
خبر خوب این است که وقتی اصول را تسلط پیدا کنید، سطح همه چیز افزایش خواهد یافت.
خوب، این ۵ ویژگی را به کار بگیرید و رشد خود را به سطح ارشد و فراتر از آن تسریع کنید!
شما چه ویژگیهایی در برنامهنویسان ارشد دیدهاید که فکر میکنید میشه به این لیست اضاف کرد؟ خوشحال میشم از بخش نظرات برای ما ارسال کنید.
این مقاله برگردانی از مقاله ی 5 Senior Developer Traits Juniors Need To Master هست
برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *
ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *
هنوز برای این مطلب نظری ارسال نشده است!