【請人睇】好 Programmer 是怎樣煉成的?

310 回覆
20 Like 193 Dislike
2018-12-20 15:01:48
原文出處: https://www.tecky.io/blog/好programmer是怎樣煉成的



有一個大部份僱主都面對的難題,在芸芸履歷之中,如何萬中挑一,找到好programmer呢?聘請程式設計師很難,不像其他行業,打開 履歷就一目了然:有時履歷上滿滿証書的,其實連FizzBuzz也寫不了;有時看起來像個fresh graduate的,卻又有無限潛力。 如果你是一個要聘請程式設計師的僱主,你應該如何是好呢?

好程式設計師的特質

要理解此困境,首先要解答一個更困難的問題:就是好程式設計師有何特質?以筆者個人聘請經驗,加上與其他同行交流所得,歸結出以下六點,有些是性格 特質,有些是行為表現,現列舉如下:

________________________________________________

(一)思維清晰有條理

程式設計是一個將想法化為代碼的過程,要不想一忘二,一個好的程式設計師必然思維慎密,思維有清晰條理。優秀程式設計師可以理解複雜問題,並得出合 乎邏輯的結論。思維清晰一事上,不限於程式設計,好程式設計師在其他事情,也擅於運用同樣的邏輯思維去解決問題。所以,如果你有一個面試 者在程式設計上看來不錯,但是生活上其他方面好像迷迷糊糊一樣,就要小心一點。也許他真是一個還好的程式設計師,但斷斷不會是優秀的一員。

分辨此項特質的面試問題: 可以解釋一下井字過三關規則是怎樣嗎?一個HTTP請求由瀏覽器到伺服器中間過程是怎樣的?
觀察點: 是否能夠清晰解說每一條規則、每一個步驟。

(二)有强烈好奇心

科技日新月移,資訊科技變化的速度更快得驚人,優秀程式設計師通常有著强烈的好奇心,不會抗拒學習新事物。在程式設計一門學問上,每年每月每星期 都有新的框架、新的程式庫、新的想法誕生。不熱愛學習,欠缺好奇心的人,會覺得很難適應。因為剛剛習慣的做法,可能又有其他新的可能性。好程式設計 師通常會定時學習新知識,更新自己的理解,亦會希望以新學成的東西應用在新專案之上。不會因為過去一直的做法,而毫無理由的選擇因循守舊。

分辨此項特質的面試問題: 你有學過(一種新科技)嗎?你對這種科技有何看法? 下一個專案你會運用(這種科技)嗎?原因為何?
觀察點: 有否學習新科技及思考過其優劣之處。

(三)性格不固執

普遍程式設計師都對軟件工具有自己見解及喜好,但優秀的不會固執於自己喜好的程式語言、框架、程式庫。如上一點所言,好程式設計師經 常有學習新事物的渴望,如果他看到有合理原因要使用其他工具,不會因為個人喜好,而堅持己見,也就是使用適當工具,解決適當事情(Use the right tools for the right thing)。於他而言,使用其他工具亦是一個學習的過程,不會因此而覺得自尊受損。不固執的性格亦令好程式設計師可以與他人磋 商最佳解決方案。

分辨此特質的面試問題: 可以解釋一下(一種新科技)與(另一種對立的新科技)有何異同?你會在那個情況使用各自工具呢?
觀察點: 有否對科技有强烈的喜好及見解。

(四)習慣三思而後行

優秀程式設計師由於思維比較慎密的原因,所以行事通常都會三思而後行。解決問題最痛苦的莫過於,花了很多時間,卻發現徒勞無功。因此好程式設計師明 白Solve the right problem,比solve the problem right 更重要。因而會花一定時間在詳細計劃之上,待理解整個問題後,才開始着手解決。

分辨此特質的面試問題: 請分享一個開發新專案的故事。
觀察點: 是否習慣做事有計劃,及是否會跟隨自己制定的計劃。

(五)熱愛編程

這一點大概是最重要的一點,好程式設計師一定會熱愛編程,正是由於熱愛,才會孜孜不倦改善自己。也正是由於熱愛編程,才有足夠熱情一直進步。熱愛編 程令程式設計師在工餘時間或學習之外,會再花時間學習新科技,這些額外努力正是令好程式設計師更加優秀的原因。如果面試者是一個朝九晚六式程式設計 師(9-6 programmers),也就是工作時間以外完全不碰編程,基本上不可能是一個優秀程式設計師。

分辨此特質的面試問題: 你工餘時間外有其他專案正進行中嗎?新近有學習其他框架/程式庫?
觀察點: 是否熱愛編程本身。

(六)溝通能力强

有一個常見的誤解,就是程式設計師都是不善辭令。然而優秀程式設計師通常是溝通能力很强,因為大部份程式設計是都需要多人合作,只能一個人工作的程 式設計師不論寫的代碼多好,都不及善於與他人合作的程式設計師。好程式設計師能夠清晰解釋事情,並能協助他人解決問題。因為程式設計不只與懂編程的 人溝涌,亦要與許多如專案管理(Project Management)、質素鑑定(Quality Assurance)等部門的同事合作。

分辨此特質的面試問題: 請分享一個與非技術的同事合作的故事。
觀察點: 是否有良好溝通能力。

如何使用本文所談的技巧

以上是一些在優秀程式設計師身上常見特質,要如何使用本文所談的技巧,取決於你:
如果你正在聘請程式設計師,又不知如何入手,以上一些技巧應該能夠幫助你;
如果你本身是初出茅蘆的程式設計師,可以對照自己,看看如何繼續努力下去;
如果你想學習編程,但不知自己是否適合,可以看看自己是否適合寫程式一行啊!

__________________________________________________________

文章出處簡介:

Tecky Academy
由本地人創辦的香港微學位 coding bootcamp,參照美國矽谷模式,一心改變 HK NO IT 的行業境況,致力培訓有質素的 developers。有意入行的巴絲們,可於三個月內由零成為專業的開發者,一次過學會 Git/Gitlab, HTML, CSS, JavaScript, TypeScript, Node.js, Express, Jest, Socket.io, PostgreSQL, AWS EC2/S3/Cloudfront/Route 53, Gitlab CI, React, Redux, Tensorflow 等等⋯⋯ 絕對唔係求其做下網站,禁兩下又咩網絡營銷,我地全部打真章!

高抬各巴絲貴手 like/follow 我地嘅 Facebook: http://bit.ly/2BPcSmB
有咩問題可以 tg 小弟: https://t.me/itdogltd


[/quote]
2018-12-20 15:30:45
當然唔會有完美嘅
有部份堅係有熱誠嘅,未必係讀 CS/IT
2018-12-20 15:40:04
喔。
2018-12-20 15:43:19
55
依家有手有腳識Google 就有17k
2018-12-20 15:49:12
呢行又未去到咁極端

公司都唔係無限金錢,齋識用 google 嘅就先炒為妙
2018-12-20 15:54:53
57500讀13個星期 ....
2018-12-20 15:55:04
怪人係有(但其實各行各業都有)

以上嘅發問技巧係 filter 走啲怪人/冗員,咁請返黎嘅人有質素啲,同事們都做得開心啲 作為同事,都唔想同啲怪人合作架
2018-12-20 15:57:24
有時D怪人 好撚勁
你唔會知
2018-12-20 15:57:51
星一至星五,朝九晚六,合共 520 個鐘
有需要我地仲會免費同學生補課

咁計落除返開大約係 $100 一個鐘 平過你去學第啲
2018-12-20 15:59:18
一個好勁嘅怪人,但合作唔黎,最後都係做唔到啲乜
一個唔係天才,但夾到野,做到件事,先係公司最想見到嘅
2018-12-20 16:01:52
有興趣,但我中三學歷,28個英文字母都唔識幾多個,可唔可以報名?
2018-12-20 16:03:56
中三學歷無問題

但唔識英文就會好吃力了,即使我教曉你今日嘅技術,第日條路你始終係要自己不斷自我修練。雖然而家多左好多中文(大陸)嘅資訊,但如果睇唔明英文,總會落後人地幾步,咁競爭力就低好多
2018-12-20 16:11:13
性格固執 係好常見

我以前請過啲同事返黎,絕對識寫,技術水平好夠,但極堅持自己做法,乜 procedure 都唔跟,我地用緊 framework 又要自己砌件出黎,不了
2018-12-20 16:11:30
讀完係咪包保會搵到工?
2018-12-20 16:12:23
不能同意更多
雖然唔係識好多人,唔知其它科d人係點,但讀IT10個起馬有7個係怪人
2018-12-20 16:16:07
...老老實實…你執執個website先喇…
2018-12-20 16:23:03
講真,正常人點會讀CS呀
又冇女又冇ulife
dup多幾年code頭髮都冇埋啦
2018-12-20 17:44:35
係,我都覺得唔掂,執緊
2018-12-20 17:44:47
一班 15 人,我地有三個老師
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞