• 剛畢業的軟件工程師,去大公司還是小團隊?

    0
    C/C++ 軟件工程師 Go 8944 次瀏覽

    最近讀到幾篇文章,關于年輕人選擇工作,有質疑大公司的討論,也有認為畢業生應該加入大公司的見解。

    對于期望投身于軟件行業的畢業生來說,對第一份工作總是有著特殊的情節,仿佛一步走錯,遺憾終生似的。事實遠非如此。職業選擇跟找對象有幾分相似,并沒有對錯之分,只有適合程度不同。但一旦感到不舒服,你可以隨時更換工作,這一點反而比找對象輕松了許多。

    盡管如此,第一份工作的選擇仍是至關重要的。它很可能會直接影響著我們此后的進步速度、職業路線和社會地位。同時,職業路線說大一點也正是人生路 線,沒有人能夠給別人直接的答案。說到底,這還是只與個人想成為怎樣的人有關系,與別的無關。因此,這里我只想給想成為“技術牛人”的畢業生給一點建議, 而不是那些隨便找一份能夠糊口的工作度日的人,更不是那些學會了SSH 就去接私單的投機主義者。

    野生程序員

    首次看到“野生程序員”一詞正是在前些日子在博客園網站上,那篇摘自《Web全棧工程師的自我修養》的文章。 原文中定義道:所謂“野生程序員”,就是沒有計算機基礎知識和相關教育經歷,靠著對計算機開發的興趣進入這個行業,雖然知識面比較廣,但是各方面都一知半 解的開發者。對這一定義并非完全同意,我更傾向于野生與否,與有無“計算機基礎知識和相關教育經歷”并沒有太大關系。不過作者原義也并不是要強調這一點, 因此這個詞還是給我一種“相識恨晚”的感覺,我一直在尋找一個名詞來形容“半路出家”的程序員們:“野生”很恰當。

    現實中,很多程序員從業者都是野生程序員,幾乎一大部分都是。這一比例在畢業生中,只會更大,幾乎全部都是——與是否計算機相關專業無關。對于計算 機相關專業的畢業生來說,尤其是碩士畢業生,大部分同學都有一定的實踐經驗。但這些經驗與企業中真刀真槍還是有很大差距的。由于是一次性需求,“校園項 目”中大多對工程性、性能等方面并沒有很強的要求,也基本是少數幾個人以簡單的協作方式完成的。大學課程中所涉及的理論往往偏保守,軟件技術卻是一個瞬息 萬變的行業,因此學校所學與企業實際有著諸多差別也是很正常的。最近這幾年的互聯網更是有如新興行業那樣活躍,在短短的幾年里,儼然從軟件行業里區分了出 來。

    理工科的人給別人的印象有點木納,而骨子里踏實于研究的人卻是理想主義者,有時候還有些自我沉醉。計算機相關專業畢業的同學們,懷著一顆求知的心投 身于社會,期待成為 Bill Gates 那樣能夠改變世界的天才,或是 Steve Wozniak 那樣可愛的極客。很多同學在 C 語言和算法上下了大工夫,能夠編寫可以引導系統的操作系統,一個詞法解析器更不在話下了。

    然而這就不可一世么?事實上,這時的我們還很有可能只是不折不扣的野生程序員:我們不理解界面設計中的交互意圖,想當然地繪制輸出;我們不顧日后需 求的變更,將 println 語句寫遍每個方法;我們意識不到自己的隨手一改給隊友帶來的麻煩,隨便公開或刪除了一個接口……

    專業主義

    不少剛畢業的同學以為自己身懷絕技,自己的加入對雇主企業來說是莫大的榮幸。我遇到過一位同事,他的 Web 開發技術基礎不錯,對 UI 的感覺很細致,是個可造之才。但很快,我們發現他在與團隊的合作上出現一些不順暢。每當我們向他了解一項特性的開發進展和結論時,他的習慣性回答是“我不 知道”。而團隊的計劃會議上,他的姿態可以用囂張來形容,不是低頭玩手機就是仰面閉目,不知是在思考或是假寐。他的不當行為固然與團隊失敗的管理有直接關 系,而其本人過于不專業的事實也可見一斑。

    現實很殘酷,因為它是現實,不是臆想。真實的情況是,企業作為我們的雇主,委托我們和同事一起完成工作,從而創造價值——如此簡單。企業要尋求更有 競爭力的畢業生作為其將來的中堅力量的儲備,自然要表現出足夠的誠意。但作為素未涉世的畢業生,我們也應該認識到,唯有當我們為企業創造了價值,得到了同 事和管理者的認可時,我們才能“算得是個人物”。而要想今后獲得更好的職業發展,并且不成為“自己曾經痛恨鄙視的那種人”,還有一件很重要的事,那就是成 為專業人士。

    專業人士正是與“野生程序員”相對的另一種人。上面提到的那些初入行當的人會犯的錯誤在專業人士身上基本不會發生,即使不幸發生,他們也知道如何承擔責任并挽回損失。“專業”二字承載了太多,總體來說,專業人士意味著是受人信任、技術高深的那些工程師。The Clean Coder(中文版名為《程序員的職業素養》)一書講述了專業人士的特點,以及如何成為一個有職業素養的程序員。

    書中列舉典型專業人士的特點有:

    • 不行損害之事
    • 能夠承擔責任
    • 技藝精湛
    • 尊重與合作
    • 堅持學習
    • 了解業務領域
    • 與雇主/客戶保持一致
    • 謙遜

    說這么多,無非也就是人人所熟知的“敬業愛崗”四字,這古老的品德,卻常常被人忘棄。可以說,要成為一名專業人士,任重而道遠啊。即便現在只是菜鳥 一枚,這又有什么關系呢?  我們年輕啊,有的是時間和精力。是啊,我正希望上面的文字能夠幫助畢業生朋友知曉,現在的你,以及更好的你分別是怎樣的。這顯然與職業選擇息息相關。

    揠苗助長

    揠苗助長的故事說的是,我們不應該破壞事物的自然發展規律,想當然地使些小聰明只能弄巧成拙。而成為專業人士這件事,竟然是有一些方法和技巧的。

    高中時,班主任曾在批評我們時說到一個形象的比喻:“我們班并不是染缸,進來了便能考上大學”。不過,環境的影響確是潛移默化的,人與人之間的影響 也是潤物無聲的。同一個人,在不同環境里長成了不同的樣子。所以,這樣說來,工作的選擇與我們成長的方向和速度緊密關系不言而喻。

    有時候,我們會想“當我生在戰亂年代,也會是個將軍。”這句話不無道理,時代逼我們去想、去做了更多我們不曾設想過的偉大事業。成為技術牛人的一個重要前提是:機遇。所以,如果要更快地長進,那就去到一個“需要你作為一位專業人士”的地方,去找到自己的機遇所在。在那里,很快便有兩種結果產生:你發現自己更適合其他事業,或者你很快成為了專業人士!

    我想,這都是值得祝賀的事。

    ThoughtWorks,或者創業團隊

    終于等到你,親愛的畢業生朋友!

    哪里“需要你作為一位專業人士”?正是ThoughtWorks。這當然不是一篇廣告文章,就像麥肯錫公司沒必要借《麥肯錫方法》推銷自己一樣。把 ThoughtWorks 的故事當作本文的案例分析好了。

    ThoughtWorks 是一家定制軟件專業服務企業,以踐行和推廣敏捷管理方法論并為各行業客戶提供高質量、切合業務價值的軟件聞名于世。 ThoughtWorks 將“技術先進”作為公司立足之本的“三大支柱”之一,放在很重要的位置,而不像是普通 IT 企業中將技術活動僅視作“順便”而為。在 ThoughtWorks,團隊以業務線來劃分,而不是工作職能。這意味著,每位開發人員都會涉及到服務器和客 戶端的開發,而不管是基礎設施環境的搭建還是生產環境系統的運維,都會有開發人員的身影。職責不分了(或者說 多了),需要面對的溝通與合作的對象,也正是所有人。在這樣的工作模式下,一位可能技能還略顯生疏的畢業生,很快、很快就成為了能夠承擔重任的棟梁之才。

    近年發展起來的互聯網創業行業的小團隊,起始通常只有一兩個產品,追求“小而美”,功能也不多。形式上,與 ThoughtWorks 的業務團隊 很類似。在這樣的創業團隊中,開發人員可以更直接地接觸最終用戶,很可能需要承擔更多工作職責和壓力。因此,也是快速成長的好去處。

    踏實前行

    我很清楚,畢業生帶著自己不夠嫻熟的技能加入一個對各方面要求很嚴格的軟件企業,當然誠惶誠恐。一方面自己知識技能有限,另一方面工作的質和量的要 求造成的壓力也是真實的。在剛參加工作時,我們經常面臨這樣的困境:面對項目中用到的各種新的語法、沒聽說過的設計思想,各種第三方框架和工具庫,接到一 個任務不知道從哪里下手。眼看著一天天逼近的期限,只好硬著頭皮對付了事。

    最初的日子里,最要緊的莫過于不要浮躁,要按部就班。如果一出校門、見了一些有經驗的同事,就感覺自己離“大牛”太遠,將“一道不可逾越的門檻”放 在自己心里過不去,那真是太急躁了些。事實上,在生活中,誰都要面對這樣的境地。不光是剛入職的新人,剛開出租車的司機,剛接線咨詢的客服,誰沒有第一 次?而作為工程師的我們,在這一方面的經驗很可能更豐富:因為我們時常要學習新的技術,新的思路,接觸新的項目。因此,請耐心接受,并努力克服起初的不 適。而對于這一階段,聰明的同學們會有另一番體驗:他們通過企業里左右經驗豐富的老同事的幫助,外加各類深入淺出的圖書,以及現成的代碼與文檔,很快便掌 握了項目所涉及的技術基礎。

    忘卻了兒時天方夜譚的科學家夢想之后,我們大概都已經很清楚:除了少數天賦異稟的人,更多的只是普通人。要成為別人眼中的“大牛”,只能日積跬步,及至千里。

    “行路難,行路難,多歧路,今安在。 長風破浪會有時,直掛云帆濟滄海。”

    來自:http://insights.thoughtworkers.org/how-graduate-developers-choose-jobs/

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色