
Is it ethical to read programming books on the clock? - protomyth
http://workplace.stackexchange.com/questions/12058/is-it-ethical-to-read-programming-books-on-the-clock
======
ACow_Adonis
That feeling in your gut that there's something wrong with what you're doing,
even though you know what you're doing is completely reasonable, is from
having internalised the dominant culture's view on work, which from an anglo-
american context probably means suspicion of anything which doesn't place an
emphasis on a projection of looking busy like a labourer on a factory line
with some kind of neurotic rendition of the protestant work ethic.

Obviously if your boss is a tool, or has issue with it, even though its
reasonable, whether to continue on with it any way is up to you.

But if you know its reasonable, and its just the feeling, screw that feeling.
Your life will be better off if you can get rid of it completely. Its the same
feeling that makes bankers stay at the office for 12 hours even when they
don't do anything for 6 of them. Not only will you do your job better if
you're spending some time researching and thinking about the task, but if your
boss is a tool, you'll likely be upskilling your future self for your next job
as well.

All this is assuming you work at a job or living a life where your skills are
actually the important thing, and not just the impression you are constantly
working...

~~~
robin2
The odd thing about "looking busy" in the context of software development is
that goofing off by browsing random stuff on the internet looks more work-like
than reading a work-related book.

------
noonespecial
Stop and sharpen the axe?! There's too much wood to cut to spend time
sharpening the axe!

[http://c2.com/cgi/wiki?SharpenTheSaw](http://c2.com/cgi/wiki?SharpenTheSaw)

~~~
ot
That's a surprisingly fitting analogy. Also related,
[http://en.wikipedia.org/wiki/Technical_debt](http://en.wikipedia.org/wiki/Technical_debt)

------
greenyoda
You can ask the question the other way: Is it ethical for your employer to
expect you to obtain the knowledge to solve a work-specific problem on your
own time and without pay?

~~~
k-mcgrady
>> "Is it ethical for your employer to expect you to obtain the knowledge to
solve a work-specific problem"

To play devils advocate:

If you have applied to do the job shouldn't you already have the knowledge? If
you can't do a job you have got it dishonestly or their was a failing in the
hiring process.

If the job has changed to incorporate something new (e.g. a new technology)
that it did not when you were hired then learning during working hours should
be acceptable.

~~~
ritchiea
It's implicit in most of our work arrangements that we have to learn new
technologies to excel at our jobs to greatest degree possible. If your
employer does not realize this that's a problem. Realistically if you are at
your job for more than a few months some of the technologies you need to
perform at your best have not been released yet/have not reached production
quality yet. Sometimes its most fitting to read documentation and/or blog
posts to prepare yourself to use new technology, sometimes a book is best.
Anxiety about reading technical books is most likely anxiety about fear of
looking like you're not doing work.

------
pron
This is another of those beautiful pieces I call contemporary historical texts
that often make their way to HN. I'm referring mostly to this bit:

 _And to address the question of why I don 't just read these programming
books at home: on the off-hours, I read books about self-improvement,
psychology, productivity, marketing, business, and other topics that certainly
improve my overall effectiveness as an employee, but usually don't have much
to do with programming._

So on the _off hours_ he's reading books about self-improvement and
productivity, and other topics that increase his effectiveness as an employee.
We are now apparently at that stage where our employers and jobs have been
sublimated. They don't even need to be there in order to make us more
"effective". Being effective is what we _want_ to do.

And I ask myself, whatever has become of wanting to stay in bed? Where is the
desire to be completely ineffective and blissfuly idle? If I were Picasso,
Bach or Einstein the world would be better off if I were effective, but since
I'm not, I wish I could be ineffective, and lazy, and just spend as much time
as possible doing absolutely nothing. But I can't, because work has first
turned from being a very unpleasant necessity and the domain of the
unfortunate into a mark of responsibility and usefulness, and recently into an
essential part of the self.

The number of people making significant contributions to our culture is
vanishingly small. But aside from those poor bastards on whose shoulders we
sometimes need to stand (and even our heroes in this day and age are more
over-achievers than geniuses), wouldn't the world be better off if we could
all just slouch?

~~~
a3voices
There is no logical reason why you "should" be more productive, especially if
you will survive regardless. I agree on that point.

However, imagine you were watching a replay of your life, like it's a movie.
Would you rather watch a replay of a boring person who sleeps all day, or a
more interesting one where stuff happens?

~~~
alecdbrooks
I think I might agree with what you're getting at, but I'm not sure "watching"
is the correct metaphor. Watching a programmer program is likely to be nearly
as boring as watching someone sleeping even though it's interesting from the
programmer's perspective and productive.

------
anonymous
In my view, if you actually do 8 hours of work in a single day regularly,
meaning you perform a physical action which is directly attributable to your
work description for a total of at least 8 hours every day for at least 5 days
in a row, then you are one of:

* a physical labour worker

* a genius

* a sucker

* working crunch time to deliver a release (a potential sucker if the crunch time doesn't actually pay off)

* someone whose mind is too alien, that I cannot form a theory of mind ([https://en.wikipedia.org/wiki/Theory_of_mind](https://en.wikipedia.org/wiki/Theory_of_mind)) for

------
mjburgess
The scary thing here is that people are phrasing economic obligations in moral
terms. You may get fired for doing something your boss doesnt like, that has
nothing to do with whether it is immoral to do so.

> It's unethical to act against the express request of your employer;

!

~~~
tokenizer
Great point. I feel like your highlighting the core issue this is bringing up:
worker autonomy.

IMO, why wouldn't you want more worker autonomy than less when it comes down
to knowledge based crafting? We see innovation as the key to success in
reality, yet managers and executives FEAR it I say!

~~~
KevinEldon
Successful teams collaborate on decisions. Technical decisions, decisions
about how, are best left to developers... although insight from management
about changes in the team, new features, and the like can significantly impact
those decisions. Decisions about what to do are more frequently business
decisions, including prioritization of the work. Respect, understanding
responsibilities, and collaboration is the makings of a good team.

------
Oculus
I think the top answer is very reasonable. As long as it relates to your work
it's fair game. I'd add that exploring other technologies (through reading)
wouldn't be too unethical as if you stay in the bubble of your own stack, you
won't ever be able to explore other tools that might do the job more
effectively.

~~~
demallien
I think it comes down to how directly related the book in question is to the
work you are currently doing. If you're trying to debug a problem and to do so
you need to understand a system that was previously a black box to you, well,
you shouldn't feel bad about leaning back and reading a book or two - until
you know enough to fix the bug. This also applies when trying to optimise
systems.

If the book is something that is not directly related to the job at hand, for
example you want to know a bit more about Git or Vim, as tools that you use
every day, this is also fair game, although I would expect it to be done more
as a one-hour block here or there, particularly when you're tired and not able
to focus on coding.

If it's about some new technology that isn't going to be of direct benefit to
your employer it's a little trickier. In those cases it comes down to your
current workload. If you have deadlines coming up this is not the thing to be
doing. On the other hand I have noticed in my career that it's quite common
for things that I have read from pure personal curiosity to turn out to
provide game-changing insight into my job. That afternoon you wasted reading
about a reverse engineering technique came into play when a library you bought
wasn't working correctly and the supplier is stone-walling you. That book on
SQL databases turned out to be really useful when you all of a sudden had to
manage a large data set.

The thing is that any decent employer should be OK with you spending a portion
of your time in pure learning mode. If they aren't it's more of a signal that
you should be looking to change jobs, rather than that you are goofing off.

------
hrktb
It can be answered by reversing the question. Would it be ethical for your
current employer to ask you to do a job outside of the scope he explicitly
hired you for ? I.e. would you do photoshop work in a pinch, even if you're
paid as a database engineer ? Would you help brainstorming the UX of a product
while you were brought in to deal with performance bottlenecks ?

If you think you should put your whole knowledge and skillset to solve any
problem coming your way, no matter what's written on your contract or business
card, you should allow yourself to expand this knowledge and skillset during
work hours as long as there is no direct damaging effects to the things you
work on.

------
jodrellblank
If you were a lawyer you would happily travel to a meeting on a train, book
another meeting in the same city, bill both clients for travel, and bill
another client for the reading research you did on the train that's relevant
to their case.

Alledgedly.

------
edw519
Programmers shouldn't be measured by minutes clocked, but by value delivered.
There is often little correlation between the two.

The sooner management understands this, the sooner this question doesn't even
get asked.

------
ths291
How does one work effectively as a coder without doing so?

~~~
atmosx
Actually I'm not 100% what professional coders do, but when I can't figure out
a piece of code myself (talking about semantic errors), I google it, find a
solution I understand or spent some time understand the available solutions
and then implement them.

I guess under strain, people might implement huge chunks of code they don't
really understand.

The other way you can achieve the same result is reading a book on the topic
trying to understand how it all works at lower level and creating your own
implementation.

The second process is much more expensive in time and time is your currency at
work.

A good programmer theoretically should implement something simple that he
understand first and then come back with a _professional_ solution.

Not sure how often that happens though.

------
Raphmedia
Totally ethical if you ask me.

Sometimes, there is not much work to do. All of my stuff is done, we are
waiting for the client, etc.

What would you have me do? Browse facebook or hacker news?

Nope.

I open a pdf or an epub and read it!

... that being said, I would feel wrong to read a physical book. I guess I
feel as if I am expected to be at the computer for 8 hours a day.

------
teebrz
Is it ethical to get up and get a cup of coffee on the clock? Stop and chat
with coworkers? Browse the Internet?

It's unreasonable for employers to expect you to spend 100% of your time 100%
focused on the 'task at hand'. You need to have a little downtime on the clock
for reflection, thinking, stress relief, etc especially if you are a
programmer. Frankly if I was an employer I'd be happy if you were using it try
and keep sharp as opposed to looking at lolcats or something (not that there's
anything wrong with that).

Of course this has to be "within reason", and an employer is well within their
rights to decide that certain activities are too disruptive and ban them.
Violating an explicit ban would be somewhat unethical.

Another question: is it a _polite_ thing to do? There are certain general and
company specific social norms for what and how much of that stuff is
acceptable.

So I would say go for it, with the caveat that you shouldn't abuse the
privilege.

This is for employees ofc. As a freelancer I try to be very conscientious
about stopping the clock when I feel I'm not adding enough value for the
client. I get paid a higher rate than I probably would otherwise, and
therefore don't screw around. I do sometimes bill for reading that's done for
research for the project, just as I don't stop the clock every time I look up
something in the docs - but I do this as little as possible and always with
the clients understanding.

------
venomsnake
Only if it is a quality book.

And if your employer is not interested in investing in your education and
development it is time to switch jobs.

It is ethical - my job is to solve problems. If I need to do research how to
solve a problem best it is unethical for me not to do it.

When I am stuck on a problem, usually I take a long lunch, shower or hit the
gym. Having few hours doing something else allows me to attack the problem
from another angle. And usually I solve it better and faster that way.

As long as you don't work for pointy hair boss it should be fine.

------
dragonwriter
If you are a salaried rather than hourly employee, what does "on the clock"
mean? You're paid to get work done, and the degree of independence you have in
how you do the job is a major part of what justifies your employers claim that
you are FLSA exempt -- outside of government service, almost all employers
claim this about all employees engaged in analytical or development positions
related to software.

------
davidgerard
... what? _Not_ reading documentation on the clock would be unethical.

~~~
mden
There's a difference between documentation for w/e you are working on and
documentation for this cool new framework you saw on HN that has little to do
with your duties.

~~~
davidgerard
True. One has to apply one's conscience to the question of whether one is
sharpening the saw, decompressing, skiving or what.

But I have _e.g._ said to my boss "I'm reading up on 'Orrible for the next two
hours", put on the headphones ( _Metal Machine Music_ by preference ... it
never gets old) and read far too much about Oracle, ignoring with explicit
permission anyone who interrupts. That's clear. New thing you've never seen
before that is suddenly your problem? TOTALLY hit the books on the clock.

Learning about the thing you are dealing with at work is totally work, and if
it makes your work sufficiently more effective then not doing it is the wrong
thing.

------
danso
I'm OK with it, as long as it's directly relevant to work. I spend a lot of
time coding at home on work-related projects, so it evens out for me.

I'll even go so far as to say that reading HN (the tech stuff, not the
political discussions, though those are interesting to me too) has been very
helpful. I know people tire of MongoDB vs. SQL, CoffeeScript vs JavaScript,
etc. etc., but for those who haven't been exposed to _why_ such controversies
exist (which is, pretty much everyone straight out of school and anyone whose
work is limited to legacy codebases), these topics...for a time...can be
incredibly useful in widening your scope and changing the way in which you
assess your own domain, even if it's not necessarily about moving to a new
technology.

(it's not that HN is in itself useful, it just happens to be one of the best
aggregators for such material)

------
anon493i
A boss pays you to do a job, if you do the job adequately the boss continues
the employment. There is nothing beyond this, no duty, no morality. As we have
all seen there is certainly no inclination for such things coming from the
corporate side. We work in a capitalist system, playing the game as it's meant
to be played releases you to work solely in your self interest. I would ask
the Boss if he allowed me to operate in this manner, if he says yes I would
consider myself pretty lucky. If not I would decide whether this affronted my
dignity as a wage slave too much and if so look for another employer.

------
smegel
Is it for your current job or the one you are applying for?

------
brandonhsiao
The fundamental point is what you're getting paid to do. Is the company paying
for your experience or aptitude?

If it's the latter, becoming a better programmer is part of your job, and
choosing to read books instead of writing code is just a choice of priority,
just like choosing to work on one feature of the project over another.

If it's the former, ask yourself if you really want to be working for this
company.

------
dsr_
Given that I routinely tell my minions to expense the books that they need, to
look up the answer in one of the books I have on my shelf or the group's
shelf, and that we have in the past (and may in the future, I dunno) purchased
corporate subscriptions to Safari Bookshelf and similar programs, I think the
answer is pretty obvious.

------
Havoc
It think so - if it relates to the current assignment. Hell we've got a time-
code for it. "Technical reading".

------
volume
From a holistic point of view, reading that book could help boost momentum,
focus and drive for whatever problem you're trying to solve. It's a part of
process that is inherently creative. To set such rules, can be stifling for
certain people.

------
LBarret
In the company I work for, it is mandatory. 1 or 2 hours per week. Choose your
subject among those we need to master and take time to read, think and get
better.

------
interstitial
My brother works for a three-letter tech company. They require a certain
amount of "reading" per week (and testing).

------
fnordfnordfnord
Is it ethical not to?

------
benched
The very question gives me an ugh feeling. I try to do right by my friends and
family. I try to do no harm to all you random NPCs. I don't try to do anything
by my employer, except stay employed for as long as I want to, and do as good
a job as satisfies me.

------
aaron695
> Is it ethical to read programming books on the clock?

It's a badly phrased question but getting at what it's really asking, then no,
it's not ok.

Being paid to further yourself is not what a job is.

And no, reading is not 'work'.

It's like asking should I be paid for 100% of the time when being forced to
travel for work.

Work should give you some travel allowance, and work should provide some
training.

But being paid to read is basically slacking off.

~~~
sanskritabelt
Just to make sure, are you saying that an employer should not have to pay for
100% of one's time when traveling for work?

~~~
aaron695
Correct.

It's certainly never done I've heard of?

Some companies will count your travel time, but I've never heard of anyone
being paid for the other time you're forced to be away form home.

[Edit]So, my point is there's work, and there's work. Reading a book I don't
think is valid work. Reading a book then using company time to use/develop
those idea I don't have a issue with.

But readings fun but pointless without implementing the ideas. Hacking is
about doing, not reading.

We all have facebook time at work, if you want to swap that out, also fine.

But to be 'On the clock' using the ~ 4 hours per day programmers do real work
to read I don't think is appropriate.

