BE is notoriously difficult to define, because you can't say what it "is" without in effect using the word itself.
But the difference between BE and BECOME is relatively easy.
- BE designates a state, something which continues unchanged through time.
- BECOME designates an event, a change of state.
Right now you are (BE) not yet a software developer. You are perhaps a student of software development. That is a state. You will continue to BE a student until your state changes. At that point you will BECOME a software developer. After that point you will no longer BE a student, you will BE a developer.
So both ways of describing your ambition are correct. You want to BE a developer; but in order to achieve that state you must BECOME a developer, you must change your present state.
To answer your first question 'must' is possible in the above example but the meaning will be different than i suppose you have in your mind
When we use 'should' we think what is right/moral/decent thing to do at the time.
When you say 'They should have called the police.' - (Here you know it for sure that police have not been called)
But when you say 'They must have called the police.' (Here you are almost instinctively sure that the police had been called after you have anaylzed the situation well, but officially you don't know whether they called the police or not)
See below how 'should' and 'must' function in your examples
They should have called the police. (It is your opinion)
They must have called the police. (It is your speculation)
For Example
- There has been a burglary in one of the houses in your neighborhood. Now, any random family would call the police in this situation. So it is extremely easy for you to speculate that 'They must have called the police' - because that was the sensible and normal thing to do after the burglary.
But when you know that they didn't call the police in this situation then you might express your surprise in the following sentence
- I am surprised that they didn't call the police after the burglary. They should have called the police and informed them about it. (Must is not possible in this example)
Another example
Suppse you are telling your friend the following
- If you were having such a hard time at school, then you should have told me. (meaning that you might have been able to help your friend out)
Here 'must' is not possible - because you can't compel your friend to share things with you. Sharing is not compulsion. So you can't say --
You must share your problems / feelings with others.
But you say --
You should share your problems / feelings with others.
'Must' in one of its meanings implies compulsion, obligation etc.
To answer your second question -
You should read his new book. (Sounds less convicing than 'must' but it is still a suggestion)
Here 'should' works as a suggestion
But
You must read his new book. (sounds more convicing)
If there is any book or movie that you have liked very very much then you use 'must' not should. 'Must' will work as 'strongly recommended'
So it should be
You must read his new book. It's amazing.
Best Answer
The difference that you're looking for is the difference between active and passive voice.
As stated by Maulik V in the comments, the correct sentence is
Notice that we are using the passive voice in both parts of the sentence. We use that voice because subjects - browser, session - can not execute the action by themselves. If the browser closes abruptly, we are talking about a malfunction. Usually, you close the browser by clicking in the 'x' button.
The same occurs with the session. The session is the set of data collected from an user, it's only data, it can not expire itself. Someone has to erase it when a timeout is reached or the browser is closed. That someone is usually a part of the program that serves the web pages.
But you can use both forms in this context
The first one is used if you are not part of the develoment team that must implement the session expiring mechanism, if you don't care how the session is erased or if you don't know that a session can not erase itself. The second sentence is used to emphasize that such mechanism must be implemented to fulfill the requirements.