From Wikipedia, a software engineer is a person who applies the principles of software engineering to the design, development, maintenance, testing and evaluation of computer software.
Anyone with sufficient training and dedication can become a software engineer. But to become a great software engineer, there are more than just training and dedication.
The passion beyond anything else
Being a great software engineer requires a great passion towards software development. A passion for coding beyond anything else. Always be passionate about helping to shape the future of the industry. Great software engineers are the experts in their craft and use it to push the boundaries of what they know.
The humble personality
A great software engineer should be humble and self-motivated to learn. Great software engineers understand the importance of growing their skills, willing to leverage existing solutions, listen to others and keep challenging the status quo to make things around them better every single day.
Pursuing the technical excellence
A great software engineer knows how to pursue the technical excellence in their career. Great software engineers are continuously trying to get better at what they do and the way they do it. They never stop or get complacent. They know their biggest critics and strive to elevate the quality of every facet of their work.
Sharing the experiences
A great software engineer should be willing to share their experiences. Great software engineers understand the real value of sharing experiences with their peers. They are constantly looking for ways that make the team around them look better by finding areas where others struggle so they can support them.
“Bring it on!” mindset
A great software engineer is dare to fail. Great software engineers should never afraid of failure. They don’t run away from the problems. They always look forward to solve the difficult challenges as soon as they arise and find a way to put themselves right at the front line. They are the problem solvers!
Commitment to the deadlines
A great software engineer has a strong commitment to meet the deadlines. Great software engineers understand the importance of meeting the deadlines and make sure the deadlines are both achievable and understood by the entire team. They are willing to help those around them to get across the finish line whenever necessary.
The work quality
A great software engineer upholds a clear standard of quality. Great software engineers take a lot of pride on the quality of their work and are not willing to compromise it under any circumstance. They know how to manage the competing priorities in order to deliver the best possible solution within the imposed constraints.
“Get stuff done” mentality
A great software engineer should have a “get stuff done” mentality. Great software engineers are eager to build things and they do not stop until they finish them. They understand the importance of results over the process to achieve them and while there is value the latter, they value more on the former.
Critizing the ideas, not the people
A great software engineer criticizes the ideas, not the people. Great software engineers criticize the ideas on the merit alone and never to the people who hold them. They believe that the ideas should stand or fall on their own merits.
Making a workplace fun and motivating
A great software engineer should be constantly looking for ways to make a better workplace. Great software engineers love their workplace and they work together to make it a little bit better for everyone to enjoy. They understand that everything around them exists because somebody made it happened, so they respect it and improve upon it.