This goal can be achieved in views as well, but only with some PHP contextual filter code:
Just add contextual filter: Content: area (field_area)
Under: "When the filter value is NOT available" select:
Provide default value-> PHP Code
Enter PHP code:
$node = menu_get_object();
return isset($node->field_area['und'][0]['value']) ?
($node->field_area['und'][0]['value']) :'';
Under: "When the filter value IS available or a default is provided" select:
Specify validation criteria->PHP Code
$area = $handler->argument; // content of field area
return ($area == 'Software'); // validation of the area content
action to take if filter value does not validate -> hide view
That's it! Your block will show up only on the pages where the person's area is 'Software'