What Does a C++ Developer Do?
C++ developers design and build applications for desktops and mobile devices. They collaborate with stakeholders on company needs and turn that into applications people can use.
They need to have a very good understanding of the object-oriented programming language and how it can be used in real-world situations. They develop and test procedures on various platforms to ensure there are no issues. C++ developers must have good writing skills to document user procedures. They also need excellent troubleshooting skills and a high level of attention to detail.
C++ developers should first and foremost be able to design and write code efficiently. Some C++ developers also maintain, optimize, and update existing software. It’s important that they stay current on the latest trends in software development. Good working knowledge of other object-oriented programming languages such as Java, Python, and C is helpful to this role, as is understanding the software development life cycle.
Looking to Hire a C++ Developer?
Speak with one of our recruiting experts today.
National Average Salary
C++ developer salaries vary by experience, industry, organization size, and geography. Click below to explore salaries by local market.
The average national salary for a C++ Developer is:
$107,656
C++ Developer Job Descriptions
The first step in the search for an exceptional C++ developer is a well-crafted job description. Below we have multiple real-world examples to get you started and set the foundation for attracting the exact talent your team needs.
Example 1
We seek curious, motivated candidates with a can-do attitude and an agile mindset who stay up-to-date on the latest software, tools, and technologies.
Responsibilities to include:
- Codes, tests, integrates, and documents software solutions
- Applies principles and techniques of computer science, engineering, and mathematical analysis to the development of complex solutions
- Participates as a Subject Matter Expert in internal review of software components and systems
- Works on the hardest technical problems facing the company, often these problems are unusually complex and require the utmost creativity and innovation
- Applies and champions the appropriate standards, processes, procedures, and tools throughout the system development life cycle to support the generation of technical engineering products
- Receives no appreciable instruction on day-to-day work; more often responsible for defining the scope, schedule, and expectations for the work they execute or lead; assignments may be self-initiated
- Provides leadership and/or direction and/or supervision to lower-level employees and teams
- Leads large technical tasks, large teams, and projects
- Keeps abreast of technology trends and champions new ideas and process improvements
The C++ software developer shall have experience with:
- Must be proficient in object-oriented software development – while a strong C++ background is highly desired, a talented Java developer willing to learn C++ is also given consideration. Prior Python development experience is a plus
- Develop custom C++ software code, debugs, troubleshoots, and resolves software and hardware compatibility and operability issues
- Use data structures, software engineering, OOD, C++ programming techniques, and algorithms to write, debug, and test code
- Ability to code in a LINUX/UNIX environment (Linux C++ toolchains)
Other desired skills:
- Multithreaded programming
- Unit testing framework
- Sockets API programming
Education required:
- Bachelor of Science in a STEM (Science, Technology, Engineering, Mathematics) related field or equivalent experience, plus a minimum of 2 years of relevant experience; or Master’s degree
- Agile experience preferred
Example 2
In this hands-on role, you will work directly with traders and researchers to create and enhance high-performance, low-latency market strategies. Your goal will be to develop software that incorporates vast amounts of data to drive sophisticated, ultra-fast strategies, capturing market opportunities before the competition.
The successful C++ Developer will be a proponent of agile methodologies and modern software best practices, able to produce detailed technical work as well as high-level architectural designs.
Requirements:
- 3+ years development experience in C++14 (and beyond) creating performant, scalable applications
- Experience developing trading strategies and/or a demonstrated passion for financial markets
- Strong experience with distributed systems, data structures, and algorithms
- Solid understanding of multi-threaded/multi-core programming paradigms
- Bachelor’s degree in Computer Science, Engineering, Math (or equivalent)
Example 3
What you will be doing
- You will make meaningful contributions to products that our customers genuinely love
- You will collaborate with our engineering and product teams to understand customer pain points and come up with solutions
- You will own what you build from concept to release, ensuring a great experience for our customers
- You will work with cutting-edge software and hardware technologies
- You will deliver testable, maintainable, and high-quality code
- You will work on a fast-moving team that’s rapidly changing the face of the 3D printing industry
Who you are
- You have 3+ years of professional software development experience
- You have experience working with Qt or similar UI/UX frameworks
- You have a strong understanding of object-oriented programming and C++ architecture concepts
- You have experience writing cross-platform applications for Windows/Mac/Linux
- You are self-motivated with excellent attention to detail
- You can thrive in a dynamic, fast-paced, collaborative, and high-growth environment