In simple, layman's terms, how do you do that? How do you "program a sound"? Sample it? Code?
In my case, the simplest answer would be by turning knobs on the synths themselves. If you search for "subtractive synthesis" you'll probably get a much clearer explanation than I could give. No sampling or coding as the devices I own don't even have screens. I like the old school synths with knobs and buttons for everything.
I've always wanted old school synths for the knobs and badassery of it all but I just never had the money or space for it all.
In my case, on my Krome, there was an LCD touch screen you could navigate. I used a Nintendo 3DS stylus, actually, because everything was ridiculously cramped. But you could go into a single voice - say a simple Nintendo-style square lead, beep beep doot doot etc. - and edit the parameters. But each parameter of the sound would be available to tweak, and I mean EVERY imaginable parameter. Oscillators. Attack/release. Tuning etc. etc. There would literally be charts showing the shape of the sound, a line that would change as you tweaked the parameters. And then you could combine up to 16 voices into a single sound, and you could tweak every imaginable parameter of each individual sound. The synth takes almost a full minute just to boot up. It's... incredibly complex even as a synth player. But it's incredibly powerful, too.
But I actually sold it and my amps and my other synths about a year ago, partially because I just got sick of dealing with the technology and all the editing. So now all I have is a digital piano. Ideally I'd have a grand piano but there's no space or money for that