I’ve been building electronic circuits since high school. In case its of any use, I’m now using Kicad 6.0 https://www.kicad.org/blog/ and it has been excellent for reasonable human place able surface mount geometries of 0402 and larger. There is an evolving library of component footprints . Any non-standard footprint are possibly where the real challenge is with any circuit – matching the cu footprint to the component.
I have put up a basic Wingboard in Kicad as a starting point for a student project – https://github.com/neilh10/mayfly-esd-rev01
I prototype with oshpark and build my own boards as the first proto – oshpark has sophisticated help for Kicad and Eagle https://docs.oshpark.com/
The expensive and high risk part can be building a few test prototype boards to check the circuits. There are tutorials on youtube and sparkfun for prototyping – absolutely amazing. Start small and build bigger has been my moto.
I’ve built a set of RS485 wingboards with https://macrofab.com/demo/ – I liked it for the new online parts/BOM management and checking for parts availability in realtime. The output to Macrofab is https://github.com/EnviroDIY/Mayfly-Modbus-Wing/tree/master/knh002-MayflyWingShield/rev7
Of course a board assembled by a fabrication house is just the raw components “cooked” or soldered to make one board. It then needs testing to verify its working as expected.
As an EE I have been doing PCBs for over 15years with EasyPc (from numberone.com), and tried to pick up on Eagle 6 for some open source hardware, but the GUI was so specific that it didn’t really work for me. Just my experience, it does have a strong following so other people where more persistence than me have fun with it.