An impression I get sometimes is that people think you need to be an expert in a dozen fields to write good science fiction. That simply is not the case, I would say there are two areas you must be conversant in.
The first is of course science. You do not have to be a scientist, you need to have a firm grasp on the science you are using, and be willing and able to research the details you don’t know. Never forget that the science can lend you plot points, a greater understanding helps you do more then just make a realistic story.
I advise you to at least get to the point you know what is and what is not possible under our current understanding of science. Even if your talking soft sci-fi you want to know what you can just handwave as easy (say a supersonic aircraft) and what you need to put some thought into (how FTL works in your setting) can make a big difference.
The second, and it was almost the first, is history. Knowing history does two big things for you. First you gain an understanding of how human societies work. For example we know that large scale communism does not work, every time it has been tried it has failed badly. This means if you wanted to have it work in your story you would have to know and address why it would work in your story but not in history.
The second thing it gives you is a grab bag of idea’s and concepts that have been done before, and that you know work. For example if you wanted a large scale empire that ruled for a long time you could look up examples from history, and either base if off one or combine them. In the least you would know what to and what not to do.