A Viper is a combat ship. You can have as many ships as you want. Each type has strengths and weaknesses.
Rule #6: Always choose a ship that's suitable for the task you have in hand and outfit it accordingly.
Rule #7: Don't carry modules that you don't need for the task in hand.
Rule #8: Never buy a ship if you don't have the money to outfit it properly for the task in hand
Here's a suitable build for a Viper that will get you about 2 mil per hour bounty farming in a high RES:
A ship builder, outfitting and comparison tool for Elite Dangerous
coriolis.edcd.io
Use it for a few evenings until you have enough to buy the next ship you want to use. For Combat, that would be a Vulture, which would get you about 4 mil per hour in a high or Haz RES. If you want to go exploring, 10 mil will get you a nice DBX. A DBX will get you 10 mil per hour doing "Road to Riches" scanning Earthlike and water worlds.
A ship builder, outfitting and comparison tool for Elite Dangerous
coriolis.edcd.io
Now that we have ship transfer and module storage, you can outfit ships how you want, like optimised for combat, passengers or cargo, then either use the DBX to travel to where you want to use the optimised ship and call it up when you arrive at the destination, or, after optimising your ship, store its modules as you swap them for ones that optimise travelling in it, like fuel scoop and anything to lighten the ship, then call up the stored modules and swap them out when you get to the destination.
Having said all that, say you had the Viper above and needed to travel some distance. You have plenty of empty module space to add a 3A fuel scoop without suffering any power, speed or jump range penalty, so you might as well fit one.
IMHO, multi-role ships are for losers! There are many happy losers playing the game.