به طور سنتی در صنعت فناوری، توسعه دهندگان بر اساس سطح صلاحیت خود به چهار درجه تقسیم می شوند: جونیور، متوسط، ارشد و سرپرست تیم. در دو مقاله قبلی ما قبلاً تمام اصول اولیه این که یک برنامه نویس جوان و
متوسط
بودن چگونه است را
توضیح داده ایم . اکنون زمان انتقال به مرحله بعدی است. برنامه نویس ارشد، یکی بودن چگونه است و Senior چه تفاوتی با یک کدنویس سطح متوسط دارد؟ بیایید دریابیم.
برنامه نویس ارشد کیست؟
در چنین مقالاتی در مورد حرفهها و تخصصهای توسعه نرمافزار، ما همیشه باید به نوعی سلب مسئولیت کنیم و توضیح دهیم که درک و درک یک موقعیت خاص بسته به شرکت، صنعتی که در آن فعالیت میکند و سایر عوامل میتواند بسیار متفاوت باشد. . برخی از افراد، عمدتاً آنهایی که تمایل دارند تا حدودی محافظه کار باشند، معتقدند که تنها در صورتی مجاز هستید که خود را ارشد خطاب کنید که بیش از 10 سال تجربه کدنویسی داشته باشید، که پاسخگو است. به این معنی که تنها سالهایی که واقعاً بهعنوان یک کارمند تمام وقت برنامهنویسی میکردید، نمیتوانید از زمانی که برای اولین بار در سن 12 سالگی برنامهنویسی روی Basic را انجام دادید شروع به شمارش کنید (همانطور که بسیاری از برنامهنویسهای جوان تمایل دارند این کار را انجام دهند و برنامهنویسان ارشد واقعی را عصبانی میکنند. ). از آنجایی که کمتر محافظهکار هستید، بسیاری از مردم بر این باورند که بیش از پنج سال کار تمام وقت به عنوان یک توسعهدهنده نرمافزار به شما این امکان را میدهد که خود را ارشد خطاب کنید. از طرف دیگر، سالها تجربه فقط یک عدد است، آنچه واقعاً مهم است دانش، مهارت و تجربه قابل اجرا است. اینجاست که شما باید واقعاً ارائه دهید تا شایسته عنوان Senior شوید، زیرا Senior Developer اغلب به عنوان یک جادوگر برنامه نویسی دانا و قادر مطلق دیده می شود. از نظر مدیریت، ارشد معمولاً کسی است که می داند چگونه هر کار مرتبط با پروژه را حل کند یا چگونه کد مورد نیاز را بنویسد. اما یکی از مهمترین وظایف یک توسعه دهنده ارشد در یک پروژه توسعه نرم افزار خاص، آگاهی از خود پروژه با تمام مسائل، نیازها، نکات ظریف و غیره آن است. توانایی کار مستقل از ویژگی های مهم یک سالمند است. این بدان معنی است که ارشد می داند چه کاری و چه زمانی باید انجام دهد و برای ارائه کاری که از او انتظار می رود نیازی به نظارت ندارد. و این از نظر هر کارفرمایی یک کیفیت بسیار ارزشمند است، زیرا به این معنی است که شما می توانید به این توسعه دهنده یک وظیفه مرتبط با پروژه بدهید و بقیه را به او بسپارید. با «بقیه» عبارتند از: پی بردن به نیازها، الزامات و محدودیتها برای تکمیل کار، ارائه رویکرد مناسب، یافتن ابزار مناسب، تقسیم کار بزرگ به وظایف کوچکتر و دادن آنها به سطح متوسط و نوجوان. توسعه دهندگان و غیره. یک جنبه مهم دیگر وجود دارد که سالمندان را از کدنویسان سطح متوسط و جونیور متمایز می کند. در کدی که می نویسند و روشی که این کار را انجام می دهند وجود دارد. ارشد معمولاً کسی است که واضحترین، سادهترین و مختصرترین کد را مینویسد و باید باشد. گاهی اوقات تا حدی که این کد بیش از حد ساده و ابتدایی به نظر می رسد. این به این دلیل است که Senior باید نه تنها تکمیل کار را به عنوان نتیجه نهایی، بلکه تأثیر کلی کد جدید را بر پایه کد پروژه در نظر بگیرد. توسعه دهندگان ارشد کد خود را با حفظ قابلیت نگهداری و مقیاس پذیری در ذهن می نویسند، و این نقطه قوت اصلی آنها است که فقط با تجربه به دست می آید و نه چیز دیگری.
مسئولیت های یک توسعه دهنده ارشد چیست؟
اکنون بیایید با جزئیات بیشتری در مورد برخی از استانداردترین و متداول ترین مسئولیت های یک برنامه نویس ارشد صحبت کنیم که طبیعتاً بر روی مسئولیت های معمول برنامه نویسان جاوا تمرکز می کند.
- شناسایی و تجزیه و تحلیل نیازهای کاربران؛
- اولویت بندی، تخصیص و اجرای وظایف کدگذاری؛
- توسعه برنامه های کاربردی جاوا؛
- بررسی کار کد برای دقت و عملکرد؛
- تجزیه و تحلیل بخش های کد به طور منظم.
- به روز ماندن با فناوری جدید و آموزش به توسعه دهندگان جوان چگونه از آن استفاده کنند.
- ایجاد ایده ها و راه حل های مرتبط با چرخه توسعه با سایر اعضای تیم؛
- مسئولیت کلی کلیه کارهای توسعه و کد پروژه.
الزامات یک برنامه نویس ارشد
در اینجا لیستی از رایج ترین و معمولی ترین الزامات یک برنامه نویس ارشد است که برای به دست آوردن این شغل باید رعایت کنید. البته، بسته به خطمشیهای استخدام شرکت، فناوریهای مورد استفاده در پروژه و زبان برنامهنویسی شما، شرایط مورد نیاز متفاوت است.
- دانش عمومی گسترده از توسعه نرم افزار و فن آوری های آن؛
- دانش قوی جاوا؛
- تجربه در طراحی، ساخت و آزمایش برنامه های کاربردی سازمانی؛
- دانش عمیق از فریمورک های محبوب جاوا مانند Spring، Spring Boot، یا Java EE، JSF و دیگران؛
- تجربه طراحی شی گرا (OOD).
اینها فقط الزامات اولیه مرتبط با برنامه نویسی هستند، اما داشتن دانش فنی اغلب برای به دست آوردن شغل یک برنامه نویس ارشد کافی نیست، زیرا مهارت های مهم دیگری وجود دارد که یک ارشد قوی را تشکیل می دهد. در اینجا برخی از الزامات غیر فنی رایج برای Sr. Developer ذکر شده است.
- مهارت های خوب تفویض اختیار و مدیریت زمان؛
- توانایی حل مسئله؛
- مهارت های ارتباطی خوب؛
- مهارتهای ارتباطی گفتاری و نوشتاری قوی؛
- توانایی رسیدن به ضرب الاجل و تفکر استراتژیک.
توسعه دهندگان ارشد چقدر درآمد دارند؟
همانطور که ممکن است بدانید، وقتی صحبت از حقوق برای مشاغل کدنویسی در ایالات متحده می شود، برای یک برنامه نویس ارشد باتجربه، sky یک محدودیت است، زیرا
غول هایی مانند گوگل، فیس بوک، آمازون، اپل و مایکروسافت به مهندسان نرم افزار بسیار حقوق می دهند
. به عنوان مثال، در گوگل، یک مهندس نرمافزار در سطح 7، که بالاترین امتیازی است که میتوانید به عنوان یک توسعهدهنده دریافت کنید، میتواند در مجموع 608000 دلار در سال درآمد داشته باشد. اما اجازه دهید ارقام متوسط را مرور کنیم.
طبق گفته Glassdoor
، متوسط برنامه نویس ارشد در ایالات متحده حدود 121000 دلار در سال درآمد دارد که در مقایسه با حقوق یک کدنویس سطح متوسط 71000 دلار در سال و متوسط دستمزد 63502 دلار در سال که توسعه دهندگان جوان در ایالات متحده دریافت می کنند بسیار بالاتر است. گزارشی توسط PayScale، یک توسعهدهنده ارشد با 10 تا 19 سال تجربه، میانگین کل غرامت 109,122 دلار بر اساس 5,523 حقوق دریافت میکند
.
در اواخر کار خود (20 سال و بالاتر)، کارکنان به طور متوسط 111432 دلار غرامت دریافت می کنند.
در آلمان
، با توجه به PayScale، یک توسعهدهنده ارشد نرمافزار با بیش از 10 سال تجربه، به طور متوسط 63638 یورو غرامت دریافت میکند.
در فرانسه
، متوسط حقوق یک سالمند 54982 یورو است. طبق معمول، وقتی صحبت از اعداد و ارقام می شود، برنامه نویسان آمریکایی از همکاران خود در اروپا و جاهای دیگر جلوتر هستند. یکی دیگر از نکات جالب توجه این است که برنامه نویسان ارشد در آمریکا به طور قابل توجهی بیشتر از برنامه نویسان سطح متوسط درآمد دارند. شاید این به بهترین وجه با این فرض توضیح داده شود که اکثریت برنامه نویسان ارشد واقعا حرفه ای و با تجربه در ایالات متحده برای غول های فناوری آمریکایی کار می کنند، که پیشروترین خرج کننده نیروی کار نرم افزار در جهان هستند.
دیدگاه های شغلی
وقتی صحبت از دیدگاه های شغلی می شود، توسعه دهندگان ارشد قطعاً آنها را دارند. اما نکته خنده دار این است که اکثریت آنها واقعاً به دنبال هیچ کدام نیستند. پست هایی مانند سرپرست تیم و سرپرست فنی یکی از گزینه های اصلی برای رسیدن به سطح ارشد هستند. و همچنین گزینه های مختلف در مدیریت فناوری. با احتمالاً سمت های CTO و مدیر عامل یک شرکت فناوری به عنوان بالاترین دستاوردهای ممکن در حرفه یک توسعه دهنده ارشد. البته CTO واقع بینانه تر است، زیرا حتی در صنعت فناوری، اکثر مدیران عامل در واقع هیچ پیشینه فنی یا بسیار محدودی ندارند.
برنامه نویس ارشد بودن چگونه است. نظرات
به طور طبیعی، زمانی که به طور کلی صحبت از سمت توسعهدهنده ارشد میشود، بیشتر بحثها روی دو موضوع کلیدی متمرکز میشوند که توسعهدهندگان فقط مشتاق بحث در مورد آن هستند: اینکه واقعاً چه چیزی شما را یک توسعهدهنده ارشد میکند و چقدر زود میتوانید خود را ارشد خطاب کنید. این ممکن است برخی افراد را شگفت زده کند، اما مشاغل سطح ارشد به طور مداوم از متقاضیان درخواست می کردند که بین 5 تا 8 سال تجربه داشته باشند. تعداد کمی بودند که 10 سال یا بیشتر درخواست کردند، اما تعداد زیادی نبود. به عنوان یک توسعهدهنده ارشد، یک شرکت از شما انتظار دارد که بتوانید یک ایده مبهم را انتخاب کنید، آن را مشخص کنید، برای توسعه برنامهریزی کنید، یک تیم را درگیر کنید و آن را تا تکمیل دنبال کنید. در حالی که، عموماً از یک توسعهدهنده متوسط انتظار میرود که بدون نظارت، وظایف فردی را که به آنها محول شده است، انجام دهد، در یک تیم کار کند و برخی از راهنماییها را انجام دهد. جان موریس، یک برنامه نویس ارشد با بیش از 10 سال تجربه، دیدگاه خود را
به اشتراک می گذارد ، اما لزوماً کل فرآیند را از ابتدا تا انتها کنترل نکنید.
با یک توسعهدهنده ارشد، میتوانم یک هدف سطح بالا/مبهمتر ارائه کنم و آنها میتوانند آن را مشخص کنند، برنامهای برای اجرا ایجاد کنند، آن را توسط من اجرا کنند، سپس با حداقل دست نگه داشتن آن را اجرا کنند. بنابراین وقتی مطمئن هستید که میتوانید یک ایده مبهم را قبول کنید و آن را به طور کامل تکمیل کنید، یک توسعهدهنده ارشد هستید. اریک وایز، یکی از بنیانگذاران و مدیر عامل شرکت Wise Telemetry
می گوید
: توجه داشته باشید که این بدان معنا نیست که شما هرگز درخواست کمک نمی کنید، زیرا همه گهگاه این کار را می کنند، اما شما می توانید بدون اینکه من از شما مراقبت کنم، این روند را هدایت کنید. و اجازه دهید آن را با این
نقل قول
بسیار خوب توسط پابلو اولیوا، یک توسعهدهنده نرمافزار با تجربه از آلمان به پایان برسانیم: «به نظر میرسد توسعهدهندگان ارشدی که با آنها کار کردهام، کمربند ابزار بزرگی دارند. هر زمان که مشکلی پیش می آمد، آنها منابع زیادی داشتند که می توانستند به آنها مراجعه کنند. آنها ابزارها و زبانهایی را که روزانه استفاده میکردیم به خوبی میدانستند، و میدانستند وقتی چیزی نمیدانند کجا باید جستجو کنند (بین جستجوی بیهدف در گوگل و رفتن به صفحه دستی مناسب در اولین تلاش تفاوت وجود دارد). این دانش از راهحلهای قدیمی و مهارت در جستجوی راهحلهای جدید باعث میشود که آنها مورد احترام همسالان خود قرار بگیرند و اغلب برای پیشنهادات به آنها مراجعه میکنند. آنها همچنین به نوبه خود می دانستند که چه زمانی به تنهایی نگاه نکنند و از یک همکار کمک بخواهند. برخی گواهینامه داشتند، برخی نه. برخی فارغ التحصیل شده بودند، برخی نه. اما آنها همیشه یک نقطه مرجع برای تیم های خود (و حتی برای افراد در تیم های دیگر، برای برخی از توسعه دهندگان ارشد به خصوص تماشایی) بودند. بنابراین، چند نفر وقتی درگیر می شوند به این فکر می کنند که از شما کمک بخواهند؟»
GO TO FULL VERSION