{"id":6837,"date":"2026-09-20T19:15:21","date_gmt":"2026-09-20T19:15:21","guid":{"rendered":"https:\/\/mawahebna.com\/?post_type=awsm_job_openings&#038;p=6837"},"modified":"2026-09-20T19:15:23","modified_gmt":"2026-09-20T19:15:23","slug":"mid-level-angular-frontend-developer-thaheen-riyadh","status":"publish","type":"awsm_job_openings","link":"https:\/\/mawahebna.com\/ar\/job\/mid-level-angular-frontend-developer-thaheen-riyadh\/","title":{"rendered":"\u0645\u0637\u0648\u0631 \u0648\u0627\u062c\u0647\u0629 \u0623\u0645\u0627\u0645\u064a\u0629 Angular \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 (Mid-Level Angular Frontend Developer)"},"content":{"rendered":"\n<div class=\"mjbar\" dir=\"rtl\" lang=\"ar\">\n<p class=\"mjbar-intro\">\u062a\u0642\u062f\u0645 \u0634\u0631\u0643\u0629 Thaheen \u0641\u0631\u0635\u0629 \u0639\u0645\u0644 \u0641\u064a \u0627\u0644\u0631\u064a\u0627\u0636 \u0644\u0645\u0637\u0648\u0631 \u0648\u0627\u062c\u0647\u0629 \u0623\u0645\u0627\u0645\u064a\u0629 Angular \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u0645\u0633\u062a\u0648\u0649. \u064a\u0631\u0643\u0632 \u0627\u0644\u062f\u0648\u0631 \u0639\u0644\u0649 \u062a\u0637\u0648\u064a\u0631 \u0645\u0646\u0635\u0629 \u062a\u0639\u0644\u064a\u0645\u064a\u0629 \u0645\u0648\u062c\u0647\u0629 \u0644\u0637\u0644\u0627\u0628 \u0627\u0644\u0639\u0644\u0648\u0645 \u0627\u0644\u0635\u062d\u064a\u0629\u060c \u0645\u0639 \u0627\u0644\u0639\u0645\u0644 \u0636\u0645\u0646 \u0641\u0631\u064a\u0642 \u0647\u0646\u062f\u0633\u064a \u0635\u063a\u064a\u0631 \u0648\u0628\u0634\u0643\u0644 \u0639\u0646 \u0628\u064f\u0639\u062f.<\/p>\n<h2 class=\"mjbar-h2\">\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0648\u0638\u064a\u0641\u0629<\/h2>\n<ul class=\"mjbar-facts\">\n<li><strong>\u0627\u0644\u0634\u0631\u0643\u0629:<\/strong> Thaheen | \u0630\u0647\u064a\u0646<\/li>\n<li><strong>\u0627\u0644\u0645\u062f\u064a\u0646\u0629:<\/strong> \u0627\u0644\u0631\u064a\u0627\u0636 (Riyadh)<\/li>\n<li><strong>\u0627\u0644\u062f\u0648\u0644\u0629:<\/strong> \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 (Saudi Arabia)<\/li>\n<li><strong>\u0646\u0645\u0637 \u0627\u0644\u0639\u0645\u0644:<\/strong> \u0639\u0646 \u0628\u064f\u0639\u062f (Remotely)<\/li>\n<li><strong>\u0646\u0648\u0639 \u0627\u0644\u062f\u0648\u0627\u0645:<\/strong> \u062f\u0648\u0627\u0645 \u0643\u0627\u0645\u0644 (Full Time)<\/li>\n<li><strong>\u0627\u0644\u0645\u0633\u062a\u0648\u0649:<\/strong> \u0645\u062a\u0648\u0633\u0637 \u0625\u0644\u0649 \u0623\u0648\u0644 (Mid-Senior level)<\/li>\n<li><strong>\u0627\u0644\u0645\u062c\u0627\u0644:<\/strong> \u0647\u0646\u062f\u0633\u0629 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a (Software Engineering)<\/li>\n<\/ul>\n<p class=\"mjbar-notice\">\u0627\u0644\u0648\u0635\u0641 \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0647\u0630\u0647 \u0627\u0644\u0648\u0638\u064a\u0641\u0629 \u0648\u0645\u062a\u0637\u0644\u0628\u0627\u062a\u0647\u0627 \u0648\u0625\u062c\u0631\u0627\u0621\u0627\u062a \u0627\u0644\u062a\u0642\u062f\u064a\u0645 \u0639\u0644\u064a\u0647\u0627 \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0625\u0646\u062c\u0644\u064a\u0632\u064a\u0629\u060c \u0648\u0647\u064a \u0645\u0639\u0631\u0648\u0636\u0629 \u0623\u062f\u0646\u0627\u0647 \u0643\u0645\u0627 \u0648\u0631\u062f\u062a \u0645\u0646 \u0635\u0627\u062d\u0628 \u0627\u0644\u0639\u0645\u0644 \u062f\u0648\u0646 \u0623\u064a \u062a\u0639\u062f\u064a\u0644 \u0623\u0648 \u062a\u0631\u062c\u0645\u0629.<\/p>\n<\/div>\n<div class=\"mjbar-en\" dir=\"ltr\" lang=\"en\">\n<h3>Job Summary<\/h3><p>The Mid-Level Angular Frontend Developer will develop and enhance the Thaheen web platform and internal portal, working on features from the user interface to API integration within an existing codebase. This role involves close collaboration with founders and a small engineering team in a fully remote setup.<\/p><h3>Responsibilities<\/h3><ul><li>Develop and deliver features for the Angular web platform and internal portal, covering UI and API integration.<\/li><li>Create reusable components, dynamic forms, tables, dashboards, and multi-step workflows.<\/li><li>Integrate REST APIs and manage loading, validation, error, empty, and success states consistently.<\/li><li>Implement authentication, authorization, route guards, interceptors, and permission-based screens.<\/li><li>Manage frontend state following existing codebase patterns and work with RxJS for asynchronous data flows.<\/li><li>Handle server-side pagination, filtering, searching, and sorting.<\/li><li>Build Arabic-first responsive layouts with correct right-to-left (RTL) behavior.<\/li><li>Investigate and resolve frontend bugs and performance issues, ensuring maintainable TypeScript code and adding tests where valuable.<\/li><\/ul><h3>Must haves<\/h3><ul><li>2+ years of practical experience with Angular and TypeScript.<\/li><li>Experience releasing at least one Angular application used by real users.<\/li><li>Experience integrating REST APIs.<\/li><li>Experience implementing authentication and authorization with guards, interceptors, and tokens.<\/li><li>Practical experience with at least one state-management approach such as Angular Signals, NgRx, RxJS-based services, or NGXS.<\/li><li>Comfortable working with RxJS, asynchronous data flows, Git, pull requests, and code reviews.<\/li><\/ul><h3>Nice to haves<\/h3><ul><li>Experience with Angular Material or other component libraries.<\/li><li>Experience with established design systems.<\/li><li>Experience building dashboards, administration platforms, or complex permission and role systems.<\/li><li>Experience building RTL or bilingual Arabic-English applications, e-learning platforms, or SaaS products.<\/li><\/ul><h3>What the company offers<\/h3><ul><li>Equity or ESOP as part of the package, discussed during hiring.<\/li><li>Real ownership of core product features with direct impact on paying users.<\/li><li>Direct collaboration with founders and the team with short feedback loops.<\/li><li>Room for growth and increased responsibility as the company expands.<\/li><li>Fully remote work with flexible daily organization.<\/li><\/ul>\n\n<div class=\"mjb-apply-buttons\" style=\"display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:32px 0 16px\"><a class=\"mjb-apply-btn\" href=\"https:\/\/www.linkedin.com\/jobs\/view\/4466980579\/?utm_source=mawahebna&amp;utm_medium=job_board&amp;utm_campaign=linkedin_bridge\" target=\"_blank\" rel=\"nofollow noopener\" style=\"display:inline-block;background:#ff670f;color:#000;border:1px solid #333333;border-radius:4px;padding:15px 30px;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;text-align:center\">Apply Here<\/a><a class=\"mjb-browse-btn\" href=\"https:\/\/mawahebna.com\/ar\/jobs\/\" style=\"display:inline-block;background:#ff670f;color:#000;border:1px solid #333333;border-radius:4px;padding:15px 30px;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;text-align:center\">Browse Other Jobs<\/a><\/div><blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>We refresh listings regularly, but some roles close early on the source platform.<\/p><\/blockquote>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062a\u0642\u062f\u0645 \u0634\u0631\u0643\u0629 Thaheen \u0641\u0631\u0635\u0629 \u0639\u0645\u0644 \u0641\u064a \u0627\u0644\u0631\u064a\u0627\u0636 \u0644\u0645\u0637\u0648\u0631 \u0648\u0627\u062c\u0647\u0629 \u0623\u0645\u0627\u0645\u064a\u0629 Angular \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u0645\u0633\u062a\u0648\u0649. \u064a\u0631\u0643\u0632 \u0627\u0644\u062f\u0648\u0631 \u0639\u0644\u0649 \u062a\u0637\u0648\u064a\u0631 \u0645\u0646\u0635\u0629 \u062a\u0639\u0644\u064a\u0645\u064a\u0629 \u0645\u0648\u062c\u0647\u0629 [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":6836,"template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"class_list":["post-6837","awsm_job_openings","type-awsm_job_openings","status-publish","has-post-thumbnail","hentry","city-saudi-arabia","job-location-riyadh","job-category-software-engineering","workplace-type-remotely","job-type-full-time","company-name-thaheen-","seniority-level-mid-senior-level"],"uagb_featured_image_src":{"full":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"thumbnail":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"medium":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"medium_large":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"large":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"1536x1536":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false],"2048x2048":["https:\/\/mawahebna.com\/wp-content\/uploads\/2026\/09\/thaheen-d8b0d987d98ad986-logo-1.jpg",100,100,false]},"uagb_author_info":{"display_name":"","author_link":"https:\/\/mawahebna.com\/ar\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"\u062a\u0642\u062f\u0645 \u0634\u0631\u0643\u0629 Thaheen \u0641\u0631\u0635\u0629 \u0639\u0645\u0644 \u0641\u064a \u0627\u0644\u0631\u064a\u0627\u0636 \u0644\u0645\u0637\u0648\u0631 \u0648\u0627\u062c\u0647\u0629 \u0623\u0645\u0627\u0645\u064a\u0629 Angular \u0645\u062a\u0648\u0633\u0637 \u0627\u0644\u0645\u0633\u062a\u0648\u0649. \u064a\u0631\u0643\u0632 \u0627\u0644\u062f\u0648\u0631 \u0639\u0644\u0649 \u062a\u0637\u0648\u064a\u0631 \u0645\u0646\u0635\u0629 \u062a\u0639\u0644\u064a\u0645\u064a\u0629 \u0645\u0648\u062c\u0647\u0629 [&hellip;]","_links":{"self":[{"href":"https:\/\/mawahebna.com\/ar\/wp-json\/wp\/v2\/awsm_job_openings\/6837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mawahebna.com\/ar\/wp-json\/wp\/v2\/awsm_job_openings"}],"about":[{"href":"https:\/\/mawahebna.com\/ar\/wp-json\/wp\/v2\/types\/awsm_job_openings"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mawahebna.com\/ar\/wp-json\/wp\/v2\/media\/6836"}],"wp:attachment":[{"href":"https:\/\/mawahebna.com\/ar\/wp-json\/wp\/v2\/media?parent=6837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}