3 answers
Asked
488 views
What skills are really important to have when working as a software engineer?
What are some computer science or programming skills that you didn't think you'd need much of that you ended up using a lot as a software engineer?
Login to comment
3 answers
Updated
Tahir’s Answer
Analytical skills.
Logic and Reasoning.
Be someone who likes to learn...because with programming you will always be learning lot of new things. Dont ever make that appear scary to you.
Also depending on what area you get into for Programming (like programming for Business functions, or gaming or cloud application or mobile application development etc etc) you will need to get into other stuff like algorithms (shortest path, tree search etc etc).
Finally, Patience. Have a lot of it, as it helps you grow in being a good Programmer.
Good luck
Logic and Reasoning.
Be someone who likes to learn...because with programming you will always be learning lot of new things. Dont ever make that appear scary to you.
Also depending on what area you get into for Programming (like programming for Business functions, or gaming or cloud application or mobile application development etc etc) you will need to get into other stuff like algorithms (shortest path, tree search etc etc).
Finally, Patience. Have a lot of it, as it helps you grow in being a good Programmer.
Good luck
Updated
Hagen’s Answer
Something it took me a long time to realize is the need for domain expertise. What's that? ;-)
Ultimately, you're writing code in support of end users who work in a concern whether for profit or non-profit (e.g. business vertical such as banking, retail, energy). There is a big divide in knowledge between a programmer and a financial analyst or a team running an oil rig. Therefore, to the extent possible you need to broaden your vision of programming to a vision of domain specialization or at least an affinity.
There is a great book by Eric Weiss Domain Driven Design which exhausts this strategy. It's not an easy read and probably not ideal for someone just getting started in programming, but it's a very important consideration in the context of your overall career.
The good news is, assuming you have other interests beyond programming, you can 'minor' in some other field that sparks your interest and take that minorseriously as something you may want to develop so you can bring that domain knowledge to your programming knowledge.
Consider what your minor might be.
What kind of programming is associate with that domain?
Tom some degree the domain you chose will impact your compensation - better pay in finance than in education or medicine.
Take your minor seriously.
Ultimately, you're writing code in support of end users who work in a concern whether for profit or non-profit (e.g. business vertical such as banking, retail, energy). There is a big divide in knowledge between a programmer and a financial analyst or a team running an oil rig. Therefore, to the extent possible you need to broaden your vision of programming to a vision of domain specialization or at least an affinity.
There is a great book by Eric Weiss Domain Driven Design which exhausts this strategy. It's not an easy read and probably not ideal for someone just getting started in programming, but it's a very important consideration in the context of your overall career.
The good news is, assuming you have other interests beyond programming, you can 'minor' in some other field that sparks your interest and take that minorseriously as something you may want to develop so you can bring that domain knowledge to your programming knowledge.
Hagen recommends the following next steps:
Melissa Halliday
Talent Acquisition - Recruiter
2
Answers
New South Wales, New South Wales, Australia
Updated
Melissa’s Answer
Programming and learning language is important, and soft skills are also equally important. As a software engineer you'll need to interact with different teams who have different needs and requirements. Being able to articulate ideas to non technical stakeholders, in a way that they'll understand.
Being able to support your team members, because when you work well together the entire team's productivity can go up.
Time management.
Problem solving - it's about the how and not the what, and making sure you're solving the right problem.
Being able to support your team members, because when you work well together the entire team's productivity can go up.
Time management.
Problem solving - it's about the how and not the what, and making sure you're solving the right problem.