The package management is different from apt/rpm but there are plenty of distros with pkgsrc type systems.
Most FOSS software is available and provided, for some Linux only stuff there is linux emulation.
Less support for drivers and new features.
Really IMO it comes down to kernel features and development, and given Linux kernel security attitudes *BSD can be pretty tempting sometimes.
I'm quite fond of OpenBSD. It's such a nice, wholesome Unix experience. The man-files are great, typically you can get by on those if you mess up and lose Internet connection. To me it has a feeling of being rock solid, like it'll never break. Common programs differ a bit, pkg_add rather than apt/RPM/pacman/&c., you'll probably use pf rather than ufw or iptables, vmm/vmd rather than Docker/jails, flags on some everyday terminal tooling work differently.
Some software just isn't available due to it being considered insecure by the OpenBSD community or its 'dictator for life'. As a C developer you might run into such constraints.
The FreeBSD handbook, for example, directs the user to manually edit wpa_supplicant.conf. If you want to switch from a static IP to a DHCP lease you need to run some commands as root and restart the daemon manually.
No systemD.
If you're using it as a desktop, it will take a little more time to config things to fit what you need. More command line editing of config files, than say Linux Mint or similar linux distros.
FreeBSD has the biggest community so it's easier to get help online.
That being said, NetBSD is worth checking out, especially for your use case.
If you decide to try it out on hardware, check out https://bsd-hardware.info/ and see if your machine is supported.
Also check out UnitedBSD.com It's a forum and there are many NetBSD users there.
BSD now has less room in the server use cases, where it should shine, without being able to use Docker at all.