There comes a time in a developers life, when their bottleneck becomes their machine they are operating on. Maybe you want to learn new tech? Play with some type-1 hypervisors and automation? A homelab is for you.
Enterprise grade server gear is up all the time for auction on eBay, for the price of a brand new Macbook Pro, you can get approximately 3 Dell or HP servers, each with 144GB of DDR3 memory, and likely a 48 port switch. Imagine what you can do with 3 servers, and 144GB of memory. I've done exactly that.
Homelab...?
I'm sure many of heard of battlestations, they're incredible paradises for gamers, and alike to have a dedicated place. I'd like to imagine we all want our own variant of them (maybe not as extreme, but our own "quiet place" we can just let our hair down and relax). My battlestation is a server rack, some servers, switches, IP cameras, and a Mac Mini (more coming soon, of course!)
One afternoon, I set out and bought used Dell servers. Plenty of affordable ram (DDR3), and storage (mainly SAS, some SATA/SSD). They're not the most energy efficient, but they do the job. The cost of running these full time, with a switch, only added about $7 per month to my electrical bill (which is about the price of a digitalocean droplet, OVH vps, etc).
What can you do with a homelab?
A homelab is endless, for starters, learning how to setup a managed or unmanaged switch, and creating vlans. Once you've got it setup, try setting up a firewall like pfsense or vyos. Try routing traffic from external to internet. Take it a step further, install a hypervisor of your choice (eg. EXSi, Proxmox, or even just straight libvirt on any OS you like), create virtual machines, install a private Gitlab, setup Confluence and Jira for your personal projects. You can get really crazy. Spin up that plex server for your family/friends, create a VM to stream your music collections. It's literally endless, you can always try new software without damaging your existing computer.
Why should I make one?
If not for anything, do it for the learning experience. Throw it on your resume. While you're at it, you might as well find something to learn with them, learn a new technology stack, host yourself a gitlab and blog - try something you've always want to try, but never had the [bottleneck] for. CPU bottleneck: X5690 cpus and E5 low powered are quite cheap. RAM bottleneck: You can occasionally pick up ~200GB of DDR3 for under $300 on eBay. Storage bottleneck: Ebay, or spend the extra money and just buy brand new spinning disks or SSD/NVMe drives.
How much can I get a homelab started with?
At a very low estimate, if you've got a spare computer laying around - just reformat it to the OS you desire, and get tinkering.
If you want to go a step further, buy a DLINK unmanaged 5port switch, buy a Tower or Rackmount server (Dell R or Dell T series, commonly are 110, 310, 410, 610, 620, 710, 720) (rule of thumb: anything generation 7 and above is usually better, due to less noise from servers, power costs). You can surely find Dell T710s on eBay almost everywhere for sub $300 CAD.
Want to go all out? Check out ubiquiti networks (also has a sweet domain "ui.com"), buy yourself a cloud key (or host it in a VM on your hypervisor!), buy a managed switch, buy an access point, set it all up. Spin up an active directory or LDAP server, have your access point use that AD/LDAP server for authenticating people on your network. Be in complete control, all the time.
You don't need fancy hardware, my first homelab server was a 8 GB DDR3 computer, it ran 10 VMs fine on an i3.
For developers, sysadmins, devops: I'd always recommend a homelab, play with technology, play with stuff you do and want to do. Become experts in the one thing, share your knowledge, and help others.
I have been wanting to get into this, this is a great starting point for some further research, thanks!