M

Motorola Solutions

Builds communications and security technology

Dot Net System Application Developer

Backend EngineeringPosted on Nov 11
Full-timeHo Chi Minh City, VietnamNo salary listedIn-person

About the Job

Requirements

  • At least 3 years of experience in relevant technical skills and industry.
  • Bachelor's or master's degree in Software Engineering, Computer Science, or a relevant field.
  • Proficiency in C# with a focus on .NET 8 or higher.
  • Strong understanding of asynchronous programming, including distinguishing CPU-bound Task.Run operations from I/O-bound await operations.
  • Ability to use synchronization mechanisms, including Lock, Monitor, Semaphore, and Mutex.
  • Ability to debug race conditions and deadlocks.
  • Understanding of process lifecycle, memory management, and how services and daemons work at the operating-system level.
  • Experience integrating C++ native libraries into C# applications using P/Invoke.
  • Ability to deploy and debug .NET applications on Windows and Linux.
  • Experience with SQLite CRUD operations using Entity Framework Core or SQL Client.

Responsibilities

  • Develop the system logic and application layer for high-performance software running on client and edge devices, including PCs and embedded devices.
  • Orchestrate application workflows, including starting and stopping engines and handling events.
  • Integrate native C++ libraries using interop.
  • Manage multithreaded operations on Linux and Windows.
  • Communicate with the user interface and implement basic data persistence.
  • Develop .NET 8 or higher console applications and background services for Windows and Linux.
  • Implement multithreading for simultaneous data ingestion from engines, user-interface updates, and logging without freezing the application.
  • Apply asynchronous programming to maximize system responsiveness.
  • Implement watchdog mechanisms and automatic recovery, and manage CPU and RAM resources to ensure system stability.
  • Use P/Invoke and marshaling to call functions from native DLL and shared-object libraries.
  • Safely convert data between managed .NET and unmanaged C++ memory.
  • Implement real-time communication channels to send data to the frontend user interface using SignalR, WebSockets, TCP/UDP sockets, or inter-process communication, including named pipes and Unix domain sockets.
  • Implement local data storage using SQLite and use Entity Framework Core or Dapper to save logs and operational data.

Desired Qualifications

  • Experience building desktop user interfaces in C# using WPF, WinForms, or WinUI.
  • Hands-on experience with Elasticsearch, including index design and Query DSL, or MongoDB.
  • Experience writing Dockerfiles and docker-compose files to containerize .NET 8 applications.
  • Familiarity with Azure IoT Hub or data synchronization.
  • Ability to read C++ header files to understand data structures for mapping; writing C++ code is not required.

About the Company

Motorola Solutions

Builds communications and security technology

Motorola Solutions builds communications and security technology for emergency services, governments and businesses, connecting field teams with control rooms. Its APX radios keep responders in contact, while command center software combines calls, dispatch and incident records. Cameras, access controls and video analytics help organizations monitor buildings and investigate events, alongside body cameras that record work in the field. The company sells devices and network equipment, licenses software, and earns recurring fees from cloud subscriptions, maintenance and managed services. Founded in 1928, Motorola Solutions is headquartered in Chicago, Illinois.

Company size
10,001+
Company stage
IPO
Headquarters
Chicago, IL
Founded
1928

Recently Posted Jobs

Explore more opportunities at Motorola Solutions

See more jobs