4 answers
Updated
1117 views
What skills do computer programmers have?
My career is computer programmer #programming #engineering #facebook
Login to comment
4 answers
Updated
Taylor’s Answer
Hi Tyra! I think the main attribute that computer programmers need, is to be able to think critically and work through a problem. It doesn't really matter what programming languages, its more about what you know about algorithms.
That's an excellent class and if you do well there, you will do fine. Good luck!
That's an excellent class and if you do well there, you will do fine. Good luck!
Updated
Gyanendra’s Answer
Hey Tyra,
Agree to what taylor said about critical thinking ability. I would like to add that a programmer definitely should have following
1) Mathmatical Understanding:
As a programmer you require to have understanding on math's and should be able to program things logically. Good understanding on data structure is critical for a programmer.
2) See the big view through small windows :
Normally any useful program is written in multiple pieces and a programmer should have ability to visualize the larger goal through connected small programs.
3) Problem solving mindset:
Many times as programmer you will be in tough situation to solve a piece of problem through your approach.
Hope this Helps.
Agree to what taylor said about critical thinking ability. I would like to add that a programmer definitely should have following
1) Mathmatical Understanding:
As a programmer you require to have understanding on math's and should be able to program things logically. Good understanding on data structure is critical for a programmer.
2) See the big view through small windows :
Normally any useful program is written in multiple pieces and a programmer should have ability to visualize the larger goal through connected small programs.
3) Problem solving mindset:
Many times as programmer you will be in tough situation to solve a piece of problem through your approach.
Hope this Helps.
Updated
Nir’s Answer
As a software engineer, two of the more important qualities are persistence and humility. Bugs are daily and can be very frustrating if one does not have the proper approach. You got to be of the mindset that any problem is solvable if you spend enough time looking at it. Second you have to have humility because the industry is constantly changing and any technology you "master" will soon be outdated, so pride is not a good idea. And then of course creativity and willingness to repeat tasks are important as well.
Updated
Zack’s Answer
Hi there Tyra! I have been working professionally in software engineering for the last 22 years.
Software engineers need to be able to break down complicated problems into simple steps, then translate those simple steps into instructions computers can understand. This is a very logical + creative process! It is rewarding to solve problems in beautiful ways, especially when they make others' lives better.
A good software engineer understands the environment in which their software is run, and has understanding of the layers below and above where their code is. They have great empathy for the end-user's experience, and designs their solutions primarily with the end-user in mind. They collaborate with others in different areas, perhaps visual designers, product managers (people who determine overall product vision and strategy), or subject-matter experts (e.g. if you are writing software for financial analysts, you will probably be interacting with a financial analyst to ensure what you are building is correct from their viewpoint).
In addition, successful software engineers will be great communicators. Communication is at the heart of what we do as a team, and being able to write, talk, and present to others is a massively overlooked skill in our field. A team is greater than the sum of its parts, and great communication adds an important multiplier to that.
Software engineers need to be able to break down complicated problems into simple steps, then translate those simple steps into instructions computers can understand. This is a very logical + creative process! It is rewarding to solve problems in beautiful ways, especially when they make others' lives better.
A good software engineer understands the environment in which their software is run, and has understanding of the layers below and above where their code is. They have great empathy for the end-user's experience, and designs their solutions primarily with the end-user in mind. They collaborate with others in different areas, perhaps visual designers, product managers (people who determine overall product vision and strategy), or subject-matter experts (e.g. if you are writing software for financial analysts, you will probably be interacting with a financial analyst to ensure what you are building is correct from their viewpoint).
In addition, successful software engineers will be great communicators. Communication is at the heart of what we do as a team, and being able to write, talk, and present to others is a massively overlooked skill in our field. A team is greater than the sum of its parts, and great communication adds an important multiplier to that.