در طی چهار سال اخیر، من مدیر ارشد فناوری در یک شرکت بودهام و خواستم تجربیات خود، و چیزی که آرزو میکردم در هنگام شروع میدانستم را برای شما بازگو کنم.
این یک تجربه شگفتانگیز بوده است. تاسیس یک استارتآپ، یک نسخه برعکس از استخدام کردن سنتی است. در ابتدا شما اصلا نمیدانید که شرکت شما خیزش خواهد کرد یا نه. شما حتی نمیدانید که این شغل، تبدیل به یک کار تمام وقت خواهد شد یا نه. بعد هم همینطور که این شغل رشد میکند، شما همینطور به کارهای جدید و متفاوتی وارد میشوید. منطقی است که در نهایت به کارهایی برسید که هیچ وقت آنها را انجام ندادهاید. شما میتوانید سریعتر از این که یاد بگیرید چگونه مسئولیت خود را مهار کنید، آن را انباشته کنید.
استارتآپها قایقهای چابکی هستند، اما تصمیماتی که در روز اول میگیرید، به مرور زمان عواقب ناهمواری دارند. حال من قدردان این مسئله هستم که زیرساختها، چارچوبها و زبانهایی که شما انتخاب میکنید، برای مدت طولانیای با شما خواهند بود. همینطور که شرکت شما رشد میکند، فشار به شدت زیادی در ساخت ویژگیها و سیستمهای زیر مجموعه بیشتر وجود دارد، که هر کدام بیشتر شما را در انتخابات خود محفوظ میکنند. همینطور که شما جنبش بیشتری به دست میآورید، فشار مربوطه رشد میکند و توقف در بازنویسی، غیر ممکن است.
من از انتخاباتمان بسیار خوشحال بودهام: وب سرویسهای آمازون، Elastic Beanstalk، Firebase، AngularS، CoffeeScript، Kafka، Simple Queue System، SocketStram، Docker، SemaphoreC و MySQL. در میان این لیست، AngularJS و MySQL تنها مواردی بودهاند که مشکلات مقیاسبندی را برای ما پدید آوردهاند. باندل کردن کد AngularJS یکپارچه ما، بیش از حد بزرگ بوده، دانلودهای اولیه ما کمی زمان میبرند و برنامه ما کمی بیش از حد کند است. MySQL با شکست مواجه میشود و با توجه به پیچیدگی صف BI در حال رشد، این ابزار ریاستات میشود. برطرف کردن این مشکل سخت است.
من از این که حال فناوریها طول عمر کوتاهی دارند، قدردانی میکنم. CoffeeScript و AngularJS دو جزء از ابزار ما هستند که خستگی آنها واضحتر از بقیه است (ما برنامه داریم که به TypeScript و آخرین نسخه Angular مهاجرت کنیم). تمام فناوریهای ما وقتی که آنها را به کار بردیم، بسیار جدید بوده، و خیلی قابل اطمینان نبودند. این که دلبستگی من برای فناوریهای نوپرست باعث بروز مشکلات خاصی نشده است، یک نعمت است.
من به شدت از سینتکس تابعی CoffeeScript قدردانی میکنم و باور دارم که به من در رسیدن به باروری شخصی بالا در طی این سالها کمک کرده است.
با تولید بر پایه آنچه در بالا خواندید، من میدانم که شما باید زمان خود را بودجه بندی کنید و برای جایگزینی فناوری، استراتژیهایی را طرح کنید. شما میتوانید به جای تقبل هر فناوری، راههایی را در پیش بگیرید که در طولانی مدت نتیجه میدهند.
به طور مشابه، کامپوننتها و کتابخانههایی که شما مینویسید، برای مدت طولانیای وجود خواهند داشت. هر چقدر هم که زیبا یا بد آنها را بنویسید، آنها در وضعیت مشابهی باقی خواهند ماند. از این رو، خوب است که محض رضای نگهداران آینده کد شما، کمی زمان بیشتری را بر روی ساخت آنها سرمایهگذاری کنید.
من همیشه در مقابل وقتهایی که یک نفر بر روی ساخت امکانات متوقف میشود و فقط بخشهایی از سیستم را بازسازی میکند، مقاومت نشان میدادم. این مسئله برای بسیاری پروژهها یک مارپیج مرگ معروف بوده است. یک تکنیک که برای ما به خوبی نتیجه داده است، قانون پسر پیشآهنگ بوده است:
«سعی کنید این دنیا را کمی بهتر از زمانی که آن را یافتید، رها کنید.»
ما سعی میکنیم بهبودهای کوچکی را به آن نواحی از کد که بر رویش کار میکنیم، اعمال کنیم. گاهی اوقات فکر کردن درباره وضعیت کلی سورس کد، پر از استرس است؛ پس من در عوض بر روی بهبودهای کوچک پ مداوم تمرکز میکنم.
در آخر، یک نکته کوتاه درباره آزمایش کردن: من پی بردم که وادار کردن تیم خود به نوشتن آزمایشات، کمی سخت است. من آزمایشهایی برای بخشهای مختلفی از سیستم را نوشتهام، و سرورهایی را راهاندازی کردهام تا به طور خودکار آزمایشات را اجرا کنند. با وجود این مسئله، من به ندرت میبینم که کس دیگری هم آزمایشاتی را اضافه کند. من همیشه میخواستم که آزمایشات بر پایه شایستگی ذاتی خود شکوفا شوند، اما متاسفانه این اتفاق نمیافتد. ایدههای من برای رفع این مسئله:
- نشستهای تازه کنندهای برای نحوه نوشتن آزمایشهای خود برپا کنم.
- داشتن حداقل یک آزمایش برای امکانات چشمگیر را اجباری کنم.
- سرورهای آزمایشمان را به گونهای بهینهسازی کنم تا به جای ده دقیقه، در عرض ۱۰ ثانیه تمام شوند.
با دور شدن از تصمیمات فنی خالص، هسته اصلی یک مدیر ارشد فناوری بودن، مدیریت مردم است. بخش اصلی زندگی روزمره شما مدیریت، رهبری، استخدام و اخراج کردن خواهد بود. من مجبور بودم تمام این موارد را در طی راه یاد بگیرم.
مهم نیست چقدر درباره این خواندهام که مهمترین دارایی یک شرکت، مردم آن هستند. این مسئله هیچ وقت مرا برای خسته کنندگی و مشقت بار بودن روند استخدام کردن آماده نکرد. برای هر کسی که در استخدام کردن تازه وارد است، باید بگویم که: شما احتمالا باید زمان بیشتری را صرف استخدام کنید، و افراد بیشتری را رد کنید. احتمالا شما باید مردم را به صورت سختگیرانهتری از صافی خود رد کنید. من هیچ وقت نمیتوانستم حدث بزنم که یک عضو برای استارتآپ که بی نقص باشد، چقدر کمیاب است. حتی نمیتوانستم حدث بزنم که یافتن آنها چقدر سخت است.
دانستن این که چه زمانی باید کسی را استخدام کنید، یک معما است: آیا الان برای این نقش کسی را استخدام کنم، یا بعدا، و این که کدام نقشها را اول استخدام کنم؟ این مسئله به خصوص وقتی که بودجهای به دستتان رسیده است، سختتر میشود؛ زیرا شما به نتیجه رساندن این پول را یک مسئولیت میدانید. خوشبختانه، برخی نصایح خوب را میتوانید در اینجا بیابید:
۱. فقط وقتی کسی را استخدام کنید که واقعا به یک نقش نیاز دارید.
۲. برای این استخدام کنید که رشد کنید.
۳. کسی را برای انجام کاری که هنوز نمیدانید چیست، استخدام نکنید.
اگر بخواهیم این نصایح را خلاصه کنیم، باید بگوییم که: اگر مطمئنید که باید یک نقش خاصی را استخدام کنید، احتمالا هنوز زود است. ما چرخههای زیادی را برای تلاش برای استخدام دیگران و ایجاد رشد گذراندیم، و اکثر آنها شکست خوردند.
مدیریت افراد، نسبتا به مانند کشتیرانی بوده است. داشتن بررسیهای به موقع و روراست درباره این که چه چیزی خوب است و چه چیزی بد است، باعث شده است که من و همکارانم روابط بارور و سالمی داشته باشیم.
من پی بردم که اخراج کردن افراد، یک بخش سخت از کار است. نصایح کاربردی زیادی در جاهای دیگری نوشته شدهاند، و من به سادگی تکرار میکنم که بسیار زودتر از این که کسی را اخراج کنید، در دل خود آن را میدانید. داشتن بررسیهای خوب، به هر دو شخص کمک میکند تا برای خروجیهای منفی آماده باشند. در آخر با توجه به یک برنامه توسعهدهی شخصی، گاهی اوقات واقعا برخی افراد بر میخیزند و تبدیل به اعضای بارور خوبی برای گروه میشوند؛ هر کسی باید فرصت انجام این کار را داشته باشد.
یکی از بزرگترین لذتهای تماشای رشد یک شرکت، دیدن نحوه ظاهر شدن افراد دیگر به عنوان رهبران نواحی خود است. من احترام و تبریک خود را به کل تیم تقدیم میکند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید