استخدام مهندس نرم افزار داده (Software Data Engineer)
شرح موقعیت شغلی
از اینکه شما را ملاقات میکنیم بسیار خوشحالیم. برای اینکه بیشتر با مجموعه بیت۲۴ آشنا شوید، میتوانید صفحه درباره ما سایت بیت 24 را مطالعه نمایید.
قراره با کمک دانش و تجربه شما، دادههای خام و اطلاعات مالی عمومی را از منابع داده مختلف جمعآوری و تجمیع کنیم؛ از جمله صرافیهای متمرکز رمز ارز، بلاکچینهای مختلف، و سایر دادههای مالی عمومی که به ما در طراحی متریکهای ترکیبی کمک میکنند. در واقع شما در خط مقدم طراحی و توسعه Date Product-های مختلف قرار دارید و وظیفهی توسعه و نگهداری زیر ساخت آن با شماست. کاندیدای ایدهآل باید تجربه قوی در توسعه برنامهها با استفاده از استک Golang داشته باشد. به عنوان یک مهندس نرمافزار داده (Software Data Engineer)، شما مسئول طراحی و پیادهسازی راهحلهای نرمافزاری مقیاسپذیر، قابل اطمینان، و کارآمد خواهید بود.
اگر دست شما در کد نویسی گولنگ گرم باشه، با الگوریتمها و ساختارهای دادهای اصلی آشنا هستید و میتوانید بدون مشکل پیچیدگی زمانی و حافظهای راهحل پیشنهادی خود را محاسبه کنید، پس شما مهارتهای بالقوه مورد نیاز برای این شغل را دارا هستید، اما باید آن را به فعلیت برسانیم. بعلاوه، اگر علاقه دارید که در صنعت جذاب و در حال رشد فینتک، مسیر شغلی خود را ادامه دهید، ما خوشحال خواهیم شد که شما را به عنوان یکی از اعضای تیم مان داشته باشیم.
مسئولیتهای مهندس نرمافزار داده:
- طراحی سیستمهای توزیع شده برای ذخیرهسازی ایمن و پردازشهای بلادرنگ
- طراحی Data Loader-های سریع و کارآمد برای مدیریت جمعآوری و ذخیرهسازی دادهها از طریق وب سوکت با تمرکز روی کاهش Latency، افزایش Throughput، مدیریت Load Balancing، استفاده از Caching، و استفاده از Compression
- مستند سازی و تولید گزارشهای با کیفیت از قسمت های مختلف هر فرایند و یا روند حل یک مسئله
- همکاری و هماهنگی با سایر تیم ها برای توسعهی محصولات مبتنیبر دادههای رمز ارزها و به طور خاص دادهی دفتر سفارشات بازار و دفتر کل بلاک چین
- مستند سازی و تولید گزارشهای با کیفیت از قسمت های مختلف هر فرایند و یا روند حل یک مسئله
- همکاری و هماهنگی با سایر تیم ها برای توسعهی محصولات مبتنیبر دادههای رمز ارزها و به طور خاص دادهی دفتر سفارشات بازار و دفتر کل بلاک چین
- همیاری و کمک در راستای ایجاد و رشد فرهنگ داده در سراسر شرکت
مهارت های مورد نیاز مهندس نرمافزار داده:
- حداقل کارشناسی مهندسی نرمافزار
- حداقل دو سال کار در زمینهی طراحی میکروسرویسهای مقیاس پذیر
- تسلط به پیکربندی و استقرار کلاستر ایمن و مشاهدهپذیر کافکا
- تسلط به مدلهای مختلف Concurrency در Go شامل Goroutines, channels, context, fan-out pattern, Buffered channel, Fan-in challenge
- توانایی کار تیمی، برقراری ارتباط موثر، و قدرت حل مسئله
مهارت هایی که مزیت محسوب می شود:
- آشنایی با رویکرد DDD و معماریهای دامنه-محور چون Clean و Hexagonal
- طراحی سیستمهای Event-driven با کمک Redis streams یا Kafka
- پردازش Stateful، ایجاد پایپلاینهای ETL یا ELT با کمک Kafka Streams
- آشنایی با پروتکلهای Caching شامل Single In-Memory Caching، Distributed Caching، Replicated Caching، Near-Cache Hybrid
- طراحی Microservice های Golang و پیاده سازی آنها به صورت Cloud-native
- آشنایی با پروتکلهای ارتباطی از جمله gRPC و Protocol buffers
- آشنایی با الگوریتمهای اجماع (توافق) در سیستمهای توزیع شده از جمله Raft و Paxos
- تجربه نوشتن Unit-Test/Integration-Test و آشنایی با فریمورکهای تست نویسی مثل Testify
- آشنایی با ابزارهای بیلد Docker مانند buildx ، podman ، ko، و kaniko
- آشنایی با اسکن کردن ایمیجهای Docker برای آسیبپذیریهای امنیتی با استفاده از ابزارهایی مانند trivy و grype، و آشنایی با چگونگی تولید یک SBOM
- آشنایی با پایگاه دادههای SQL و NoSQL شامل ScyllaDB
- آشنایی با Data Lake یا Object Storage از جمله MinIO
- تجربه کار با Git و Github Actions
- آشنایی با فناوری بلاک چین و صرافیهای رمزارز
مهارتهای مورد نیاز
- Data engineer
- kafka
- مهندسی داده
حداقل سابقه کار
- کمتر از سه سال
جنسیت
- مهم نیست
وضعیت نظام وظیفه
- مهم نیست