作為乙個轉專業的降級生,從計畫轉專業到現在,總是會聽到有人問,「為什麼想要轉專業啊」。而我每每只能尷尬一笑,然後搪塞過去——不是別的,只是覺得考慮實在太多了,很難一言以蔽之。所以在這個人技術部落格的第一篇,我想我有必要再好好梳理下我想要轉專業的理由,作為今後走在技術之路上前進的動力與方向。
我一直覺得,在考慮專業的選擇或人生的規劃問題時,興趣應當是最重要的因素。我相信只有對一件事感興趣、有熱情,才有把這件事做下去、做好的可能。但同時我還覺得,真正意義上的興趣的發現是很難的事,在深入學習一門學科之前,我們往往並不知道自己是真的對它有興趣,還是只是崇拜一些高手,或是只看到了它某些光鮮亮麗的部分。因此,我不敢大言不慚的直接說「我對軟體工程專業有濃厚的興趣」。但我仍認為自己在自我發現的道路上,已積累了一些對自我的認識。當把理性作為感性的旁觀者,我認識到了一些自我在直覺層面的好噁。而這些,在許多方面是與我對軟體工程專業的認識是匹配的。
我喜歡秩序。相比混亂的、不穩定的、不斷趨於惡化和膨脹的,我更偏愛井然有序的、穩定的和健康平衡的——前者往往帶給我一種不適甚至恐慌的感受,而後者則令我安心而嚮往。我發現自己有著遇到問題總試圖找到程式化的解決方案的思維習慣。小到房間的整理,大到高考的準備,我總是樂意在腦中生成乙個條理清晰的、類似程式的執行方案,並不斷的完善優化其中的「演算法」。你可能會覺得這是一種死板和缺乏活力,是一種「裝在套子裡」的表現,但我相信任何「套子」表現出的死板都是「套子」不夠大不夠好造成的。而把「套子」做好的過程中體現的創造力更是非常具有活力甚至魅力的事。也許面對乙個較為複雜的問題,當前的程式化解決方案會引發各種「bug」,那麼改進這個程式,修復這些「bug」在我看來是非常充滿智慧型和趣味的。對這一點的認識,是我認為我會喜歡軟體工程專業的重要原因。「程式」這個東西的本質恰好與我上述所嚮往的事物屬性相符:計算機會根據你編寫的程式按照一種絕對的邏輯和秩序執行,不會出錯,一旦有問題,則一定是你編寫的程式不夠好。這一點無需多言。更高乙個層次講,整個軟體行業對我有著同樣的吸引力。通讀過一遍《構建之法》後,我得到的最直觀感受就是軟體行業的從業者和軟體工程學科的研究者們始終在為建設軟體工程的秩序而不斷努力,書中的幾乎每個知識點,各種各樣的框架模型流程,在我看來處處體現著秩序與秩序構建的美。
我想多隆在寫**時的狀態就是我一直以來追求的所謂 flow的心理狀態。這是一種完全忘我的狀態,全身心的投入到正在做的事情中。我相信這是人能經歷的最優體驗,我把它構建為我人生的意義之一。多隆的故事,自己做練習的經歷,讓我相信寫**是很有可能為我帶來這樣的體驗的,起碼我有絕對強烈的意願追求之。
我熱愛藝術。在高中,我漸漸從乙個只知道學習和運動的學生變成乙個文藝愛好者,藝術成為我生命中最不可或缺的東西。我對一切與藝術有關的事情感興趣,並有意識的在培養自己的藝術素養和品味。然而,我深知僅僅是有品味,懂欣賞是遠遠不夠的,我必須學會一門手藝,有所創造。世界上最著名的程式設計師之一 why the lucky stiff (_why) 先生曾在推特上說過這樣一段對我影響至深的話:
when you don』t create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create.而程式設計,正是這樣一門手藝,一種藝術,一種最適合我在大學本科作為專業學習的創作手段。我相信程式設計是門藝術,雖然我知道它與其他更傳統的藝術形式相比有很大不同——更多時候它是以使用者需求為創作導向的——但我仍然認為這裡有非常廣闊的創作空間和藝術美感。《通靈晶元:計算機運作的簡單原理》中對程式設計作為藝術有如下描述:(當你停止創造,你的才能便不再重要,剩下的只有品味。而你的品味會裹挾你,讓你變得排斥他人。所以,創造。)
程式設計師的藝術是把心中的構思精確的描述出來的藝術。我想程式設計,是乙個足夠大的平台,足以滿足我對藝術和創造的興趣。對於每種計算機語言,都有莎士比亞級的大師。讀它們編寫的源**無異於一種享受。乙個編寫的好的程式,同樣具有風格、技巧,甚至幽默——條理之清晰可與最優秀的散文媲美。
_why先生的自畫像
興趣很重要,但同時也要考慮到現實的因素。我相信未來的世界是屬於軟體的。2023年美國著名風投andreessen horowitz創始人marc andreessen的文章 why software is eating the world 中**了軟體吞噬世界的大趨勢。我相信在未來,軟體行業將會變得越來越重要,對優秀的程式設計師和軟體工程師的需求將會越來越大,他們的待遇和薪資會越來越好,地位越來越高。而更重要的是,我認為軟體行業的工作者與科學研究的工作者不同——勤奮與能力相比運氣佔據更重要的地位——或者說更有確定感,發力點更明確。因此我相信自己能夠通過努力成為乙個優秀的待遇不錯的軟體工作者。雖說要「工作上講究,生活上將就」,但客觀的講,我認為自己是工作生活都比較講究的人。我絕非乙個沉迷物質享受的人,但我還是非常看重物質生活的品質。這不是什麼值得驕傲的事,但坦率地講是我對自己的認識,是我想要學習軟體工程專業的理由之一。
除了興趣和現實因素外,更加巨集大的理想和願景也是我選擇軟體工程專業的重要原因。
事實上,我相信目前的世界已經不只是被軟體吞噬,更可以說是在被軟體重新定義1。越來越多的行業開始用軟體替代傳統的人力勞動,世界虛擬化的程度越來越高。世界將會因軟體變的越來越有秩序,而我非常渴望能夠參與到世界的秩序設計中。我有乙個偉大的構想:實現出這樣乙個搜尋引擎,它能夠讀懂自然語言,並提供一切客觀可知世界的答案。比如某個地鐵站的第幾個閘門離出口最近,某一首**的作詞編曲或者錄音師是誰,奧萊莉亞內莫爾在2023年創作的畫作《白色騎士》長什麼樣(我在上海的蓬皮杜現代藝術大師展上看到後印象很深,回來後卻查不到了)……這些問題完全不涉及主觀因素,也許經過一定程度的調查都能知道答案,那麼為什麼不能有乙個搜尋引擎可以為我們提供所有的客觀資訊並且不需要任何所謂「搜商」呢?試想這樣的世界將會是多麼高效而美好。當然我知道這只是乙個構想,要實現還是有很長的路要走,包括人工智慧和機器學習技術的發展,還要滿足一定的商業邏輯,平衡各方利益,等等。但我願意為之付出努力,因為我相信它的實現能夠實現一定程度的資訊平等,即我所理解的現代社會真正意義上的平等。學習軟體工程,進入軟體行業無疑會對實現這一理想有很大幫助。
奧萊莉亞內莫爾,《白色騎士》,1972
成為一名傑出的軟體人才是我的職業目標,而成為一名真正的藝術家則是我人生的終極追求。這兩者並非平行線,我相信掌握計算機和程式設計技術可以對我今後的藝術創作有所幫助。軟體工程師、藝術家golan levin在ted上的表演讓我驚嘆不已,他的藝術家**更是令我看到了新的人生可能性。我漸漸產生了利用計算機來成為藝術家的想法。這個理想可能聽來更加虛無縹緲,所謂藝術家並不指向某種特定的藝術形式,只關乎個人對世界和自我的探索和相關的藝術表達;而在這種情況下,計算機是最佳的創作工具,我相信它有無限的潛能,只要具備足夠的知識和技術,它能實現各種各樣的藝術創想。而學習軟體工程專業,無疑是我在這條道路上的最佳選擇。
這篇文章作為我的第一篇部落格,其實並不是為了要提醒自己「不忘初心」。我一直不相信什麼「初心」,我覺得所謂成長,就是不斷否定過去的自己。所以可以想見,將來的我也一定會對這篇文章的某些文字感到幼稚,甚至嗤之以鼻。都沒關係。以上只是我當前的一些想法,而非要指導我接下來的整個生涯。希望自己在未來還是要時刻保持理性,不斷思考前進的方向,然後記錄下來。不怕被打臉,持續的成長。
我為什麼要選軟體工程專業
我為什麼要選軟體工程專業 我一直覺得,在考慮專業的選擇或人生的規劃問題時,興趣應 當是最重要的因素。我相信只有對一件事感興趣 有熱情,才 有把這件事做下去 做好的可能。但同時我還覺得,真正意義 上的興趣的發現是很難的事,在深入學習一門學科之前,我們 往往並不知道自己是真的對它有興趣,還是只是崇拜一些...
程式設計師為什麼要學習軟體工程
按照慣例,先回顧一下這周完成的工作 1 練習英語聽力240分鐘 2 完成了三個test case的自動化測試實現 3 修復5個bug 4 發布小版本,做回歸測試 5 讀完 構建之法 自從結束了cpa分析後,工作又回歸了日常學英語 解bug 做測試的節奏。自動化測試開發節奏略慢,因為這周大部分時間在研...
為什麼應該學好軟體工程?
我大學學的專業是通訊工程,設定的課程裡沒有軟體工程相關的課。畢業後從事軟體測試工作,作為測試人員,與開發人員溝通是重要的工作內容之一,所以做測試的十多年來,接觸了很多的開發人員,有些開發人員留下了深刻的印象,當然這個印象有好的也有差的。在這些開發人員中,有些人fix bug的速度超快,還不會引入新的...