We've got a new contractor in my group, and I"m pleasantly surprised - they're proactive, smart, and easy to get along with.
I'm very happy to have someone who I can describe a task to, and find it done in only slightly more time that I would take (due to my being already up to speed on the issue)
The only mild flaw is needing rather longer explanations than I prefer to give, and being a no-UNIX type.
Developing software in the Real World is different from all the theory. I'll attempt to explain my insights into this process, based on 25+ years in the industry in a number of different companies.
Thursday, November 15, 2018
Wednesday, November 07, 2018
Humility as a Programmer virtue
Humility is good in programmers.
Not just 'humility as lack of arrogance', but 'humility as not assuming you know everything'
A few days ago, a cow-orker had an issue pushing some code into our repository, and had to recreate the work. He pushed the fix, or so he thought. I went to our build machine (yes we don't had automated builds, mea culpa), cloned the repository, and tried to build the system. When it got to his code, the build failed due to a missing file.
When he arrived, I mentioned that I was unable to build the repository version of his code, and his reply was "And yet I can build it in my workspace"
It pissed me off because he has had previous cases of him forgetting to add files to the push, so he should know that it's one of the possible errors he could make that would show up on another machine.
So be humble. If someone mentions something you worked on is not right, ask them to show you what is going on before you attempt to evade blame.
Not just 'humility as lack of arrogance', but 'humility as not assuming you know everything'
A few days ago, a cow-orker had an issue pushing some code into our repository, and had to recreate the work. He pushed the fix, or so he thought. I went to our build machine (yes we don't had automated builds, mea culpa), cloned the repository, and tried to build the system. When it got to his code, the build failed due to a missing file.
When he arrived, I mentioned that I was unable to build the repository version of his code, and his reply was "And yet I can build it in my workspace"
It pissed me off because he has had previous cases of him forgetting to add files to the push, so he should know that it's one of the possible errors he could make that would show up on another machine.
So be humble. If someone mentions something you worked on is not right, ask them to show you what is going on before you attempt to evade blame.
Monday, October 29, 2018
Exceeding Authority
One of my cow-orkers keeps acting like he can dictate what I do. We report to the same supervisor, and work on separate projects, although my projet is a data source for his. But today we had a meeting about data formats and such, and he starts handing out tasks to me. And it's a task that makes his life easier at a cost to my usability.
THIS IS NOT ACCEPTABLE.
I do not work for him, and he knows this. So I fire off an email to our common boss to outline that of the 3 items in the email, one is already in progress, one is clearly a bug that we will be addressing, and the third is a new *request*, and one that has ramifications to prospective other clients of our system.
I am pissed off that I had to do that. This is not a case where there is a real vacuum in the structure. And it comes from a guy who was all over our not sending as much data as we claimed we were, until he realized he had forgotten the multiple messages in a payload that we all had to deal with.
THIS IS NOT ACCEPTABLE.
I do not work for him, and he knows this. So I fire off an email to our common boss to outline that of the 3 items in the email, one is already in progress, one is clearly a bug that we will be addressing, and the third is a new *request*, and one that has ramifications to prospective other clients of our system.
I am pissed off that I had to do that. This is not a case where there is a real vacuum in the structure. And it comes from a guy who was all over our not sending as much data as we claimed we were, until he realized he had forgotten the multiple messages in a payload that we all had to deal with.
Thursday, October 25, 2018
Ctrl-Alt-Delete
Have you ever had a colleague who does not seem capable of quickly jumping to a new topic? One whom you can see rebooting the monitor process when you ask a question that is not about exactly what they are doing at that moment?
Not the context-switch of "I'm deep in thought about X, when you interrupt" but the part after that, when you have their attention.
Then add in the annoyed "I have no idea what you are talking about"
my life, several times each week
Not the context-switch of "I'm deep in thought about X, when you interrupt" but the part after that, when you have their attention.
Then add in the annoyed "I have no idea what you are talking about"
my life, several times each week
Friday, October 12, 2018
Monolingual Programmers
Perhaps I'm getting cranky in my old age, but I find it extremely irritating that there are programmers out there who do not attempt to use more than one programming language in their jobs.
It's a fucking 21st century, people, it's not that hard to learn a programming language enough to work in it.
It's a fucking 21st century, people, it's not that hard to learn a programming language enough to work in it.
Followup on "NOW we need to test"
As expected, the test plan I wrote has been soundly ignored. I provided it, and the priorities are nowhere near that product. My originakl individual assessment has been deemed satisfactory.
I'm so glad that I spent the time writing up a test plan.
I'm so glad that I spent the time writing up a test plan.
Thursday, September 27, 2018
Saw it on a button
When I was in college, I had the hobby of collecting pin-on buttons with geek-related sayings. Stuff like "God is real unless declared integer" and the like.
During one exam, I wore one that read "I'm surrounded by idiots!"
I feel that today.
At The Job, we are realizing that a departed contractor left a lot of buggy code in his wake. As we find the problems, we are fixing them. One of them involved code that filtered out excess notifications based on time and some other factors. The other dev was done with his tasks and so he started looking at the code. We realized that it was not filtering correctly, so he started making fixes. When he was done, he asked how we were going to test it.
This is not a n00b, this is a dev with 25+ years experience. Sure, the project is fed gigabytes of data per day, but we already know that we can test a binary in isolation. So the obvious way to test it is to create a data file with the desired qualities for the filter (pass and block values) and run that file through the code.
So it seems to be to be blindingly obvious that this was the way. But it did not to him. So I ended up writing the generator and running the tests, showing hiom the results, waiting while he fixed things and put the new binary on the test machine, etc, etc, etc.
Sheesh.
I was trying to let him run with a section of the project as his domain, where he would be the SME, and I would stay out of it, but he just does not seem to cotton to the idea that he needs to be proactive and look ahead of the one thing he's currently doing.
All I gotta say is that my boss better put me in for another level bump ASAP
During one exam, I wore one that read "I'm surrounded by idiots!"
I feel that today.
At The Job, we are realizing that a departed contractor left a lot of buggy code in his wake. As we find the problems, we are fixing them. One of them involved code that filtered out excess notifications based on time and some other factors. The other dev was done with his tasks and so he started looking at the code. We realized that it was not filtering correctly, so he started making fixes. When he was done, he asked how we were going to test it.
This is not a n00b, this is a dev with 25+ years experience. Sure, the project is fed gigabytes of data per day, but we already know that we can test a binary in isolation. So the obvious way to test it is to create a data file with the desired qualities for the filter (pass and block values) and run that file through the code.
So it seems to be to be blindingly obvious that this was the way. But it did not to him. So I ended up writing the generator and running the tests, showing hiom the results, waiting while he fixed things and put the new binary on the test machine, etc, etc, etc.
Sheesh.
I was trying to let him run with a section of the project as his domain, where he would be the SME, and I would stay out of it, but he just does not seem to cotton to the idea that he needs to be proactive and look ahead of the one thing he's currently doing.
All I gotta say is that my boss better put me in for another level bump ASAP
Subscribe to:
Posts (Atom)