- Company Name
- Safariland
- Job Title
- Software Developer
- Job Description
-
Job title: Software Developer
Role Summary: Design, build, and maintain mission‑critical robotics and internal tools software. Deliver intuitive, reliable, and scalable solutions, collaborating with product, design, and business stakeholders to prioritize features and ensure high quality through testing, documentation, and continuous improvement.
Expectations: Produce clean, maintainable, performant C/C++ code on Ubuntu/Lubuntu and Android platforms. Own feature lifecycles from design to production. Write unit and integration tests, troubleshoot production issues, and maintain robust networking and streaming capabilities.
Key Responsibilities:
- Design, develop, and maintain software applications and systems.
- Write and test clear, efficient C/C++ code; use Qt 5.x for GUI development.
- Develop and maintain Linux (Ubuntu 22.04) and Android codebases.
- Build, test, and release features; coordinate regression testing with QA and technical writers.
- Resolve production and support incidents; investigate and propose optimizations.
- Ensure scalability, maintainability, and availability of applications.
- Document code, technologies, and application behavior with clear comments and technical documentation.
- Communicate progress, blockers, and dependencies to stakeholders.
Required Skills:
- Proficiency in C/C++ and Qt 5.x.
- Experience with GStreamer, Ubuntu/Lubuntu Linux 22.04, Android development.
- Command of GNU toolchain (GCC, GDB), build systems (CMake), and source control (Git, SVN).
- Familiarity with networking protocols (Ethernet, TCP/IP, IPv4, RTSP, unicast/multicast).
- Experience with MQTT, DDS, Yocto Linux, Trac, Jenkins, GitLab/GitHub.
- Ability to write unit/integration tests and participate in CI/CD pipelines.
- Strong problem‑solving, communication, and autonomy skills.
Required Education & Certifications:
- Bachelor’s degree in Computer Science, Software Engineering, or related field, or equivalent professional experience.
- Minimum 3 years of professional software development experience.
Preferred (not mandatory):
- Python proficiency; AI/ML exposure (LLMs, transformers, neural networks).
- Computer vision libraries (OpenCV) and frameworks (TensorFlow, PyTorch).
- ROS2 and AI robotics experience; knowledge of AG‑UI, A2A, MCP protocols.