close

因為工作的關係, 其實我還用過不少語言的, VB, C, C++(VC++), ASP, JSP(JBuilder), Java script, HTML, Matlab, SQL, .NET 甚至是一些全台灣幾乎沒人用的一些Tool, Informix web connect CLI.

程式語言有一卡車, 想學程式語言的人, 很多一開始都會想, 到底學什麼語言有用, 或是什麼在未來比較有用呢?...(其實心理想的是怎樣才能靠寫程式賺大錢。。)

嚴格來說,台灣的軟體產業不是很強,所以年薪想高到嚇死人不是不可能,但是總得要靠祖上保祐再加上運氣超好又進到一間莫明奇妙的公司才有可能,不過想要當個百萬年薪的programmer,有個3-5年的經驗,只要方向對了,基本上應該是沒什麼大問題才是。

就如上面我列了許多的程式語言, 但最後讓我年薪可以破百萬的, 是C++也是我現在工作主要使用的語言, 

我說C++, 這是一個很廣的範圍, 嚴格說起來, 以公司的角度來看, 我的價值在於我很熟悉DirectShw, 對Device(尤其是TV)和DirectShow的溝通運作很熟悉. 這和C++本身沒有太多關係的, 只是這個Framework要能跑得好速度要快, 必須在C++下實作而已.

這時我們就得回頭想想, 如果我想學程式語言, 我該怎麼選擇呢? 我認為這必須以你以後想做什麼才能決定, 就老板的角度來說, 功能做到差不多, 人越好找越好, 這時, 越容易學會的語言對自己越有利, 因為可以縮短上手的時間, 但是, 在一般情況下, 我們都是擔任員工角色的, 此時你就必須是那個很難找得到的員工, 你的薪水才會高. 那什麼樣的員工, 才會難找的, 是會C++的, 還是會VB的....很多人都會說是C++的難找...其實不然, 因為會這兩種語言的都多到一卡車...

真的厲害的人, 不是那些精通C++本身的人, 語言這東西都不會差很多, 基本上當你熟悉了一種還不算太偏門的程式語言後, 不管學什麼語言, 拿來看個兩個月, 大概都能夠上手的, 但是, 若你的環境, 牽涉到了multi-thread, 之後, 程式語言會突然變得很複雜, 因為這時就不是會不會寫程式而已, 而是在比你的觀念清不清楚了, 舉個例來說, 若是你連critical section都不知道要怎麼樣正確地定出他的範圍的話, 就算你再熟C++, 寫出來的程式大概也是當得一大糊塗...至於我們常看到的stack, queue, vector, list, ...etc 其至是演算法, 這些在學校基礎課程裏教的東西, 懂得善用他們更是提高效率和減少bug最佳的方式.

而各種Frame work的精通, 更是一門重要的學問, 這些才是真正該花心思的地方, 才是能累積個人實力的地方...因此, 若你問我剛開始學語言要學什麼, 我倒是覺得, 你得先決定你想做什麼才行, 當你決定了之後, 先挑那個領域裏最多人學, 最好學的先學, 目的是為了學到一些基本概念, 等到你對你打算走的領域比較熟悉之後, 你自然就會知道大部分的人瓶頸在哪, 而那個瓶頸就是你該花時間去鑽研的地方了, 而那個地方, 通常也會是你比較難被別人取代的地方了. 最簡單判斷的原則是, 如果某個東西, 所有人都能在2~3天或是1~2星期就學會, 其實這種東西你就不必全部都去學只要需要時再去看就好了..但是某樣東西, 你第一眼看上去像是在看天書一樣, 那代表他是要你在了解他之前, 先要花了許多時間研究基本功, 如果這時你發現他是你領域的重點, 那花時間去精通他就會很重要, 而且精通他通常會讓你值回票價. 因為入門的門檻高, 你競爭者就少, 薪水自然就高, 這種我們大部分人都知道的道理, 應用到寫程式這個領域, 一樣是適用的.

不過, 真正說起來, 我上面提的, 只不過是入門級(像我這樣的)的而已, 真正厲害的人, 是那種當全公司都解不出問題題, 你只要打通電話, 說聲, 兄弟, 這個bug我們都解不開啦, 幫我想一下要怎麼解...然後就能把bug解掉的那種人...

arrow
arrow
    全站熱搜

    穿越時空的旅人 發表在 痞客邦 留言(0) 人氣()