معمار فرانتاند و رهبر مهندسی با بیش از ۱۰ سال تجربه در توسعه پلتفرمهای وب؛ با تمرکز بر نقطه تلاقی محصول، معماری و تجربه توسعهدهنده. حوزه تخصصی من Angular و TypeScript و زیرساخت مهندسی پیرامون آنهاست: سیستم طراحی، مونوریپوی Nx، آزمون و CI/CD. در جیبیت کار را بهعنوان تنها توسعهدهنده Angular آغاز کردم، تیمی شامل ۳ توسعهدهنده Angular و ۱ توسعهدهنده وب ساختم و اکنون مسئول پلتفرم کاری این تیم هستم: حدود ۱۰ اپلیکیشن Angular در یک مونوریپوی Nx، یک سیستم طراحی مشترک و زیرساخت CI/CD آن. تجربههای پیشینم شامل مهاجرت AngularJS به Angular و APIهای Laravel به Spring Boot، راهبری زیرساخت ویندوز و مشاوره فنی لینوکس است.
امید فرهنگ
معمار فرانتاند و رهبر مهندسی
خلاصه
سوابق کاری
مهندس ارشد فرانتاند و رهبر تیم
اوت ۲۰۱۹ - اکنون
جیبیت
جیبیت یک شرکت فینتک B2B در زمینه زیرساخت پرداخت، خدمات مالی سازمانی و احراز هویت دیجیتال است.
- کار را بهعنوان تنها توسعهدهنده Angular آغاز کردم و با استخدام و منتورینگ، تیمی شامل ۳ توسعهدهنده Angular و ۱ توسعهدهنده وب ساختم. اکنون شرکتهای همکار نیز ارزیابی فنی استخدامهای فرانتاند خود را به من میسپارند.
- پنلهای جدید را با Angular توسعه دادم و اپلیکیشنهای قدیمی React را ابتدا در ریپازیتوریهای مستقل جایگزین کردم؛ سپس با مشترکشدن قابلیتهای پنل بکآفیس و کاربران، کد مشترک را از طریق Git Submodule به اشتراک گذاشتم.
- اپلیکیشنها، ماژولهای مشترک و سیستم طراحی را با حفظ تاریخچه Git در یک مونوریپوی Nx یکپارچه کردم؛ شامل حدود ۱۰ اپلیکیشن Angular، کتابخانههای مشترک و کتابخانههای قابلیتمحور، با بهروزرسانی مستمر در نسخههای اصلی Angular.
- با همکاری تیم UI/UX یک سیستم طراحی یکپارچه در Figma شکل دادم، آن را بهصورت کتابخانه Angular همراه با Storybook و Generatorهای اختصاصی پیادهسازی کردم و در اپلیکیشنهای Angular به کار گرفتم.
- معماری GitLab CI/CD مونوریپو را بهصورت مستقل طراحی کردم: ساخت مبتنی بر تغییرات، استقرار ترتیبی Docker و ابزارهای Shell. زمان CI حدود ۵۰٪ کاهش یافت، استقرار از ۱۵ دقیقه به کمتر از ۴ دقیقه رسید و انتشار روزانه در محیط عملیاتی ممکن شد.
- آزمونهای واحد را از Jest به Vitest منتقل کردم، پوشش E2E با Playwright را گسترش دادم و پایش کارایی اپلیکیشنهای Angular را انجام دادم.
- علاوه بر اپلیکیشنهای Angular، تیم مسئول وبسایت عمومی و مستندات توسعهدهندگان نیز هست: WordPress روی Docker با کش، بهینهسازی MariaDB، سختسازی PHP و کارایی فرانتاند در سطح A آزمون GTmetrix.
مشاور فنی / رهبر فنی
ژوئن ۲۰۲۰ - مارس ۲۰۲۲
رایمندان تالی پارسه
همزمان با جیبیت. مشاوره فنی یک پروژه برجسازی شامل وبسایت عمومی، زیرساخت ایمیل و دوربین کارگاه برای خریداران.
- نخستین VPS را بهطور کامل برای سرویس ایمیل، MariaDB و وبسایت عمومی با طراحی اختصاصی راهاندازی کردم.
- دوربین RTSP کارگاه را به لندینگپیج عمومی متصل کردم: دریافت و تبدیل ویدئو به MP4 با FFmpeg روی ارتباط کمپهنایباند و پخش نهایی از طریق CDN.
- پس از قطعیهای اولیه، راهکار پشتیبانگیری و Failover را برای سرویس ایمیل و وبسایت پیادهسازی کردم.
توسعهدهنده ارشد فرانتاند
نوامبر ۲۰۱۸ - اوت ۲۰۱۹
پولیتو
استارتاپ فینتک ارائهدهنده محصولات پرداخت برای کاربران و تیمهای عملیاتی.
- توسعه فرانتاند داشبوردهای مدیریتی و مشتری را برای عملیات روزمره پرداخت هدایت کردم.
- لایه ارتباطی دادههای مالی بلادرنگ را با Angular و gRPC طراحی و حجم داده را برای بهروزرسانیهای پرتکرار بهینه کردم.
- صفحات بازاریابی و لندینگپیجهای واکنشگرا را برای کمپینهای جذب مشتری پیادهسازی کردم.
توسعهدهنده ارشد فرانتاند
اکتبر ۲۰۱۵ - نوامبر ۲۰۱۸
مدرنپل
ارتقا از توسعهدهنده جونیور به لید. توسعه محصولات حوزه سلامت و مالی، از جمله پلتفرم تبادل ارز. ابتدا AngularJS و سپس Angular را وارد تیم کردم.
- اپلیکیشنهای عملیاتی AngularJS را توسعه دادم و سپس با توجه به مناسبنبودن ngUpgrade، آنها را بهصورت تدریجی با Angular 2+ بازنویسی کردم.
- APIهای REST مبتنی بر Laravel را برای کلاینتهای Angular توسعه دادم و سپس با حفظ قراردادهای API، آنها را به Spring Boot منتقل کردم.
- در کنار اپلیکیشنهای محصول، وبسایتهای WordPress را نیز توسعه و تحویل دادم.
- مسیر فنی فرانتاند را تعیین کردم، توسعهدهندگان را منتور کردم و در تصمیمهای فنی و محصولی با CTO همکاری داشتم.
مدیر سیستم و توسعهدهنده وب
سپتامبر ۲۰۱۴ - نوامبر ۲۰۱۵
شرکت مشاوره حاسب سیستم
شرکت مشاوره مدیریت. کار را با راهبری زیرساخت ویندوز آغاز کردم و سپس توسعه اپلیکیشنهای داخلی PHP نیز به مسئولیتهایم اضافه شد.
- ارتباط WAN دفتر را پایدار کردم و Active Directory، DNS و TFS بیش از ۳۰ ایستگاه کاری را بازسازی و اصلاح کردم؛ سختافزارها را بهتدریج ارتقا دادم و بهروزرسانی Windows، آنتیویروس و نرمافزارها را متمرکز کردم.
- دستگاه حضور و غیاب را تعویض و با نرمافزارهای داخلی یکپارچه کردم.
- یک پرتال داخلی PHP/MariaDB برای ثبت کارکرد، تنخواه، حقوقودستمزد و هزینههای مشترک توسعه دادم.
- فهرست خدمات سلامت و انجمن گفتوگوی مبتنی بر PHP و phpBB را برای کارکنان و مشتریان راهاندازی کردم.
پشتیبان فناوری اطلاعات
سپتامبر ۲۰۰۷ - ژوئن ۲۰۰۸
صدا و سیما (IRIB)
سازمان صدا و سیمای جمهوری اسلامی ایران (IRIB).
- ابزارهای کوچک داخلی تحت وب توسعه دادم و پشتیبانی فناوری اطلاعات محیطهای ویندوزی را انجام دادم.