程序員工作只接觸一些不需要高難技術的小項目,該如何提高自己?

程序猿,工作只接觸一些小項目,也不需要高難技術,怎麼樣才能提高自己? 自學當然能提高,但是還是接觸不到大的或者高難度的項目,這方面沒法提高,咋辦?


據我觀察一些很小的事比如寫個changelog都能區分出高手和菜鳥。所以題主不必在意事情小,在小事上證明了自己,干大事的機會通常自然就來了。

建議題主不要以大小來區分項目了,項目就分兩類:我的、別人的。把自己的項目做到極致就是最牛逼的事。


小項目小需求:做一個專題頁面.

如果你覺得這是個簡單的東西,那就三下五除二就能搞定,熟練的人可能一天能搗鼓出來幾個,還能有時間刷個微博。

如果你仔細去看你做的頁面,就會發現一堆問題。舉個例子:頁面載入不夠快,如何讓頁面更快? 這不但需要前端技能,還需要後端技術,還需要對網路傳輸機制,對瀏覽器機制比較深入的理解。

再比如,我的頁面搜索引擎搜索不到,怎麼能被搜索到? 這需要了解搜索引擎的基本機制和行為,需要做提前規劃;做完了怎麼排在類似頁面的前面? 這需要 SEO 方面的知識,當然,這個不是你網上搜索出來的那些所謂 SEO 的知識,需要你對自己的頁面,對內容的處理,有一定的理解和控制。

再比如,我的頁面,手機上看著是亂的,還需要適應移動設備,適應移動設備有需要哪些知識呢? 如何對不同的移動設備都兼容?

再比如,我的頁面上有個表單要用戶填寫,用戶怎麼才能用的更舒服,填寫儘可能的減少出錯? 這個表單如何防範 Spam ? Spam 是怎麼回事? 抵抗 Spam 有哪些有效的方式?

以上,可能只是一個專題頁面涵蓋的技術的一小部分。我真的不覺得這些鍛煉不到人。做過大項目的人其實有很多,但很多人也沒看到得到什麼鍛煉。


我畢業時候跟樓主經歷差不多。上面好多」平凡的崗位做出不平凡的業績」之類的勉勵語,實在讓人惱火。這些心靈雞湯,老闆說說也就算了,程序猿何必忽悠程序猿。

人的成長是需要外部環境的。在一個沒有技術氣氛的公司工作,當然可能成功,但是你會有很多劣勢

第一你不能確定真正的技術問題是什麼。如果你伺服器每天處理的請求就只有八萬六千四百個,你在虛擬機搭個阿帕奇就對付住了,你會認為用非同步處理的那幫人簡直是吃飽了沒事幹。

第二因為問題並不影響你的績效,你不會有真正迫切的動力去研究解決方案。你知道非同步處理很重要,你自己用epoll寫了個伺服器,然後發現響應速度還不如阿帕奇了。同事都開著玩笑說你屠龍技終於畢業了。領導也覺得你瞎搞,一氣之下你又切換回阿帕奇了。其實你只是錯用了水平觸發而沒有用邊緣觸發。

第三你不能跟同事學習交流。你的同事都在研究怎麼報銷車票或者埋頭學習日語。你只好每天跟蹤丁香園大哥的博客,在了解阿里巴巴八卦的同時,還學習了臉書谷歌雅虎等等大公司的各種牛逼架構。但是你拿到的只是一副圖,生成這副圖的過程最寶貴,你卻一無所知。於是你不得不另闢犀徑,最終你靠著收藏轉載評論這些架構圖成了網路著名架構師。

我覺得,如果你發現自己的技術已經超出了工作所需,唯一的解決方案是跳槽。因為做程序猿正常的狀態是,你的技術永遠不夠用,永遠是有無窮的問題需要你去研究。


剛剛有小朋友置疑我羅列那麼多術語,補充一點我認為最最最重要的吧:

永遠要清晰的知道自己和別人的差距,而且一旦你努力了,才知道智商的差距更大。

我很清晰的認識到,我上面有無數牛人,牛人上面有無數牛人。但是很可惜,我見到無數小朋友剛剛畢業就牛逼哄哄的;當然,很多小朋友也更努力,所以老人也不能鬆懈。

努力吧,騷年們!

----------------------------------------------------------------------------------------

說一下我自己,也在創業公司,新功能開發升級都是熟練體力活,但是!

1) 你了解你所依賴的平台不?

你了解你依賴的平台不?SQLAlchemy的文檔仔細看了么?為嘛要這樣設計?ZMQ呢?設計思想是什麼?消息傳遞的優勢是什麼?Twisted、ZMQ等等亂七八糟的網路框架本質是什麼?tornado、Django亂七八糟的Web框架呢?MySQL事務的隔離性你知道么?別說事務都沒用過。CORBA、SOAP、RIM這些都聽過么?優缺點是神馬?

&> 某天和某個小孩聊天,他說他做的東西沒有任何意思,沒有任何技術難度;我問了一句能說你們所用的框架的處理流程么?直接卡殼了。

2) 你的模塊夠穩定不?

你的模塊做了單元測試么?功能測試呢?集成測試呢?有沒有辦法做到持續集成?自動部署呢?還有你如何管理你的依賴環境?知道Mock對象不?知道測試樁不?測試數據如何管理?

3) 可維護性呢?運維性呢?

表告訴我你發布程序就是嘩啦嘩啦拷貝一大堆腳本過去,然後就nohup掛在後台跑著了。

如何打包?如何管理依賴?如何發布?能不能做到零停機?如果出現問題了如何回滾?如果不能回滾如何處理?是不是腳本自動部署?你的日誌如何列印?如何管理?如何及時預警?

4) 了解系統構架不?為神馬要這樣做?有沒有神馬問題?有問題有優化的餘地么?

5) 能從大量的業務邏輯中抽象出來一個通用的流程、框架不?

6) 系統有沒有單點?如何防止?如何備份數據?MySQL Replication有神馬問題?如果有冗餘,一致性又如何?有沒有可能丟數據?

7) 能從大量的模塊中,抽象出來一些中間件、基礎設施不?

太多太多了。。。。


無法提高。少數絕頂牛逼的人也許自學自學就更加牛逼了,但是大多數普通人我覺得還是需要工作中的機遇加挑戰在後面推一把的。


自己研究啊,找點小項目來搞搞,搞著搞著你就對技術知道的多了,自己的技術水平自然也就上去了。

比如,自己寫個WebServer,寫完以後你就知道,從單線程響應http請求,到多線程響應;從只支持html,到支持圖片、音頻啥的,慢慢的,你就能體會server的基本原理;

再比如,自己寫個網路爬蟲,爬點天氣預報數據、新聞啥的,從單線程爬,到多線程爬,從每隔一段時間爬,到每天定時定點爬,從爬不需要登錄的,到爬需要登錄認證的,完事後,啥是多線程、線程池、怎麼模擬登錄,你還能不明白?

爬到天氣預報,那你還不寫個小android/ios/html5程序,把天氣呈現出來,從只呈現一個城市的,到呈現可以選城市的,從沒有動畫的,到有動畫的...什麼sqlite、自定義控制項、handler、ajax、webservice你還會不熟?

我就這麼乾的,我不是程序猿,這只是我的愛好,但學習讓我挺快樂。


Lua也是一個2萬行的小項目,做了20年了。

可是,人家怎麼就做得那麼棒呢?

所以,有一顆「精益求精」的心是最重要的,而不是項目的大小。


我想到一句話,叫作『越有知就越無知』,你目前不知道怎麼辦,是因為自己沒多少技術儲備。

當你覺得工作中是一些『小項目』,『不需要高難技術』的時候,說明你已經完完全全可以勝任當前的工作了,這就是進步,應該更上一個台階。又或者是眼高手低的一類人,這類人,沒建議。

選擇專而精還是技術雜家這兩種基本上就是提高自己的兩個大方面了。

這兩種都需要足夠的知識儲備和豐富的經驗,肚子裏沒貨,哪樣都當不成。自我們大家從大學畢業進入社會後,就不會有人像老師那樣手把手的教了,即使老師教得也不怎麼樣。還有句老話叫作『師傅領入門,修行在個人』,這就是說以後想怎樣,全都得靠我們自己了,學習的方向,技術的取捨,目前技術上這麽多選擇,沒有人會告訴你怎麼選、怎麼走(整天叫囂一門語言好而鄙視另一門語言的唯我獨大的思想,這特瑪有意思麽?)。只有哪些技術適合在哪些業務下,和哪些需求更為契合。我記得在『艱難一日』這本書裏,男主角被選中進入綠隊,他問老隊員應該帶哪些裝備。老隊員回他『你來海豹六年了,還不知道要帶哪些裝備?』。這就是BBR( Big Boy Rule )-大男孩準則:沒人告訴你怎麼做,你自己拿主意。這同時也是成熟的一個表現。

回到你的問題,『想提高自己的技術,怎麼弄』。我個人有這麽幾個建議:

先說個最簡單的解決方法,你直接和上司講:『我想從事一些更有挑戰性的工作,目前工作太單調,沒意思,呵呵』,注意要笑著說,如果你一臉嚴肅的講,別人以為你是要加薪,反而還炒了你。說不定老闆那裏正好有這樣的項目,而正好又沒人做,而你又自告奮勇。兩全其美,何樂而不為呢?如果實在沒有,那麽可以考慮謀求一個更大的發展空間了。人都是逼出來的,太安逸反而不利於成長。

也可以這樣:

1. 看科技博客,這個和工作沒多大關系,可以開闊視野。

2. 關注業界的技術文章。比如哪些行業有哪些創業公司啊,他們用了哪些技術啊,為什麼要用這些技術啊等。

3. 關注牛人的博客、微博/twitter。關注他們,這些人都會寫一些質量非常高的文章,和微博/twitter不一樣,這樣的文章會寫得很詳細,用心讀他們。

更為重要的一點便是,看到的任何技術詞匯,google他們,一定要google他們。鑑於大環境,很多技術名稱都沒有一個準確的中文譯名,即使有正式的中文名稱,也一定要知道它正確的英文名稱,這點非常重要,所以大家在寫文章,分享心得的時候都會直接用英文單詞,這樣就會很容易在文章中發現他們,然後你就可以用google搜索了。那時,你會發現,這又是一個世界,像來到了天堂。

沒有國內社區推薦。有問題問google,google會給你指明方向,至少也會把你引到stackoverflow上。

帶著問題去做事,一段代碼,寫完了,是好是壞自己最清楚。想辦法讓它更強壯,更有可擴展性,更精簡,更清晰明瞭,其他程序員不會花太長時間讀懂。代碼不能很好說明意圖的情況要用註釋說明。讓自己的代碼有一個風格,給自己編寫一個代碼規範,嚴格執行,不要讓自己的代碼像一坨坨屎。

好了,你的代碼已經很強壯了,擴展性也很強,很精簡,別人一看就懂,註釋寫得恰到好處。整個代碼沒有讓人看不懂的地方,即使沒有文檔。事情完了嗎?沒有,接下來,試著換個其它語言重寫一下。一樣的要求。

好吧,又成功完成了,這次是驚天地,泣鬼神!這樣,會了兩種語言,有比較了吧?有想法了吧?哪種合適?選那個合適的。沒被選上的就當作技術儲備了。基本上就這樣了。往來幾次多了後,你的技術選擇方案就多了,如果你想當雜家的話,你可以有多個不同的技術組合,像拼積木一樣。又或者,和一門技術卯上了,專攻一門,一直攻到金字塔頂端。

這樣一樣,你就會N門語言,N種技術組合,N種解決方案,至少一門技術是大師級別。再回到開頭的『越有知就越無知』。那時,你不會再問這種問題了,你知道自己應該怎麼做,怎麼選。


作者:loonggg

鏈接:程序員平時該如何學習來提升自己的技術 - 非著名程序員 - 知乎專欄

來源:知乎

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

自從運營了公眾號以來,應該說分享了不少的技術乾貨和人生感悟,也應該幫助了不少程序員和開發者。最近發現了一個問題,就是經常有開發者私聊我說:我遇到了一個什麼什麼問題,怎麼解決。我一看問題,明明就分享過相關問題的解決辦法,或許他沒看。還有的開發者說:上次分享的那篇文章我找不到了,現在要用。我親自給他找出來,發過去。有時候,我真的很忙,不能及時回答你們問題,也不可能所有的問題都幫你們解決,希望你們在提問題之前能夠多想辦法自己解決,走投無路時再來找我。我感覺「授人以魚不如授人以漁」,所以分享一下我平時的學習方法和思路,你們也就少麻煩我一點。

如何學習呢?我平時是通過這樣的方式來學習的,可以分為四點:充分利用碎片化時間,常常潛水在各大技術社區和開源網站 ,善於使用學習工具,順手寫成自己的博客。其實可能說起來簡單,做起來是真難,我不否認人的惰性極具魔力,讓人難以自控,但是有時候想想自己的技術瓶頸和腰包時,再牛逼的惰性也抵不過窮光蛋(開玩笑)吧,「 話糙理不糙」 。fighting,少年吧。

充分利用碎片化時間

利用碎片化的時間,其實就是在延長自己有意義的生命。 在 這個高節奏的社會,工作越來越多,能自由支配的時間越來越少、越來越碎,想花個一大段時間做點自己的事情,卻總是會被各種各樣的瑣事打斷,想要專心敲會代碼時,卻總是莫名其妙地去刷微博,看朋友圈,聊微信。而且我相信大多數程序員都是在一線城市,上下班的路上也得一兩個小時,地鐵上的時間完全可以利用。如何充分利用這些時間呢? 如何讓自己在時間不得不切碎的情況下仍然能夠保持高度的專註力?如何拒絕被動碎片化?

我來說說我的做法,說到碎片化就必須說說「 番茄工作法」 , 番茄工作法是簡單易行的時間管理方法 , 使用番茄工作法,選擇一個待完成的任務,將番茄時間設為25分鐘,專註工作,中途不允許做任何與該任務無關的事,直到番茄時鐘響起,然後在紙上畫一個X短暫休息一下(5分鐘就行),每4個番茄時段多休息一會兒。所以我用了一個「 Todoist」的應用來管理自己的任務和時間,每天晚上睡前給自己制定第二天的任務,比如第二天哪個時間段必須做哪一件事,是否完成都會進行提示和標記,嚴格控制自己,如果自己規定的那個時間段沒有完成任務或者被別的事情耽誤了,那就當天找時間也得補救回來。而我在上下班的地鐵上,我都是看一些公眾號推送的技術文章或者技術類的電子書,還看人文科技類的書,看這些公眾號和書真的非常有收穫。要不你們想想我哪有那麼多時間去寫技術文章,分享公眾號啊?俗話說得好:「 時間就像海綿里的水, 只要你願意擠,總還是有的」 。一個人的成長,不對自己狠點,哪那麼容易成功啊!知道我做公眾號的不容易了吧。

學會搜索和瀏覽技術社區

如何搜索,怎麼搜索,學過計算機的知道計算機里有個「 情報學」 嗎?我記得大學的時候學情報學以為是跟電視劇里演的一樣,帶著耳麥,敲著密碼打字機,滴答滴答的玩卧底呢,MD,原來學的就是信息檢索和圖書館搜索內容。裡面教你怎麼搜索你想要的信息。不要遇到錯誤就直接把log日誌的信息複製粘貼到瀏覽器里直接搜,應該把那一行信息提取出相應的幾個「 關鍵字」 ,關鍵字之間打上「 空格」再搜索。

要善於潛水和瀏覽各大技術社區和論壇,開源網站什麼的,搜索的時候用「 Google」 比較靠譜,遇到新的控制項的使用,不要百度找使用方法,而是應該首先查「 API」 文檔。遇到問題在 「 StackoverFlow 」 應該能找到解決方案。沒事的時候,多去開源社區比如「 GitHub」 上逛逛,遇到好的開源項目不要star了就沒事了,看看人家的思路,是怎麼寫的,要喜歡「 刨根問底」。

總結成一句話:使用新東西的時候,應該先查Android官方API文檔,再去Google,或者StackoverFlow,剩餘時間多逛逛技術論壇和開源網站,github肯定會讓你「 受益匪淺」 。

學習工具的使用

利用碎片化的時間學習看到了很多好的技術文章,在瀏覽技術社區的時候看到了更好的解決辦法,瀏覽GitHub的時候,看見了比較牛逼的開源項目,還來不及學習怎麼辦?這時候好的學習工具就非常有用了。以前記得老師常說:「 好記性不如爛筆頭」 。確實是啊,尤其是我們做技術的,每個控制項的屬性和方法我們不可能記住,也記不住,只能記住一些常用的。互聯網時代,我們肯定不會用「 筆」 去記東西啊,那不就成了「 拿著大刀長矛參加現代化的戰爭」 嗎?

給大家推薦幾個比較好用的記筆記的工具,印象筆記也就是evernote和 有道雲筆記。在瀏覽器上安裝上相應的插件,可以把網站里的文章,論壇里的內容一鍵保存到自己的雲端。舉個例子,如下:

是不是非常方便?功能很強大,可以保存整個頁面,也可以只保存網頁正文內容,還可以隱藏網站里的廣告,還能截圖。手機安裝了相應的app之後,點擊分享按鈕,可以一鍵分享到雲端自動保存,隨手很方便。隨時隨地的保存和收藏自己看到的好文章。等到自己有空的時候,再去看自己保存的東西學習,以後「 非著名程序員」 再也不擔心我的學習了。我們以後再也不用麻煩「 非著名程序員」幫我找東西了。

我平時在地鐵上瀏覽公眾號文章或者其他技術社區時,看到好的文章就馬上一鍵保存到雲端筆記中,它們可以直接同步到手機端app和電腦端,等到我用到時或者有時間時就會進行學習,並整理。「 好記性不如爛筆頭」還有另一層的意思,就是光看不寫是不行的,所以你收藏了,得去學習和實踐,把它們變成自己的東西。

舉個例子:比如「 非著名程序員」推送了一篇好的文章,不要收藏到微信收藏里,直接用Evernote一鍵收藏到雲端,到了公司或者有時間的時候,打開去學習,自己去寫一個類似的東西,只有在自己親手寫代碼的時候,才會知道遇到哪些坑,如果光看是不行的。再比如「 非著名程序員」在github上開源了一個項目,記得star一下,等自己有時間的時候去研究透,變成自己的東西。寫這一段沒別的意思,就是想給自己「 無恥」 的做一個廣告。哈哈……

寫技術博客

我以前說過很多遍寫技術博客好處,可以歸納總結自己的知識點,方便自己學習等等,利用碎片化時間在技術社區看到好東西,利用工具保存到了雲端,並學習了,那就把自己學習到的東西進行歸納總結,遇到的坑填一填,整理成技術文章,發布出去。如果你按照這個思路去學習,你的技術會在「 潛移默化中修鍊成仙」 的。不信的話,趕緊去試一試。

嗯,就這樣,不說了,又啰嗦了。最煩自己這麼啰嗦了?你們煩嗎?

移動開發者的聚集地,公眾號「非著名程序員」,每天一篇原創技術分享和移動互聯網知識分享,微信公眾號:smart_android ,頭條號和百度百家賬號都是「非著名程序員」。


就沒有人跟我一樣覺得在家寫程序更加快樂嗎


學習提高的方法很多,每天堅持看技術網站,技術文章,開源代碼/項目。

多看新技術書,讓自己接觸各種新技術。

我喜歡通過寫項目來學新東西。以前寫了一票的免費軟體,其中2個超過500萬下載量。把產品推到市場上,可以強迫自己不斷改進,改進的過程你要學新東西,譬如新功能,新演算法改善性能等。

我每天下班後都花4-5小時看文章、項目和寫代碼。單純自己慢慢看官方文檔速度有點慢,現在互聯網允許我們快速找到相關技術心得,看了之後融會貫通,應用到自己的項目(不要單純的複製粘貼,這樣沒有進步的)。這個習慣可以培養。

其實,做什麼都好,只要有動力,就好辦。


各位大佬說的都多對。但別忽視了國內公司的員工都是在加班的,一個項目接著一個項目,根本不給你時間去瞎折騰,迅速完全能用的東東是關鍵,所以大佬們說的很多是無法實現的。我覺得絕經就是業餘時間去做專做精,參與開源可能是最佳方式。看大佬們的ppt只是開闊視野,你能明白什麼時候能用什麼方式,其他的靠自己實踐。要成為研發而不是開發,這才是方向。

還有一個就是心態,你把日常工作當做鍛煉自己基礎技能的一種方式也未嘗不可。所謂的高手一直在強調經驗怎麼怎麼的重要,好像要n年大項目的他才能擁有,事實上這是自欺欺人。你回想下初中高中時代,你學的那些知識是世界頂級的教育專家教給你的嗎?不是,是普通的學校里的普通老師教你的,你能考上大學就是因為你在做了無數的基礎練習後慢慢悟出來的那些結晶,所以心態要好,要善於悟!比如,看ppt,你要能悟出ppt外的東西,這些大技術,高新技術什麼時候用,為什麼用,怎麼用?等到你悟出來後,就不僅僅是紙上談兵的了。你做了n道數學題後,你能一看到題目就知道怎麼做肯定能做出來,甚至你能直接說出答案,你這個時候已經是高手了。


你的真正問題不是「工作沒有挑戰怎麼辦」,而是「我繼續現有的工作沒法讓我積累能在將來接受有挑戰工作的經驗怎麼辦」

所以問題不在工作上,而在你身上,對待工作的一些態度改變也許可能能幫助你改善這個問題,也許不能,但總之怎樣對待工作不是解決這個問題的核心思路。

我自己也有過類似困惑,最後是靠業餘愛好積累起來的,我想了一下就算我改變工作態度,能力積累也不如花在業餘愛好上積累的快。因為工作上的內容太龐雜了,規模太大了,就算投入進去,大部分的精力也不是用來提高自己的。


很多程序員覺得自己東西做出來就OK了,但是真正東西做出來到實際投入使用,各種各樣問題出來後,如何解決!如何規範化避免可能出錯的問題。這裡面有很多要思考的地方!小到編碼風格,質量,結構,大到系統架構,機制,性能。或者管理角度,開發。發布,測試流程!每一塊都有很大的學問!有些人寫一行代碼,都會思考如何嚴謹,復用,簡單,高效;而有些人只知道就應該這樣寫,不追求為什麼?

所以同樣一段代碼,給有些人會看出一大堆問題和疑問,而有些人什麼都看不出來!

處處留心皆學問,這句話對程序員來說,再合適不過!上面提到的任何一點,你鑽進去都可以成為大牛!

但很多程序員,只把自己編碼當工作,做完再無任何追求!這種俗稱碼農,乾的是體力活,越搞東西越多,越高越累,沒新意!有追求的會把每次做的東西總結,可能新做的跟老的很類似,能改造下復用嗎,或者乾脆抽成工具包,樂此不疲,越做越簡單,越做越少,都自動化了!

我相信這個過程最好有個氛圍或者導師,指導你趨於進步!到我要說的,這個別人是不會教你的,而是你要先有這個意識,能清楚目標後並有些嘗試後,再跟別人溝通,再校正你的看法,再改進和嘗試,這樣循環才能成功!

程序員銘記,學者生,用者死!

搞清楚什麼叫高級語言,你就自己掌握的那點知識多麼站不住腳!

題主現在的問題,是心態問題,鄙視自己乾的工作。如果你端正心態,再來看問題。如果公司效益不好,市場都不認可,代碼有這麼亂,沒有前途就走吧!如果效益不錯,市場反應不錯,說明自己產品還有可取之處。看到自己產品的優勢,嘗試去學習和理解,看到產品的優點和缺點,針對性學習去改進,自己一樣會慢慢提高。你看到的問題越多,你成長和進步的機會就越多!

端正心態,看清問題,瞄準方向,努力前進吧,少年!


記得《黑客與畫家》裡面保羅-格雷厄姆寫到:

面試程序員的時候,主要關注的事情就是業餘時間他們寫了什麼軟體。因為如果你不愛一件事,就不可能把它做得真正優秀,要是你狠熱愛編程,你就不可避免地會開發自己的項目。

業餘時間自己寫的項目對於一個程序員的成長是非常重要的,如果工作中接觸到的都是不喜歡的難度很低的項目,在自己業餘的時間寫對自己有挑戰的項目便是很好的選擇了。書中還寫到:

黑客應當找個日常工作糊口, 業餘時間做自己喜愛的程序。

這裡黑客指的是頂尖的程序員~


1、如果總是要靠工作提高,那麼就換個有大項目做的工作。

2、如果自己能往深了去挖,世界上沒有一個項目會是小項目。

希望你能懂我的意思


隨便寫個什麼東西,扔一邊去再寫一遍,不夠爽就重複上面的。

你信得過就試試這招吧,反正我是這麼做的。


跟樓主說一個我的親身經歷吧

背景:之前在一個大公司工作,但由於大公司分工太細,同時還有別的原因,導致我們部門拿不到項目,一直都在做整合,整日都在改別的項目導致的整合的bug,而且有趨緊於看不到代碼的局勢,全組都是這樣,情況比樓主差好多。期間找過主管談過,但都是些推諉的話,無果後,開始制定自己的計划了。

------------------------ 進入正題 -----------------------------------

和主管聊完天之後,開始制定自己的計劃,得出的結論是我必須辭職,但是不是現在。

於是每天拚命的快速完成部門的活,然後開始做自己的研究,開始的時候是寫一個項目,再後來放到sf上去,然後是看開源的項目,每日下班回家也持續到12點,節假日,周末,也如此,這樣的情況持續了大概半個月,然後試著找工作,面試,然後被拒絕,再回過頭來繼續自己弄項目。再後來覺得時機成熟了,辭職(這個時間點和我開始指定計劃有1年的時間差距,換句話說就是我準備了一年),然後玩了一個月,找工作一個月,現在在一家公司上班。

我現在的狀況是有項目做,形式趨近於@盧景倫 的說法,慢慢提高

-----------------

注意:

1、必須要有明確的目標

2、要堅持,我每天下班後和周末都會固定寫和看代碼到24點以後,確實很累

3、我個人的原因,我對代碼有熱情。


大學學的是計算機科學技術,畢業後就和這個沒關係,淚奔中......

------------------------------------------------------------------------------------------------------------------------------------------------

從非技術角度嘗試回答下,純文字搬運.不過下面的內容我相信.

自慢 (豆瓣) 提到:12. 工作成就定理:唯態度論

工作成就(Performance),能力(Ability),態度(Attitude),這三個英文字頭組成工作成就定律:P=A*A 而態度(Attitude)提升比能力(Ability)容易千百倍.

冬吳相對論 131.激勵的藝術(上) 提到 績效等於能力乘以動力

原文:

吳伯凡:小劑量的增加,而且不要有那種毒品式的效應,毒品式的效應就需要劑量越來越大。還有一個東西就是毒品最大的壞處是單一刺激,把人的各種功能都廢除進行單方面刺激,而好多公司在做激勵的時候,往往都是用單一的方式來刺激,這樣把人的心理的導向只盯在那個上頭了。我們以前也講到過,吸毒的人除了對毒品產生興趣,對其他的不再產生興趣的時候,這個人的所有的功能、他的慾望、他的情緒都會被這個毒品所控制。所以我們在做激勵的時候,首先你別忘了激勵是為了什麼?激勵是為了造就更好的績效,這是最重要的,而績效有一個公式,叫能力×動力,就是這個人有多大的能力要乘以動力,才是最後的績效。有過一個調查,100個能力大致相當的人,實際上很多人的能力都是差不多的,也就是差一個10%—20%的這樣一個範圍,但是最後做出來的績效會差得非常大、非常大,有的甚至相差20倍,為什麼呢?是因為背後的那個動力。比如說前面那個乘數不小,比如說是100,後面的那個乘數有的是1,有的是2,有的是100,有的是0.1,最後得出來的那個得數就很不一樣。


當你在大公司做大項目的時候你才發現小項目是多麼好


推薦閱讀:

編程中常用的數學公式和理論有哪些?
Matlab中循環體中的循環變數怎麼在運行後顯示為它代表的數字?
學習哪種編程語言可以用來開發很多有意思東西?
學習 C++ 編程,怎麼才能找到合適的練手項目?
沒參加過ACM如何訓練數據結構與演算法能力?

TAG:程序員 | 編程學習 | 程序員能力 |