Shahin Sorkh's Blog

A full stack dev journal, maybe?

 updated at 05 Jul 2023
With ♥️ by Shahin Sorkh Theme by mattgraham
Can be found at Telegram , LinkedIn , StackOverflow Can be called via email or mobile

Douran GROUP

Iran   Censorship   Ethics

می‌خوام از تجربه‌ام بگم. مسیری که طی کردم. وقتی که یه نیروی تازه‌کار بودم. وقتی که هنوز امیدوار بودم.

چی شد که وارد دوران شدم؟


وقتی هنوز دانشجوی پلی‌تکنیک تهران بودم، به اجبار (بخوانید لطف) پدرم وارد بازار کار شدم. سه ماه تابستون سال ۹۶ رو جذب شرکت پارسایا شدم. بهمن‌ماه بود که شرکت PMPiran دوره جامع مدیریت پروژه رو به واسطه دانشگاه برگزار کرد و منم شرکت کردم. تو این بود که با یکی از مدیرپروژه‌های شرکت داده‌پردازان دوران، خانم n، آشنا شدم. دنبال نیروی full-stack بود برای تیم جدیدشون. اون موقع دوران تازه دچار تحولاتی در سطح مدیریت کلان شده بود و بعضی تیم‌ها از بین رفته بودن و احتیاج به نیروی تازه داشتن. من تا پیش از دانشگاه مهارت‌هایی کسب کرده بودم، از تکنولوژی، وب رو می‌شناختم و با فرایندهای backend و frontend تا حدودی آشنا شده بودم. سه ماه تابستون هم که کمی جدی‌تر کار کرده بودم و اعتماد به نفس خوبی داشتم. طی صحبتی که با خانم n داشتم، قرار شد بخش کوچکی از یه پروژه رو براشون آماده کنم و برای مصاحبه فنی برم. اولین برخورد من با آقای j سر تحویل همین پروژه بود. مدیر فنی به شدت دوست‌داشتنی، مهربون و البته کاربلد. با همه گیروگورهایی که داشت برنامه رو ازم تحویل گرفت و بازخورد خیلی خوبی گرفتم. یکی دو روز بعدش از طرف شرکت بام تماس گرفتن که برم برای قرارداد. اولین قرارداد رسمی من تو یکی از بزرگ‌ترین شرکت‌های ایران به این شکل رقم خورد!

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

چه وظیفه‌ای به عهده‌ام بود؟


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

از توسعه و نگهداری پروژه‌های جدید، تا تصحیح و دیباگ پروژه‌های قدیمی شرکت، تا سوپروایز نیروهای کارآموز! البته به همین جا هم ختم نشد. بعد از تقریبا یک سال، مسئولیت کامل وب یک پروژه که دوران بصورت پیمان‌کاری از یکی از نهادهای حکومتی پذیرفته بود، به عهده من گذاشته شد. از طراحی و پیاده‌سازی و R&D سمت backend گرفته تا دیزاین و UI/UX و پیاده‌سازی و پشتیبانی frontend. همین‌طور بخش زیادی از system administration سامانه و ساپورت ماژول‌های دیگه. از طرفی هم کارفرما ارتباط مستقیم با من می‌گرفت و دخالت‌های جاوبیجای زیادی داشت. به مرور سخت و سخت‌تر شد.

کار فنی زیاد و نتیجتا burning out


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

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

فشار کار زیاد بود، وقتی من وارد این پروژه شدم، چیز زیادی تا ددلاین نمونده بود اما کار و بدهی فنی سر به فلک گذاشته بود! بخاطر تجربه نداشته من و فشار ددلاین، این بدهی فنی هر روز بیشتر و بیشتر میشد. هیچ زمانی برای جبرانش هم به دست نمیومد. شرکت متاسفانه مقاومت خیلی زیادی دربرابر جذب نیرو به خرج داد و من هم رفته رفته کارآیی خودمو از دست داده بودم. به نظرم میاد که بعد از یک سال و نیم، یک‌سوم کارایی قبل رو هم حتی نداشتم! گذشته از این، کدبیس بزرگ و پیچیده و پر از بدهی، مزید بر علت بود که تسک‌ها ۳-۴ برابر زمان معقول خودشون طول بکشن.

اما همه چیز فقط بحث فنی نبود


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

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

اما یه جای دیگه هم اسم دوران شنیده میشه. جایی که بحث سانسور و فیلترینگ اینترنت مطرحه.

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

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

وظیفه اخلاقی و حرفه‌ای من چیه؟


جدا شدن از دوران واسه من کار آسونی نبود. به علل مختلف شخصی و حرفه‌ای. با اینکه فشار زیادی روی من بود اما هم کارم رو دوست داشتم و هم تیمم رو. مدیرفنی تیم مثل یه معلم بود. توی محیطی کار می‌کردم که به اشتراک‌گذاری دانش جزو بدیهیات بود و همه بدون کوچک‌ترین چشم‌داشتی اگر چیزی بلد بودن با دیگرون به اشتراک می‌گذاشتن. رابطه بین اعضای تیم چیزی بیشتر از صرفا همکار بود و قبل از همکاری، دوستای خوبی واسه هم بودیم. شرکت مزایای خوبی داشت، گذشته از اینکه وظایفش (پرداخت به موقع حقوق، بیمه و …) رو کامل و خوب انجام می‌داد، جشن‌های مناسبتی می‌گرفت، به مناسبت روز زن و روز مرد به کارکنان هدیه می‌داد و کارهایی از این دست. از لحاظ فنی چالش‌های خیلی خوبی برای من داشت. بعید می‌دونم اگه جای دیگه‌ای کار می‌کردم می‌تونستم این همه تجربه و دانش کسب کنم تو حوزه‌های مختلف تکنولوژیکی. جدایی از چنین محیطی واقعا کار آسونی نبود.

اما

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

چی شد که این اندازه جدی شد؟ آبان‌ماه ۹۸ رو یادت بیار. طی دو هفته اتفاقاتی افتاد که الان بیش از یک ساله که گریبانمون رو گرفته. دی‌ماه ۹۸ رو یادت بیار. تا همین الان دروغ و تحقیر ادامه داره. وقاحت به حدی رسیده که به طور علنی علی وزیر مملکت اعلام جرم می‌کنن که «چرا دستور کاهش پهنای باند پیام‌رسان‌های خارجی رو اجرا نکرده».

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

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

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