#بدرد
اینکه شما بعنوان یه جونیور یا میدلول بخواید به یک برنامه نویس سینیور تبدیل بشید، فقط نیاز نیست که اون فریم ورک یا زبانی رو که بلدید رو کامل یاد بگیرید.
خیلی چالش های دیگه ای دارید که اینجا میخوام راجع بهش کمی صحبت کنم
- درک پایه برنامه نویسی
قبل از اینکه شما بخواید در یک زبان یا فریم ورک توانایی های لازم رو کسب کنید نیازه که پایه های برنامه نویسیتون رو قوی کنید، درک کنید که سیستم چطور کار میکنه، تایپ ها چی هستن، مدیریت حافظه و منابع رو بفهمید
- پاس کردن پیشنیاز ها
خیلی ها به اشتباه قبل از اینکه پیش نیاز های یک ابزار یا فریم ورک رو پاس کنند سریعا توش شیرجه میزنن و همین باعث میشه که یجاها غرق بشن توی دریایی که اونو از قبل نشناختن.
شما برای اینکه بتونید از یک فریم ورک بدرستی استفاده کنید نیازه که در ابتدا برنامه نویسی و زبانی که اون فریم ورک باهاش نوشته شده و اصول رو درک کنید بعد ازش استفاده کنید.
مثلا اگر شی گراس اون فریم ورک، اصول شی گرایی رو کامل درک کنید و بعد از اون فریم ورک استفاده کنید.
- تسلط کامل به فریم ورک و زبان
اگر از زبان یا فریم ورک خاصی استفاده میکنید، خیلی منطقیه که در اولین مرحله کاملا به اون زبان یا فریم ورک و لایف سایکل و اکثر ویژگی هاش مسلط بشید.
حتی اگر نیاز شد برید کد های اون فریم رو مطالعه کنید و روش کانتریبیوت کنید.
- گسترش دانش فنی
اصولا افراد سینیور فقط یک زبان رو پیش نمیگیرن، بلکه میرن سمت قسمت های دیگه سیستم تا اون رو درک کنند و همین باعث میشه که مجبور شن زبان ها و ابزار های جدید رو یاد بگیرن و این دید بهتری توی کار بهشون میده.
- تقویت سافت اسکیل
از یه جایی به بعد مهم نیست شما چقدر از نظر فنی آدم کاملی هستید، رفتار شما با شرایط مختلف، آدم های مختلف، شرکت ها و تسک های مختلف باعث میشه شما پیشرفت یا پسرفت کنید، پس بهش خیلی اهمیت بدید.
کانکشن سازی هم که نباید فراموش بشه!
- تجربه تجربه تجربه
اینکه خیلیا میگن تجربه صرفا باعث سینیور شدن شما نمیشه تا یه حدی درسته اما بنظرم فاکتور اصلی سینیور شدن تجربه کافیه، شما هرچقدرم علمتون زیاد باشه اما عملی نشده باشه بهتون کمک نمیکنه پس باید شرایط مختلفو تجربه کنید تا بدونید با اون ها چطور رفتار کنید.
- یادگیری بی وقفه
با اینکه هر ثانیه یه ابزار جدید لانچ میشه اما زبان ها و فریم ورک هایی که ما داریم ازشون استفاده میکنیم و کانسپت های موجود اینقد گستردن که حتی اگه برسیم اون هارو نصفه نیمه یاد بگیریم از خیلیا جلو تریم، چه برسه این ابزار های جدید، پس یادگیری رو متوقف نکنید.
- استفاده از ابزار های متنوع
با بالا رفتن تجربه شما، انتظارات از شما هم بالاتر میره و باید کم کم با ابزار های مختلف مثل سیستم های مانیتورینگ، انواع دیتابیس، ابزار های نتورک و لاگ و.. دست و پنجه نرم کنید پس برید و ابزار های مربوط به حوزه خودتون رو یاد بگیرید .
- درک کانسپت های موجود
شما از یه جایی به بعد نیاز نیست بدونید یه حلقه چطور نوشته میشه، بلکه باید بفهمید که چه معماری ای برای اسکیل کردن سیستم نیازه، سیستم دیزاینتون باید چطور باشه و چه ابزار هایی مناسب کارتون هستند و دید سطح بالاتری باید داشته باشید پس اونارو هم برید دنبالشون
- منتورینگ
از یه جایی به بعد نیازه دست بقیه رو بگیرید، اینکه شما یه جونیور رو کمک کنید هیچ ایرادی نداره و خیلیم به شما کمک میکنه، هم صحبتی با آدم های فنی باعث گسترش دید شما میشه و همین بهتون کمک فراوانی میکنه.
و حتی میتونید از افراد با تجربه تر بعنوان منتور خودتون استفاده کنید.
- کد ریویو
شاید عجیب باشه ولی این هم خیلی مهمه!
شما باید از یه جایی به بعد کد هم تیمی هاتون رو ریویو کنید و فلو های CI/CD رو مدیریت کنید، پس این مفاهیم رو باید درک کنید.
- کتاب و ریسورس های فنی
از یه جایی به بعد دیگه ما نمیخوایم راجع به سینتکس یه زبان یاد بگیریم، میخوایم بدونیم افراد بزرگتر این حوزه در مواجهه با چالش هاشون توی شرکت های بزرگ رو چطور حل کردن و تجربشون چیه؟
چاره دیگه کورس ویدئویی نیست و باید بریم سمت کتابا تا نیازهامونو رفع کنیم.
@DevTwitter | <Reza/>