شرح شغل و وظایف
درباره موقعیت شغلی
ما به دنبال یک Android Developer توانمند و باتجربه هستیم که در توسعه اپلیکیشنهای اندرویدی، طراحی معماری نرمافزار و پیادهسازی راهکارهای مقیاسپذیر و قابل نگهداری مهارت داشته باشد.
در این موقعیت، فرد منتخب در طراحی و توسعه قابلیتهای جدید، بهبود عملکرد و پایداری اپلیکیشن، رفع مشکلات فنی و مشارکت در تصمیمگیریهای معماری و کدنویسی تیم نقش خواهد داشت.
مسئولیتها
- طراحی، توسعه و نگهداری اپلیکیشنهای Android با استفاده از Kotlin.
- توسعه قابلیتهای جدید و بهبود قابلیتهای موجود با تمرکز بر کیفیت، Performance و Maintainability.
- مشارکت در طراحی و بهبود معماری اپلیکیشن بر اساس MVVM، Repository Pattern و Clean Architecture.
- پیادهسازی و مدیریت ارتباط با APIها و سرویسهای Backend با استفاده از Retrofit و OkHttp.
- مدیریت دادههای محلی و پیادهسازی راهکارهای Offline با استفاده از Room/SQLite.
- استفاده موثر از Coroutines و Flow برای مدیریت عملیات asynchronous و جریان داده.
- طراحی و پیادهسازی رابط کاربری استاندارد و Responsive با استفاده از Android Jetpack.
- شناسایی و رفع مشکلات مربوط به Performance، Memory Leak، ANR و Crashها.
- پیادهسازی و نگهداری فرآیندهای Build و Release و مدیریت ساختارهای Multi-module.
- استفاده از ابزارهای Git و Code Review و مشارکت در فرآیند توسعه تیمی.
- همکاری نزدیک با تیمهای Backend، Product، UI/UX و سایر اعضای تیم فنی.
- مشارکت در بهبود مستمر کیفیت کد، تستپذیری، امنیت و پایداری اپلیکیشن.
الزامات و مهارتهای فنی
- تسلط به Kotlin و توانایی خواندن و اعمال تغییرات در کدهای موجود Java.
- تسلط به معماریهای MVVM، Repository Pattern و Clean Architecture.
- تجربه عملی با Android Jetpack شامل ViewModel، LiveData / Flow، Room / SQLite، Navigation و WorkManager.
- تسلط بر Kotlin Coroutines و Flow و مفاهیمی مانند Structured Concurrency، Cancellation، Error Handling و Backpressure.
- تجربه کار با RecyclerView، Adapter، Diffing، Data Binding / View Binding.
- توانایی پیادهسازی UIهای Responsive، از جمله Layoutهای مناسب برای Tablet.
- تجربه کار با Retrofit / OkHttp و مفاهیمی مانند Interceptor، Error Handling، Pagination و Caching.
- تجربه کار با یکی از ابزارهای Dependency Injection مانند Dagger/Hilt یا Koin.
- تجربه کار با Gradle، پروژههای Multi-module، Product Flavor، Build Variant و ابزارهای R۸/ProGuard.
- تجربه کار با Firebase، بهخصوص Crashlytics و FCM و یکپارچهسازی Google Services.
- آشنایی با مفاهیم امنیت در Android شامل Keystore، App Signing، Encryption/Decryption و حفاظت از دادههای ذخیرهشده.
- توانایی تحلیل و بهینهسازی Performance، شناسایی Memory Leak و جلوگیری از ANR.
- آشنایی با ابزارهای Profiling و Performance Analysis در Android.
- تسلط به Git و تجربه کار با فرآیندهای Code Review و Pull Request.
مهارتهای امتیازی
داشتن تجربه در موارد زیر مزیت محسوب میشود:
- Media / WebRTC: توسعه قابلیتهای Audio/Video Call، مدیریت Permissionها، Lifecycle و Audio Routing.
- Offline-first Architecture: طراحی استراتژیهای Sync، مدیریت Conflict و پیادهسازی Retry و Backoff.
- Accessibility & Internationalization: پشتیبانی از Dynamic Font Size، زبانهای مختلف و رابط کاربری RTL.
- تجربه کار روی اپلیکیشنهای با کاربر و ترافیک بالا.
- تجربه کار در تیمهای Agile و محیطهای توسعه محصولمحور.
ویژگیهای مورد انتظار
- توانایی حل مسئله و تحلیل مسائل پیچیده فنی.
- توجه بالا به کیفیت، خوانایی و Maintainability کد.
- توانایی کار تیمی و مشارکت موثر در Code Review و تصمیمگیریهای فنی.
- مسئولیتپذیری و توانایی مدیریت مستقل وظایف.
- روحیه یادگیری و بهروز ماندن با تکنولوژیهای جدید Android.
- توانایی مستندسازی و انتقال دانش فنی به سایر اعضای تیم.
آنچه ما ارائه میدهیم
- همکاری در یک تیم فنی حرفهای و پویا.
- فرصت مشارکت در طراحی و توسعه محصولات واقعی و مقیاسپذیر.
- فضای رشد و یادگیری تخصصی.
- مشارکت در تصمیمگیریهای فنی و معماری محصول.
- شرایط همکاری و مزایای رقابتی متناسب با تجربه و توانمندی فرد.
نحوه ارسال درخواست
اگر فکر میکنید تجربه و مهارتهای شما با این موقعیت شغلی همخوانی دارد، رزومه خود را برای ما ارسال کنید. در رزومه، لطفاً پروژهها و تجربیات مرتبط با توسعه Android و تکنولوژیهای ذکرشده را بهصورت مشخص درج کنید.

