مطور ++C (m/f/d)

الآن نعمل عن بعد أيضًا!

انضم إلينا للعمل كمطور ++C
الموقع: برلين، ألمانيا أو عن بعد

هل تؤمن بالجمال عند التحدث عن البرمجة؟ هل تهتم كثيرًا بالخوارزميات الأنيقة؟ هل تجيد لغة C++‎؟ إذا كنت كذلك، فإننا نود لقاءك. إليك فيما يلي ما نقدمه لك بإيجاز:

  • مجموعة كبيرة من مهام التطوير شديدة الصعوبة بلغة C++
  • فريق عمل عالمي من أصحاب العقول اللامعة
  • بيئة عمل تساعد هذا الفريق على البقاء والتقدم
  • الوقت الكافي للتأكد من دقة كل تفاصيل الحل الذي تقدمه
  • تنظيم مسطح ومجال واسع لعرض أفكارك
  • لا توجد اجتماعات مقررة
  • ساعات عمل مواتية للأسرة، بدون مواعيد نهائية محددة، وبدون عمل إضافي
  • دعم الانتقال للإقامة بمكان آخر
  • راتب تنافسي منذ البداية مع زيادة ليصل إلى 130 ألف يورو سنويًا بعد مرور عام واحد

نبذة عن الشركة

شكرًا لكِ شركة think-cell على دعم مؤسسة Standard C++‎ وتحدي فريق Microsoft للتحويل البرمجي لدينا بتعليمات C++‎ البرمجية المعقدة.

هيرب سوتر، رئيس مؤسسة Standard C++

think-cell هي شركة برمجيات سريعة النمو في برلين بألمانيا، وينصب تركيزها على تطوير منتجات الرسومات المتميزة. يعتمد ما يزيد عن 1,000,000 مستخدم في جميع أنحاء العالم على برنامجنا في أعمالهم اليومية لأنه يساعدهم في إنشاء العروض التقديمية الرسومية على نحو أكثر سهولة وسرعة ومتعة. ويضم عملاؤنا العديد من الشركات الاستشارية الشهيرة والمؤسسات الدولية الكبرى.

لسنا بحاجة إلى تقديم أي تنازلات فيما يتعلق بجودة التعليمات البرمجية وجمالها، لأن think-cell تحقق أرباحًا عالية. ونحن على استعداد بالمضي قدمًا في تطوير خوارزميات معقدة وتحسين واجهات المستخدم التي نقدمها، ونفخر بعملائنا الكثيرين الراضين عن مستوى الخدمة. وحقيقة أن الشركة يملكها ويديرها مجموعة من علماء الحاسب المحنّكين هي بالتأكيد السبب الرئيسي الذي ساهم في خلق بيئة عمل جذبت مطورين متميزين للعمل بالشركة وشجعتهم على البقاء بها.

نبذة عن البرامج

نركّز اهتمامنا على شرائح الأعمال (بخلاف التطبيقات ذات النواحي الفنية) لأنها توفر إمكانات هائلة بالنسبة إلى تحويل مهام التخطيط التي يقوم بها مستخدمي PowerPoint بأنفسهم عادةً إلى عمليات تلقائية. وهناك تحديات جمة: بداية من الفهم الجيد للعناصر التي تجعل من التخطيط تخطيطًا جيدًا والإرشادات التي يتبعها الإنسان الذي ينشئ تخطيطًا يدويًا، وحتى الخوارزميات التي تُخرج نتيجة مقبولة بسرعة كافية بالنسبة لتصميم الشرائح التفاعلي، وواجهة المستخدم الرسومية التي تدعم نهجنا الأصلي الجديد في تخطيط الشرائح بطريقة سهلة الفهم وغير ملحوظة، والحلول التقنية الفعالة للإبلاغ التلقائي عن الأخطاء والتحديثات التلقائية، والتوافق مع برامج الشركات الأخرى المثبتة على أجهزة كمبيوتر نصف مليون مستخدم.

نقدم لكم فيما يلي بعض النقاط الرئيسية لما أنجزناه حتى الآن.

اللغة

  • لغة C++‎ هي أساس كل ما نقوم به. حتى بوابة العملاء الخاصة بنا مكتوبة أيضًا بلغة C++‎. وقد نستعين ببعض التعليمات البرمجية للربط مع برامج التجميع عند الضرورة، وتتم كتابة البرامج النصية الإنشائية بلغة Python، وبخلاف ذلك، تستخدم think-cell لغة C++‎ فقط.
  • نتتبع عن كثب أحدث إصدارات برامج التحويل البرمجي الخاصة بنا، ++Visual C وXcode، حتى يمكننا دائمًا استخدام أحدث ميزات ++C القياسية فور توفرها.
  • تموّل مجموعة العمل المعنية بلغات البرمجة التابعة للمعهد الألماني للتوحيد القياسي (DIN). وبعض الموظفين لدينا هم أعضاء في هذه الهيئة وأدلوا بأصواتهم في عملية التوحيد القياسي العالمي للمواصفة ISO/IEC C++‎.
  • ندعم مؤسسة Standard C++‎ لمساعدتها في تعزيز فهم واستخدام لغة C++‎ القياسية الحديثة في جميع برامج التحويل البرمجي والأنظمة الأساسية.

المكتبة

  • نستخدم Boost في التعليمة البرمجية الخاصة بنا، مثل، Boost.Spirit للتحليل.
  • نمتلك مكتبة بمجموعتنا الخاصة، على نفس غرار مكتبة Boost.Range أو range-v3 لإيريك نيبلر، ولكن بها ميزات أخرى، كتوحيد المكررات الداخلية والخارجية على سبيل المثال. ولقد ألقينا محاضرة تدور حول هذا الموضوع، ومعظم التعليمات البرمجية متاحة للعامة.
  • انتهينا من إعداد مكتبة خاصة بنا مشتركة بين النظم الأساسية لدعم نظامي التشغيل Mac وWindows بقاعدة تعليمات برمجية واحدة.
  • نمتلك مكتبات بنظام عدّ المراجع واستمرار الكائنات بهدف حفظ شجرات الكائنات واستعادتها بالكامل.
  • تتوفر لدينا بنية تحتية شاملة للإبلاغ عن الأخطاء. تظل التأكيدات وفحوصات الأخطاء في التعليمة البرمجية للإصدار، وتقوم برامجنا تلقائيًا بإبلاغ الخادم عن الأخطاء. يحلل الخادم بعدئذٍ الخطأ ويصنّفه ثم يرسله إلى قاعدة بيانات يمكن للمطورين الوصول إليها. إذا كان أحد التحديثات يساعد في إصلاح الخطأ، يمكن للمستخدم تنزيل التحديث مباشرةً من صفحة ويب الاستجابة للأخطاء.

الخوارزميات

  • تأسست شركة think-cell على فكرة التوصل إلى خوارزمية تعمل على تخطيط الشرائح تلقائيًا، وما زلنا في رحلتنا نحو تحقيق هذه الرؤية الطموحة. ويمكنك الاطلاع على أحدث إصداراتنا قيد العمل!
  • طوّرت الشركة خوارزمية جديدة تقوم بوظيفة التسمية التلقائية بالسحابة النقطية التي تسمح بوضع التسميات بعيدًا عن النقاط الفعلية.
  • طوّرت الشركة خوارزمية جديدة تعمل على تسمية المخططات العمودية تلقائيًا.
  • نتعاون حاليًا مع جون فورست – مؤلف الحل الخطي CLP – للعمل على التسريع من التعليمة البرمجية البسيطة simplex مع أنواع المشكلات التي تواجهنا.
  • طوّرت الشركة العديد من بُنى البيانات العامة التي لا تندرج ضمن C++‎ أو Boost، مثل الأقسام.
  • لا يقتصر دور برامجنا على إنشاء مخططات فقط، ولكنها قادرة على قراءتها مرة أخرى من الورق. نعتمد على كل من OpenCV ومكتبة معالجة الصور Leptonica كأدوات للتعرف على المخططات.

الهندسة العكسية

  • نجري العديد من عمليات الهندسة العكسية باستخدام برنامج فك التجميع IDA من Hex-Rays حتى ننفذ المهام التي يصعب إنجازها عبر واجهة برمجة التطبيقات Microsoft Office API الموثقة.
  • ربما نكون قد كتبنا أفضل محرك خطف دوال حتى الآن. فمع بدء تشغيل برنامجنا في كل مرة، نقوم بتصحيح الملفات التنفيذية لـ Microsoft Office في الذاكرة. وبدلاً من الترميز المضمن الذي يتعامل معه إجراء التصحيح، نبحث عن قطع صغيرة من التعليمة البرمجية للتجميع حتى تصمد أمام التغييرات الصغيرة في ملفات التنفيذ.

شاهد رئيس قسم التكنولوجيا آرنو وهو يجيب عن الأسئلة المتداولة

يجيب آرنو شوديل (مؤسس think-cell ورئيس قسم التكنولوجيا بها) وفولكر شوش (مطور البرامج الأول) عن الأسئلة المكررة بشأن تقديم الطلبات والعمل في think-cell في وظيفة مطور C++‎.

في هذا الفيديو يمكنك التعرف على:

نبذة عن هذه الوظيفة

نبحث عن مطورين يتسمون بالذكاء والإبداع من ذوي الخبرات النظرية القوية. يتكون فريقنا من المطورين من أفراد تتراوح خبراتهم بين أكثر من 15 عامًا من الخبرة التجارية في العديد من المجالات والأفراد حديثي التخرج في تخصصات علوم الكمبيوتر والفيزياء والرياضيات. يعد الجمع بين شهادة جامعية أو خبرة عمل بلغة ++C وأسلوب جديد وابتكاري لحل المشكلات تركيبة ممتازة لهذا الدور الوظيفي. نظرًا لأن جميع خطوات التوظيف الخاصة بنا تستند إلى المهام، يستند الاختيار إلى المهارات التي تظهر أثناء اختباراتنا.

ومن المتوقع أن تعمل بمفردك في أغلب الأوقات وتكون مسؤولاً عن مجموعة أنشطة كاملة عند تنفيذ ميزة جديدة. ويلزم أن تكون قادرًا على بحث المشكلة من منظور المستخدم ومناقشة المفاهيم المجردة مع زملائك المطورين.' ونتوقع أن يقوم كل مطور يعمل لدينا بمهام الهندسة والتصميم والتنفيذ والتعامل مع ملاحظات العملاء وحل الأخطاء، بدلاً من توزيع هذه الأنشطة على عدة أشخاص. فنحن نمنح الجميع صلاحية التحكم في زمام جميع نواحي عمله.

في شركة think-cell، لا توجد مواعيد نهائية ولا اجتماعات مقررة. فالميزة تكون جاهزة للإصدار متى أصبحت مقتنعًا بأنك نفّذت أفضل حل ممكن. وتنعقد الاجتماعات متى لزم الأمر، مع طلب حضور الأشخاص ذوي الصلة بموضوع الاجتماع فقط. ويُرحّب بأي آراء واقتراحات ونقد من أي شخص في التدرج الوظيفي في أي وقت مع أخذها في الاعتبار بجدية. فأيًا ما كانت آراؤك، فهي محل ترحيب، حتى وإن كانت يستلزم ذلك منا تغيير جزء كبير من التعليمة البرمجية للحصول على نتائج أفضل.

نشرت الشركة العديد من المقالات العلمية في مجالات الذكاء الاصطناعي ورسومات الكمبيوتر، ولا شك أننا سنشجعك على القيام بالمثل. هذا وترعى الشركة تنظيم زيارات لحضور مؤتمرات، ونحظى بعلاقات وثيقة مع الجامعات والمعاهد العلمية في الولايات المتحدة وألمانيا.

تشجع شركة think-cell على تحقيق توازن صحي بين الحياة العملية والاجتماعية. نحن لا نعمل مساءً أو في عطلات نهاية الأسبوع.

تقدم الشركة رواتب تنافسية للغاية، حيث يصل راتب المطورين إلى 130 ألف يورو سنويًا بعد عام واحد من التوظيف. وعند الضرورة، نبذل جهدنا لمساعدتك في الانتقال للإقامة في برلين، مع مساعدتك قدر الإمكان في الحصول على تصريح عمل. وطالما أنك تستطيع التواصل بشكل جيد باللغة الإنجليزية، فلا يشترط إجادة اللغة الألمانية. ويمكن تنظيم دورات تدريبية لتعلم اللغة الألمانية إذا أردت.

المزيد من التفاصيل حول تطوير البرامج وتشغيلها

ما هي بيئة التطوير المتكامل (IDE) والمحولات البرمجية التي تستخدمونها؟

نستخدم Visual Studio مع المحول البرمجي MSVC على نظام التشغيل Windows وXcode مع Clang على نظام التشغيل Mac. وكما أوضحنا سابقًا، نقوم بالتجميع من نفس التعليمة البرمجية المصدر بالنسبة لكلا النظامين.

ما هي مجموعة الأدوات التي تستخدمونها مع واجهة المستخدم؟

نستخدم OpenGL على نظام التشغيل Mac وDirectX على نظام التشغيل Windows لعرض واجهة المستخدم الخاصة بنا أعلى محتويات نافذة PowerPoint وExcel.''

ما الذي تستخدمونه لتتبع المشكلات؟

استخدمنا نظام Request Tracker (RT)‎ لسنوات عدة حتى الآن، لكننا نبحث عن بدائل في الوقت الحالي.

ما نظام التحكم في الإصدار الذي تستخدمونه؟

Git مستضاف في المبنى

هل تجرون اختبارات على الوحدات؟

تمكنّا من تنفيذ مجموعة أدوات تتيح لنا تعريف اختبارات الوحدات بسهولة وبشكل مباشر في قاعدة التعليمات البرمجية الخاصة بنا. ويتم تنفيذ اختبارات الوحدات كجزء من كل عملية تحويل برمجي.

هل لديكم خادم إنشاء؟

يتوفر لدينا جهاز مخصص لتشغيل برنامج Jenkins حتى يتم إنشاء المشروع باستمرار، وفي حالة الإخفاق، يرسل هذا الجهاز بريدًا إلكترونيًا تلقائيًا للمطورين المسؤولين عن التعليمة البرمجية منذ آخر عملية إنشاء ناجحة.

هل تتبعون قواعد معينة في إنشاء التعليمات البرمجية؟

تلتزم الشركة بمجموعة مكتوبة من قواعد إنشاء التعليمات البرمجية مع وسائط قوية جدًا لكل واحدة منها. ولا نتردد في تحديث قواعدنا في إنشاء التعليمات البرمجية عندما نجد وسائط جديدة أو أفضل.

ماذا تعتقدون بشأن تحليل التعليمات البرمجية الثابت؟

حاولنا تجربة بعض الأدوات، ولكنها لم توفر لنا أي معلومات قيّمة تقريبًا. ومن الواضح أننا حققنا نجاحًا كبيرًا في تجنب الثغرات النموذجية عن طريق قواعد إنشاء التعليمات البرمجية ومراجعات التعليمات البرمجية. والمشكلات الأكثر تعقيدًا التي لا ترصدها مراجعات التعليمات البرمجية لا يتم اكتشافها غالبًا كذلك أثناء تحليل التعليمات البرمجية الثابت. ولقد أثبت توظيف فريق اختبار بأفراد أكفاء وفريق دعم يقظ لديه صلاحية الوصول المباشر إلى المطورين نجاحه الباهر في التعرّف على الأخطاء المستترة مقارنةً بتحليل التعليمات البرمجية الثابت. ومع ذلك، نواصل البحث دائمًا عن أدوات تساعد القائمين على الاختبارات والمطورين في اكتشاف المزيد من الأخطاء على نحو أسرع.

ما رأيكم في Agile كأسلوب لتطوير البرامج؟

نحن على دراية بأساليب تطوير البرامج الحديثة المتمحورة حول حركة Agile والتي تستخدم كل ما هو مفيد لمشروعنا دون اعتراضه. وتشمل هذه الأساليب عمليات استعراض النظراء، ودرجة عالية من التنظيم الذاتي والمساءلة، واختبارات قابلية الاستخدام العشوائية، والاختبارات ذات الطابع الأكثر رسمية بالاستعانة بمستخدمين حقيقيين، والاستعداد للأخذ في الاعتبار المتطلبات أو النتائج الجديدة في أي مرحلة من عملية التطوير، والتحديثات الدورية التلقائية، وحلقة الملاحظات الضيقة مع المستخدمين استنادًا إلى ملاحظات المستخدمين النشطين والتقارير التلقائية من البرامج، واستخدام أفضل الأدوات التي يمكن شراؤها، مثل وحدات التخزين RAID بمحركات أقراص ذات حالة صلبة وكميات هائلة من الذاكرة العشوائية المؤقتة RAM لكل مطور، وقضاء بعض الوقت للتأكد من تلقي كل تفصيلة من عملية التنفيذ للاهتمام الكافي الذي تستحقه، وعدم تمضية الوقت في كتابة تعليمة برمجية غير ضرورية.

هل هذا يبدو جيدًا بالنسبة لك؟

إذا كنت الشخص المنشود الذي نتطلع إليه في فريق العمل، فالرجاء إرسال طلبك الإلكتروني للتقدم للوظيفة.

هل تريد معرفة المزيد؟

إذا كانت لديك أي أسئلة حول العمل في think-cell أو فرص العمل المتاحة أو فعاليات التوظيف، الرجاء التواصل مع الزميلة جوليا جاشوك.

hr@think-cell.com
+49 30 6664731-81

ممثلة إدارة الموارد البشرية في think-cell.


مشاركة