從「駭客與畫家」到軟體在台灣

Posted by Mr. Holiday

一直想聊聊這本書,若尚未看過,可先讀 iThome 那邊的一段書摘,開個胃口。書本身有專屬的繁中網站,網路上也有些讀書心得,不過將時間花在閱讀書籍本身會更好。對內容以我能力不夠評論,只能說若是喜歡以程式創作,那麼絕對是 must read. 倒是從這本書引申出來的一些思考,相對於台灣現況,頗有些玩味的空間。

軟硬體在此地熱門程度相差懸殊,所謂高科技產業是製造業延伸,當初與硬體連帶熱門的資訊相關科系,畢業後正如黃粱一夢。台灣學生在國際程式競賽表現一向不俗,為何整體軟體國力不振,除了此前 Mr. Monday 提及群聚硬體產業效應之外,在此試著提出幾個其他可能原因,希望引起討論,並收拋磚引玉之效。

其一, 軟體火車頭是美國。技術熟悉程度而言,中國印度以及東歐等地都不缺熟練工程師,然而研究與創意才是火車頭需要的燃料,對已知技術的掌握僅僅是方便追趕。而美國採用語言為英文。在台灣,一般英文能力臻於成熟、可閱讀英文技術文件、參與討論等等,至少都發生在大學之後。這是很大的劣勢,因為初步學習軟體所需的邏輯能力並不受限於大學教育,國高中時期就可以開始。直接以英文了解目前在發生什麼,會大大減少無謂遠路。

看看歐洲、南美等等通英文國家,軟體不是重點產業,然而年輕就素質精良者眾,例如 Marcelo Tosatti ,來自巴西,以18歲之齡成為 Linux 2.4 維護者;目前工作上接觸到一些以德語為母語的駭客,也都赫赫有名,年齡不到30,紮實軟體開發經驗已過十年。

在台灣,資訊科學基礎的翻譯多半已經完成,然而主要問題發生在最前線開發皆以英文進行,打下基礎仍需實作落實,此時便會碰上障礙。面對此一問題,可能的改善是,由於程式語言對英文依賴程度相當有限,對英文了解較淺並不妨害學習,所以可首先提供完善的中文入門文件。此部分已相當充份,接下來則是提供環境與引導,讓有興趣者在前輩帶領下進入軟體開發領域,讓歐美等地發生的情況在台灣重製。

這部分在台灣就相當欠缺。這帶向下一議題。即:「或許學校的老師們大多不寫程式吧!!」。閱讀「駭客與畫家」帶給我最大震憾是,明白到一直以來許多與教授們教導的不同,而自己卻一意孤行的觀念、方式,竟由作者在字裡行間明確的背書了。實務上碰到的種種阻力,經常來自於一知半解下對軟體開發方式、可能碰到問題的想像,而那些想像,經常來自於對寫程式早已生疏或是從未熟習的學校老師。

一條很好的路徑應是 open source,適合作為自身研究或學校專題。在大學中長篇大論講的各種學理,直接在這都可看見實務,並了解來自世界各地甚至從未謀面的大群工程師如何合作開發。要學習,就要向大師學,而非向大師的門徒學;軟體開發也是如此,愛寫程式的人在自身的班級甚至學校經常會成為少數,以網路力量將他們投入高手如雲的環境中,才不致阻礙他們自由呼吸成長。我們都明白教育是增進軟體能力的關鍵,而在此 Mr.Holiday 想提出的是以網路、實體並存的組織來打破學校與師長、同儕的界線,提供通向無限可能的敲門磚。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!
  • http://insectlin.wordpress.com/ 昆蟲

    1) Set up English as one of our official languages. (Or better yet, the only official language!)

    2) No professors are allowed to teach Software Engineering if they did not work, personally, in the software industry for more than 10 years.

    These two proposals should work. But …

  • http://insectlin.wordpress.com/ 昆蟲

    1) Set up English as one of our official languages. (Or better yet, the only official language!)

    2) No professors are allowed to teach Software Engineering if they did not work, personally, in the software industry for more than 10 years.

    These two proposals should work. But …

  • gradyli

    I’ve not read the book yet, but I can not agree with your opinions.

    You can say English is an obstacle, but it doesn’t affect as much as you describe. The example you propose is so extreme that wouldn’t be considered a common case.

    Look at people in China, they use the same language as we do, but their software environment is much better than us. Could you explain how English affects their software industry?

    About the second point of the replay, it does not make sense at all because you can not draw the connection between work experience and teaching. You can blame that the teaching quality is so bad that students learn little from class, but you can not infer that bad teaching is related to professors’ work experience. Most of them focus on basic theory improvement such as data structure, algorithm, and so on. And many of them do cooperate with enterprises to solve real world problems.

  • http://insectlin.wordpress.com/ 昆蟲

    Regarding another comment : ” Look at people in China, they use the same language as we do, but their software environment is much better than us. Could you explain how English affects their software industry? ”

    — What are you talking about? Comparing Mandarin-speaking Taiwan with Mandarin-speaking China? Or, are you comparing it against USA, Ireland, or India?

    China’s software industry is DEFINITELY NOT as good as these English-speaking countries, period.

    And whether China’s software industry is “MUCH BETTER” than that in Taiwan, I am not sure. Could you compare these two in more clear ways with more concrete data? I would like to know what is the the criteria of “MUCH BETTER”.

    I know what I said would hurt a lot of people, that is why I added “but …”.

  • http://insectlin.wordpress.com/ 昆蟲

    Regarding another comment : ” Look at people in China, they use the same language as we do, but their software environment is much better than us. Could you explain how English affects their software industry? ”

    — What are you talking about? Comparing Mandarin-speaking Taiwan with Mandarin-speaking China? Or, are you comparing it against USA, Ireland, or India?

    China’s software industry is DEFINITELY NOT as good as these English-speaking countries, period.

    And whether China’s software industry is “MUCH BETTER” than that in Taiwan, I am not sure. Could you compare these two in more clear ways with more concrete data? I would like to know what is the the criteria of “MUCH BETTER”.

    I know what I said would hurt a lot of people, that is why I added “but …”.

  • http://seanyhpan.blogspot.com/ Sean P

    語言不是問題. 問題出在亞洲走的是填鴨式教育. 而北美跟歐洲走的是開放式. 也許是文化, 也許是傳統. 沒什麼好吵有關英文. 最重要的就是亞洲人的父母親是否可以看開讓自己的兒女選擇做自己喜歡做的事情. 相信是在北美長大的小孩都了解這件事情. 自我能力跟語言是沒有關聯的. 只是英文現在是全球語言.

    在北美長大你就會發現, 其實白人只是碰巧第一語言是英文, 不代表講英文的人真的比較聰明.

    回到加拿大的日子, http://seanyhpan.blogspot.com/

  • http://seanyhpan.blogspot.com/ Sean P

    語言不是問題. 問題出在亞洲走的是填鴨式教育. 而北美跟歐洲走的是開放式. 也許是文化, 也許是傳統. 沒什麼好吵有關英文. 最重要的就是亞洲人的父母親是否可以看開讓自己的兒女選擇做自己喜歡做的事情. 相信是在北美長大的小孩都了解這件事情. 自我能力跟語言是沒有關聯的. 只是英文現在是全球語言.

    在北美長大你就會發現, 其實白人只是碰巧第一語言是英文, 不代表講英文的人真的比較聰明.

    回到加拿大的日子, http://seanyhpan.blogspot.com/

  • http://gene9981.twbbs.org 魷魚絲

    open source萬歲~

  • http://gene9981.twbbs.org 魷魚絲

    open source萬歲~

  • timeternity

    語言不是問題… 重點是寫程式會不會賺錢
    與其吸引人來投入寫程式
    不如先處理資工人才流到其他產業的問題

    台灣最缺的是軟體人才的前輩,缺的不是新進的人才。

  • timeternity

    語言不是問題… 重點是寫程式會不會賺錢
    與其吸引人來投入寫程式
    不如先處理資工人才流到其他產業的問題

    台灣最缺的是軟體人才的前輩,缺的不是新進的人才。

  • gradyli

    My God! You totally miss the original point!

    My point is that English is not the most important problem as the author mentioned, and that’s why I compared Taiwan and China. Both of them use the same language, right? If English ability is really a huge problem, then Chinese, whose first language is not English, should have the problem in the software industry, but obviously China has been developing its software industry in a good shape.

    I don’t understand why you talk about English speaking countries for comparison? It’s not logical at all. If you compare U.S. and Canada or with India, I don’t know how you can differentiate non-English environment has negative impact on software industry.

    Furthermore, I never said China has the same good software industry as English countries do. I am talking about the software industry in Taiwan and China. The criteria I use to compare are, software values produced by both of them, government policies, and foreign company investment.

    Please google economic values of software for each country if needed. You can argue that the populations of two countries are different, so China has produced more economic values from software, for example values from outsourcing companies (customers are from other countries, such as U.S. and Canada). You can also propose that the labor cost there is much cheaper, so China attracst more software development opportunity. But, if the industry had bad quality, who would be willing to outsource there? Notice that the number of China’s companies which passed CMMI is larger than Taiwan. Unless you say that most of software engineers in China have learned English better than do most Taiwanese software engineers.

    Second, since Linux becomes an important OS, China’s government has fully supported for developing their own Linux (Chinese version, not English). How about Taiwan? I am not sure the number of software industry plans that Taiwanese government has successfully executed, but I bet there are a lot of visions that never being implemented. If you establish a software company, and the government supports you in many ways, can you say that Chinese software environment is not better than Taiwanese environment?

    Third, most software companies invest their software research center in China, such as Microsoft, IBM, HP, Oracle, but not in Taiwan. If you are interested, you can check out the situation of Google in Asia. I mean, if China’s software industry is not better than Taiwan, why those companies chose China?
    I believe that there are more aspects to measure, but the result won’t change.

    Yet, I understand English is helpful for software developing. I am not saying English is useless, but it is just not the most critical factor. It’s true that understanding English can communicate well with others from different countries or obtain the first hand tech documentation and knowledge, but I believe that even logical ability is more important than English for a software professional. I just can’t see English is a big obstacle for learning software. (Yes, we need to know some vocab for programming, but I believe that even senior high school students in Taiwan know more vocab than me.)

    I absolutely agree with Sean P that education style is the serious problem. As the original article talked about, creative is important for software developing, but compared to Western countries, most educators – including parents – in Asian countries impacts learners negatively. They give learners something that can not be doubted, or they restrict the areas which learners want to explore. Like in Truman Show, the teacher said no more new island for discovery when Truman said he want to be Columbus.

    Last, I really respect your opinions. It doesn’t matter that your opinions will hurt professors or someone else. I just can not see the connection of English and software industry from the original article. Either, I can not see how work experience of professor influences software industry. As I discussed above, educators may have wrong teaching style which limits the creativity of students, but they do have knowledge to teach. Working experience will not be a big plus for their teaching.

  • gradyli

    “重點是寫程式會不會賺錢”

    Absolutely right!!
    We do have many excellent software professionals, but why they don’t dive into software industry, but hardware industry?

    Salary!!

    “台灣最缺的是軟體人才的前輩,缺的不是新進的人才。”

    You must be a genius!!

    In Taiwan, software companies like their senior programmers to become managers, rather than experts. But we do need experienced experts.

    IBM has a different approach. After working several years, you can tailor yourself to be a manager or expert according to your interest. The approach helps to solve problems and accumulate knowledge.

  • Martin

    整個環境就不適合發展! 包含太多層面了!
    – 政府政策
    – 學校所授內容及方法
    – 企業策略及願景
    – 社會風氣及回饋
    跟前面所列軟體工業好的國家比比以上項目應該就會找到不少差異!
    轉個方向想! 為啥台灣製造業這麼強? 包含晶元/DT/NB/headset/ IC等等, 一樣比較上述差異, 還真的可以發現適合發展的條件, 我是軟體人當然也希望軟體工業在台灣蓬勃, 要怎麼做? 誰做? 做了就會是台灣兩兆雙星的支柱嗎? 只能等待了! 個人覺得還需要很久很久很久!如果沒有有識之士出來帶頭, 更是遙遙無期!

  • Martin

    整個環境就不適合發展! 包含太多層面了!
    – 政府政策
    – 學校所授內容及方法
    – 企業策略及願景
    – 社會風氣及回饋
    跟前面所列軟體工業好的國家比比以上項目應該就會找到不少差異!
    轉個方向想! 為啥台灣製造業這麼強? 包含晶元/DT/NB/headset/ IC等等, 一樣比較上述差異, 還真的可以發現適合發展的條件, 我是軟體人當然也希望軟體工業在台灣蓬勃, 要怎麼做? 誰做? 做了就會是台灣兩兆雙星的支柱嗎? 只能等待了! 個人覺得還需要很久很久很久!如果沒有有識之士出來帶頭, 更是遙遙無期!

  • http://mmdays.wordpress.com/ Mr. Monday

    Wow, 這一篇大家的回文都很精闢啊:)

    gradyli 解釋的很好, 不過看不懂英文的就很可惜了:)

  • http://mmdays.wordpress.com/ Mr. Monday

    Wow, 這一篇大家的回文都很精闢啊:)

    gradyli 解釋的很好, 不過看不懂英文的就很可惜了:)

  • http://insectlin.wordpress.com/ 昆蟲

    If you read articles in USA, you would have known that a key reason that India got so much software outsource jobs is ENGLISH. Developing an industry from scratch is difficult, but “stealing” an industry is much easier, like India did to USA. If Taiwanese or Chinese spoke in English, it would be much easier. That is why you should compare Taiwan/China against India/Ireland.

    There are, of course, many reasons. Seven years ago, I tried to set up a company in Taiwan to develop two applications, one is like FaceBook (and it was called ConnectionBook). I found the following issues:

    1. The best sw/hw engineers went to hardware companies. I could not find ‘good’ software engineers, I was told.

    2. The setup cost and process was complex and troublesome. You need to have a company to apply for “.com.tw” domain. You have to have capital put into the company to legally set up a company. (Unlike in USA, $150.00 is the setup fee for a company. And everybody can apply “.com”.)

    3. I talked to VC which agreed to put money in. But the company has to be set up at Silicon Valley, so that the money can be recovered much more easily.

    4. The rented fee for dedicated servers was much higher in Taiwan.

    OK, that was my give-up experience. Is it related to English? No, of course. But, if Taiwanese spoke in English, could we have gotten more opportunity to “steal” business from USA? I think so.

  • http://insectlin.wordpress.com/ 昆蟲

    If you read articles in USA, you would have known that a key reason that India got so much software outsource jobs is ENGLISH. Developing an industry from scratch is difficult, but “stealing” an industry is much easier, like India did to USA. If Taiwanese or Chinese spoke in English, it would be much easier. That is why you should compare Taiwan/China against India/Ireland.

    There are, of course, many reasons. Seven years ago, I tried to set up a company in Taiwan to develop two applications, one is like FaceBook (and it was called ConnectionBook). I found the following issues:

    1. The best sw/hw engineers went to hardware companies. I could not find ‘good’ software engineers, I was told.

    2. The setup cost and process was complex and troublesome. You need to have a company to apply for “.com.tw” domain. You have to have capital put into the company to legally set up a company. (Unlike in USA, $150.00 is the setup fee for a company. And everybody can apply “.com”.)

    3. I talked to VC which agreed to put money in. But the company has to be set up at Silicon Valley, so that the money can be recovered much more easily.

    4. The rented fee for dedicated servers was much higher in Taiwan.

    OK, that was my give-up experience. Is it related to English? No, of course. But, if Taiwanese spoke in English, could we have gotten more opportunity to “steal” business from USA? I think so.

  • iguest

    語言差異只對有心開發軟體的人有影響,大多數人對開發軟體恐怕是不屑一顧。能夠札札實實前進的人,大都很快就會發現學習英文的必要性,也會很快學會所需的英文。我想語言上的限制並不是那麼的根本。

  • iguest

    語言差異只對有心開發軟體的人有影響,大多數人對開發軟體恐怕是不屑一顧。能夠札札實實前進的人,大都很快就會發現學習英文的必要性,也會很快學會所需的英文。我想語言上的限制並不是那麼的根本。

  • gradyli

    Hi Mr. Monday,
    Thanks for your comment.

    Hi 昆蟲,
    From my view, the primary reason of good software industry of India is not they understand English, but is that high quality math and engineer background professionals. Also, the government supports its industry by many policies. Furthermore, the time difference of U.S. and India is almost 12 hours, which is also an advantage of outsourcing.

    English is just a tool of communication, which can not make people more creative or more logical.
    Just like I said, English does help for software developing or learning, but it’s not the most important skill.

    From you experience, I can tell how important the government support is, and I hope you succeed in what you are doing right now because I do love to see successful stories of Taiwanese software company.

    Again, English is important, but not the first priority of a good software industry.

  • Pingback: 社交網路收集與研究 » Socialbrowse : 專門用來碎碎念網頁連結的推特()