Lessons learned from my dabbling with FreeNAS (and having hardware failure).
* Use generic HDD controllers that are supported in the box. (Using a 3rd party controller and driver, only to discover that when it reports an error, it becomes unavailable altogether, reboot to start again)
* Understand the features you are using. When I started, I configured a ZFS array with two hot spares, when a couple drives failed, the hot spares didn't activate, and I was stuck...
* Practice a version migration early on.
* Use a motherboard with ECC Ram if you're using ZFS, I can't understate this enough. AMD CPU + ASUS Motherboard seems to be your best bet here for Unregistered ECC memory in terms of bang for the buck.
* Use as much memory as possible... if you can use 32GB of ram, do so.
In general, it was fun while it lasted, right now, I put 4x 4TB drives in my old Synology 409 box, and it's running okay... I'm going to get one of the 12-drive synology boxes in a few months and test my old drives, putting them all in that moving forward. I really don't have the time and patience for dealing with a homebrew NAS.
I don't mean for this to discourage anyone, only pointing out that it's sometimes far easier to buy an appliance that DIY.