یک سال در پرشیا شبکه

موسسه اطلاع‌رسانی مهندسی پزشکی پرشیا شبکه  که به اختصار پرشیا شبکه (PersiaBME) نامیده می‌شود نام شرکتی است که کم و بیش یک سال در آنجا کار کرده‌ام و حالا که همکاری تمام وقتم با پرشیا شبکه قطع شده است وقت آن رسیده است که مروری داشته باشم بر این یک سال.

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

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

یکی دیگر از مزایای مهم پرشیا شبکه امکان بهره‌برداری از فناوری‌ها و روش‌های روز تولید نرم‌افزار است. همین قدر اشاره کنم که از کلیه امکانات TFS 2010 از جمله build اتوماتیک، continuous integration و work item management بر اساس اسکرام به طور کامل استفاده می‌شود و تقریباً بیشتر جاها از NHibernate استفاده شده است.

به عنوان آخرین آیتم از فهرست خوبی‌ها باید اشاره‌ای هم داشته باشم به قابلیت کار از راه دور و نیاز خیلی کم به ارتباط چهره به چهره. این روش کار برای من در یک سری موارد بسیار مفید و با ارزش بوده.

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

با همه خوبی‌ها و بدی‌ها، به پرشیا شبکه بدرود می‌گویم. به پرشیا شبکه‌ای که با داشتن کمترین رانت (تا آنجا که من می‌دانم) همیشه به فکر کسب رضایت مشتری‌هایش بوده است. بدرود!

پ.ن. ۱: فکر می‌کنم پرشیا شبکه هنوز هم در حال جذب نیروی جدید برنامه‌نویس باشد. لطفاً رزومه‌هایتان را به آدرس info atsign persiabme dot com بفرستید. جهت کسب اطلاعات بیشتر به اینجا مراجعه کنید.

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

اشتباهات دوران دانشگاه

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

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

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

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

۴- انتخاب C#‎ به جای جاوا.
آن اوایل دانشگاه همه ما با هم دلفی کار بودیم اما کمی بعد سر و کله دات‌نت و جاوا پیدا شد و خیلی‌ها از جمله خود من دلفی را فراموش و به سمت یکی از این دو سکو رفتیم. آن زمان خیلی با بحث Open Source و… آشنا نبودم و فکر می‌کردم چون جاوا کد باز است ممکن است خیلی رشد نکند. ولی چون مایکروسافت یک شرکت تجاری خیلی بزرگ است حتماً دات‌نت‎ موفق‌تر خواهد بود. البته گذر زمان نشان داد هر چند که دات‌نت‎ چندان شکست نخورد اما آنهایی که به سمت جاوا رفتند موفق‌تر بودند خصوصاً آنها که در ایران بودند. به عنوان مدرک می‌توانید تعداد پروژه‌های موفق در جاوا را مقایسه کنید با پروژه‌های موفق C#‎. به عنوان مثال Hibernate را. اگر نمونه کدها یا سواد آدم‌های جاوا کار را مقایسه کنید با نمونه کدهای C#‎ یا آدم‌های C#‎ کار متوجه می‌شوید که به طور نسبی جاوا کارها با سوادتر و کدهایی که می‌نویسند دقیق‌تر و اصولی‌تر است. در بازار کار هم برنامه‌نویس‌های جاوا محبوبیت بیشتری داشته و حتی میانگین حقوقی بالاتری هم دارند. به طور کلی به نظر می‌رسد در ایران شرکت‌های جاوایی تیم‌های قوی‌تر و برنامه‌نویس‌های بهتری داشته باشند تا شرکت‌های دات‌نتی.

۵- عدم استفاده مفید از سربازی
هر چند که سربازی را باید رفت چون همه می‌روند اما بنده به خاطری کوتاهی‌هایی که در بعضی زمینه‌ها و شبکه اجتماعی (در اینجا آشنا و پارتی) در طول دوران تحصیل کرده بودم نتوانستم امریه پیدا کنم. حتی نتوانستم در شهر یا نیروی دلخواه به سربازی بروم. در نتیجه دو سال از وقت با ارزشم را در تبریز و کوه‌های لرستان سپری کردم. طی این مدت تنها ارتباطم با کامپیوتر مجموعه Microsoft Office و خواندن یک کتاب ASP بود.

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

۷- دیگر موارد متفرقه مثل عدم کار روی پروژه‌های کد باز معروف، عدم حضور جدی و موثر در المپیادها، مسابقات و همایش‌های دانشجویی، دوست‌یابی نادرست و…

خداحافظ فراکنش

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

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

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

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

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