نحن نبحث عن مهندس برمجيات رئيسي (خلفية) للانضمام إلى فريق هندسة تطبيقات الهاتف المحمول في Procore. في هذا الدور، ستكون حلقة الوصل بين عملائنا على الهاتف المحمول وفرق هندسة البرمجيات الخلفية في Procore، حيث ستقود تصميم وتنفيذ واجهات برمجة التطبيقات (APIs) الصديقة للهاتف المحمول والتي تدعم بنيتنا الأساسية التي تعطي الأولوية للعمل بدون اتصال (offline-first). هدفك الأساسي هو التأكد من أن واجهات برمجة التطبيقات التي تشغل تجارب إدارة المشاريع والجودة والسلامة على الهاتف المحمول تعمل بالطريقة التي تحتاجها الهواتف المحمولة وليس الويب فقط، مع توجيه المهندسين عبر فريق موزع عالميًا.
بصفتك مهندس برمجيات رئيسي (خلفية)، ستعمل بشكل وثيق مع فرق البرمجيات الخلفية في جميع أنحاء Procore بالإضافة إلى فرق هندسة تطبيقات الهاتف المحمول والمنصة والمنتج لتمثيل احتياجات الهاتف المحمول في وقت مبكر من محادثات تصميم واجهات برمجة التطبيقات، ولمساعدة تلك الفرق في بناء عقود برمجية تصمد في ظروف العمل الميداني ذات الاتصال المنخفض أو غير المتصل بالإنترنت. استخدم فهمك العميق لقيود جانب العميل، جنبًا إلى جنب مع طلاقة كافية في البرمجيات الخلفية للتحدث بلغتهم والتأثير على التصميم، لسد الفجوة التي عادة ما تظهر فقط بعد أن يبدأ فريق الهاتف المحمول في التكامل.
انضم إلينا لتكون الشخص الذي يضمن أن فرق الهاتف المحمول والبرمجيات الخلفية يبنون بالفعل لبعضهم البعض، في فريق يبني البرنامج الذي يحافظ على مشاريع البناء - والأشخاص الذين يديرونها - آمنين وفي الموعد المحدد. قدم طلبك اليوم!
يتبع هذا المنصب مدير الهندسة وسيكون مقره في مكتبنا بالقاهرة، مصر. نحن نبحث عن شخص ينضم إلينا على الفور.
ما ستفعله:
يعد الذكاء الاصطناعي جزءًا أساسيًا من طريقة عملنا. ستكون مطالبًا بإتقان الأدوات التوليدية وسير العمل الوكيل (agentic workflows)، متجاوزًا مجرد استخدام الذكاء الاصطناعي إلى بناء مستقبل البناء المعتمد على الوكلاء بنشاط. العمل كحلقة وصل أساسية بين فرق إدارة مشاريع الهاتف المحمول والجودة والسلامة وفرق البرمجيات الخلفية، وتمثيل احتياجات الهاتف المحمول في تصميم واجهات برمجة التطبيقات والعقود. دفع تنفيذ واجهات برمجة التطبيقات REST و GraphQL الصديقة للهاتف المحمول مع التركيز على دعم بنيتنا الأساسية التي تعطي الأولوية للعمل بدون اتصال، وتحديد الأماكن التي لن تصمد فيها واجهات برمجة التطبيقات لظروف الاتصال المنخفض أو الاستخدام الميداني، والعمل مع فرق البرمجيات الخلفية لسد الفجوات. الشراكة عبر عدد كبير من الفرق المتعاونة (الخلفية، تطبيقات الهاتف المحمول، المنصة، والمنتج) للتوافق على العقود والتبعيات والمعايير المشتركة قبل أن تتحول إلى مشاكل تكامل. جلب منظور يركز على العميل إلى المحادثات المعمارية التي تمتلكها فرق البرمجيات الخلفية، بدلاً من امتلاك تلك الهندسة بشكل مباشر. توجيه وتطوير الزملاء من خلال مراجعات الكود، والعمل الزوجي، والتدريب، وتنمية فريق هندسي موزع عبر المناطق الزمنية. استكشاف وإصلاح مشكلات الإنتاج المعقدة عند نقطة التقاء الهاتف المحمول/الخلفية، والعمل كنقطة تصعيد أثناء الحوادث. تحديد نقاط الاحتكاك المتكررة بين فرق الهاتف المحمول والبرمجيات الخلفية، وتنظيم الأشخاص المناسبين لحلها.
ما نبحث عنه:
درجة البكالوريوس في علوم الكمبيوتر أو الهندسة أو مجال ذي صلة أو خبرة عملية معادلة. المرشح الذي يتمتع بعقلية المنتج و/أو خلفية في أتمتة الهاتف المحمول هو ميزة كبيرة. 8 سنوات أو أكثر من الخبرة المشتركة في هندسة البرمجيات، مع سجل حافل بالقيادة التقنية، وتوجيه المهندسين، والارتقاء بنقاشات الفريق. خبرة مباشرة في التطوير على جانب العميل (هاتف محمول أو ويب)، أو تعاطف قوي جدًا مع كيفية تأثير قرارات البرمجيات الخلفية على مهندسي العميل - وهذا يهم أكثر من امتلاك خدمات البرمجيات الخلفية بنفسك. طلاقة عملية في تطوير البرمجيات الخلفية (Ruby on Rails أو Node.js أو Java أو ما شابه ذلك) بما يكفي للمشاركة بشكل موثوق في تصميم أو التأثير على واجهات برمجة التطبيقات REST و/أو GraphQL، ويفضل أن يشمل ذلك سيناريوهات العمل بدون اتصال أو الاتصال المنخفض. مهارات تواصل استثنائية وراحة في التعاون عبر الفرق، وترجمة الاحتياجات الغامضة أو المتنافسة إلى اتجاه تقني واضح عبر المناطق الزمنية. خلفية قوية في التطوير القائم على الاختبار (TDD) وراحة مع ممارسات الجودة التي تركز على الاختبار المبكر (shift-left). مفكر منهجي يستمتع بتعقيدات الأنظمة الموزعة، متوازنًا مع التزام عملي بتقديم كود يعمل بجودة عالية.
We're looking for a Staff Software Engineer, Backend to join Procore's Mobile engineering team. In this role, you'll be the connective tissue between our mobile clients and Procore's backend engineering teams, driving mobile-friendly API design and implementation that supports our offline-first architecture. Your primary goal is to make sure the APIs powering Project Management and Quality and Safety mobile experiences work the way mobile not just web needs them to, while mentoring engineers across a globally distributed team.
As a Staff Software Engineer, Backend, you'll partner closely with backend teams across Procore as well as mobile client engineering, platform, and Product to represent mobile's needs early in API design conversations, and to help those teams build contracts that hold up in offline, low-connectivity, field conditions. Use your deep sympathy for client-side constraints, together with enough backend fluency to speak the language and influence the design, to close the gap that usually shows up only after mobile starts integrating.
Join us to be the person who makes sure mobile and backend actually build for each other, on a team building the software that keeps construction projects — and the people managing them safe and on schedule. Apply today!
This position reports into the Director of Engineering and will be based in our Cairo, Egypt office. We're looking for someone to join us immediately.
What you’ll do:
AI is central to how we work. You’ll be expected to master generative tools and agentic workflows, moving beyond just using AI to actively building the agentic future of construction. Act as the primary liaison between Mobile Project Management and Quality and Safety and backend engineering teams, representing mobile's needs in API and contract design Drive mobile-friendly implementation of REST and Graph QL APIs with a focus on supporting our offline-first architecture, identifying where APIs won't hold up for low-connectivity or field-use conditions, and working with backend teams to close gaps Partner across a large number of collaborating teams backend, mobile clients, platform, and product to align on contracts, dependencies, and shared standards before they become integration problems Bring a customer-centric perspective into architectural conversations owned by backend teams, rather than owning that architecture directly Mentor and develop teammates through code reviews, pairing, and training, growing a distributed engineering team across time zones Troubleshoot and resolve complex production issues at the mobile/backend boundary, serving as an escalation point during incidents Identify recurring friction points between mobile and backend teams, and organize the right people to solve them
What we're looking for:
Bachelor’s Degree in Computer Science, Engineering, related field, or equivalent work experience Candidate with product mindset and/or Mobile Automation background is a huge plus8+ years of combined software engineering experience, with a proven track record of technical leadership, mentoring engineers, and up-leveling team discourse Direct client-side (mobile or web) development experience, or very strong sympathy for how backend decisions land on client engineers — this matters more than owning backend services yourself Working fluency in backend development (Ruby on Rails, Node.js, Java, or similar) enough to engage credibly on designing or influencing REST and/or Graph QL APIs, ideally including offline-first or low-connectivity scenarios Exceptional communication skills and comfort collaborating across teams, translating ambiguous or competing needs into clear technical direction across time zones Strong Test Driven Development background and comfort with shift-left quality practices A systems thinker who enjoys the complexities of distributed systems, balanced with a pragmatic commitment to shipping working, high-quality code