{"id":44246,"url":"https://alion.io/job/motorola-solutions-senior-full-stack-engineer-c-and-angular","title":"Senior Full Stack Engineer (C# and Angular)","company":{"id":1504,"name":"Motorola Solutions","domain":"motorolasolutions.com","url":"https://alion.io/company/motorola-solutions","size_band":"1001-5000","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Workday","truth_index":{"grade":"B","score":80,"open_postings":198,"ghost_share":0,"stale_share":0.803,"repost_share":0.015,"time_to_fill_p50_days":29,"computed_at":"2026-10-17T05:46:00Z"}},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":"full_time","work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["South Africa"],"countries":["ZA"],"hiring_countries":["ZA","EG","KE","NG","DZ","AO","BJ","BW","BF","BI","CM","CV","TD","CF","KM","CD","DJ","GQ","ER","SZ","ET","GA","GM","GH","GN","GW","CI","LS","LR","MG","MW","ML","MR","MU","YT","MA","MZ","NA","NE","CG"],"hiring_countries_total":56,"salary":null,"salary_estimate":{"min_usd":31000,"max_usd":60000,"period":"year","method":"role_seniority_country_cell","sample_n":27},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":".NET","optional":false},{"name":"Angular","optional":false},{"name":"Azure","optional":false},{"name":"Azure DevOps","optional":false},{"name":"C#","optional":false},{"name":"CI/CD","optional":false},{"name":"Claude Code","optional":false},{"name":"Copilot","optional":false},{"name":"Databricks","optional":false},{"name":"Dependency Injection","optional":false},{"name":"GitHub","optional":false},{"name":"GitHub Actions","optional":false},{"name":"LangChain","optional":false},{"name":"LLM","optional":false},{"name":"NgRx","optional":false},{"name":"OpenAI","optional":false},{"name":"Platform Engineering","optional":false},{"name":"Power BI","optional":false},{"name":"pySpark","optional":false},{"name":"React.js","optional":false},{"name":"SQL","optional":false},{"name":"JavaScript","optional":true},{"name":"Python","optional":true},{"name":"Spark","optional":true},{"name":"TypeScript","optional":true}],"status":"live","first_seen_at":"2026-08-06T00:00:00Z","employer_posted_date":"2026-08-06","last_verified_at":"2026-10-17T03:56:43Z","board_verified":true,"closed_at":null,"days_open":72,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":72},"description":"Company Overview\nAt Motorola Solutions, we believe that everything starts with our people. We’re a global close-knit community, united by the relentless pursuit to help keep people safer everywhere. We build and connect technologies to help protect people, property and places. Our solutions foster the collaboration that’s critical for safer communities, safer schools, safer hospitals, safer businesses, and ultimately, safer nations. Connect with a career that matters, and help us build a safer future.\nDepartment Overview\nWelcome to Motorola Solutions. By applying for this role, you will become a founding technical member of the new CC Insights team. Our hybrid team-spanning the US and South Africa-is building a unified reporting application that combines various reporting products acquired and built in-house over the past few years. We aim to deliver a seamless analytics experience featuring embedded PowerBI reports and an innovative AI-assisted workflow that empowers users to chat with their data.This product sits on a robust data foundation powered by our internal Data Platform (BDP), leveraging Databricks and Azure Data Lake for our Bronze and Silver data layers. The new Insights team owns the Gold layer (Synapse via Databricks) and the unified web application.\nYou will be joining a highly collaborative group of Data and Software Engineers, while working closely with the Data Platform Engineering (DPE) team.\nJob Description\nWe are looking for aFullStack Engineer to join our team. Your primary responsibilities will be to design and develop services and components on this stack, and to coordinate with the rest of the team working on different layers of the infrastructure.\nYou will drive the development of our C# backend and Angular frontend, integrate PowerBI via the Embedded SDK, and architect scalable, multi-tenant microservices. You will also play a key role in migrating functionalities from various other reporting products into our unified frontend. A commitment to collaborative problem solving, sophisticated design, and a thirst for elegant code is a must.\nKey Responsibilities\nBuild the Foundation:Develop and maintain the unified CC Insights web app, integrating embedded PowerBI reports via the Angular SDK and facilitating AI-assisted workflows.\n\nArchitectural Stewardship:Work within a layered architecture spanning controllers, services, repositories, and data-access components, while improving boundaries where they are weak or overly coupled.\n\nLegacy Migration:Evaluate and migrate features from various reporting products into Insights, requiring code analysis of existing systems.\n\nData & Multi-Tenancy:Develop and optimize multi-tenant data access patterns using EF Core, SQL Server, and tenant-aware access controls.\n\nPlatform Capabilities:Build and maintain cross-cutting platform capabilities including authentication, authorization, feature flags, observability, metrics, logging, exception handling, and resiliency policies.\n\nFrontend Engineering:Contribute to frontend state management patterns using Angular and centralized state tools such as NgRx.\n\nTechnical Leadership:Lead technical design and code reviews, identify architectural risks early, and drive pragmatic improvements rather than cosmetic rewrites.\n\nOperational Excellence:Debug production issues across application, infrastructure, and data layers using logs, traces, and metrics. Partner with product, QA, DevOps, and other engineers to deliver features with clear operational ownership.\n\nDevOps & Pipeline Automation:Design, build, and manage robust CI/CD pipelines utilizing GitHub Actions and Azure DevOps (ADO) to ensure seamless continuous integration, automated testing, and reliable deployment of our C# backend and Angular frontend services.\n\nMentorship:Mentor other engineers through design guidance, code review, and engineering standards.\n\nBasic Requirements\nCore Backend Skills:Proficient in C#, with a good knowledge of its ecosystems. Familiarity with the .NET framework as well as .Net Core, alongside a strong understanding of object-oriented programming.\n\nFrontend Expertise:Experience with Angular or a comparable modern frontend framework, plus familiarity with frontend state management patterns.\n\nAI Coding Proficiency:Highly proficient in utilizing modern AI coding assistants (e.g., GitHub Copilot, Claude Code) to accelerate development, aid in code comprehension, and improve overall code quality.\n\nSystem Architecture:Experience working in layered or modular monolith architectures with dependency injection and interface-driven design. Ability to make sound architectural decisions in an existing codebase without defaulting to unnecessary rewrites.\n\nMulti-Tenant Systems:Experience building or maintaining multi-tenant systems, including data isolation and tenant-aware authorization patterns.\n\nReliability & Observability:Experience with distributed-system reliability practices (retries, circuit breakers, timeouts, defensive error handling) and observability tooling (structured logging, metrics, tracing, production diagnostics).\n\nCI/CD Pipeline Development:Hands-on experience building, configuring, and managing CI/CD pipelines from scratch. Strong proficiency with GitHub Actions, GitHub Repositories, and Azure DevOps (ADO) for automated builds, testing, and release management.\n\nCollaboration:Strong communication skills and the ability to collaborate effectively across both engineering and non-engineering stakeholders.\n\nDesign Patterns:Familiarity with various design and architectural patterns. Familiarity with Domain Driven Design and Event Sourcing would be advantageous\n\nUnit Testing:Experience in writing unit tests to ensure code quality.\n\nBeneficial Skills\nKnowledge of PySpark and SQL to better collaborate on the Databricks/Synapse data pipelines.\n\nPrior experience with LLM integrations (e.g., OpenAI, LangChain, Azure AI) to support chat-assisted workflows.\n\nComplete understanding of React and its main fundamentals.\n\n In return for your expertise, we’ll support you in this new challenge with coaching & development every step of the way. Also, to reward your hard work, you’ll get:\nPTO 20 Days\n\nLife Cover - Life, dread disease, salary protection - this is covered in full by RD and not out of CTC.\n\nFully Remote (within South Africa) - we will set you up to work from home with a laptop and necessary accessories.\n\nTravel Requirements\nNoneRelocation Provided\nNonePosition Type\nExperiencedReferral Payment Plan\nYesCompany\nMotorola Solutions South Africa (Proprietary) LimitedEEO Statement\nMotorola Solutions is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion or belief, sex, sexual orientation, gender identity, national origin, disability, veteran status or any other legally-protected characteristic.\nWe are proud of our people-first and community-focused culture, empowering every Motorolan to be their most authentic self and to do their best work to deliver on the promise of a safer world. If you’d like to join our team but feel that you don’t quite meet all of the preferred skills, we’d still love to hear why you think you’d be a great addition to our team.","description_format":"text","description_chars":7238,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":[],"hiring_locations":[{"name":"South Africa","iso":"ZA","kind":"country"},{"name":"Egypt","iso":"EG","kind":"region"},{"name":"Kenya","iso":"KE","kind":"region"},{"name":"Nigeria","iso":"NG","kind":"region"},{"name":"Algeria","iso":"DZ","kind":"region"},{"name":"Angola","iso":"AO","kind":"region"},{"name":"Benin","iso":"BJ","kind":"region"},{"name":"Botswana","iso":"BW","kind":"region"},{"name":"Burkina Faso","iso":"BF","kind":"region"},{"name":"Burundi","iso":"BI","kind":"region"},{"name":"Cameroon","iso":"CM","kind":"region"},{"name":"Cape Verde","iso":"CV","kind":"region"},{"name":"Chad","iso":"TD","kind":"region"},{"name":"Central African Republic","iso":"CF","kind":"region"},{"name":"Comoros","iso":"KM","kind":"region"},{"name":"Democratic Republic of the Congo","iso":"CD","kind":"region"},{"name":"Djibouti","iso":"DJ","kind":"region"},{"name":"Equatorial Guinea","iso":"GQ","kind":"region"},{"name":"Eritrea","iso":"ER","kind":"region"},{"name":"Eswatini","iso":"SZ","kind":"region"},{"name":"Ethiopia","iso":"ET","kind":"region"},{"name":"Gabon","iso":"GA","kind":"region"},{"name":"Gambia","iso":"GM","kind":"region"},{"name":"Ghana","iso":"GH","kind":"region"},{"name":"Guinea","iso":"GN","kind":"region"},{"name":"Guinea-Bissau","iso":"GW","kind":"region"},{"name":"Ivory Coast","iso":"CI","kind":"region"},{"name":"Lesotho","iso":"LS","kind":"region"},{"name":"Liberia","iso":"LR","kind":"region"},{"name":"Madagascar","iso":"MG","kind":"region"},{"name":"Malawi","iso":"MW","kind":"region"},{"name":"Mali","iso":"ML","kind":"region"},{"name":"Mauritania","iso":"MR","kind":"region"},{"name":"Mauritius","iso":"MU","kind":"region"},{"name":"Mayotte","iso":"YT","kind":"region"},{"name":"Morocco","iso":"MA","kind":"region"},{"name":"Mozambique","iso":"MZ","kind":"region"},{"name":"Namibia","iso":"NA","kind":"region"},{"name":"Niger","iso":"NE","kind":"region"},{"name":"Republic of the Congo","iso":"CG","kind":"region"},{"name":"Réunion","iso":"RE","kind":"region"},{"name":"Rwanda","iso":"RW","kind":"region"},{"name":"Saint Helena and Ascension","iso":"SH","kind":"region"},{"name":"São Tomé and Príncipe","iso":"ST","kind":"region"},{"name":"Senegal","iso":"SN","kind":"region"},{"name":"Seychelles","iso":"SC","kind":"region"},{"name":"Sierra Leone","iso":"SL","kind":"region"},{"name":"Somalia","iso":"SO","kind":"region"},{"name":"South Sudan","iso":"SS","kind":"region"},{"name":"Tanzania","iso":"TZ","kind":"region"},{"name":"Togo","iso":"TG","kind":"region"},{"name":"Tunisia","iso":"TN","kind":"region"},{"name":"Uganda","iso":"UG","kind":"region"},{"name":"Western Sahara","iso":"EH","kind":"region"},{"name":"Zambia","iso":"ZM","kind":"region"},{"name":"Zimbabwe","iso":"ZW","kind":"region"}],"hiring_excludes":[],"relocation_offered":true,"industries":["Law Enforcement","Computer Vision","Network Equipment","Homeland Security"],"lifecycle":[{"event":"open","at":"2026-08-06T00:00:00Z"}],"visa":[],"liveness":{"score":9,"band":"cold","label":"Long shot","p_open":1,"p_active":0.306,"p_room":0.28,"age_days":72,"expected_fill_days":29,"reasons":["conf:1","stale_co","velocity","win:tail","crowd:brand"],"computed_at":"2026-10-17T05:46:00Z"},"pay":null,"html_url":"https://alion.io/job/motorola-solutions-senior-full-stack-engineer-c-and-angular","json_url":"https://alion.io/job/motorola-solutions-senior-full-stack-engineer-c-and-angular.json","meta":{"generated_at":"2026-10-17T16:22:16Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":22505,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-18T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":1504},"rest":"https://alion.io/mcp/rest/get_company?id=1504"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fmotorola-solutions-senior-full-stack-engineer-c-and-angular"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fmotorola-solutions-senior-full-stack-engineer-c-and-angular"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fmotorola-solutions-senior-full-stack-engineer-c-and-angular"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/motorola-solutions-senior-full-stack-engineer-c-and-angular\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fmotorola-solutions-senior-full-stack-engineer-c-and-angular"}]}