His advise (best so far in my opinion): Work on something that excites you enough to want to work 24x7. Become an expert on data model + page flow. Build some great systems by yourself and put them on your resume ("I built X" rather than "I built a piece of X as part of a huge team"). Take periodic long trips to exotic countries and learn from people (sometimes your own country is after all the most exotic). --- For more... visit Ask Philip Forum
2002 jan 20
... The fact that Doug got this built in 3 months using Tcl pages doesn't prove that Tcl is as good as Lisp, of course. What it does prove is that when you're using an RDBMS the most important engineering steps are data model development and page flow design. The code for an individual page is merely glue to merge the results of an SQL query with an HTML template. Tcl is adequately powerful and it doesn't get in the way as Java or C might, which means that there isn't much productivity benefit to be gained by switching to even the mythical ideal computer language. ...
The fact that you focus on Tcl means that you've missed the whole point of ACS (data model + page flow; the glue language used for the presentation layer really doesn't matter and in any case there is a Java version of ACS if you don't like Tcl). An engineer (geek) concentrates on the user experience of a Web site. Nothing else is really interesting given that the user can't tell what was used to implement the site and doesn't have any reason to care. It is nice to program in an advanced computer language, e.g., Eiffel, Lisp, or ML. But if your source of persistence is an RDBMS and what you're building is a Web service, writing your glue code in Eiffel isn't going to make a huge difference over Perl or VB or whatever.
Any thoughts of returning to work?
I have very few complaints with my life right now, I must admit. Retirement changes one's perspective on everything. If my flight instructor is late or the weather is bad, I don't get annoyed. Plenty of time tomorrow. Or next week. Or next month. Or next year.
My hands are pretty well tied through May since I'm teaching 6.171 at MIT. To do it right is a full time job (okay, maybe with a little bit of flight training on the side :-)). Plus I'm continuing to help my friends who've started a research lab here for Orange, the mobile phone company.
Even if I didn't have the MIT and the Orange commitments, I would definitely not want to start a company any time soon. After the disappointments of the late 1990s, who has time to bother looking at what a small company is doing? Think about yourself. Do you spend time surfing the Web sites of tiny companies looking for innovation? Or do you check out microsoft.com and ibm.com and then go home for an evening of relaxation? This is a very difficult time for a new company to be getting the attention of customers, workers, or investors.
But more to the point is that business isn't very interesting compared to research. Research means attacking problems that you don't know how to solve. Thus you're building your skills (just as in flight training -- and by the way, learning to fly has been really difficult for me, very challenging on all fronts). But it is tough to get customers to pay for research. They want solutions. There are some problems that I know how to solve. But I also taught lots of MIT students and colleagues at ArsDigita everything that I know. Let them start the companies; I'll keep trying to make airplane-shaped holes in the runways of New England.
As far as Web development goes, most Web sites suck due to (1) a bad philosophical conception of what the site should do, (2) page flows that require lots of extra clicks, (3) confusing information architecture. None of these problems relate in any way to the language in which an individual URL is implemented.
|10 best incoming links:
Digital IXUS (29)
digital camera (16)
Internet Application Workbook (2)
10 best outgoing links:
10 most popular nearby:
digital camera (3716)
Digital IXUS (3332)
Internet Application Workbook (1973)