C++ DeveloperSample Job Descriptions, Salaries, and Interview Questions
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 must be able to efficiently design and write code. They need good interpersonal skills as they work with software development teams and other stakeholders. Some C++ developers also maintain, optimize, and update software. They need to stay current on the latest trends in software development. Good working knowledge of programming languages such as Java, Python, and C is helpful to this role, as is having an understanding of the software development life cycle.
Sample job description #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 to define 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 and 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++ programing techniques and algorithms to write, debug and test code
Ability to code in a LINUX/UNIX environment (Linux C++ toolchains)
Other desired skills:
Unit testing framework
Sockets API programming
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.
Sample job description #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 product detailed technical work as well as high-level architectural designs.
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)
Sample job description #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
Average salary and compensation
The average salary for a C++ developer is $107,400 per year in the United States, with a potential for bonuses. Salary will vary based on experience, market, company size, and industry.
Los Angeles, California
New York City, New York
Sample interview questions
What’s a namespace?
How would you input a string in C++?
Can you name the different data types present in C++?
What’s the difference between C and C++?
Can you explain what a class and object are in C++?
What’s operator overloading?
Can you explain what a constructor is?
What is a friend class and friend function?
What are the 3 access specifiers?
What’s a reference?
Can you explain abstraction?
Is deconstructor overloading possible? Why or why not?
Can you explain static members and static member functions?
What’s the difference between shallow copy and deep copy?
Can you explain void pointers?
How do you allocate and deallocate memory?
Do you consider yourself a team player?
What was the hardest project you handled, how did you work through it and what did you learn?
What languages do you know?
What do you think the purpose is of type declaration?
We match top professionals with great employers across the country. Your next career move or star employee is just around the corner. Review our career content and advice, browse our latest job openings, or email us your resume. We look forward to connecting with you soon!