In a nutshell: get as much as possible! :-)
As a rule of thumb, many users suggest (Number of cores) * 2GB. In general, more available RAM will always help caching and therefore increase your build speed.
While SSDs can help improve the general perceived responsiveness and application startup time for desktop systems, they should not be considered very important for working on OE builds. During a build as little as possible is really synced to storage so optimal caching effects can be archieved. If you are on a budget, better get more RAM and "just" a HDD.
Most builds require a couple of 10GB, so HDDs are the primary storage technology for OE-based projects. Most users should be fine with a standard drive and 50-100GB of free space, although working on multiple projects, automated or world builds can significantly increase the storage footprint.
Any general purpose filesystem fulfilling the following requirements should be fine:
- Proper case sensitivity
- Support for partition sizes in the 10-100GB range
an OE build does not utilize any special features of the underlying filesystem, so it is only needed to provided a reliable storage backend.
Building on those filesystems is known to be faulty/impossible:
- Any FAT variant