Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Almost all developers who work for a large corporation find themselves on the wrong side of site blocking software. It can be both frustrating ("Just let me read that damn blog!") and helpful ("Woah! Dodged a bullet with that site").

In your opinion, what is the right level of blocking to apply to developers and why?

share|improve this question

closed as off topic by Jim G., maple_shaft Aug 24 '12 at 16:26

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

5  
Amusing, I have several times encountered a "Filtered: Hacking content" when browsing for specific issues... I find it quite stupid from a Developers Shop to restrict "Hacking" sites, after all, don't they pay me to hack on code ? On the other hand I find perfectly normal that they would block "Gambling" sites. –  Matthieu M. Nov 27 '10 at 13:55

14 Answers 14

up vote 156 down vote accepted

No site blocking.

If my projects are delivered on time and my productivity is not suffering, I don't see any reason to block anything (except - if you really must block something - well known spyware/malware sites).

I don't really have anything else to add except that.

We are professionals, not children.

share|improve this answer
10  
Agreed, I'm an adult, and my company pay me a not inconsiderable sum to do a job. As long as the job is getting done, I should be trusted to use the internet as an adult. –  Matt Nov 25 '10 at 20:49
66  
+1 we are professionals, not children –  user2567 Nov 25 '10 at 20:56
6  
"We are professionals, not children." - unfortunately you cannot deny that some staff will spend an awful lot of paid-time on social networking sites these days. –  JW01 Nov 26 '10 at 13:51
6  
@JW01 If not social networking, they'd find somewhere else to waste their time. StackEchange, solitaire, phone, reading newspapers... These people (likely 10-25%) will waste time no matter what. You're wasting the other 75-90% of people's time by blocking sites. –  Slokun Nov 26 '10 at 15:05
4  
@JW01: Why is it a problem? We all need some slack. Law enforce you to stop driving when you are tired and rest for a while. Why not stop coding and rest a while in order to avoid big mistake in the code? –  user2567 Nov 26 '10 at 15:35

Personally, I prefer non blocked access, and developers you can depend on in way of work. When they're not working on something they can surf as much as they like.

Unfortunatelly, that doesn't always go.

So, you might block some ... harmful sites (obviously), xxx and such, general (non programming related) news sites, facebook (I can't think of one reason where it could be useful during work) ...

but generally, do keep it open, and work on trying to establish a good working atmosphere.

share|improve this answer
5  
I can't think of a situation where facebook could be useful outside work... Why block news sites? –  dr Hannibal Lecter Nov 25 '10 at 20:51
1  
+1 for blocking Facebook. What about blogs? –  Gary Rowe Nov 25 '10 at 20:52
3  
If you can't trust me to only look at news sites in my breaks, then how can you trust me with your 1,000,000 lines of mission-critical code? –  Dean Harding Nov 25 '10 at 22:06
1  
@Dean Harding - That's not really the right way of looking at it. Responsibility in one area does not automatically assume natural responsibility in another. –  Rook Nov 25 '10 at 22:19
2  
1 reason why visiting Facebook is useful during work: You are testing your application's Facebook integration. –  qes Nov 26 '10 at 1:33

No blocking at all.

Good developers
Those will get the job done, they know how to find information quickly and they also know how to use that information. Of course if you don't give them enough to do, they'll waste their time over at the Stackoverflow Chatrooms :P

Bad developers
Well you can't do anything about them. If you block 90% of the interwebz just because they can't focus on their work, you'll only hinder the good developers... they will leave and you're left with the bad ones! (well in a perfect world...)

share|improve this answer
1  
+1 for not blocking just because there are bad developers –  Gary Rowe Nov 25 '10 at 20:57
    
I tried to waste some time in one of the Chatrooms, but it was mostly empty and the last post was over 19 hours ago :( –  Cyclops Nov 26 '10 at 20:04
1  
Good developers can circumvent any blocking, bad developers can't. –  user1249 Nov 26 '10 at 22:50

Honestly I'm generally ok with site blocking as long as I can actually get to the site's that I need to without a wasting additional time and/or have to jump through a bunch of hoops.

The various corporations I've worked at have blocked sites but they were generally the sites you shouldn't be visiting at work (warez, porn, etc.). If you had a need to get to these blocked sites there was a process to get approval if necessary. I never ran across a site that I needed at work that was actually blocked. Usually I would get a warning page that it hadn't been categorized but I could continue to the site with an extra click. I can deal with that, since I understand what the site blocking was setup as a corporate policy.

Note that they didn't block facebook, etc but they did monitor the amount of time spent on those sites.

share|improve this answer
    
What if you left FB hanging in the tab in the background? –  Rook Nov 25 '10 at 22:19
    
Seems like there could be a considerable stall if you need to file a request to get a site unblocked, wait for it to be approved, then come back and pick up whatever you were looking for. –  poolie Nov 26 '10 at 0:18
    
@Rook, my understanding is that management only tended to say something if it became fairly obvious that you weren't doing much work. –  Ken Henderson Nov 26 '10 at 13:44
    
@poolie, agreed, but like I said I never ran across something that was actually blocked. I run into sites not categorized (especially blogs) but I just have to add an extra click, doesn't really add much time. –  Ken Henderson Nov 26 '10 at 13:45

They can block all they want, I'll just use my smartphone.

share|improve this answer
    
Then they catch you on your cell phone... –  TheLQ Nov 26 '10 at 0:26
3  
+1 Haha. This is what I do. –  Robin Maben Nov 26 '10 at 5:06

Zero.

If you have a developer who doesn't produce, blocking websites won't help that.

The quantity and quality of code produced by a developer is a not linearly scalable with time spent staring into an IDE.

Being productive in creative and challenging work requires "contiguous time" and "flexible time." Contigious time is a block of time where a developer knows he won't be interrupted by anyone, flexible time is time where a developer knows he is allowed to take breaks on his own schedule and rest his mind when he needs it.

Over management is a problem for contigious time, site blocking is a problem for flexible time.

As Jason Fried points out in this tedTalk, ten years ago no one had a problem with employees taking breaks to smoke. Facebook and the like are just modern day version of the smoke-break - they're necessary, useful and should be embraced by management.

share|improve this answer
    
1+ The most insightful of the "no blocking" answers. –  Bjarke Freund-Hansen Nov 26 '10 at 7:38
    
+1 for the "contiguous time and flexible time" observation –  Gary Rowe Nov 26 '10 at 11:10
    
Not disagreeing, but I will note that smoke-breaks have a (sort-of) built-in timer - once 1-2 cigarettes are burnt down it's time to go back. Whereas, when you get sucked into TV Tropes, you may be trapped for days. :) –  Cyclops Nov 26 '10 at 20:08

Have levels of privileges In some cases, usefulness does not apply as criteria for monitoring internet activity.

From limited access upto unrestricted access.

EDIT: Say, Junior-most developers/trainess have no access and no file download rights.

One level up, maybe access to forums and QA sites related to field and/or restricted download bandwidth.

Another level up, no download restrictions but site monitoring.

And even higher, you can decide how much you want to relax for the top management.(most probably unrestricted)

EDIT: If it were upto me I'd only put restrictions on file download rights. Site monitoring is somewhat self-imposed by the workplace environment, I feel.(Or you can even take a signed undertaking for such things and deal with cases that get extremely out of hand.) I wouldn't waste time on that. But watching my bandwidth? Yes.

share|improve this answer
    
So who gets what? Top management get unrestricted access while the junior developer is fully restricted? Or other way around? Would you mind fleshing out your answer to give more details –  Gary Rowe Nov 26 '10 at 11:13
1  
+1 for responding to comments. Personally, I'd work it the other way around - developers are forever trawling the net looking for stuff whereas managers tend not to need quite so much information input. Why do you think top management should be unrestricted? –  Gary Rowe Nov 26 '10 at 13:17
    
@Gary: For that, see my edit. –  Robin Maben Nov 30 '10 at 5:12

The only valid reason for blocking is as a security precaution and aside from a standard phishing filter at a browser level blocking is the wrong solution to that problem.

Let developers see everything on the condition that:

  • They run a firewall and up to date anti-virus
  • They have an anti-phishing filter on
  • They're willing to be held responsible for any malware they introduce to the company if they don't take reasonable basic precautions *.

Beyond that you're more likely to impact productivity than increase it by blocking sites.

* This comes from my experiences with the iloveyou virus where a smart developer I was working with happily clicked on an unknown file with a visible .vbs extension. If you want to be treated like an adult then you do need to act like one and developers don't (or shouldn't) have the excuse of ignorance.

share|improve this answer
    
Not sure that making developers personally responsible for malware is a good idea. What if they were the victim of a spear phishing attack? "You clicked on that attachment from your wife which contained a hitherto unknown virus that exposed a flaw in our database security? You're sacked!" Hmm, maybe I'm being a bit extreme... –  Gary Rowe Nov 26 '10 at 13:22
1  
@Gary - That's why I say reasonable basic precautions. Actions to prevent the scenario you outline are clearly way beyond that. I'm talking about behaving in a responsible adult manner. –  Jon Hopkins Nov 26 '10 at 13:30
    
Fair point - didn't read your answer closely enough. –  Gary Rowe Nov 26 '10 at 13:34
    
+1 I worked for a global financial solution and internet browsing was available, but trough a Citrix Internet Explorer instance! No flash, no activex. –  user2567 Nov 26 '10 at 15:38
    
@Pierre303 - You say no Flash and ActiveX like that's a bad thing... ;-) –  Jon Hopkins May 23 '12 at 10:21

My previous company didn't do any site blocking, but they did put a cap on bytes transferred (It was quite large, reaching it would mean you watched movies for over six hours). We had to institute it because we had a leased line, which was billed via 95'th percentile.

Every attempt at a sensible QoS implementation left people more annoyed than anything, needed constant adjustment and still didn't solve the problem of us going (consistently) way over our bandwidth commitment. And that wasn't even the real problem .. there was plenty of bandwidth to compete for. Making one thing 'slower' than another had very little effect.

To my knowledge, nobody hit the cap. But, people did restrict their recreational use of the bandwidth to a degree that it quickly became a non-issue again, because they didn't want to have to explain why they hit the cap. It turned out to be a good compromise.

I really hate the idea of blocking, period. If you want to encourage me to do stuff like have lunch at my desk .. at least let me do some recreational reading or watch a few funny videos.

share|improve this answer
    
+1 for the bandwidth monitoring approach - good self-limiting angle –  Gary Rowe Nov 26 '10 at 13:18
    
Watching movies for 6 hours? That sounds as large as... downloading GCC sources from SVN! I don't think that such a limit is unreachably high :) –  Pavel Shved Nov 26 '10 at 16:01
    
@Pavel -That was taken into consideration. Many of us had to build cross compilers. –  Tim Post Nov 26 '10 at 16:58
    
@Pavel Shved: with svnsync you can maintain a local mirror of any SVN repository. –  liori Nov 26 '10 at 18:38
    
@liori yeah, but someone has to download it anyway. –  Pavel Shved Nov 26 '10 at 19:04

I suppose it depends on your reason for blocking. If you want to block people purely because you’re afraid they’re going to waste company time, then you are not keeping your developers properly occupied.

I for one would much rather get into the zone with an exciting project than spend time on silly things on the web. Oh, this is of course excluding Friday afternoons...

share|improve this answer

Blocking sites like blogs and google images do not help, sometimes/often answers to problems you have (or if you just forget something) are on sites like these.

If your developers are just spending their time of Facebook and not producing anything, then they don't seem to care they have a job. Ultimately they wouldn't be a programmer if they didn't enjoy it. Having said that Facebook and such sites shouldn't be blocked because there are times when you just need to clear your head.

And I don't see how you can know "Woah dodge a bullet there" if the sites blocked and you'll never know what the site is.

And there's generally a way around it, from simply using a different language, to use the IP Address, to hitting Esc/Stop at the right time (depending on how useless the blocking software is, cough older version of Impero cough) to using a proxy. So more time will be wasted on getting around the blocking than if the site was unblocked

share|improve this answer
    
+1 for pointing out that developers do spend time getting around site blocking software. The "dodging a bullet" comment is to highlight a click on a disguised link on a hacked site which in turn leads to a dodgy site for, say, a drive-by malware attack. The site blocker prevents access and notifies you, in turn you check the URI and realise that you just dodged the bullet. –  Gary Rowe Nov 26 '10 at 22:27

Zero Blocking

BUT have a clean convention in place at office and educate new developers(even old ones) about the perils of having to clean up damages due to the perils of viruses and attacks. Good developers will follow , mainly by a sense of righteousness to do the right thing for their company. Bad ones wont and shouldnt have been hired in the first place.

share|improve this answer

Social Networking and anything instant messenger related.

They're so evil and distracting. Too easy to get people out of their "Zone"

share|improve this answer
    
Including StackOverflow? :-P –  vartec Aug 24 '12 at 15:03

Do not block, but publish the visited URLs and bandwidth consumption.

Of course, you must inform everyone in advance that the URLs that they visit using office network will be viewable by everyone.

Do not block, because you can't predict which sites should be blocked. A site may have suspicious URLs etc but actually contains necessary info for work.

Publish the URLs and bandwidth consumption so you can rely on social control and peer review.

share|improve this answer
    
@downvoter, care to comment on why you disagree? –  Endy Tjahjono Jun 20 '12 at 8:56
    
I'm not the downvoter, but I think there may be privacy problems, even if warned beforehand. –  Duralumin Feb 6 '13 at 9:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.