تبحث شركة Aspire Software عن مطور .NET/C# كبير ل joined فريقنا في لبنان.
عن الوظيفة:
هذا فريق صغير جداً، وهذا ما يحدد كل شيء في هذه الوظيفة. ستتمتع باستقلالية حقيقية وتأثير فوري، ولن يكون هناك من تختبئ وراءه: ستتحمل مسؤولية ما تقوم بتطويره، في نظام تعتمد عليه إدارات حكومية كل يوم. بالنسبة للشخص المناسب، هذا هو أكثر ما يجعل هذه الوظيفة مثيرة للاهتمام. إذا بدا الأمر كبيراً جداً، فقد يكون كذلك، وهذا أمر طبيعي. هذه ليست وظيفة تقوم بتسجيل التذاكر. ستقوم بتقييم المنصة، وتشكيل آراء قوية، ودفع تحسينات في كيفية بنائها وكيفية الشعور باستخدامها.
ما ستعمل عليه:
أحدث أجزاء المنصة هي محرك سير عمل مدفوع بالذكاء الاصطناعي يستخدم نماذج اللغة الكبيرة (LLMs) لتحويل المراسلات غير المنظمة إلى بيانات منظمة، ومجموعة من خدمات .NET الحديثة المبنية على إصدارات حديثة من الإطار. بجانبها تعمل عدة خدمات Spring Boot على Java 21 تتعامل مع المصادقة والبحث وتحويل المستندات والنقل، لذا هناك حاجة إلى معرفة عملية بال Java. قلب المنتج هو قاعدة كود ASP.NET/C# ناضجة (MVC، Razor، jQuery، Kendo UI، SQL Server وOracle) مع منطقة إدارة قديمة تم تقديمها من جانب الخادم ومكدس تقارير قديم ننوي استبداله. تحديث هذه المكونات تدريجياً، دون تعطيل المؤسسات التي تعتمد عليها، هو جزء كبير من هذه الوظيفة وأحد أكثر مشاكل الهندسة إثارة للاهتمام هنا. كما أننا ننظر في كيفية تطور هذه المنصة نحو التوصيل السحابي، وسيكون هناك مجال لتشكيل ذلك.
نخبرك بذلك بصراحة لأننا نفضل أن تصل وأنت تعرف ما هو العمل حقاً. إذا كان فكرة تحسين نظام مهم تدريجياً أكثر جاذبية لك من بدء صفحة فارغة، فستناسبك هذه الوظيفة.
نعمل بنهج الذكاء الاصطناعي أولاً. استخدام يومي لأدوات التطوير المدعومة بالذكاء الاصطناعي (Claude Code، Cursor، GitHub Copilot) هو متطلب أساسي ليس لتوليد الكود بشكل أعمى، بل لتصميم وتنفيذ ومراجعة العمل الإنتاجي ذو الجودة جنباً إلى جنب مع حكمك الفني الخاص.
ماذا ستفعل:
- بناء وتحسين الميزات والخدمات في .NET/C#.
- تحديث المكونات القديمة تدريجياً - تحديد الأنماط القديمة واقتراح إعادة هيكلة ملموسة، مع إدراك واقعي لما يستحق التغيير وما لا يستحق.
- تقييم سير عمل المستخدمين وواجهاتهم، وتقليل الاحتكاك حيث لا يخدم المنتج المستخدمين بشكل جيد.
- كتابة وصيانة الاختبارات الآلية لما تقوم بتطويره. لدينا مجموعة كبيرة من اختبارات Playwright نهاية إلى نهاية تغطي التطبيق الويب وواجهات برمجة التطبيقات للخدمة؛ فجوة التغطية في اختبارات الوحدة في كود .NET هي المكان الذي نحتاج إلى سدها، وهذا جزء من الوظيفة.
- المساهمة في محرك سير عمل LLM: فهم كيفية استخدامه لنماذج اللغة الكبيرة، إيجاد حدوده، وتحسين المطالبات وسير العمل ومنطق معالجة البيانات للحصول على دقة وموثوقية أفضل.
- دمج واجهات برمجة التطبيقات والخدمات الخارجية والخدمات من طرف ثالث.
- أخذ المبادرة - الدخول في المشاكل قبل أن تُخصص لك ودفعها حتى النهاية.
- مشاركة السياق مبكراً والبقاء على اطلاع الفريق.
المتطلبات:
- خبرة عملية قوية في تطوير تطبيقات .NET/C#؛ مريحة في قراءة وتحسين قواعد الكود الكبيرة الموجودة.
- خبرة عملية مع أنظمة LLM - هندسة المطالبات، تقييم وتحسين مخرجات النموذج، وبناء أو صيانة سير عمل مدفوع بـ LLM في الإنتاج.
- راحة في كومة من جانب الخادم (Razor، jQuery، Kendo) والصبر على تحسينها خطوة بخطوة بدلاً من إعادة كتابتها.
- معرفة عملية كافية بال Java لفهم المساهمة في خدمات Spring Boot.
- إلمام جيد بتصميم واجهات برمجة التطبيقات والخدمات الخلفية وقواعد البيانات العلائقية.
- عادة اختبار عملك الخاص - مريحة مع اختبارات نهاية إلى نهاية، ومستعد لكتابة اختبارات الوحدة الأولى للوحدات التي لا تغطيها الاختبارات اليوم.
- حس عملي لتصميم البرمجيات، والحكم على متى تطبقه.
- تواصل وتعاون قوي - أمر ضروري. تعمل جيداً جنباً إلى جنب مع الآخرين وأنت سهل الوصول.
- اللغة الإنجليزية بطلاقة (مكتوبة ومتحدثة) - أمر ضروري.
- إلزامي: استخدام يومي لأدوات التطوير المدعومة بالذكاء الاصطناعي لإنتاج ومراجعة وشحن الكود الإنتاجي.
- تحيز نحو تحسين الأنظمة بدلاً من قبولها كما هي، وراحة العمل مع توجيه محدود.
كيف نعمل - تعريف المهمة المنجزة:
التغيير لا يعتبر منجزاً حتى يتم اختباره. كل ميزة أو إصلاح أو إعادة هيكلة يتم شحنها مع الاختبارات الآلية التي تثبت أنها تعمل وتحمي من التراجعات. في فريق صغير بدون وظيفة اختبار منفصلة، يمتلك المطورون جودة ما يقدمونه.
أمر مرغوب فيه:
خبرة في نقل منتج محلي إلى التوصيل السحابي أو SaaS - الحاويات، تعدد المستأجرين، خطوط أنابيب CI/CD، أو النشر السحابي (يفضل Azure). خلفية في الامتثال للبرمجيات المؤسسية أو الحكومية، قابلية التدقيق، إمكانية الوصول. خبرة في تحديث الواجهة الأمامية، هجرة واجهات المستخدم القديمة من جانب الخادم. خبرة في Playwright.
الملف الشخصي المرغوب للمرشح:
خبرة عملية قوية في تطوير تطبيقات .NET/C#؛ مريحة في قراءة وتحسين قواعد الكود الكبيرة الموجودة. خبرة عملية مع أنظمة LLM - هندسة المطالبات، تقييم وتحسين مخرجات النموذج، وبناء أو صيانة سير عمل مدفوع بـ LLM في الإنتاج. راحة في كومة من جانب الخادم (Razor، jQuery، Kendo) والصبر على تحسينها خطوة بخطوة بدلاً من إعادة كتابتها. معرفة عملية كافية بال Java لفهم المساهمة في خدمات Spring Boot. إلمام جيد بتصميم واجهات برمجة التطبيقات والخدمات الخلفية وقواعد البيانات العلائقية. عادة اختبار عملك الخاص - مريحة مع اختبارات نهاية إلى نهاية، ومستعد لكتابة اختبارات الوحدة الأولى للوحدات التي لا تغطيها الاختبارات اليوم. حس عملي لتصميم البرمجيات، والحكم على متى تطبقه. تواصل وتعاون قوي - أمر ضروري. تعمل جيداً جنباً إلى جنب مع الآخرين وأنت سهل الوصول. اللغة الإنجليزية بطلاقة (مكتوبة ومتحدثة) - أمر ضروري. إلزامي: استخدام يومي لأدوات التطوير المدعومة بالذكاء الاصطناعي لإنتاج ومراجعة وشحن الكود الإنتاجي. تحيز نحو تحسين الأنظمة بدلاً من قبولها كما هي، وراحة العمل مع توجيه محدود.
Aspire Software is looking for a Senior .NET/C# developer to join our team in Lebanon. About the Role: This is a very small team, and that shapes everything about the role. You'll have real autonomy and immediate impact and there's no one to hide behind: you will own what you ship, in a system that government departments depend on every day. For the right person that's the most interesting thing about the job. If it sounds like too much, it probably is and that's fine. This is not a ticket-taking role. You'll evaluate the platform, form strong opinions, and drive improvements to how it's built and how it feels to use. What you'd be working on The newest parts of the platform are an AI-driven workflow engine that uses LLMs to turn unstructured correspondence into structured data, and a set of recent .NET services built on current versions of the framework. Alongside them run several Spring Boot services on Java 21 handling authentication, search, document conversion and transport so some working knowledge of Java is needed. The core of the product is a mature ASP.NET/C# codebase MVC, Razor, jQuery, Kendo UI, SQL Server and Oracle with an older server-rendered administration area and a legacy reporting stack that we intend to replace. Modernizing these incrementally, without disrupting the organizations that depend on them, is a significant part of this role and one of the more interesting engineering problems here. We're also looking at how this platform evolves toward cloud delivery, and there'll be room to shape that. We're telling you this plainly because we'd rather you arrive knowing what the work actually is. If the idea of steadily improving a system that matters appeals to you more than starting from a blank page, this will suit you. We operate AI-first. Daily, hands-on use of AI-assisted tools (Claude Code, Cursor, GitHub Copilot) is a core requirement not to generate code blindly, but to design, implement and critically review production-quality work alongside your own technical judgment. What you'll do Build and improve features and services in .NET/C#. Modernize legacy components incrementally identify outdated patterns and propose concrete refactoring, with a realistic sense of what's worth changing and what isn't. Evaluate user workflows and interfaces, and reduce friction where the product doesn't serve users well. Write and maintain automated tests for what you ship. We have a substantial Playwright end-toend suite covering the web application and the service APIs; unit-test coverage in the .NET code is where the gap is, and closing it is part of the job. Contribute to the LLM workflow engine: understand how it uses LLMs, find its limits, and improve prompts, workflows and data-processing logic for better accuracy and reliability. Integrate APIs, messaging and third-party services. Take initiative step into problems before they're assigned and drive them to done. Share context early and keep the team in the loop. Solid, real-world experience shipping applications in .NET/C#; comfortable reading and improving large existing codebases. Hands-on experience with LLM-based systems prompt engineering, evaluating and improving model output, and building or maintaining LLM-driven workflows in production. Comfort in a server-rendered stack Razor, jQuery, Kendo and the patience to improve it step by step rather than rewrite it. Enough working knowledge of Java to understand and contribute to Spring Boot services. Good grasp of API design, backend services and relational databases. The habit of testing your own work comfortable with end-to-end tests, and willing to write the first unit tests for modules that have no coverage today. Practical software-design sense, and the judgment to know when to apply it. Strong communication and collaboration a must-have. You work well side by side with others and you're approachable. Fluent English, written and spoken a must-have. Mandatory: daily, hands-on use of AI-assisted dev tools to produce, review and ship production code. A bias toward improving systems rather than accepting them as-is, and comfort working with limited direction. How we work - Definition of done A change isn't done until it's tested. Every feature, fix or refactor ships with the automated tests that prove it works and guard against regressions. In a small team with no separate QA function, developers own the quality of what they deliver. Nice to have Experience taking an on-premise product toward cloud or SaaS delivery containerization, multi-tenancy, CI/CD pipelines, or cloud deployment (Azure preferred). Background in enterprise or government software compliance, auditability, accessibility. Front-end modernization experience, migrating legacy server-rendered UIs. Playwright experience.
Desired Candidate Profile
Solid, real-world experience shipping applications in .NET/C#; comfortable reading and improving large existing codebases. Hands-on experience with LLM-based systems prompt engineering, evaluating and improving model output, and building or maintaining LLM-driven workflows in production. Comfort in a server-rendered stack Razor, jQuery, Kendo and the patience to improve it step by step rather than rewrite it. Enough working knowledge of Java to understand and contribute to Spring Boot services. Good grasp of API design, backend services and relational databases. The habit of testing your own work comfortable with end-to-end tests, and willing to write the first unit tests for modules that have no coverage today. Practical software-design sense, and the judgment to know when to apply it. Strong communication and collaboration a must-have. You work well side by side with others and you're approachable. Fluent English, written and spoken a must-have. Mandatory: daily, hands-on use of AI-assisted dev tools to produce, review and ship production code. A bias toward improving systems rather than accepting them as-is, and comfort working with limited direction.