There are a couple of tutorials around for this sort of thing btw, but not a huge amount.
Vayra's tutorial is fairly well-regarded (if still a WIP last time I checked), but your biggest and most interesting resource for modding advice - beyond the stock game files - is the
Starsector Unofficial Discord, where you can find lots of established modders talking about content design and creation.
If you want to make your own sprites through whatever means, the usual recommendations are Photoshop (if you want to pay for things) or Krita and Gimp (if you want free stuff). The latter two are recommended in combination as they each have features the other lacks - I use Krita for most things and Gimp for checking pixel mass.
When it comes to "coding", to just get a ship in game you need to start with the
Ship&Weapon Editor. It's pretty self-explanatory to use, and with it you can create ship hulls, variants, weapons, fighters, etc. without needing to do finnicky stuff by raw text.
Even so, it's helpful to edit game files in raw text, so having Notepad (ideally Notepad++) or an equivalent editor is a must. You'll also want a spreadsheet editor - Excel or LibreOffice are recommended - for editing those "CSV" files, which are basically spreadsheets of data and can be edited as such.
All of your files will need to be in a mod environment, ie. folder structure, and you can reference any old mod for an example of how to arrange this. Alternatively, I've got a
Mod Template lying around for just such an occaision - it doesn't have everything, but it has the major folders already in place as well as the "mod_info" file.
From there, your first reference should ALWAYS be the vanilla game files. Want to know how to make a ship variant? Look in the core game files. Want to know how to make a hullmod? Core game files. And so on. This applies to many features and covers a large amount of the basics - ships, variants, weapons, fighters, factions, missions and basic hullmods and ship systems.
Once you get into actual coding of scripts, you'll want an IDE - a programming environment application. I use NetBeans, but other people use things like IntelliJ and O... There's one that starts with O but I've forgotten the name, dangit. And there's others, look around and see what works for you. (Starsector's coded in Java btw.) For complicated things like transforming ships, you'll have to look at other mods that do that (like this one) for reference, but those aren't particularly difficult to execute. Once you've mastered that, the only limit is your imagination!
No matter how crazy you want to get with modding however,
the first step is almost always "Make a ship and put it in the game". Doesn't have to be fancy, doesn't need a clever ship system or crazy built-in weapon. Just make a basic ship and get it in the game through a mission or in the campaign through a faction. Once you can prove you're capable of that much, it's all yours.