Excellent technical skills in the field of software engineering are essential, but so are soft skills. You can't survive a career in this field without the bringing with you some values that you can apply not just to your job, but to the whole of your life as well. 

Integrity

Yes, doing the right thing when no one is watching is an important soft skill you must arm yourself with. 

Software engineers and developers have the incredible power of gaining access to private information in order to build the tech requested of them. Such is the reason why behaving with high standards of trustworthiness and honesty is needed. 

Remember that users that you barely know are trusting you to uphold their data – you must live up to that trust. 

Communication

Between giving updates to the team during standup or commenting on RFCs, it can be challenging for software engineers to communicate. However, put in mind that you are most of the time collaborating on architecture and design, as well as discussing roadmaps or product features with other team members. No communication will result in disagreements

Optimism

Last-minute design change isn't new in this type of job. At times, you will have to scrap the original architecture in order to please your client. This is a lot of hassle, which is why optimism on the job will help you thrive. 

Optimism in the face of change keeps team morale high and reconstructs issues into challenges that we take on. It's motivating and captivating as you work through difficult changes that lead to better results for the users.

Remember that adaptive and positive attitudes always win the end, so try your hardest to keep yourself in check. Ask yourself, is this the career you really want to be in?

Focus

Software engineers across the globe have benefited from modernity greatly but at the same time, technology can also be disruptive. People are constantly messaging you and there's tons of stuff on the web that get in the way fo work. 

Don't let your productivity suffer. Remember that being a software engineer requires deep work and time. To write maintainable, readable, and performant code takes time and brainpower, both of which are limited as a resource. 

Ignoring the world and blocking off time is a skill that's underrated and software engineers must always find the perfect balance between these two. If you achieve this balance, you will be more effective and productive and gain what you've been working hard on – respect and recognition in your chosen field.