I feel the answer is probably, “not too often.” Maybe if you are building trivial tools it’s fine, but for most serious projects I believe you want to be favoring OTP construction.
spawn()
, send()
, and receive()
are basic building blocks. OTP uses them under the hood and it’s useful to learn a bit about them to help you understand the higher layers.
However, you probably don’t often fire up a telnet client to check your email. You could, assuming you know the protocol commands to send, but doing so is harder and more error prone.