Description
We are seeking a talented and detail-oriented CLI Developer with strong proficiency in C++ to design, develop, and maintain command-line tools and interfaces for our software solutions. You will be responsible for creating robust, scalable, and efficient CLI applications that provide seamless user interaction and meet the needs of both developers and end-users.
Key Responsibilities
- Design, develop, and maintain CLI applications using C++ that interact with various system components and libraries.
- Collaborate with cross-functional teams to gather requirements and ensure that CLI tools meet business needs and user expectations.
- Write clean, maintainable, and well-documented C++ code for CLI tools, ensuring performance optimization and reliability.
- Implement new features and functionalities into CLI applications based on user feedback and evolving project requirements.
- Debug, test, and troubleshoot existing CLI tools and applications to improve performance and resolve issues.
- Create detailed technical documentation for both end-users and developers on how to use the CLI tools.
- Contribute to the continuous improvement of development processes, including automated testing and CI/CD pipelines for CLI deployment.
- Ensure cross-platform compatibility for CLI tools, ensuring functionality across different operating systems (Windows, Linux, macOS).
Requirements
Education:
- Bachelor’s degree in Computer Science, Software Engineering or a related field, or equivalent work experience.
Requirements:
- Proven experience in C++ development, with a focus on building CLI applications.
- Strong understanding of C++ Standard Library and system-level programming.
- Experience with CLI frameworks and libraries such as Boost.Program_options, TCLAP, or similar.
- Knowledge of UNIX/Linux command-line utilities and familiarity with shell scripting.
- Experience with multi-threading and asynchronous programming in C++.
- Familiarity with build systems (CMake, Makefile) and version control systems (Git).
- Experience with unit testing and integration testing of CLI applications.
- Understanding of software development practices such as Agile and Continuous Integration.
- Strong problem-solving skills, attention to detail, and ability to work independently.
Preferred Qualifications:
- Experience with cross-platform development and tools like Qt for CLI/console applications.
- Knowledge of network programming and building CLI tools for distributed systems.
- Familiarity with cloud-based environments and integration of CLI tools with cloud services.
- Experience with containerization tools like Docker for development and deployment of CLI applications.
- Familiarity with other programming languages (e.g., Python, Shell scripting) is a plus.
Benefits
- Health, dental, vision, life, and short/long-term disability insurance
- Paid vacation, holidays, and sick leave
- Competitive compensation and opportunities for advancement
- Retirement plan with employer contribution match
- Welcoming, family-style corporate culture uniquely suited to fast-paced, entrepreneurial, and motivated individuals
- One of San Antonio’s “Best Places to Work” for nine consecutive years