چگونه به سمت یک برنامه نویس متوسط رشد کنیم؟

چگونه به سمت یک برنامه نویس متوسط رشد کنیم؟

در این مقاله قصد داریم، دیدگاه کلی در مورد یک توسعه دهنده متوسط (Intermediate Developer) را شرح دهیم. قبل از شروع، این نکته را در نظر داشته باشید که این مطالب، به این معنی نیست که با عناوین شغلی مطابقت دارند. این ها معیارهای مهارت، دانش و توانایی کلی یک توسعه دهنده هستند.

این موارد بسته به اینکه در چه زمینه ای فعالیت دارید، برای مثال وب، اینترنت اشیا(IOT) ، تحلیل داده (Data Analytics) و... تغییر می کنند. در حالی که ممکن است ابزارهای خاص، فناوری ها و حتی الگوهای معماری متفاوت باشند؛ اصول کلی، به طور گسترده در نظر گرفته می شود.

شاخص شماره 1 برای توسعه دهنده متوسط بودن


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

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

آیا این بد است؟


خیر، این احساس بدی نیست. این به معنای مغرور بودن آن ها نیست. این موضوعی است که در این مرحله اتفاق می افتد و بخشی از سفر رشد شما به عنوان یک توسعه دهنده می باشد.

بلوغ در شغل شما


اگر بخواهیم با مفاهیم قابل درک توضیح دهیم، این طور می توان گفت که:

مرحله متوسط مانند این است که برای حرفه خود، قدم در بلوغ بگذارید.

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

برخی از صفات توسعه دهنده متوسط


بیایید ببینیم که چگونه یک توسعه دهنده متوسط، مهارت و دانش توسعه دهنده تازه کار (Junior) را به سطح بالاتری رسانده است. البته، برخی از موارد وجود دارد که توسعه دهندگان متوسط باید آن ها را یاد بگیرند و در آن ها تجربه کسب کنند!
• توسعه دهندگان متوسط درک بسیار خوبی از نحوه اتصال سیستم های مختلف به یکدیگر مانند API ها، ماژول ها، پکیج ها و ... دارند.
• آن ها باید درک خوبی از چگونگی پیاده سازی یک سیستم مناسب داشته باشند:
       o برای توسعه دهندگان وب، ممکن است شامل موارد زیر باشد:
              MVC, MVVM o
              Refactoring o
              o اصول شیء گرایی (OOP)
              o الگو های دیگر مانند برنامه نویسی عملکردی (functional)
              o توسعه برنامه
              o داشتن ویژگی های منحصر به فرد
              o شروع به هدایت ارتباطات با مشتریان از یک زمان به زمان دیگر
      o برای توسعه دهندگان پایگاه داده، ممکن است شامل موارد زیر باشد:
              Replication o (تکثیر)
              Indexing o
              o تنظیم عملکرد
              o پرس و جو های پیشرفته
              o الگو های دیگر مانند NoSQL، دیتابیس مبتنی بر key/value، دیتابیس های توزیع شده
• به عنوان یک همکار ارزشمند در تیم در نظر گرفته می شوند.
• قابلیت استفاده از ابزار های مختلف مانند IDE ها و سایر ابزار های توسعه را دارند.
• استفاده از مفاهیم معمول در برنامه نویسی را شروع می کنند مانند:
       o الگوهای طراحی (Design Patterns)
       Code smells o و Refactoring
• و موارد دیگر

برخی از توصیه ها


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

شروع کنید به انجام یک پروژه با دید بالا


انجام دادن یک پروژه بزرگ به منظور مشهور شدن نیست، بلکه اهداف زیر را باید در ذهن داشته باشید:
1. با حضور در یک پروژه مهم یا با ارزش می توانید به سرعت تجربه کسب کنید.
2. شما می توانید در سازمان خود به عنوان کسی که کارهای خود را به خوبی انجام می دهد، شناخته شود.
اگر بتوانید تجربه خود را بسازید و در سازمان خود شناخته شوید (منظور، کسب شهرت نیست بلکه دیده شدن است)، سپس در صورت بروز فرصت های جدید، جذب می شوید.

پرش روی چیزهای سخت


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

پیدا کردن یک مربی (Mentor)


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

به یادگیری ادامه دهید!


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

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

نظرات
اگر login نکردی برامون ایمیلت رو بنویس: