swim against the current
swim against the current or swim against the stream {v. phr.}
To do the opposite of what most people want to do; go against the way things are happening; struggle upstream.
The boy who tries to succeed today without an education is swimming against the stream.
Categories:
Source: A Dictionary of American Idioms