Kengkaj Sathianpantarit wrote:Implement software that are working very fast is a special skill. It's also a very rare skill.
There's 2 ways to read that sentence.
It does, indeed, take a lot of skill to make software that runs very fast, but overall that's not a skill that's much in demand these days, since we usually just throw hardware at the problem.
That's because of the other way to read that sentence. To make software that runs .... very fast (quickly), you have 2 choices. A) you can omit the extra time and effort that it takes to make the software run fast. B) you can omit the extra time and effort it takes to make sure that it runs always.
An old adage in the business is that the first 90% of the work takes 90% of the time and the last 10% of the work also takes 90% of the time. It's part of the nature of software systems that getting the raw system up can often be done very quickly and with relatively little skill required. However, making a system able to endure the slings and arrows of stressful daily use means sweating a lot of details. If you're skilled and talented, you can provide a better-quality rough construction to slot those details into, but the sheer volume of the details is where a lot of that "last 90%" goes.
"privilege" comes from the Latin words for "private" and "law" (legal) and dates to feudal times. To "claim privilege" meant that you were above the laws that applied to the common people.
meenakshi sundaram sundar wrote:Are there any special skills you found with these great people which are lagging commonly in todays developer world?
It was surprisingly hard to get at what made these folks such great programmers. I talked about this a bit in the letter to the reader on the back cover of the book: programming is a pretty obscured activity--we do it alone or in small groups and the results of our work (the code) or not visible to the user of the resulting software. It's not like a sport or a performing art where you can see that a virtuoso just has fantastically better skills than the average person. If there was any common characteristic it was that they all loved programming and consequently spent a lot of time doing it. At one point Guy Steele told me how he spent his mornings as an undergrad at Harvard reading through all the issues of the Communications of the ACM, starting from the first issue. I asked whether he thought someone who wanted to be a great programmer should do that and he said: "let me say that that exercise of reading through CACM from early on wasn’t my plan to become a great computer scientist by reading everything there was in the literature. I read it because I was interested in stuff and felt internally motivated to tackle that particular set of material."
posted 10 years ago
Hi. My apology, it seems that I misread the topic. I thought this topic is a general topic that has nothing to do with the book promotion .
SCJA 1.0, SCJP 1.4, SCWCD 1.4, SCBCD 1.3, SCJP 5.0, SCEA 5, SCBCD 5; OCUP - Fundamental, Intermediate and Advanced; IBM Certified Solution Designer - OOAD, vUML 2; SpringSource Certified Spring Professional
Kengkaj Sathianpantarit wrote:Hi. My apology, it seems that I misread the topic. I thought this topic is a general topic that has nothing to do with the book promotion .
There is no such distinction of a "book promotion" topic vs. a "general" topic. Any post in any topic (except the welcome topic) in this forum, within the time of the promotion, is eligible for the book drawing.
Note: There are other rules in terms of eligibility, so you should take a look at the link mentioned in the welcome thread.