M

Motorola Solutions

Builds communications and security technology

Dot Net System Application Developer

Backend EngineeringConfirmed live in the last 24 hours
Full-timeHo Chi Minh City, VietnamNo salary listedIn-person

About the Job

Requirements

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

Responsibilities

  • Develop system logic using .NET 8 or higher to orchestrate application workflows, integrate native C++ libraries through interop, manage multithreaded operations on Linux and Windows, communicate with the user interface, and handle basic data persistence.
  • Develop robust console applications and background services running on Windows and Linux using .NET 8 or higher.
  • Implement multithreading to handle simultaneous data ingestion from the engine, user-interface updates, and logging without freezing the application.
  • Apply asynchronous programming correctly to maximize system responsiveness.
  • Implement watchdog mechanisms, automatic recovery, and resource management for CPU and memory to ensure system stability.
  • Use P/Invoke and marshaling to call functions from existing native libraries, including DLL and .so files.
  • Safely handle data conversion between managed .NET and unmanaged C++ memory.
  • Implement real-time communication channels to push data to the frontend user interface, using SignalR, WebSockets, TCP/UDP sockets, or inter-process communication such as named pipes or Unix domain sockets.
  • Implement local data storage using SQLite.
  • Use Entity Framework Core or Dapper to save logs and operational data.

Desired Qualifications

  • Experience building desktop user interfaces using C# with 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; C++ coding 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