یک روز از زندگی یک مدیر مهندسی


در طول هشت سالی که به عنوان مدیر مهندسی گذراندم، مرتباً نحوه گذراندن وقتم را پیگیری می کردم. به عنوان یک مدیر مهندسی استارتاپ، من مسئولیت طیف وسیعی از وظایف را بر عهده داشتم، بنابراین پیگیری اینکه در کدام حوزه‌ها بیشترین زمان را صرف کرده‌ام به من کمک کرد تا برنامه‌ریزی و برنامه‌ریزی مناسبی داشته باشم.

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

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

یک مدیر مهندسی چه کاری انجام می دهد؟

ابتدا، کمی در مورد نقش من به عنوان یک مدیر مهندسی: اولین نقش مدیریتی من در Packback بود، یک پلت فرم پرسش و پاسخ برای اساتید کالج.

من زمانی به تیم ملحق شدم که فقط چهار نفر در شرکت بودند. اساساً من و بنیانگذاران آن بودم. در این سه سال، دیدم که شرکت نزدیک به 5 میلیون دلار جمع آوری کرد و به 30 نفر رسید. تیم مهندسی من بسیار لاغر بود – پنج نفر بودند که در سال 2016 ترک کردم – اما نقش من در طول سال‌های حضورم در شرکت کمی تغییر کرد.

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

در حالی که کار روزانه من در طول سال‌ها تغییر زیادی کرد، به عنوان یک مدیر مهندسی نرم‌افزار، در نهایت مسئول کمک به تیمم بودم تا نرم‌افزارهایی را که طبق انتظار، طبق برنامه و بودجه کار می‌کرد، ارسال کنند.

کلمه حیله‌آمیز آنجا «کمک کردن» است. دقیقا چه معنی میدهد؟ یعنی یک مدیر مهندسی کد می نویسد؟ یا فقط مطمئن می شوند که همه اعضای تیمشان در حال نوشتن کد هستند؟

پاسخ کوتاه این است: بستگی دارد.

مدیران مهندسی باید فنی باشند

به طور کلی، مدیران مهندسی نسبت به توسعه دهندگان ارشد تیم خود کد کمتری می نویسند، اما آنها باید کدی بنویسند تا مهارت های خود را واضح نگه دارند. آن‌ها همچنین باید در کمک به اعضای تیم خود خوب باشند تا «گیر نکنند». گاهی اوقات این به معنای پاسخ به سوالات فنی است و گاهی به معنای حل اختلافات بین اعضای تیم است.

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

مدیران مهندسی باید با مردم خوب باشند

“خوب بودن با مردم” برچسب سختی است.

بسیاری از مردم تصور می کنند که برای اینکه یک مدیر کارآمد باشید باید یک برون گرا باشید. اما این لزوما درست نیست. داشتن همدلی با تیم خود و کمک به آنها در گذر از چالش ها – اعم از فنی و شخصی – یکی از وظایف اصلی یک مدیر مهندسی است.

اما مدیران مهندسی نیز باید «مدیریت کنند». این بدان معناست که وقتی رئیسشان از آنها بازخورد می خواهد، باید به دنبال بهترین منافع تیم خود باشند، و به این معنی است که در صورت عدم انجام کار، ممکن است مجبور شوند یکی از اعضای تیم را رها کنند.

سخت ترین قسمت در مورد مدیریت مهندسی

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

هر چند وقت یکبار، روزی دارم که پس از پایان آخرین جلسه، سرم را بالا می‌برم و احساس می‌کنم که هیچ کاری انجام نداده‌ام. من در تمام طول روز مشغول بودم: مکالمه، خواندن اسناد، و بررسی با همسالان و اعضای تیم. من خسته ام، اما هیچ کاری انجام نداده ام.نیکولاس یعنی

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

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

یک مدیر مهندسی وقت خود را چگونه می گذراند؟

مدیران مهندسی تمایل به داشتن طیف گسترده ای از مسئولیت ها دارند و این مسئولیت ها بر اساس اندازه کارفرما و ساختار سازمانی متفاوت است. برای اینکه ببینید یک مدیر مهندسی وقت خود را چگونه می گذراند، من زمان خود را به چهار دسته تقسیم کردم:

  • فنی (35%)
  • مدیریتی (35%)
  • استخدام (15%)
  • اداری (15%)

در این بخش، خواهید دید که من زمان خود را به عنوان یک مدیر مهندسی چگونه گذراندم. من کمی در مورد وظایف خاص در هر زمینه و اینکه چرا بخش مهمی از کار روزانه من بود، ارائه خواهم داد.

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

فنی

35 درصد وقتم

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

مدیریتی

35 درصد وقتم

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

در شبکه گرید، با مشورت با بنیان‌گذاران در مورد انتخاب نرم‌افزار و شرکت در تماس‌های مهم فروش، نقش استراتژیک‌تری را ایفا کردم. جالب توجه است، در حالی که وظایفی که من بر عهده گرفتم متفاوت بودند، زمان تقسیم بندی تقریباً مشابه بود.

استخدام کردن

15 درصد وقتم

زمان استخدام شامل رفتن به کنفرانس ها، جلسات و بوت کمپ های کدنویسی بود. نوشتن پست های وبلاگ؛ ملاقات با نامزدهای شغلی؛ و ارزیابی غربالگری های فنی

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

اداری

15 درصد وقتم

در نهایت، چند ساعت در هفته را صرف خواندن و نوشتن ایمیل‌ها، پاسخ دادن به سؤالات در Slack، گفتگوهای تصادفی و انجام کارهای روزمره «سایر» برای حمایت از تیمم می‌کردم. به عنوان مدیر، سعی کردم این نوع حواس‌پرتی‌ها را از تیم مهندسی خود دور نگه دارم، اما در صورت لزوم با اعضای تیم وقت می‌گذارم.

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

چه چیزی یک مدیر مهندسی خوب را می سازد؟

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

1. تیم خود را قدرتمند کنید

مدیر خوب بودن همه چیز مهم است کمک به دیگران برای دستیابی به چیزهای بزرگ.

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

2. بیش از حد ارتباط برقرار کنید

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

من نمی گویم که باید همه چیز را هفت بار در یک جلسه تکرار کنید، بلکه به تکرار تغییرات مهم در یک به یک، تنظیمات گروهی، از طریق ایمیل و گذرا فکر کنید. تغییر ترسناک است، اما هر چه مردم بیشتر در مورد چیزی بشنوند، ترسناک تر می شود.

3. منبع آرامش باشید

در نهایت، به عنوان مدیر مهندسی، نقش شما این است کهخلاء آشوب”:

«هر اتاقی که وارد می‌شوید باید تا زمانی که آن را ترک می‌کنید، مطمئن‌تر و برنامه محکم‌تری داشته باشد. رهبران خوب می توانند در موقعیتی قدم بردارند که افراد مسیر اهداف خود را گم کرده باشند و همه را در مسیر روشنی به پیش ببرند.

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

مقالات مشابه را در وبلاگ مهندسی تاپتال بخوانید.



منبع

Matthew Newman

Matthew Newman Matthew has over 15 years of experience in database management and software development, with a strong focus on full-stack web applications. He specializes in Django and Vue.js with expertise deploying to both server and serverless environments on AWS. He also works with relational databases and large datasets
[ Back To Top ]