On Friday, 6 June 2014 at 13:24:22 UTC, Dejan Lekic wrote:
On Wednesday, 4 June 2014 at 17:57:16 UTC, Nick Sabalausky
wrote:
On 6/4/2014 7:59 AM, Dejan Lekic wrote:
I humbly believe programmer who does not spend spare time
reading
literature related to his/her work is most likely going to
lose the job
at some point, as people who DO spend time in their
self-education will
take the place.
I know from direct observational experience that, depending on
the company, keeping one's job (or even getting one in the
first place) is not always dependent on one's ability to
actually do the job at all.
(Heck, I've tutored CS 101 students, and even still: the worst
code I've ever seen by far was NOT beginners, but was
production code written by professionals whose jobs were
nowhere near the chopping block.)
Well, we both know that circumstances can be pretty chaotic in
any company. I am not going to defend professionals who write
bad code, but I am just saying that I can understand the
stress, and all that goes together, especially if the person is
senior.
A typical scenario is when (top-level) manager (M) want thing
yesterday, and tell senior engineer (SE)
M: How long will it take?
SE: Well, we did not even analyse the requirements for this
feature. Let's spend some time brainstorming this first, and
then I will be able to do better estimation.
M: We have no time for that, and I think you already have all
you need.
SE: OK, 3 days.
M: What??? We need this thing yesterday!
SE: Well, I could do a quick hack... It will take 1 day, but we
will not have time to test, no time for code quality, etc.
M: DO IT!!!
(that "quick hack" code stays there because next week another
urgent thing came, and SE never had time to make the code
better)
Moral of the story: it is not SE whom we have to blame for bad
code, it can easily be the management who made deliberate
decision for that...
If people knew how laws, sausages and software are made, there'd
be a revolution. :)
I remember that the ATMs of a particular bank didn't work for
several days, because they used an untested patch that contained
an infinite loop.
That said, you're certainly right that continual
self-education is very important (even if one's job isn't on
the line).