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?

  • 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. Commented Nov 27, 2010 at 13:55

14 Answers 14


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.

  • 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
    Commented Nov 25, 2010 at 20:49
  • 66
    +1 we are professionals, not children
    – user2567
    Commented Nov 25, 2010 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
    Commented Nov 26, 2010 at 13:51
  • 7
    @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.
    – Tarka
    Commented Nov 26, 2010 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
    Commented Nov 26, 2010 at 15:35

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...)

  • 1
    +1 for not blocking just because there are bad developers
    – Gary
    Commented Nov 25, 2010 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
    Commented Nov 26, 2010 at 20:04
  • 1
    Good developers can circumvent any blocking, bad developers can't.
    – user1249
    Commented Nov 26, 2010 at 22:50


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.

  • 1+ The most insightful of the "no blocking" answers. Commented Nov 26, 2010 at 7:38
  • +1 for the "contiguous time and flexible time" observation
    – Gary
    Commented Nov 26, 2010 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
    Commented Nov 26, 2010 at 20:08

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

  • Then they catch you on your cell phone...
    – TheLQ
    Commented Nov 26, 2010 at 0:26
  • 3
    +1 Haha. This is what I do. Commented Nov 26, 2010 at 5:06

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.

  • +1 for the bandwidth monitoring approach - good self-limiting angle
    – Gary
    Commented Nov 26, 2010 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 :)
    – P Shved
    Commented Nov 26, 2010 at 16:01
  • @Pavel -That was taken into consideration. Many of us had to build cross compilers.
    – user131
    Commented Nov 26, 2010 at 16:58
  • @Pavel Shved: with svnsync you can maintain a local mirror of any SVN repository.
    – liori
    Commented Nov 26, 2010 at 18:38
  • @liori yeah, but someone has to download it anyway.
    – P Shved
    Commented Nov 26, 2010 at 19:04

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.

  • 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
    Commented Nov 26, 2010 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. Commented Nov 26, 2010 at 13:30
  • Fair point - didn't read your answer closely enough.
    – Gary
    Commented Nov 26, 2010 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
    Commented Nov 26, 2010 at 15:38
  • @Pierre303 - You say no Flash and ActiveX like that's a bad thing... ;-) Commented May 23, 2012 at 10:21

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.

  • 5
    I can't think of a situation where facebook could be useful outside work... Why block news sites? Commented Nov 25, 2010 at 20:51
  • 1
    +1 for blocking Facebook. What about blogs?
    – Gary
    Commented Nov 25, 2010 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? Commented Nov 25, 2010 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
    Commented Nov 25, 2010 at 22:19
  • 2
    1 reason why visiting Facebook is useful during work: You are testing your application's Facebook integration. Commented Nov 26, 2010 at 1:33

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.

  • What if you left FB hanging in the tab in the background?
    – Rook
    Commented Nov 25, 2010 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
    Commented Nov 26, 2010 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. Commented Nov 26, 2010 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. Commented Nov 26, 2010 at 13:45

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...


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

  • +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
    Commented Nov 26, 2010 at 22:27

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.

  • 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
    Commented Nov 26, 2010 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
    Commented Nov 26, 2010 at 13:17
  • @Gary: For that, see my edit. Commented Nov 30, 2010 at 5:12

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.


Social Networking and anything instant messenger related.

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

  • Including StackOverflow? :-P
    – vartec
    Commented Aug 24, 2012 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.

  • @downvoter, care to comment on why you disagree? Commented Jun 20, 2012 at 8:56
  • I'm not the downvoter, but I think there may be privacy problems, even if warned beforehand.
    – Duralumin
    Commented Feb 6, 2013 at 9:44

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