وصف الوظيفة

تطوير تطبيقات ويب باستخدام Angular 7 وربطه مع الواجهات البرمجية الخدمية باستخدام أحدث تقنيات الويب. عن بعد، دوام كامل (حر أو توظيف)، عقد شهري.

المهام الوظيفية

  • تطوير تطبيقات واجهة الويب Web Frontend بتقنيات Angular 7 بشكل متكامل، أنيق، حديث، مترابط، وصلب، حسب أحدث تقنيات الويب، ليحقق متطلبات العمل والزبون.
  • التأكد من عمل التطبيق بأفضل أداء على مستعرضات الجوال والمكتب.
  • كتابة الأكواد بشكل أنيق، ومهندس، وموثق، ومختبَرٌ بشكل جيد، سواء بلغات الجافاسكربت JavaScript، التايبسكربت TypeScript، الهتمل HTML، والتنسيق CSS/Sass.
  • توليد النماذج السريعة للعمل Prototypes، والتصاميم والرسوم المفاهيمية الأولية Mockups & Wireframes حسب الحاجة، وإنشاء نماذج تحقيق الفكرة Proof of Concept.
  • التنسيق مع فريق برمجة الخدمات الخلفية Backend APIs لربط تطبيق الواجهة بالخدمات الخلفية، وكتابة الخدمات اللازمة للارتباط بالخدمات الخارجية Frontend Integrations.
  • كتابة الوظائف اللازمة للتفاعل مع المستخدم النهائي حسب حاجة العمل، والمساعدة على استخراج وتحسين تجربة المستخدم النهائية User Experience.
  • استخدام تطبيقات تدعم التقنيات الحديثة حسب حاجة التطبيق، مثل تعدد المسارب multi-threading، العاملات الخلفية service workers، التحميل الكسول للموديولات modules lazy loading، تطبيقات الويب التصاعدية progressive web application، تطبيقات الويب وحيدة الصفحة single web application، وغيرها.
  • تصميم إعدادات بناء التطبيق build configuration and processes والتي تدعم تعدد البيئات multi-environments مثل بيئة البرمجة، بيئة الاختبار، وبيئة الإصدار النهائي.
  • كتابة أجزاء التطبيق بشكل مهندس تبعاً لقوانين هندسة البرمجيات software engineering، وأفضل الإجراءات المعروفة والمتبعة best practices، وغيرها، بحيث تكون قابلة لإعادة الاستخدام code/component reusability، وغير مرتبطة بغيرها loosely coupled، وغيرها الناتجة عن قوانين البرمجة الصلبة SOLID principles.
  • التعليق على الأكواد حسب/باستخدام أدوات مثل JSDoc أو غيرها.
  • البرمجة، وكتابة الأكواد اللازمة لاختبار الأجزاء البرمجية Unit Testing واستخدام الأطر والأدوات اللازمة، حسب أسلوب البرمجة المقادة بالاختبار TDD.
  • كتابة حزم اختبار الطرف للطرف e2e لكافة الأجزاء والمكونات، وتنفيذها عبر أداة مناسبة (مثل Protractor).
  • كتابة أكواد إعداد وبناء واختبار التطبيق على البيئات المختلفة بشكل آلي Continous Integration / Continuous Delivery.

المهارات والمتطلبات

  • شهادة جامعية في هندسة البرمجية، تقنية المعلومات، علوم الحاسب، أو ما يقابلها جامعياً أو تقنياً.
  • خبرة ٤ سنوات على الأقل في بناء تطبيقات واجهة الويب، مع سنتين على الأقل في أنجيولار Angular وتايبسكربت TypeScript.
  • احترافية وخبرة في استخدام التايبسكريبت TypeScript، والجافاسكربت JavaScript، ولغة التنسيق CSS/Sass، ولغة توصيف الويب HTML، ومعرفة بالمواضيع المتقدمة في كل منها وأحدث تقنياتها وإصداراتها.
  • قدرات تواصل وتعامل عالية وممتازة.
  • قدرة على العمل ضمن فريق عمل عن بعد.
  • قابل لتحمل الضغط لتسليم الأعمال على مواعيدها بشكل متقن.
  • خبرة عميقة في أفضل إجراءات وأساليب وتقنيات أنجيولار best practices ووحداته ومكتباته الشهيرة.
  • خبرة في البنية التحتية الخاصة بتخديم تطبيقات واجهة الويب web frontend hosting وأفضل الإجراءات المتبعة لتحسين الأداء hosting & CDN optimization، وزمن التحميل load speed optimization، وغيرها.
  • القدرة على بناء مكتبات ومكونات تطبيقات ويب مستقلة وقابلة لإعادة الاستخدام.
  • القدرة على كتابة نصوص مصدرية غير اعتمادية clear depency chain من حيث التدفق وبنية الملفات.
  • معرفة بمشاكل توافقية المستعرضات browser compatibility issues والفروقات بينها ومشاكل الأداء وطرق حلها.
  • معرفة عامة بمنصات الويب الخلفية خاصة ASP.NET Core ولغات الويب الخلفة مثل PHP, C#.NET, NodeJS.
  • معرفة للمفاهيم المرتبطة بتطبيقات الويب مثل RESTful APIs, GraphQL, Schema.or, SEO, PWA, Service Workers, Multilingual Websites, Lazy Loading, CDN, JWT, OAuth, OpenID, SSO, NoSQL وغيرها.
  • الخبرة في العمل على تدفقات أعمال Gitflow تمثل نقطة إضافية.
  • الخبرة في العمل ضمن مشاريع بمنهجية Agile تمثل نقطة إضافية.
  • الخبرة في العمل ضمن فرق عاملة عن بعد وموزعة على مناطق جغرافية وزمنية مختلفة تمثل نقطة إضافية.

طبيعة العمل

  • العمل عن بعد من المنزل أو مكانك المفضل، أو من المكتب إن توفر مكتب للشركة في مكان إقامتك وطلب من ذلك.
  • عقد شهري (إشعار إنهاء العقد قبل شهر من الإنهاء من أي طرف).
  • عمل بدوام كامل (حر أو توظيف) ٨ ساعات يومياً، ٥ أيام أسبوعياً، الإجازة يومي الجمعة والسبت.
  • وقت العمل يحدد بالتنسيق مع فريق العمل بحيث يحقق مصلحة المشروع.

ما المقابل؟

  • راتب شهري ثابت بالدولار الأمريكي.
  • يومي إجازة سنوية عن كل شهر دوام كامل.
  • بيئة عمل مرنة وديناميكية.
  • العمل مع خبراء في مجالاتهم.

-----

Remote, Full Time (Freelancer or Employee), Monthly Contract

Job Description

  • To develop the web front-end application on top of a microservice backend using the most recent front-end technologies.
  • Job Responsibilities
  • Deliver a complete front end application.
  • Ensure high performance on mobile and desktop.
  • Write tested, idiomatic, and documented Typescript, JavaScript, HTML and Sass/CSS.
  • Draft quick prototypes, sketches, mockups, and concept drawings when needed.
  • Cooperate with the back-end developers in the process of building the RESTful API.
  • Communicate with external web services.
  • Validate user actions on the client side and providing responsive feedback.
  • Write non-blocking code, and resorting to advanced techniques such as multi-threading, when needed.
  • Create custom, general use modules and components which extend the elements and modules of core Angular.
  • Architect and automate the build process for production, using task runners or scripts
  • Document code inline using JSDoc or other conventions.
  • Write extensive unit tests using automated TDD tasks.
  • Create e2e test suites for all components, and running them with Protractor (or a well-reasoned alternative).
  • Create configuration, build, and test scripts for Continuous Integration environments.

Skills and Requirements

  • Academic degree in Software Engineering, Information Technology, Computer Science or equivalent areas, or equivalent technical certificates.
  • 4+ years of working frontend experience, 2+ years of experience in Angular 4+.
  • Proficiency with Typescript, JavaScript, CSS/Sass, and HTML5.
  • Excellent communication skills.
  • Deep knowledge of Angular practices and commonly used modules based on extensive work experience.
  • Prior experience with building the infrastructure for serving the front-end app and assets.
  • Ability to create self-contained, reusable, and testable modules and components.
  • Ability to ensure a clear dependency chain, in regard to the app logic as well as the file system.
  • Ability to provide SEO solutions for single page apps.
  • Extensive knowledge of Sass, Scss, CSS and JS methods for providing performant visual effects and keeping the frame rate above 30fps at all times.
  • Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system.
  • Experience with all levels of operation available to the front-end, such as creating XHRs in vanilla JS to using a custom wrapper around $resource.
  • Demonstrated experience in design and UX is mandatory.
  • Falcon eye on details.
  • Experience in working in Remote, online, distributed agile teams and projects is a big plus.
  • Awareness of cross-browser compatibility issues and client-side performance considerations
  • Familiarity with server-side frameworks, especially ASP.NET core.
  • Familiarity and exposure to all of the following concepts: RESTful APIs, GraphQL APIs, Schema.org, SEO, PWA, Service Workers, Multilingual Websites, Lazy Loading, CDN, JWT, OAuth, OpenID, SSO, NoSQL.

Job Nature

  • Online remote job (if no office is close by).
  • Monthly-based contract with 1 month notice period from any side.
  • Full-time job. 8 hours a day, 5 days a week.
  • Work time should have a fixed period to have an overlapping across the whole team time. Remaining time is flexible.

What is in for you?

  • Fixed monthly salary in USD.
  • 2 days off in each month (starting from 4th month with reverse effect).
  • Flexible and dynamic work environment.
  • Work with experts in their fields. You will get the experience at the end of the project around cloud technologies, modern web application architecture and designs, microservice architecture, SaaS architecture, and more.