What skills in C++ do employers value most in the real world?

In summary, employers are primarily looking for skills in C++ for console applications and not GUI development. However, it is beneficial to have a good understanding of object-oriented programming and to be able to quickly implement features in existing code. To improve skills, one can study code from experienced programmers, read books on design patterns, and participate in open source projects. It is also important for a company to have a training plan for employees to further develop their skills.
  • #1
alligatorman
113
0
I have been looking to improve my skills in C++ to make myself marketable for the future. What I'm wondering is what kind of skills employers are looking for.

I'm a pro at creating console applications, but I highly doubt tech companies would be working in that.

For example, I was looking at an entry level job offered by Lockheed Martin, and it said knowledge in C/C++ is desirable.

What do they mean? I should be able to write programs in consoles? I should be able to create GUIs, or create code that works with an existing GUI?

I know in the real world, things are done in teams, so I would not be responsible for everything, but how would I go about preparing for something like that? I know about programming structure and methods and all that stuff. I just don't know how or where an employer would want me to apply it.

Any insight would be appreciated, and please forgive my ignorance.
 
Technology news on Phys.org
  • #2
alligatorman said:
I have been looking to improve my skills in C++ to make myself marketable for the future. What I'm wondering is what kind of skills employers are looking for.

I'm a pro at creating console applications, but I highly doubt tech companies would be working in that.

For example, I was looking at an entry level job offered by Lockheed Martin, and it said knowledge in C/C++ is desirable.

What do they mean? I should be able to write programs in consoles? I should be able to create GUIs, or create code that works with an existing GUI?

I know in the real world, things are done in teams, so I would not be responsible for everything, but how would I go about preparing for something like that? I know about programming structure and methods and all that stuff. I just don't know how or where an employer would want me to apply it.

Any insight would be appreciated, and please forgive my ignorance.

The simplest way of preparing yourself is to (i) learn as much as possible about using a given language to solve problems that interest you, (ii) try to get internships during your holidays that will help you see how things work in the real world, and (iii) see if you can find any open source projects in areas in which you're interested, study their code, and contribute.

If you eventually end up working as a coder, the requirements for a given job are highly variable. For example, I did an internship for Lockheed at the end of my first year at Cambridge working on some libraries for guidance systems. As such, I wasn't required to know *anything* about GUI programming, GUI toolkits, networking, and so on. All I had to know was how to (quickly) implement needed features in deep (and very often ancient) code. Obviously, if you went to work for the HIG at Apple you'd need to know an awful lot about Cocoa, Carbon, and Quartz. The moral is that jobs (particularly in large companies) tend to focus on small, well-defined skill sets, as well as the ability to interact with people who know other small, well-defined areas better than you. Pick an area in which you're interested, learn it well, and you'll be off to a good start. It's also far more important to have a good knowledge of sound programming principles than it is to be up to speed with the latest programming fad of the day; fashions come and go but sound knowledge is permanent.
 
  • #3
Most tech companies like Lockheed are going to be writing primarily console programs. It is much more efficient to run things from the command line than with a GUI.

Software companies that produce programs to be used by end users are the ones doing a lot of GUI development, but really, GUI development is quite easy if you can write console programs and understand object-oriented programming.

In general, if you need graphical output for something, you can look up how to do it. It will be a matter of learning how to use a set of functions from certain header files. You probably won't have to know very much about the theory of computer graphics unless you are building a simulator, working on a video game, doing robot vision, or designing a graphics card.
 
  • #4
Sometimes, the programming experience is important for the employer to value the employee's ability. You can't be an expert in everything from asm language to C++ to java. and I suggest you could gain your experience below:
  1. read other export's code, this mean's you can stand on the shoulder of gaint,:smile:
  2. read some books about design structures like <<design pattern>>
  3. If you have more time, you can attend some project in open source socity such as www.sourceforge.net.
A good company also has a training plan for its employee.
 
  • #5
Most tech companies like Lockheed are going to be writing primarily console programs. It is much more efficient to run things from the command line than with a GUI.

This is 100% true. I am a PhD student at Penn State working with Boeing, NASA, Bell, and others. I have worked with them for about 8 years (I am relatively young) and have yet to see a GUI. Console programs are much easier to use with shell scripts and what not, and you will probably be doing a lot of trade studies (running the same program thousands of times, changing parameters only slightly).

All I had to know was how to (quickly) implement needed features in deep (and very often ancient) code.

Also extremely true. You will see code that will amaze you. Not because it's good, but because it's a wonder it ever worked. I once ran into a case of a CFD program written in fortran77 where the program reallocated the entire domain every time step and wondered why his code took forever to run (he had been using it for a decade).

I am not as experienced as these other guys, but I just thought I would throw in my 2 cents. However, I would like to say that knowing how to write a GUI is not always bad. They are easier to use if your going to export your code to others, I find.
 

Related to What skills in C++ do employers value most in the real world?

1. What programming languages are used in the real world?

In the real world, there are a variety of programming languages used depending on the specific industry and purpose. Some commonly used languages include Java, Python, C++, and JavaScript.

2. How do I get started with programming in the real world?

The best way to get started with programming in the real world is to first choose a programming language and then familiarize yourself with its syntax and concepts. From there, you can practice by building small projects and gradually work your way up to more complex applications.

3. What skills are needed for programming in the real world?

Aside from a strong understanding of programming languages, some important skills for programming in the real world include problem-solving, attention to detail, teamwork, and the ability to learn and adapt to new technologies.

4. How important is testing in programming in the real world?

Testing is a crucial aspect of programming in the real world. It helps to ensure that the code is functioning correctly and can catch any errors or bugs that may arise. Proper testing can save time and resources in the long run.

5. Is it necessary to have a degree in computer science to be a successful programmer in the real world?

While a degree in computer science can provide a strong foundation for programming in the real world, it is not always necessary. Many successful programmers have learned through self-study and practice. However, having a degree can open up more opportunities and may be preferred by some employers.

Similar threads

  • Programming and Computer Science
Replies
8
Views
946
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
6
Views
1K
  • Programming and Computer Science
Replies
19
Views
2K
  • Programming and Computer Science
Replies
14
Views
2K
  • Programming and Computer Science
Replies
3
Views
3K
  • Programming and Computer Science
2
Replies
58
Views
3K
  • Programming and Computer Science
Replies
1
Views
1K
  • Electromagnetism
Replies
6
Views
718
  • Programming and Computer Science
3
Replies
86
Views
10K
Back
Top