I’m also a software engineer (at least in title). I agree with the social skills but a different thing came to mind. The ability to actually watch and understand what people are trying to do. I’m lucky as all my software is internal to my company. I don’t make what we sell, I make what tests the products we sell. And yes I test the tests and also test the test’s tests 😭.
I’ll give an example. I have an operation where the operator is to scan a number off a paper before testing. That number is for traceability we need to know which test results are for which unit. Previous engineer said since it’s scanned off the unit it will never be incorrect as long on the printed barcode is correct(separately validated) so no need to verify format.
I ran into an issue where units had an extra zero either before or after the number. So if number was 12345 sometimes it would be 012345 or 123450.
I went to watch the process. The operator scanned the unit( I watched them work all day, this was 1 unit out of a whole days work) and when they put the scanner down the scanner’s corner was on the 0 button of the keypad.
We did a 2 phase remiduation. Stage 1. Operator instructed to log in and then place keyboard on shelf away from workplace. Stage 2. Verify the number is in correct format in code. Yes the code update is simple but in our field needs weeks of work to test, validate, and release.
Actually watching the operator closely identified the problem. The code was not the issue, the code passed all requirements and tests. The issue was the tests and requirements did not match the user’s experience but if I stayed in my cube as for weeks I would not of been able to find the bug.
I’m also a software engineer (at least in title). I agree with the social skills but a different thing came to mind. The ability to actually watch and understand what people are trying to do. I’m lucky as all my software is internal to my company. I don’t make what we sell, I make what tests the products we sell. And yes I test the tests and also test the test’s tests 😭.
I’ll give an example. I have an operation where the operator is to scan a number off a paper before testing. That number is for traceability we need to know which test results are for which unit. Previous engineer said since it’s scanned off the unit it will never be incorrect as long on the printed barcode is correct(separately validated) so no need to verify format.
I ran into an issue where units had an extra zero either before or after the number. So if number was 12345 sometimes it would be 012345 or 123450.
I went to watch the process. The operator scanned the unit( I watched them work all day, this was 1 unit out of a whole days work) and when they put the scanner down the scanner’s corner was on the 0 button of the keypad.
We did a 2 phase remiduation. Stage 1. Operator instructed to log in and then place keyboard on shelf away from workplace. Stage 2. Verify the number is in correct format in code. Yes the code update is simple but in our field needs weeks of work to test, validate, and release.
Actually watching the operator closely identified the problem. The code was not the issue, the code passed all requirements and tests. The issue was the tests and requirements did not match the user’s experience but if I stayed in my cube as for weeks I would not of been able to find the bug.