Check out my study guides.
Should is one of the most misused words by non-native speakers and can instantly make your language sound rude, condescending or just plain unnatural.
Where to Not Use Should
Let’s say a recruiter needs to tell a candidate how to find the office:
* You should take the metro to our office.
* You should get off at Kontraktova Ploshcha.
Instead, give raw information and reasons:
[0.b] We don’t have a lot of parking near the office, so it is easier to take the metro.
[1.b] Kontraktova Ploshcha is the closest metro station
* I should pass the exam to get a driver’s license
In this case there is no choice. If I don’t pass the exam, there’s no way I’ll get a license. Supposed to, ought to and should all carry a sense of choice, whereas must, have to and need to show that there is no choice.
[2.b] I need to pass the exam to get a driver’s license.
If something is a request, don’t use should.
* You should call me back by the end of the week.
This sounds like a command. A more neutral sounding request would be:
[3.b] Could you call me back by the end of the week?
You can add a reason to make the request more urgent:
[3.c] Please let me know by the end of the week so I can process your order on time.
How to Use Should
The most common place to properly use should is with predictions. This is part of the larger system of evidentiality in English.
[4.a] It should snow tomorrow.
[4.b] It’s a bit too warm; it shouldn’t snow tomorrow.
[5.a] I should be on time, since traffic isn’t bad.
Sentence [5.a] usually wouldn’t be negated. Instead:
[5.b] Traffic is bad today; I’m (going to / will) be late.
While I’d avoid using should for a personal obligation, it is useful to talk about more general social obligations. The first person singular is often used:
[6.a] We should consider alternatives to our current strategy.
It’s still possible to not use should in this context:
[6.b] Let’s look at some alternatives to our current strategy.
When you is used, make sure it is the impersonal you. This can be tricky in English as context is the only way to distinguish these, whereas in other languages, such as German, the difference is marked:
[7.a.de] Du sollst deine Hausaufgaben machen.
[7.b.de] Man soll seine Hausaufgaben machen.
We can translate this impersonally as:
[7.b.en] You should do your homework.
This is a danger zone and using should here often comes off rather rude. While we could use should, it would best be reserved for a parent or teacher scolding a child.
[7.a.en.1] Please do your homework.
It’s even better to use a conditional for personal advice:
[7.a.en.2] You’ll remember the material better if you do the homework.
Yes or no questions can be asked using should.
[8.a] Should I open the window?
Another structure that works just as well:
[8.b] Would you like me to open the window?
 I should have eaten breakfast this morning.
 My friend shouldn’t have traveled to Asia, because he got very sick.
Should can be tricky to use without sounding a bit rude. In most cases, you are better off avoiding it altogether. The imperative plus please is perfectly polite. Could you also works for requests.
If you do use should, stick to the first person or third person. It’s best to use the general you instead of a personal you with should.
The best advice is to observe how native speakers use modal verbs. Pick a podcast or blog post that uses the word and analyze how it is used. Adopt the same usage yourself.