سلام، من وحید محمدی هستم و از آبان ۹۶ تا شهریور ۱۴۰۱ توی شرکت تپسل کار کردم. توی این ۵ سال خیلی بیشتر از مدت زمانش یاد گرفتم. پربارترین بازهی زندگیم بوده و فکر میکنم تجربیاتم در این بازه به درد خیلیا میخوره.
آبان سال ۹۶ دانشجوی ترم ۵ کارشناسی مهندسی نرمافزاری دانشگاه تهران (ورودی ۹۴) بودم و به عنوان Junior frontend engineer به تپسل اومدم. تیر ۹۸ (۱.۵ سال بعد) چپتر فرانت تپسل رو تشکیل دادم و Frontend chapter lead شدم. همزمان امریه مو گرفتم. فروردین ۱۴۰۱ (بعد از ۲.۵ سال) به عنوان Director of tech operations یا Process engineer فعالیتمو ادامه دادم و انتهای شهریور ۱۴۰۱ به دلیل خروج از کشور از تپسل جدا شدم.
این مطلب شامل این موارد میشه:
سعی کردم عنوانهای واضح بذارم که خوندن این مطلب طولانی براتون راحت باشه
تپسل یه شرکت بزرگه که کلی محصول مختلف داره. تعداد محصولات تپسل هر سال حداقل ۲-۳ تا بیشتر میشه. این هم خوبه هم بد. رشد سریع شرکت جذابه و حس خوبی میده ولی آینده رو غیر قابل پیشبینی میکنه و گاهی تیمها رو بیشتر از حدی که دوس داری تغییر میده. بعضی وقتا تیمت بهتر میشه بعضی وقتا بدتر. البته تپسل معمولا اجبار نمیکنه این تغییر تیمها رو. خودت اگه بخوای معمولا راحت میتونی بین تیمها جابهجا شی و بری تیمی که دوس داری.
۱. توی تپسل فرصتها و کارهای خیلی باحالی وجود داره. این تویی که میتونی اونا رو انجام بدی یا نه. اگه بخوای میتونی ۲۴ ساعت روز رو کار کنی و بازم کارها تموم نمیشه و اگه نه، میتونی یه هفته هیچ کاری نکنی و کسی هم بهت گیر نمیده (من تست کردم و یه هفته دیگه ماکسشه :)).
۲. فرهنگ تپسل جوریه که همه دوس دارن یاد بدن و یاد بگیرن. بعضا بیش از حد هم هست. میری مثلا ۵ دقیقه از یکی سوال کنی، میبینی نیم ساعت داره واست هر چی که بلده رو یاد میده. البته متاسفانه به دلیل خروج نیروهای با تجربه از کشور، اخیرا آدمهای خفن کمتری تو تپسل هست
نتیجهی این چندتا تا خصوصیت برای من این بوده: به ندرت کار تکراری میشه یا یادگیری متوقف میشه. وگرنه من ۵ سال اونجا نمیموندم.
۳. برای نیروهای سینیور و با تجربه ممکنه تپسل گزینهی فوقالعادهای نباشه. معمولا حقوق بهتری تو شرکتهای دیگه میتونین بگیرین. مگه اینکه خیلی رول حیاتی برای تپسل داشته باشین. پس اگه سینیور هستین حتما تو تپسل سر حقوقتون چانه بزنید! واسه همینه که تو تپسل (و به طور کلی توی ایران) همه یا کم تجربهن یا با تجربه و سربازن یا حقوق خوبی میگیرن یا پول اولویتشون نیست و با چیزای دیگهی تپسل حال میکنن. ولی به صورت کلی پیشنهاد میکنم تو تپسل Tech lead نشید. معمولا مسئولیتهاش خیلی بیشتر از اون چیزیه که فکر میکنید و بیشتر از Authority هاتونه.
۴. فرایندها، کارهای اداری و مالی و ساختار سازمان مبهمه. تپسل خیلی زود رشد کرد و این باعث شد نتونه سریع تیم منابع انسانی خوبی تشکیل بده و خیلی از فرایندهای انسانی و ساختار سازمان به شکل سلیقهای و مبهم باقی موند. به ندرت و با جذب نیروهای خیلی با تجربه، اخیرا تونسته خیلی از این مشکلات رو حل کنه ولی هنوز این مشکل کاملا تو ذوق میزنه. البته تیم HR ای که از اوایل ۱۴۰۱ شروع به کار کرده به نظرم خوب داره پیش میره و آیندهی خوبی میتونه داشته باشه. در نتیجه شاید از HR بد تپسل زیاد شنیده باشید ولی الآن به نظرم اوضاع رو به بهبوده.
۵. تیمهای خیلی متفاوت با مدیریتهای متفاوت. از اونجایی که منابع انسانی به مدت زیادی ضعیف بوده، هیچ آموزش و شرح وظایفی برای مدیر تیمها، ساختاربندی تیمها و فرایندهای تیمها وجود نداره و در نتیجه خیلی چیزا سلیقهایه. مثلا یه تیم خیلی ساختارمند و دقیق میره جلو ولی یه تیم دیگه سعی میکنه دست همه رو باز بذاره. در مجموع تیمها با هم واقعا متفاوتن. حتی دو تا مدیرهای ارشد فنی شرکت هم نوع کارشون متفاوته. یکی micro management میکنه ولی اون یکی نه. واسه همین ممکنه دو نفرو ببینید که همزمان توی تپسل بودن و یکی خیلی ناراضیه و نفر دیگه راضی. ولی نکته مثبتش اینه که معمولا فرصت جابهجا شدن بین تیمها فراهمه.
اون اوایل که خیلی چیز یاد میگرفتم و اصلا از کار کردن خسته نمیشدم. فکر میکردم این حس تو همه شرکتها هست ولی بعدا فهمیدم این یه خصوصیت کمیابه و تپسل از معدود شرکتهایی که این حس رو به خیلیا میده. همزمان با ورود من، محصول Metrix استارت خورده بود. اولش من و محمد طاهری (از خفن ترین مدیرهام) بودیم فقط. این تجربهی کار تو استارت آپ از صفر برام خیلی جذاب بود و پیشنهاد میکنم حتما یه بار چنین تجربهای داشته باشین (مثل تجربهی پروژهی «هکتور» شهریار توی تپسل).
بهار ۹۸ یکم اوضاع تپسل خوب نبود. منم یه تجربههایی کسب کرده بودم و داشتم فارغ التحصیل هم میشدم و باید یه شرکت واسه امریه انتخاب میکردم. اسنپ فود یه مسابقهی React برگزار کرد که من شرکت کردم و نفر سوم شدم و یه آفر هم ازشون گرفتم، همزمان یه مصاحبه تو کافه بازار رفتم و آفر گرفتم. با دو تا آفر تپل رفتم به تپسل گفتم من میخوام برم. بعد از کلی صحبت با مدیرهام، عباسی حسینی که کوفاندر و مدیر فنی وقت تپسل بود بهم پیشنهاد داد بمونم و یه چپتر فرانت تشکیل بدم و خودم لیدش کنم (در واقع این پیشنهاد همکارم حمید عامل زندهدل بود که بعدا هم توی این چپتر خیلی کمکم کرد و نمیدونم چجوری ازش تشکر کنم). پیشنهاد جذاب و ترسناکی بود و من در همون لحظه پذیرفتمش.
حضور محسن فدایی: همزمان با پوزیشن کاری جدید من، بهترین همکار و مدیر من تا این لحظه یعنی محسن فدایی هم به تپسل اومد. تپسل آدمای فوقالعادهی زیادی داشته و من شانس همکاری مستقیم با خیلیاشون رو داشتم ولی اونقدری که من از محسن یاد گرفتم، از هیشکی یاد نگرفتم. محسن به عنوان VP of Engineering به تپسل اومد و به نظرم کارهای خیلی بزرگی واسه تپسل انجام داد. در ادامهی این مطلب میگم چیا یاد گرفتم.
چپتر فرانت ما چه شکلی بود؟ چپتر فرانتی که من واسه تپسل تصور کردم و تقریبا نزدیکش شدم، یه محیطی بود که خودم به عنوان فرانتاند دولوپر دوست داشتم توش کار کنم. جایی که اولویت آدمها، حال خوب و یادگیری مداومه. با همه یه جور برخورد میشه و کسی حس نمیکنه بالاتر یا پایینتر از دیگریه. تاکید میکنم تقریبا نزدیکش بودیم. از همهی عزیزای این چپتر تشکر میکنم به خصوص حمید عامل و محمدرضا پورمرادی و صدف نیکنام.
لذت بخش ترین دوران: این ۲ سال و ۹ ماه همراه شد با کرونا و امریه ولی انقدر خوب و قشنگ بود که واقعا نمیدونم چجوری گذشت! انگار ۵-۶ ماه بود کلا. یه ماه آموزشی، ۴-۵ ماه هم کار. چقدر کارهای خفنی تو این چپتر کردیم. roadmap ساختیم، جلسات knowledge sharing گذاشتیم، کلی مستندات نوشتیم، پسته رو ساختیم، جلسات Code Review و CI/CD رو راه انداختیم و خیلی چیزای جذاب دیگه. به جرات میتونم بگم یکی از بهترین تیمهای فرانتی که تو ایران میتونی پیدا کنی رو تپسل داره.
پایان سال ۱۴۰۰ که همراه بود با رفتن محسن و تقریبا تموم شدن سربازی من، تصمیم گرفتم دیگه از لید کردن چپتر فرانت کنارهگیری کنم. دلیل اصلیم این بود که قصد اپلای کردن داشتم و فکر کردم بهتره که زودتر فرایند تحویل رو انجام بدم که بعد از رفتنم، بازم چپتر فرانت به همون خوبی که دوست دارم باقی بمونه. دلیل دوم هم اینکه محسن فدایی (VPE) رفته بود و من یه فرصتی دیدم که راهشو ادامه بدم و چیزایی که ازش یاد گرفتم رو به شکل کامل تری مستند کنم و کاری کنم که تلاشهای محسن تو تپسل ثابت تر و ادامه دار تر باشه. واسه همین بعد از چندتا جلسه با شقایق برقعی (VPE بعدی) کارمو به عنوان Director of Technical Operations ادامه دادم. که البته بعدا تو چارت سازمانی مون بهم عنوان Process Engineer رو دادن چون بعضی جاها کارهام فقط مختص تیمهای فنی نبود. اگه دوس دارین بدونین دقیقا چه کارهایی رو انجام میدادم، لینکدین من رو ببینید ولی تجربههای زیادی تو این مدت کسب کردم چون خیلی روی روش کار کردن همکارام دقت کردم. این تجربهها رو در ادامه نوشتم.
اینم دوس دارم بگم:
به من زیاد گفتن «چرا تپسل موندی؟» چون آفرهای دیگهای مث چپتر لید فرانت اسنپ و دیجیکالا رو هم داشتم (که اگه درست متوجه شده باشم اکثرشون به دلیل اپلای کردن نفر قبلی بوده) و من معمولا یه جوابی مث «به خاطر امریه» یا «سال ۹۸ هیچ جای دیگهای با ۲ سال سابقه بهم چپتر لید فرانت رو نمیدادن» رو بهشون میدادم که به نظرم fair enough بود. ولی یه دلیل دیگه هم داره. من جوّ تپسل رو واقعا دوس دارم. فضا و آدمهاش و رفیقهایی که اونجا داشتم. واسه من یه خونواده بوده و من همیشه لذت بردم. صبحها همیشه با لبخند میرفتم سر کار و از لحظهای که همکارهامو میدیدم لبخندم عمیق تر هم میشد. عصرها هم رفتن از شرکت برام سخت بوده و سعی میکردم بعد از اینکه همه رفتن برم. نمیدونم شرکتهای دیگه آدمها و فرهنگ شون چجوری بوده ولی این چیزی که من تو تپسل میدیدم واسه من انقد خوب و کافی بود که اصلا کنجکاو نبودم جاهای دیگه رو تست کنم. چه بسا که در مورد دیجیکالا خیلی بد شنیده بودم. یه اسنپ بود که حس خوبی داشتم بهش و برام پیشرفت محسوب میشد ولی تپسل به اندازهی کافی جذاب و قشنگ بود و دردسرهای امریه گرفتن و انتقال برام سنگینی میکرد.
از اینجا به بعد ربطی به شرکت تپسل نداره و من صرفا دوس داشتم چیزایی که یاد گرفتم رو بنویسم.
اول یه چیزایی میخوام بگم که شاید ابتدایی و مسخره به نظر برسه ولی همهی اینا رو از منابع علمی خوندم و واقعا مهم و تاثیرگذاره و بعدش در مورد کاربردش بیشتر توضیح میدم: به طور کلی من یه فرایند تصمیم گیری تو ذهنم دارم که چندتا مرحله داره و مهارتهایی هست که تو هر مرحله ازشون استفاده میکنم:
۱. تحلیل مسئله: خود این تحلیل مسئله چند بخشه. اول باید فاکتورها و جنبههای مد نظر رو پیدا کنم. مثلا اگه میخوام یه گوشی بخرم، میشه دوربین و باتری و سیستمعامل این چیزا. دوم اولویت بندی این فاکتورهاست. مثلا من ممکنه دوربین واسم مهمتر از باتری باشه. سوم تحلیل شرایط محیط و عوامل تاثیر گذارشه. مثلا اینکه الآن قیمتهای بازار چجوریه و شاید هفته بعد Black Friday باشه. در کل توی این بخش مهارت «تفکر نقاد یا Critical Thinking» خیلی مهمه.
۲. دیدن گزینهها: شاید گزینههای زیادی داشته باشم ولی بازم ممکنه همه رو نبینم. مثلا شاید یه فروشگاه اینترنتی رو بررسی کنم واسه خرید گوشی و فک کنم همیناس دیگه.
۳. انتخاب: خب اگه درست تحلیل کنم و گزینهها رو دیده باشم دیگه انتخاب سادهس نه؟ نه همیشه. مثلا ممکنه دلم الکی یه گوشیای گیر کرده باشه و باعث شه گزینهای که خودم میدونم درسته رو انتخاب نکنم. البته لزوما چیز بدی نیست. باید به این فکر کنم که چقد درست بودن انتخابم برام مهمه و چقد سلیقه و علاقهم.
۴. انجام دادن: بعد از گرفتن تصمیم، باید انجامش بدم. حالا گوشی خریدن که انجام دادنش سادهس ولی مثلا اگه یه پروژه رو انتخاب کردم، باید بتونم:
۵. پذیرفتن نتیجه: بعد از تموم شدنش اولا که اگه نتیجه بد بود و شکست خوردم، باید قبول کنم که من تلاشمو کردم و شکست هم یه تجربهس و اگرم موفق شدم باید قبول کنم که من توانایی شو داشتم و به خودم اعتماد کنم که من از پس این کارها بر میام. دوما باید خیلی ریز همهی فرایند رو بررسی کنم و ببینم کجاها خوب عمل کردم و کجاها نه و چیا رو بیش از حد وقت گذاشتم، چیا رو سرسری نگاه کردم و... اینا به من کمک میکنه تو تصمیمگیریهای بعدی تواناییهای خودمو بدونم و مسائل رو بهتر تحلیل کنم. ضمنا باید فیدبک بگیرم از دیگران.
۶. انتقال تجربه: شاید برای شما مهم نباشه ولی من دوس دارم تجربههامو یا یه جا بنویسم یا حداقل تو صحبتهام به بقیه منتقل کنم. اینجا شناختن رسانهها و انتخاب رسانهی مناسب و تاثیرگذاری در نوشتن و صحبت کردن مهمه.
همهی این کارها در حد گفتن خیلی سادهس ولی در عمل پیچیده میشه. پس باید هی انجام بدیم (performance یا اجرا) و این یعنی هی باید شکست بخوریم و فیدبک بگیریم و بازنگری و اصلاح کنیم (performance review) و در نهایت یاد بگیریم و تبدیلش کنیم به یک skill یا مهارت.
در همین راستای شاید بد نباشه در مورد سیستم تند و سیستم کند مغزمون هم بیشتر بدونیم.
حالا کاربرد این فرایند رو میخوام توضیح بدم:
ببینین! کلی فرصت دورمون هست که ما نادیده میگیریم و میگیم حالا من که فعلا بلد نیستم یا این فرصت واسهی من نیست یا حالا این هفته یکم سرم شلوغه و... مثلا یه نفر یه چیزی رو میخواد یاد بده که شما نمیدونین چیه یا یه مطلبی که یه نفر پیشنهادش میکنه ولی شما با خوندن عنوانش چیزی ازش نمیفهمین یا حس میکنین بدرد نمیخوره یا مثلا یه مسابقه یا ایونتی داره برگزار میشه که شما متوجه کاربردش نمیشین. یا حتی بعضا یکی یه فرصت رو مستقیما به خودتون توضیح میده. مثلا مدیرت بهت میگه تو میتونی فلان پروژه رو دست بگیری یا همکارت بهت میگه تو خیلی کارت درسته و چرا نمیری کارها خفنتر کنی و...
من دو تا دلیل برای نپذیرفتن این فرصتها میبینم:
پس لطفا «نه نگفتن» رو تجربه کنید. این ویدیو رو هم ببینید که یه آدم موفق تهیه کرده و تجربیاتشو گفته.
این بحث خیلی مهم و عمیقه و واقعا نمیتونم خلاصهش کنم براتون. کتاب «ذهن فریبکار شما» و پیج اینستای دکتر سلطانی رو پیشنهاد میکنم. (حالا ببینیم به نکتهی قبلی توجه میکنین و این کلمهی «فراشناخت» که براتون جدیده رو جستجو میکنین یا نه :)))
از پرزنت کردن منظورم فقط پاورپوینت ساختن نیست. بعضی وقتا باید بتونین یه پیام خوب تو تلگرام بنویسین یا یه مستنداتی بنویسید.
یه نکتهی مهم شناختن رسانههاست. این همه شبکه اجتماعی داریم که هر کدوم واسه یه محتوایی خوبه. یوتیوب و اینستاگرام و توییتر و کلاب هاوس و تلگرام و مدیوم/ویرگول و... هر کدوم از اینا انواع محتوا رو دارن. مث استوری و پست و... و هر محتوایی هم فیچرهای مختلفی داره که کمک میکنه به بهتر منتقل شدن محتوا.
توی محیط کار هم از این چیزا زیاد هست. ابزارهای از کامنت گذاشتن توی کد بگیر تا پیام توی گروه کاری، مستندنویسی، اسلاید و برگزاری جلسه. ابزارهاتون رو بشناسین و سعی کنین فعال باشین.
خصوصا اگه کارآموز یا جونیور هستین این رو خوب تو ذهنتون داشته باشین. دنیای برنامه نویسی خیلی وسیعه و انقد مطلب وجود داره که ممکنه شما از یک نفر ۱۰ سال کمتر سابقه داشته باشین ولی یه چیزی رو بلد باشین که اون بلد نباشه. برای همین اگرچه تجربهی زیاد یک فرد احتمال اشتباه بودن اطلاعاتش رو کم میکنه ولی استناد به تجربهی یک شخص نمیتونه دلیل درست یا غلط بودن تصمیماتش باشه. پیشنهاد میکنم مغالطهی توسل به مرجع رو بخونید.
به عبارت دیگه توی جلسات، گفتگوهای دوستانه و هر جایی که فرصتش هست، چیزی که فکر میکنید درسته رو بگید حتی اگه تجربهی کمی دارید. دو حالت داره! یا حرفتون درسته (که خداروشکر) یا غلطه و یه نفر حرف شما رو اصلاح میکنه و شما یه چیزی یاد میگیرین. اصن اینکه شما منفعل و ساکت باشین تو جلسهها، یه خصوصیت منفی حساب میشه (از نظر مدیرتون) و بهتره اگه خجالتی یا درونگرا هستین، تو محیط کار علی رغم تمایلتون حرف بزنین.
در این راستا پیشنهاد میکنم این ویدیو در مورد Imposter syndrom رو ببینید.
البته اگه فک میکنین شما بیشتر از بقیه میدونین، بهتره در مورد Dunning kruger هم بخونید. اگر بازم فک میکنین خیلی میدونین (که ممکنه غلط نباشه) سعی کنید زیاد فیدبک بدین و یاد بگیرین چجوری فیدبک سازنده (Constructive) بدین.
این خصوصیت خیلی مهمیه. تلاشمو میکنم که خوب توضیحش بدم. چندتا مثال میزنم:
این نکته شبیه نکتهی ۱ هست. این فرصتها رو غنیمت بدونین. مصاحبه فرصت عالیای برای یاد گرفتن و نتورک تشکیل دادنه. کاملا میتونه آینده تونو عوض کنه.
یه مرز باریک بین شوآف (Show off) کردن و بیش از حد خاکی بودن هست. باید بلد باشیم فرصتهای مناسبی پیدا کنیم که مهارتهامونو نشون بدیم. این فرصتها زمانی هستن که آدما اومدن که چیزهای جدید بشنون و یاد بگیرن. مثلا سر ناهار معمولا موقعیت خوبی نیست. ولی توی جلسههایی که دنبال راه حل هستیم مثل جلسهی کد ریویو، فرصت خوبیه.
از اونجایی که خیلی از مدیرها روش درستی برای سنجش مهارت نیروهاشون ندارن، شما باید بهشون نشون بدین که چه کارهایی انجام دادین و این تاثیر میذاره روی دیده شدن تون و بعدا ممکنه فرصتهای بهتری توی شرکت نسیب تون بشه.
امیدوارم این مطلب بدردتون بخوره. ولی بازم اگه فک میکنین چیزی هست که بهتره به این مطلب اضافه بشه لطفا توی کامنت ها بگین. در کل نظرتون رو بذارین ممنون میشم.