For a salaried worker, of course it is fine. As long as you meet your deliverables, they shouldn't care what you do.

If you're contracting, studying on the clock is unethical. Referencing a book now and then is fine. But you can't bill a client because you don't know how to do something and need to read a tome first.

Where does this person work that he is both a computer programmer and also "on the clock"?

Everywhere I have worked as a programmer, both in Europe and in the USA, there was no clock apart from "show up at work and get your stuff done". As long as the work is done on schedule (or approximately on schedule) no one would ever bat an eye at reading programming (i.e. work-related) books.

I would draw the line between reference materials and more general programming books. I shouldn't spend an employer's time and money teaching myself a language, but no one can remember ALL of the sometimes subtle details of a given language. That's common sense, I think, unless the employer knows that you're taking on something new, on their time and dime. ("We need you to pick up at least enough of this to get XYZ done...")

Versus playing WoW on the clock or other uses for the Internet..."The Internet is for ...." - need I fill in that blank...?

I mean, really, if they hire you and make you prove you are at least 200% qualfied for the job to even consider you, and there's no job security right down to the company level, of course you'd better be studying. As long as it doesn't get in the way of what you are doing, IMO its the best.

Any employer that does not embrace employee professional development be it a book or an online course is missing out. As long as these things do not impact the ability to perform your job and are related to your job function and or advancement in the company there should be no issue.

I have never heard of anyone getting canned for trying to educate themselves at work

Now reading something or taking a course that does not relate to your job function and or job advancement should probably not be tolerated.

I know I have an actual budget for professional development that I use on books, courses, etc. All of these can be done on company time - as long as they do not interfere with my primary job function.

As someone that works in a hospital and participates in medical research on people I kind of roll my eyes at the ethical considerations of reading a book at work. Especially a book related to your work. This is the smallest of small beans in the world of ethics.

I can only speak for my own profession (scientist), but any reading that helps you do your job should be encouraged. In the lab, probably 10-20% of my day is spent reading papers and looking up methods. It's background work that is needed to do the job, and I've never been in a lab where this was questioned.

I think the lawyer example is great. Not necessarily for what he says but for what is implied. The implication is that it is relevant to your job. For the lawyer example if they are reading case law that they believe is relevant to your case and billing you for that it seems ethical and reasonable to me. Their effort may well have an impact on how well they perform their duties for you. Now if they are reading case law not related to your case, different area or for a different client and then billing you for it then yeah that is unethical.

I think that same thing is key for your reading programming books at work. What are you reading and why are you reading it? Is it related to your job and at least possible if not likely to be helpful in the future? If the answer is yes then I think you are fine and if you still feel bad about it talk it over with your boss and get a definite yes/no.

If you are reading something unrelated for intellectual curiosity or because it's the hot new thing and it will look good on your resume then you should probably do that on your own time.

I can only speak for my own profession (scientist), but any reading that helps you do your job should be encouraged. In the lab, probably 10-20% of my day is spent reading papers and looking up methods. It's background work that is needed to do the job, and I've never been in a lab where this was questioned.

My grad students posting on Facebook...that's a different story.

I work in a USAF calibration lab and I spend probably the same amount of time reading up on new measurement techniques and methods as well as issues other labs are running into with things I may have to deal with. It's not going to delay your deadlines, but its critical to doing the job correctly.

For salaried employees, of course it is OK. Anything that helps me do my job better is a good investment to my employer.

For hourly, not so much. When doing hourly work, I track time I am reading up on general software engineering topics in the middle of the day and don't bill for it. (E.g. if after lunch I get sucked into an article on functional programming techniques.)

I'm a professional programmer and I haven't looked at a programming book in over a decade. A quick Google search will find you a wealth of resources including tutorials, videos, and even code examples about what you may specifically be trying to do. Google is also a Godsend when It comes to troubleshooting. If you are faced with a mysterious error you can almost be guaranteed that someone else has already faced that same issue, posted about it, and gotten a helpful answer.

I'm not a programmer, but I've read Go Rin No Sho on the clock and convinced the boss it's applicable to my job. (It was while a memtest86 was running)

The Art of War is quite overrated. Most of it should be just common sense, and it's frequently, painfully misquoted (Commander Beaverface). But I suppose it wouldn't be out of place in a Starbucks for someone in a beret to read it while typing on their macbook and trying to look intellectual.

Back in the day, it not only was ethical, it was a *requirement* to read relevant programming manuals, or any other relevant technical documentation "on the clock". It was also *required* to keep up with current technical changes (again "on the clock"), and a percentage of each week was allotted to that.

Not only that, my employer sent me on 3 paid-for (by them) residential programming and systems administration courses that were relevant to future work.

The current trend of employers requiring employees to acquire new expertise with absolutely no assistance is as awful as "At Will" employment, and "no overtime" yet regular 50-60 hour weeks.

As much as I hate the unions of the past, we software developers are our own worst enemies, and should seriously consider unionisation.

All that said - I'm still in the software business, and haven't felt any need to buy any books in *years*, but that's because I have the basics down solid. If I was to need to switch from general programming to something like Lisp or Haskell, it'd be a very different story!

Put yourself in the place of your employer: An employee who is developing his or her skills is becoming more valuable. Such an employee is also showing initiative -- an intrinsically good trait.

You should talk to your manager, but my guess is that he or she will be excited for you to read programming books (assuming they're somewhat related to your work), and the only caveat is that you need to make sure you're still meeting deadlines.

Let me second/third/fourth what several others have said here. I am assuming you may be fairly young in your career and by "on the clock" you mean "during work hours".

Professional development will rarely be seen as a bad thing in the workplace (if it is where you work, run for the door) In addition, many companies offer $$ as well as time for courses, books, online continuing education, etc. and I strongly encourage you to avail yourself to every drop of it. I would even go further and tell you not to limit your reading to programming but also look at business and industry related topics as well.

Things like:- Materials on business communication - MBAs talk a different language and learning to talk their language is always in your benefit.- Industry-related materials - If you are, for example in the power generation industry, learning more about what and why your company does where it does it can give you a great insight into improving projects and processes (hint, this makes you look awesome in front of most bosses and bosses of bosses)- Six Sigma and process books - back to MBAs and their own language. Learning this sort of stuff helps, period.

I was recently put into a situation at work that was quite stressful and almost lost my job because of it. However, because my boss had seen my level of business knowledge, my willingness to improve and my understanding of our company's product (much deeper than required for my basic job function) I was retained, with a verbal warning and given a few communication books to read. I used those a conversation catalysts with my boss and have now found my way back into his good graces (and possible advancement). After all, at the end of the day, the worst thing you can do with professional development is make your resume look better. (And I guarantee if you read the type of books I mentioned above and ask a potential employer what his favorites are, you will get hired much faster than if your most recently read book is "The Readers Digest collected short stories: Toilet Edition")

I'm not in this profession, but I think seeing someone reading work-related material as a dedicated employee looking to constantly learn and improve. Considering most workers are far more likely to be caught reading a magazine, playing a game on a phone, or wasting company resources on YouTube cat videos, I think the boss might actually stop to check the inside of your book to make sure something else isn't hidden inside.

Now if all you ever do is read books on the job, I'd be asking some serious questions about either your qualifications or your necessity.

Where does this person work that he is both a computer programmer and also "on the clock"?

Everywhere I have worked as a programmer, both in Europe and in the USA, there was no clock apart from "show up at work and get your stuff done". As long as the work is done on schedule (or approximately on schedule) no one would ever bat an eye at reading programming (i.e. work-related) books.

In the USA, there are legal guidelines that govern such things. The intent of those guidelines is to make sure that workers are paid appropriately for the work that they do, including overtime if they are required to work beyond the standard workday. That means counting each hour worked.

There are exemptions for managers and professionals. There is a specific exemption for computer professionals, but it requires that they be involved in the "design" of computer systems.

My first two programming jobs, I was a full-time hourly worker. Both organizations interpreted the guidelines as saying that entry-level programmers did no design work (HA!) and were essentially laborers who typed out code for a living.

Where does this person work that he is both a computer programmer and also "on the clock"?

Everywhere I have worked as a programmer, both in Europe and in the USA, there was no clock apart from "show up at work and get your stuff done". As long as the work is done on schedule (or approximately on schedule) no one would ever bat an eye at reading programming (i.e. work-related) books.

In the USA, there are legal guidelines that govern such things. The intent of those guidelines is to make sure that workers are paid appropriately for the work that they do, including overtime if they are required to work beyond the standard workday. That means counting each hour worked.

There are exemptions for managers and professionals. There is a specific exemption for computer professionals, but it requires that they be involved in the "design" of computer systems.

My first two programming jobs, I was a full-time hourly worker. Both organizations interpreted the guidelines as saying that entry-level programmers did no design work (HA!) and were essentially laborers who typed out code for a living.

In some cases you can be both a salaried professional and "on the clock". I'm a salaried engineer, but also get paid overtime. The overtime is not mandatory (i.e. I could work 60 hours a week and NOT get paid for it because I'm salaried), but is paid at the discretion of the project.

I don't understand what is wrong on reading some docs and wikis on new syntax for coding. I mean in the nature of programming, it is so vast and complex that one has to forget basic things. I seriously don't understand the 'boss's' or company's snob attitude over this, as long as your working on the project, then it should be ok right? I mean is it wrong for an Engineer to read manuals on new hardware? Wtf.

For salaried employees, of course it is OK. Anything that helps me do my job better is a good investment to my employer.

For hourly, not so much. When doing hourly work, I track time I am reading up on general software engineering topics in the middle of the day and don't bill for it. (E.g. if after lunch I get sucked into an article on functional programming techniques.)

That depends on the job; if you have a client that wants some skill you haven't advertised, it's entirely reasonable to bill for time spent developing a client-requested skill set.

For a salaried worker, of course it is fine. As long as you meet your deliverables, they shouldn't care what you do.

If you're contracting, studying on the clock is unethical. Referencing a book now and then is fine. But you can't bill a client because you don't know how to do something and need to read a tome first.

That's pretty much exactly what I was going to say.

A company has a vested interest in having their employees improve themselves. A lot of places will actually pay you to take training courses. So long as it's something at least tangentially related to your job, it should be fine.

On the other hand... If you are not an employee, but an independent contractor, by no means should you be learning on the client's dime. To the point where this clause is included in the contract I give clients:

Quote:

Neither Consultant nor Consultant's staff shall receive any training from Client in the professional skills necessary to perform the services required by this Agreement.

If you're a contractor, you are not selling your time, you are selling a service. If you do not have the skillset to perform the service, you should not be selling it.

For salaried employees, of course it is OK. Anything that helps me do my job better is a good investment to my employer.

For hourly, not so much. When doing hourly work, I track time I am reading up on general software engineering topics in the middle of the day and don't bill for it. (E.g. if after lunch I get sucked into an article on functional programming techniques.)

That depends on the job; if you have a client that wants some skill you haven't advertised, it's entirely reasonable to bill for time spent developing a client-requested skill set.

If the you have told the client that you don't have the skillset required to perform the services they request, the client decides to continue using you instead of finding another contractor (plenty of reasons why this would happen: trust, familiarity with their business and/or technical domains), and the client has explicitly agreed to pay you for your training, then that's not a problem.

If it's something that would likely be useful to you beyond the scope of this one client, I would just learn it on your own time. Maintaining a wide skillset is one of the trade-offs you make by being a contractor, not an employee. The time you spend learning not only allows you to take the contract, but also improves your business long term.

Of course, if the client needs knowledge in some obscure system or technology that you will never likely use again, and learning it is a waste of your time beyond this single client, then it makes perfect sense to either refuse the job, or tell them that they will be paying for you to learn whatever they needed.

In short, if the client has agreed to it beforehand, learning on the job as a contractor is perfectly fine. Billing after the fact for your training in a service you have already sold them, however, is completely unethical.

I'm a product manager, and I'm all about our development and quality teams improving knowledge. We'll typically use planned hours for research that pertains to the work at hand. If it's for personal/side projects, I like to allow the team to reserve 1-5pm on Fridays for this, as pet projects have become big features in our apps.

My employer required me to learn the basics of cold fusion to work on a project, they happened to have the necessary books available in an online training setup, so I took them up on it and learned the basics. We wound up going with jsp instead for the project but hey I got to learn some cold fusion. They also have tons more books and as long ass I get my work done they don't care.

But you can't bill a client because you don't know how to do something and need to read a tome first.

Of course you can. Any time I have to spend learning your system or weird programming language is billable.

There's a difference between learning a Client's in-house systems, and training yourself in skills that any professional in your field should know. The former is something you can bill for, the latter is not.

I'm an hourly, full time employee, and I spend about 80% of my time doing development of one kind or another. I read all the time when working on projects. It never occurred to me that someone would consider it improper.

As others have said, being a consultant would be different. If you're selling yourself as a person with a specific skillset, you should have that skillset when you walk in the door. If you're an employee, then learning and development that is directly related to your professional responsibilities is something your company should be paying for (lots of gray areas, of course).

I think there's some difference between reading to solve a work-related question and reading in order to keep up with technologies, advancements in other fields, etc.

As a salaried programmer, I'd say the the first is fine on company time, but the second is your *personal* professional responsibility, not your employers, and should be on your own time and dime.

I buy and read a few hundred dollars worth of books each year, and that's part of my personal responsibility. It's what distinguishes professionals from many other jobs, whose responsibilities are limited to the hours worked. (Again, books that are directly related to what I am working on *are* billed to my employer.)

(I would also say that web sites are great for answering work-related questions, but usually not so good at introducing new fields or paradigms. I find I absorb more from paper, especially when the concepts get really arcane, and I need to go over information multiple times.)

As a manager of departments doing a lot of IT development, I would say that one of my biggest problems has been staff with outdated IT knowledge. So I would be delighted to walk by their offices and see them reading up on current languages and technologies. I would promote the readers to encourage the others.