A standard EE does it so:
1. Vcc is 3V3
2. my LED lits fine at I=1.0mA
3. My LED is red, red LEDs have Vf=1.5V (for example)
4. R = (Vcc - Vf) / I = (3.3 - 1.5) / 0.001 = 1800 ohm = 1k8
I do not understand who recommends to use 20mA current through an LED today (when used for indication purpose).. We used 20mA currents 40y ago. Today's LEDs lit fine at 300uA.. Unless you going to cut the steel with your LED gun
That's just what people want to do
I spent some time getting the right combination of LED and resistor for my LED boards to get the LEDs as bright as possible, because that's what people wanted. Now you can hardly look at the red and blue LEDs without searing your retinas, and people love them. The LEDs I use have a "rated" forward current of 20mA, an absolute maximum of 30mA. At If=20mA they're 150mcd.
That's not a patch on the white right-angle LEDs I use. 1300mcd at If=20mA. Three of them at 20mA (4V Vf each) will light the entire room. Just with a single one by itself you can't look straight at it. And if I were to pulse them I could run at up to 100mA with a 1/10 duty cycle. I haven't done that yet to see how insane they are, but I'll bet they hurt.
So yes, running at lower than the "rated" current is usually pretty bright anyway. People just "assume" 20mA as most LEDs have their visual data quoted at If=20mA.
Edit: Oh, all those LEDs I spoke of above are all 0805 SMD footprint.