OnHires announces job opportunities with competitive salaries - Bahrain
Lead Stream Software Engineer (C#)
About the job
Position: Stream Software Engineer (C#)
Level: Team (tech) lead
Fully remote
Languages:
Russian B2+, English B2+ will be a plus
About the Company:
Our client is dedicated to building and scaling online stores featuring the most popular and in-demand products available online. With a focus on innovative marketing strategies and captivating content, the company aims to engage a global audience through compelling advertisements and customer-centric approaches.
Key Responsibilities
- Participate in writing code, designing solutions and quality control of implementation. Actively participate in the code review process and improve it.
- Choose solutions and technologies that fit best to the architecture.
- Manage a development team, work on a system of motivation, training and evaluation of developers' competencies.
- Identify bottlenecks in the current architecture and make improvements.
- Onboard, train and off-board employees in a team.
- Maintain and develop processes within the team.
- Lead the product technically (architecture, task decomposition, task evaluation, consulting on the technical part of the project, participation in the distribution of workload between developers, participation in the construction and control of the development cycle).
- Participate in development cycle automation (Working with VCS, CI, release automation) (together with DevOps).
- Manage technical knowledge in the team (dissemination of knowledge, technical documentation, metamaps).
Obligatory:
- Experience in a commercial company as a C# (.NET) backend developer for at least 4 years;
- Experience in developing high-loaded applications (thousands of RPS);
- 2+ year experience managing development team of 3+ people;
- Experience in developing and refactoring the architecture of complex solutions;
- Experience in writing your own applications;
- Improved soft skills, the ability to work with the motivation of the team and specific developers, the ability to resolve technical/software conflicts;
- Deep understanding of OOP, TDD, SOLID, as well as their application in practice;
- Experience in distribution and decomposition of tasks;
- Participation in the collection of requirements and the formation of tasks;
- Experience with multithreading;
- Strong knowledge of SQL, experience with PostgreSQL / MS SQL / Oracle SQL;
- Experience in writing unit and integration tests (NUnit, XUnit, MSTest);
- Strong knowledge of SQL, experience with PostgreSQL.
Used technologies:
- C# / .NET Core
- PostgreSQL / and other databases
- HTTP(S) / SignalR / gRPC
- Protobuf / JSON
- Docker/AWS
- Experience with CI/CD;
- It will be a plus to use performance and memory profilers;
- Development experience using concepts: asynchrony, lock-free structures, multithreading, and distributed systems.
Preferably:
- Preferable knowledge of Actor Model / proto.actor;
- It will be a plus to understand the structure of exchange trading;
- It will be a plus to use performance and memory profilers;
- Development experience using concepts: asynchrony, lock-free structures, multithreading, and distributed systems;
- Preferable knowledge of Actor Model / proto.actor;
- It will be a plus to understand the structure of exchange trading.
OnHires تعلن عن فرص عمل برواتب تنافسية-البحرين
مهندس برمجيات رئيسي (C#)
حول الوظيفة
المسمى الوظيفي: مهندس برمجيات رئيسي (C#)
المستوى: قائد فريق (تقني)
عن بُعد بالكامل
اللغات:
الروسية B2+، الإنجليزية B2+ ستكون ميزة إضافية
عن الشركة:
عميلنا مخصص لبناء وتوسيع المتاجر الإلكترونية التي تحتوي على أكثر المنتجات شعبية وطلبًا المتاحة عبر الإنترنت. مع التركيز على استراتيجيات التسويق المبتكرة والمحتوى الجذاب، تهدف الشركة إلى جذب جمهور عالمي من خلال إعلانات مثيرة approaches customer-centric.
المسؤوليات الرئيسية
- المشاركة في كتابة الشيفرة، وتصميم الحلول، ومراقبة الجودة للتنفيذ. المشاركة النشطة في عملية مراجعة الشيفرة وتحسينها.
- اختيار الحلول والتقنيات التي تناسب بنية النظام.
- إدارة فريق التطوير، والعمل على نظام للتحفيز، والتدريب، وتقييم كفاءات المطورين.
- تحديد نقاط الاختناق في البنية الحالية وإجراء التحسينات.
- تدريب وتوجيه الموظفين في الفريق.
- الحفاظ على وتطوير العمليات داخل الفريق.
- قيادة المنتج تقنيًا (البنية، تقسيم المهام، تقييم المهام، تقديم استشارات حول الجزء التقني من المشروع، المشاركة في توزيع عبء العمل بين المطورين، والمشاركة في بناء ومراقبة دورة التطوير).
- المشاركة في أتمتة دورة التطوير (العمل مع VCS، CI، أتمتة الإصدارات) (مع DevOps).
- إدارة المعرفة التقنية في الفريق (نشر المعرفة، الوثائق التقنية، خرائط الميتا).
المتطلبات الأساسية:
- خبرة في شركة تجارية كمطور خلفي C# (.NET) لا تقل عن 4 سنوات؛
- خبرة في تطوير التطبيقات ذات الحمولة العالية (آلاف من RPS)؛
- خبرة لا تقل عن سنتين في إدارة فريق تطوير يتكون من 3 أشخاص أو أكثر؛
- خبرة في تطوير وإعادة هيكلة بنية الحلول المعقدة؛
- خبرة في كتابة تطبيقات خاصة بك؛
- مهارات شخصية محسنة، القدرة على العمل مع تحفيز الفريق والمطورين المحددين، القدرة على حل النزاعات التقنية/البرمجية؛
- فهم عميق لمبادئ OOP، TDD، SOLID، وتطبيقها في الممارسة العملية؛
- خبرة في توزيع وتقسيم المهام؛
- المشاركة في جمع المتطلبات وتشكيل المهام؛
- خبرة في البرمجة المتعددة الخيوط؛
- معرفة قوية بـ SQL، وخبرة مع PostgreSQL / MS SQL / Oracle SQL؛
- خبرة في كتابة اختبارات الوحدة والاختبارات التكاملية (NUnit، XUnit، MSTest)؛
- معرفة قوية بـ SQL، وخبرة مع PostgreSQL.
التقنيات المستخدمة:
- C# / .NET Core
- PostgreSQL / وقواعد البيانات الأخرى
- HTTP(S) / SignalR / gRPC
- Protobuf / JSON
- Docker/AWS
- خبرة مع CI/CD؛
- ستكون ميزة إضافية استخدام أدوات تقييم الأداء والذاكرة؛
- خبرة تطوير باستخدام مفاهيم: التزامن، الهياكل الخالية من القفل، البرمجة المتعددة الخيوط، والأنظمة الموزعة.
المفضل:
- معرفة مفضلة بنموذج الممثل / proto.actor؛
- ستكون ميزة إضافية فهم هيكل التداول في البورصة؛
- ستكون ميزة إضافية استخدام أدوات تقييم الأداء والذاكرة؛
- خبرة تطوير باستخدام مفاهيم: التزامن، الهياكل الخالية من القفل، البرمجة المتعددة الخيوط، والأنظمة الموزعة؛
- معرفة مفضلة بنموذج الممثل / proto.actor؛
- ستكون ميزة إضافية فهم هيكل التداول في البورصة.
