"developers need a driving principle, a prime directive: to serve, and enable human creativity, to make tools for domain specialists"
Take a step back and be the computing ambassador for a neglected community. If I had the time, I would pen an open letter to all university professors and TAs asking them to tell us about any unsupported software they still use. There is a bucket-load of DOS and Unix software that is no longer maintained, but heavily depended on by academics, researchers, and small businesses. I wish I had the time to port those stuff to modern machines, or at least organize CS department students to write them. There needs to be more cooperation between CS and other departments, specially humanities. We can be their tool-smiths, and they would happily give us insights into other fields of study and other industries.
The other tweet is more juvenile, but you will appreciate the sentiment:
"Programmers will never have the luxury of collaborating with their idols, or pay homage to them like artists do. Programming != art :-("
P.S. If you just want to escape computing and take a few weeks off, get yourself a book called "Musimathics" and meditate ..
--
[1] I don't usually tweet ideas, only rants.
As far as getting insights goes, the academics that I worked with had no idea about the industry or even how it works. So any insight coming from them is one better ignored.
I'm mistaken perhaps?
The universities usually have all the technical know-how they need to sustain themselves, they just need to talk amongst themselves (department to department, campus to campus, or uni to uni.) If CS students were told to make software for other departments; architecture students were told to design study halls, stages and learning areas; art students were told to beautify school buildings, hold performances, educate, entertain, enlighten, etc. All the university would need is just someone to facilitate the interactions, introduce people to each other, and the rest can be done via Redmine or Basecamp.
Some of the projects are insanely interesting. In Australia, I was offered a non-pay gig to work with sensors in the field, traveling to beautiful beach areas and hacking x86 assembly. Universities can afford room and board, but not much else, sadly.
Copying == art? Then I know a few very, very artistic Java programmers. They even pay homage to their own packages. (Which, excuse the pun, might even qualify them for "rock star programmer" status)
I have to strongly disagree with that. Collaboration is different among programmers as we can share our ideas with a much broader audience than most musicians. Many tools you use are the result of the collaboration of thousands of people. To say nobody is collaborating with their idols is a risky supposition.
The only part I agree is that Java (or C#) programming may be art, but not to my taste.
Technical choices should always be rational based on a wide set of criteria. One of them is surely existing knowledge of the team, but not the only one.