Linux Developer
3Si
Date: 3 weeks ago
City: Ashburn, VA
Contract type: Full time

Description
3SI, CovertTrack, Wren Solutions and Edge 360 are four leading organizations in the security industry, who have joined forces with the mission to help create a #SaferWorld. Retailers, Financial Institutions, and Law Enforcement agencies look to us for solutions to offset the threat of high-value or volume asset theft, the victimization of repeat crimes, and the safety of employees, customers, and the overall community at large.
Leveraging over 90 years of combined safety and security expertise, we offer an unparalleled suite of services and technologies encompassing deterrence, detection, and live asset tracking, resulting in apprehensions and convictions. This offering is backed by innovation and design-build capabilities for seamless integration.
Our unique solutions and trusted partnerships are embraced by over 10,200 law enforcement agencies, delivering crime intelligence directly to first responders and investigators for swift results to arrest and stop crime. By assisting police in apprehending and convicting dangerous offenders and taking them off the street, we help the community move towards becoming a #SaferWorld.
That being said, we are looking for a Linux Developer to assist in the migration of .NET-based sever applications and core C/C++ components from Windows to Linux, while ensuring seamless cross-platform compatibility for existing deployments. This role involves working under the guidance of a Senior Developer, refactoring Windows code, troubleshooting compatibility issues, and supporting deployment efforts.
Requirements
Assist in Windows to Linux Migration
3SI, CovertTrack, Wren Solutions and Edge 360 are four leading organizations in the security industry, who have joined forces with the mission to help create a #SaferWorld. Retailers, Financial Institutions, and Law Enforcement agencies look to us for solutions to offset the threat of high-value or volume asset theft, the victimization of repeat crimes, and the safety of employees, customers, and the overall community at large.
Leveraging over 90 years of combined safety and security expertise, we offer an unparalleled suite of services and technologies encompassing deterrence, detection, and live asset tracking, resulting in apprehensions and convictions. This offering is backed by innovation and design-build capabilities for seamless integration.
Our unique solutions and trusted partnerships are embraced by over 10,200 law enforcement agencies, delivering crime intelligence directly to first responders and investigators for swift results to arrest and stop crime. By assisting police in apprehending and convicting dangerous offenders and taking them off the street, we help the community move towards becoming a #SaferWorld.
That being said, we are looking for a Linux Developer to assist in the migration of .NET-based sever applications and core C/C++ components from Windows to Linux, while ensuring seamless cross-platform compatibility for existing deployments. This role involves working under the guidance of a Senior Developer, refactoring Windows code, troubleshooting compatibility issues, and supporting deployment efforts.
Requirements
Assist in Windows to Linux Migration
- Work alongside senior developers to migrate existing .NET-based applications to target both Windows and Linux .NET Runtimes to allow a single codebase to be deployed on both operating systems.
- Assist in porting and cross compilation of existing Windows-based applications to Linux, replacing Win32 APIs with POSIX-compliant alternatives where necessary to support a single codebase to be deployed on both operating systems.
- Replace Windows-specific APIs (Win32, DirectX, COM, Registry) with Linux alternatives (POSIX, OpenGL, systemd, dbus, etc.) where necessary.
- Debug cross-platform software to identify regressions and fix compatibility issues across the supported platforms.
- Use GDB, strace, valgrind, WinDbg, and other debugging tools to troubleshoot performance bottlenecks.
- Write and maintain unit tests and integration tests to ensure cross-platform stability.
- Assist in configuring cross-platform build environments (CMake, Make, Ninja, Meson).
- Support packaging efforts for Linux (APT, YUM, RPM) and Windows installers (MSI, NSIS, etc.).
- Work with CI/CD pipelines to automate builds, testing, and deployment.
- Document code changes, migration steps, and compatibility fixes.
- Work with senior developers to troubleshoot system services, background processes, and IPC mechanisms.
- Communicate effectively with team members to ensure smooth migration.
- Software Development & Cross-Platform Fundamentals
- Proficiency in C++ or C# with basic experience in Windows/Linux development.
- Understanding of Win32 APIs, POSIX APIs, system calls, and file system differences.
- Familiarity with multi-threading, IPC, and process management.
- Testing, Debugging & Performance Optimization
- Ability to debug software using GDB, strace, valgrind (Linux) and WinDbg, Process Explorer (Windows).
- Basic experience with performance optimization techniques for CPU/memory efficiency.
- Work with CI/CD pipelines to automate testing and software deployment across Windows and Linux.
- Build & Deployment Support
- Exposure to CMake, Make, Ninja, or similar build automation tools.
- Familiarity with version control (Git) and working in CI/CD environments.
- Familiarity with Docker and containerized development and deployments.
- Problem-Solving & Learning Mindset
- Willingness to learn new tools, frameworks, and debugging techniques.
- Ability to work collaboratively under the guidance of senior engineers.
- Bachelor’s degree in computer science or relevant experience
- At least 2 years’ work-related experience in multi-platform software development
- Previous experience working with cross-platform software development.
- Familiarity with Linux package management (APT, YUM, RPM).
- Exposure to Windows-to-Linux migration concepts.
- Position will be based in Ashburn, VA.
- Standard business hours for this role are 9AM-6PM EST.
How to apply
To apply for this job you need to authorize on our website. If you don't have an account yet, please register.
Post a resume