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

  • Context: C/C++ 
  • Thread starter Thread starter alligatorman
  • Start date Start date
  • Tags Tags
    Programming Real world
Click For Summary

Discussion Overview

The discussion revolves around the skills in C++ that are valued by employers, particularly in the context of entry-level positions in tech companies like Lockheed Martin. Participants explore the relevance of console applications versus GUI development, the importance of practical experience, and the variability of job requirements in the industry.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses uncertainty about what specific C++ skills employers desire, questioning whether console programming or GUI development is more relevant.
  • Another participant suggests that console applications are still prevalent in many tech companies, emphasizing their efficiency compared to GUIs.
  • A participant shares personal experience from an internship, noting that job requirements can vary significantly, with some roles focusing on specific skill sets rather than broad knowledge.
  • Some participants argue that while GUI development is important for user-facing applications, it is generally easier to learn if one has a solid foundation in console programming and object-oriented principles.
  • Another participant highlights the importance of reading others' code and engaging with design patterns to improve programming skills.
  • One participant mentions that their experience in the industry has shown a predominance of console applications, particularly in technical environments where efficiency is key.
  • There is a suggestion that knowing how to create GUIs can be beneficial for sharing code with others, although it is not always necessary.

Areas of Agreement / Disagreement

Participants express differing views on the importance of GUI development versus console programming, with some asserting that console applications are more common in certain sectors, while others advocate for the value of GUI skills. The discussion remains unresolved regarding the specific skills that are most desirable to employers.

Contextual Notes

Participants note that job requirements can vary widely depending on the company and specific role, and there is an acknowledgment of the limitations in understanding what employers truly value without direct experience in the field.

alligatorman
Messages
113
Reaction score
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
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.
 
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.
 
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.
 
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.
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
16
Views
3K
  • · Replies 86 ·
3
Replies
86
Views
13K
  • · Replies 8 ·
Replies
8
Views
5K
Replies
38
Views
4K
  • · Replies 29 ·
Replies
29
Views
8K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
3
Views
4K