Check if more engineers are happy than not happy
Consider 

private boolean isMajorityHappy(List&lt;Engineer&gt; engineers) {
    int netHappiness = 0;

    for (Engineer engineer : engineers) {
        if (engineer.isHappy()) {
            netHappiness++;
        } else {
            netHappiness--;
        }
    }

    return netHappiness &gt; 0;
}


Name the method based on what it does.  What it does is check if the majority of the members of the list are happy.  The fact that the list is of engineers is mostly beside the point.  

I would expect areEngineersHappy to return false if any engineer is unhappy.  

Note that we don't need two variables to tell if the majority is happy.  We can use a single variable and subtract for unhappy members of the list.  If netHappiness is positive, then the majority of the members of the list are happy.  

I would try to avoid constructs like if (! notHappy) {.  It would be much simpler to change the logic around so that you can say if (happy) { instead.  

You don't need to say if (happy) and if (! happy).  This is exactly the situation for which an else is designed.