We have people that we idolize but its not because of common-place programming ability or merely their job but because of what they've achieved----Bill Gates with Microsoft, Linus Torvalds with Linux, etc.
Programmers seem to usually be self-described 'geeks' and thus like programming for its own sake.
Is it complete BS, absolutely. But at the core of it, we're talking about people delineating groups based on sameness and otherness which is a practice as old as there have been social structures.
It helps kids to identify with a mentor whose shoes they can envision being in directly. More important than "looking like" though is feeling a sense of kinship that comes from similar background. I'm a firm believer that we should focus on the level of privilege not color. There are all types of people coming from a disadvantaged background that need help, how do we make programming/startups attainable and "sexy?" Silicon Valley's got that down but NYC is still a "banking city"
That is exactly what the OP is asking for.
To tell about my experience, I did not grow up with "black programming" models. Even to date, I can't think of a single black man over 50 who is a programmer that I know personally or professionally.
I got into programming for the same reasons I assume many other HNers did: computer were readily available for my use, and I enjoyed the logic exercise. Once I found something I was good it, it was irrelevant if other people thought it was 'cool'.
Luckily though, I grew up black in a black nation so accusations of being 'white' was the furthest thing from most peoples minds. You weren't 'white', you were just 'uncool'. I think that's a significant difference because one is an attack on your identity, and the other merely on your social credentials.
If merely access to computers and exposure to programming is necessary, then its obvious why we don't have too many black programmers today. In the 80s and previously, computers were expensive and it was unlikely that someone from a lower socioeconomic bracket would have easy access to them.
We have to reach out to them. We need to show them the possibilites available to them in our field. We need to show them how much freedom you can have, and how lucrative software development can be.
And most of all, we need to show them how much fun building software can be. I'm not the only one who loves this stuff, right?
But it still comes down to getting the word out. What's the best way to do it? I don't know, but it's on my agenda to find out once I've achieved some form of success.
They focus mostly on the basic tenets of entrepreneurship but I would love to see more minority programmers coming out of underprivileged schools and situations.