You may or may not be aware that the perk for starship shields is currently bugged, and working in reverse. If it's supposed to add 20% to your shields, it is actually subtracting 20%. Kinda surprised this hasn't made the first wave of bug fixes.
The bug is (probably) applied when a modifier is added to you or ship. For some reason, the modifier makes a permanent change to your ship's base stats so that even if you remove your perk (via console), the permanently reduced base stat remains on the ship.
If you are on PC, there is a console fix for this. Well, more of as "workaround" than a "fix". This will probably blow your achievements, so be sure to have an achievements enabler installed.
First, go to space and make a save you can fall back on in case you make a mistake.
Next, remove the shield perk. This may not be absolutely necessary, but it makes it easier to keep the math straight. We'll be adding it back later:
player.removeperk 002C2C59
Because this is a leveled perk, you may have add\remove more than once to get the earned level.
While in space, go to 3rd person, hit "~" to activate console, select your ship, and type "getav ShieldMaxHealth". This will return the base value of your shields, to which your perks and your companion's perks are added. So, for my current ship, that number is 630. That is the amount of shields my ship should have with no perks at all.
Now, if you had the first level of the shields perk, and no companion perks, you could check your ship status and find that the shield value listed there is 504, 20% less than 630. (If not, you don't have a bug. Go back to your save.) What you can do is manually bump your base shield value up to some value where the system-applied debuff takes you back to where you need to be. So, again in my case, I took my base value and divided by .8 to get the amount to set as my new base:
630/.8 = @788
In the console, I enter:
setav ShieldMaxHealth 788
Now I check my ship status and the displayed shield strength should match the original base: @ 630.
Now, I add my perk back:
player.addperk 002C2C59
...and the value should bump up 20%.
Reassign my crew to the ship and it goes up even further. I think Vasco or Omari makes it go up another 20% or so (even though they theoretically have different skill levels).
You'll need to keep an eye on your shield status if you're going to use this perk, because while I'm not positive what the exact sequence of events is, further changes to your shields and\or your perk can cause the debuff to be re-applied, and you'll need to tweak your base again. You may also want to make a note of your original base or use an old save to make sure your math isn't getting out of whack
So, yeah, that's a long convoluted mess, but since I went through the effort to figure it out, I thought I might as well share it.
I think the bug is also related to assigning crew members to your ship that have the shield perk themselves, because I’ve had it trigger for me twice and Vasco was a crew member both times.