He could have put his skills to work on an open source project as opposed to just mindlessly typing.
EDIT: Alternatively he could have even created his own internal company project for work. Whether or not they liked enough to keep is another story but at the very least it shows he has initiative, creativity, and he can learn something from his work.
Unless your job has a lot of manual, physical labor; I really find it hard to see how anyone can get bored and do nothing at work especially if you can program.
It is dangerous to write code and try to copyright it yourself while you are on the job. It puts the FOSS project at risk for all his code contributions possibly being under copyright of the company and if they found out they would probably pull all his commits.
If it is their time and their equipment, then it's their IP. Even if they didn't know about it. In that situation, the last thing you need is the legal department on your case.
Plus, what if the project got bug? How can you base something on shaky legal grounds?
I guess it depends on how badly they enforce the ban on "internet for non-work-related" browsing. Could make it difficult, although it sounds like he is a programmer at a tech-ish company, so he should probably have access to most tech/programming oriented sites. Worst case, he could get a wifi hotspot and go to town.
At my last job, I kept a few programming books at my desk, and during slow periods would crack those open and do some self-learning. It was a consulting job though, so those moments were few and far between (as much as I hated having to fill out timecards, billable rates were a good approximation of employee productivity, if you weren't billable, you needed a really good excuse).
It seems that much of what's going on in that department is CYA activity, but it seems to me that an internal project or open source project are the most defensible uses of the time.
Instead of sitting there doing nothing, he applied and sharpened his skills in a way that was productive for someone. His first response should be, "Can the company take credit for my time on this open-source project?" and "If this internal project is useful, can I use these skills to make anything else easier in our department?"
The risk is that he'll violate the "don't rock the boat" principle that is the bedrock of CYA. The possible benefit is that if you have two employees, and one is creatively loafing while the other is creatively applying himself or herself, you know which one will offer long-term value (and be easier on a manager, who won't have to constantly nag the person to keep them from screwing off for 40 hours a week).
An internal project is definitely a good idea -- it can get you noticed in all the right ways. At the same time, it can draw attention to you -- "how do you have time to be messing with this project? Don't you have tasks you should be doing?"
Learning new technology and new programming skills is not "internet use for non-work tasks". It's an expected, constant, never ending part of the job for almost anyone technical; unless they want to have stale skills in 1-2 years.
I would agree with that iff the learning that you were doing was closely related to the skill-set that your company hired you for and/or one they could utilize. See my related comment: https://news.ycombinator.com/item?id=6089570
I strongly disagree. Learning a functional language that is very different from your language at work still has a lot of value. It can help you with patterns and even when your own language evolves. For example, Java 8 will have lambdas. If you're already familiar with it from other "esoteric" languages, it'll be very easy to take advantage of it.
I'm sure others can provide better examples than I can.
The problem with working at a company like that is that by the time you realize you are stuck, you have no relevant practical experience anymore and it can be rather difficult to get hired at places that are worth working at.
This is why github exists. IANAL but I'm guessing when you don't use company resources, do it during off hours, and the open source work you do has no relevance to your company's industry; publishing that work to github should be fine.
For most sane people this is the case. But many companies' boilerplate IP clauses claim ALL of the IP generated while working at the company. The vast majority of them won't give a damn but it still exposes you legally if you are under such a clause and have a side project/contribute to opensource.
There is an elegant way to get out of that. Approach your management (usually requires director-level approval), and say that you are doing some volunteer web site work for [insert charity] on the weekends, and they require a signed release that your employer OK's it. This can also fall under the "requires approval for moonlighting" clause in many employee handbooks.
Then, assign all copyright to your opensource work to the FSF, which is a 501c organization.
Well there's self improvement -- say, learning the ins and outs of internal company software; and then there is "self improvement" -- mucking about with a pet project in an esoteric language that has no bearing whatsoever on the company's bottom line and arguably does not sharpen the skill-set that they are paying you for.
Not every company can afford to let employees "self-improve" on the latter level.
EDIT: Alternatively he could have even created his own internal company project for work. Whether or not they liked enough to keep is another story but at the very least it shows he has initiative, creativity, and he can learn something from his work.
Unless your job has a lot of manual, physical labor; I really find it hard to see how anyone can get bored and do nothing at work especially if you can program.