4 important traits, applied to software engineering

There are many approaches towards being a software engineer, and we continuously judge the actions of our colleagues on a day-to-day basis. However, there are some human traits which are objectively useful:

Problem solving

Problem solving can involve finding the origin of a bug, deciding the best way to approach an algorithm or thinking of a solution for a new project. Whatever it may be, the important thing is to be able to turn the problem into a logical set of steps which can then be followed so that it can be solved in the quickest and most efficient way possible. Logical thinking therefore plays into this, and can help a developer work out where they should even start looking. A way that I feel is good to improve this is to always be actively criticising all the code / solutions that you come across and think how you would be able to do it better. In this way, your mind is already prepared with a library of similar situations.

Time management

A common issue with regards to time management is projects overrunning due to poor time management or bad communication with the project management. It is common that time estimates are given before work is started, this should not be rushed, though I know many developers find it impossible to predict. If time estimates are expected on the spot, then this is a case of bad management. However, in the case of bad time management I have this advice: try breaking the task into smaller tasks which are easier to estimate, and instead of just thinking about it abstractly, create a new branch and implement some of it in pseudo code or look at the complexity of similar tasks in other projects.

Communication skills

If you don’t communicate with stakeholders on a regular basis, then it is easy for expectations to become unaligned. This is especially the case when working on multiple projects/tasks with different stakeholders and the priorities are constantly shifting. It can also be a problem when an estimate of 3 days is given for two tasks with project managers expect you to do simultaneously. If you don’t who you should be informing, one good technique is to draw a quick “stakeholder power interest grid”. Technology can also help, such as through using tools like  JIRA/Slack or through having short daily meetings.

Teamwork

It is natural that everyone in a team will not have the same experience or speediness in their work. Therefore if you’re feeling annoyed that you are receiving more work than others because project managers notice you are quicker, realise that this is a positive thing and that it is in your best interest for the future to help colleagues as it will pay dividends, and will lead to a positive work environment. Of course, at some point one should be rewarded for working well, and if this is not happening it could again be a problem with management.

Kieran Burke

Leave a Reply

Your email address will not be published. Required fields are marked *