① 程序員搬到哪裡,哪裡的房價就崛起,是真的嗎
隨著互聯網創業潮的興起,作為互聯網核心的工程師們逐漸走入了大眾的視野。但不知為何,程序員在許多人中的印象並不是特別好,蓬頭垢面、滿臉油光、格子衫、小短褲似乎成了程序員的代名詞。
反觀同一公司里的其它崗位,產品、運營、市場崗位,卻並不會給人留下不好的印象。同樣作為程序員的我,不得不去思考這個問題:為什麼收入並不比別人低,但為什麼形象卻不如人家?既然這樣,那我們的努力有何意義?我們的未來到底在哪裡?
程序員的出身
要透徹地思考這個問題,就避不開出身這個根源問題。
當離開養育我十幾年的故鄉踏上廣州的求學之路時,我每個月只有800塊的生活費。而這其實已經算是挺不錯的生活條件了,有更多生活條件比我還差的同學。在吃飯問題剛剛得到解決,沒有閑錢的情況下,人是沒有能力去追求更高的物質享受的。
在大學四年的時間里,我一心牽掛的是如何好好學習找到一份養家糊口的工作。於是乎我的大學可以說是比較平平淡淡的,經常是和好基友在自習室看書到晚上十餘點。在現在看來,有時候會有那麼一瞬間會覺得浪費了大學的大好時光,沒有花點時間去學點才藝,但仔細想想也實屬無奈,吃飯都成問題,還怎麼追求精神享受呢。
相信許多選讀計算機的朋友也和我一樣,並不是來自於大富大貴的家庭,更多的是普通的家庭。有一句話說得很好:窮人讀工科、中產讀商科、富人讀藝術。
對於絕大部分的普通人來說,合理的套路是:第一代讀理工醫科,有一技之長,安家立命,打好基礎;
第二代才能讀金融商科,可以利用第一代的資源人脈,加強資本積累;
最後第三代讀人文社科,有前兩代的基礎,知道如何長久的維護他們手上的資源。根據我的觀察,周圍的程序員們確實出身於普通家庭,有的甚至是大山裡的孩子。
對於沒有背景沒有人脈的他們,有一技之長,安家立命才是最重要的。
程序員的本質
在大學畢業後,畢業後拿到一份還算可以的薪資,但至少能養活自己。而且在後面幾年裡薪資也不斷增長,至少現在的我已經不需要擔心生存問題了。但這時我發現此時的我除了工作,似乎一無所有,沒有興趣、沒有愛好、沒有才藝、沒有活動。
我想去充實自己的業餘生活,去學一門才藝、去發展一門愛好,但卻發現時間怎麼都不夠用。此時,我漸漸意識到了程序員這個行業的本質所在。程序員錢多,但加班也多,個人的業余時間也變得少了。長此以往,整個人的交際技能會逐漸退化,人的生活也會變得稍微無趣。
除了工作時間外,工作內容也是讓人變得無趣的一個方面。程序員的內容都是各種枯燥的業務邏輯和機器,而且技術難題都需要靜下心來才能深入理解。如果你的生活太精彩,你怎麼可能靜得下心來去做這么枯燥無味的事情啊。
所以程序員的本質是出賣自己的時間和技能換取金錢,可以說是一個高級點的技工,只不過過得舒服自在點罷了。
程序員為什麼不受待見
知名科技博主月光博客曾經寫過一篇文章《為什麼程序員社會地位不高》,這篇文章很深刻地解釋了程序員不受待見的原因。
程序員的自我尊重和自我認知價值太低。有一個現象可以證明這一點:程序員們互相厭惡。他們通常在非程序員面前抨擊別的程序員。把一個程序員的代碼給另外一個程序員,往往,常常,後者會給前者的工作以負面評價。藝術家不會這樣。銷售員不會這樣。管理者不會這樣。政治家這么做只是為了贏得選票。
其他專業人士他們會公開的支持同行,即使他們有競爭。(例如律師,請不要問我為什麼美國事實上是被這幫混蛋統治的)。簡而言之,上面提到的這些行業人員擁有更大的行業事業,以自己的工作和行業自豪。
程序員們並不追求浮華的頭銜,性感的典禮、獎項、他們討厭聚光燈。
程序員們喜歡編程。他們想要獨自編程。編程是他們的目標,是他們的政治,是他們的榮耀。他們對公共演講不感興趣。他們討厭不如他們聰明的人。他們討厭不理解C++編程邏輯的人。
於是他開始慢慢說服自己生來就是內向的。所以他害怕外出,害怕接電話,害怕去泡吧,害怕去見陌生人,害怕所有能為他建立社會關系和社會地位的活動。
程序員的未來
賺錢有三個層次,第一個層次是拿時間換金錢,第二個層次是拿資源換金錢,第三個層次是用錢賺錢。作為程序員的我顯然還是處於拿時間換金錢的階段,所以在很長時間里,我還是會作為一名程序員生活著。在這個階段,我們積累技術、資源,為下個階段做准備。
當我們有了足夠的技術實力和人脈資源之後,我們或許就不必事必躬親去做一線代碼工作了,我們可以拿著我們擁有的資源更加輕松地賺錢。這時候如果你還是喜歡Coding,你可以更加自由地做自己想做的事。這個階段的你,生活必定比苦哈哈地幹活來得有滋有味。
而當你用資源交換得到的財富到達一個量級時,你完全可以通過投資去獲取生活所需要的物質條件,這才真的是躺著賺錢。在這個階段,你才可以真的說是人身自由的一個人。我想,到了這個階段,你的夢想和對於這個世界的理解肯定會大有不同吧。
想想剛剛畢業的我看著這幾萬幾萬的房價,一臉迷茫看不到希望,每天都在抱怨高房價中度過。但當我想通了我未來要走的路,我現在處於的階段,我都釋然了。該來的總會來的,該跌的房價總會跌,該漲的收入總會漲,該有的機會總會有。就像十年前總被說腦殘的90後、被說成垮掉的一代,現在還不是走上了社會,擔任了社會的中堅力量。
其實回頭想一想,程序員還是一個很幸運的群體,有這樣一個順暢的道路讓你可以努力往上走。看看那些讀機械、讀食品專業的同學們,工作三年了現在估計還在幾千塊工資徘徊。想到這里,我很感激這個時代,給了我這么一個機會。
想通了以後自己要走的路,該努力的努力,該吃的吃,該玩的玩。做該做的事情,盡量讓自己的生活豐富起來,相信生活會越來越美好。
② 如何成為一個編程高手
1、扎實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2、豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程序員來說很重要。
3、最簡單的是最好的
這也許是所有科學都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4、不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5、對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6、多與別人交流
三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7、良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8、韌性和毅力
這也許是「高手」和一般程序員最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨煉出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠差御旅不間斷地完成這一工作,你就可以滿足這一條。
入門的話路就長著
安卓開發學習書籍,精通android2 或者 Android2高級編程,兩本都可以。
看更多的學習視頻,是許多自學android開發的新手必經之路,畢竟看書只有你一個人的思維在活躍,看視頻虛凳是兩個人的思維在碰撞。
關注安卓開發學習學習網站,DevStore(主要是開發者服務商店)還有csdn和開源中國,都是開發者經常關注的網站。
學了基拆裂本的東西了,你就應該掌握扎實的基礎,包含語言(java,C++),演算法,計算機原理等。對Android介面的熟悉,專一於某個方面的開發,還有就是對它的熱愛。
萬丈高樓平地起.那麼首先打好基礎.
抓好演算法,首先認真學習C語言或是C++語言
其次:如果向數據系統開發,掌握一些資料庫
如果硬體或嵌入式,學習介面和通訊
打好基礎。首先要學好四大組件的相關知識。比如要了解activity下面各個布局及控制項的使用;要學會service的生命周期及使用;要學會broadcast廣播機制的知識;要學會ContextProvider內容提供者的相關知識,學會sqlit3資料庫的使用。
多做些項目。可以先從android 自帶的demo學起。
進階。學好android的網路編程、線程、OpenGL、5等相關知識。參與公司項目。
多寫代碼,多學習各種命令和用法
學會調試,-x,然後斷點
掌握Java的精華特性而且一定要知道為什麼。比如,Interface和multi-thread。用interface是更好的多繼承的模型,而多線程則是設計到語言一級的重要特性。要完全理解interface是為什麼,用多線程又有幾種常用的編程模型。 理解了語言的特性是為什...
學習,不斷的練習。扎實的基礎知識。
送你4字 勤學苦練
看書,或者先到編程的公司去工作一旦時間。祝你成功,到時候介紹給我玩啊
③ 如何成為一名程序員 6種方法來成為一名程序員
目錄方法1:網路編程1、了解網路編程的含義。2、瀏覽不同的網站,了解它們的外觀。3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。4、熟悉網站結構。5、趕緊學一門圖形設計的課程。6、了解網路下部構造的基本情況。7、學習HTML和CSS語言。8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。10、學習客戶端腳本語言。11、熟悉你所學的客戶端腳本語言。12、學習至少一種伺服器端腳本語言。13、學完伺服器端編程語言之後就開始創建一個試驗項目。14、獲得你的網站,開始用你自己的網頁實驗。方法2:桌面軟體編程1、弄清楚桌面軟體編程是怎麼回事。2、了解不同的電腦硬體結構。3、學習一種入門級(小孩子學的那種)編程語言。4、學習程序化、面向對象、函數設序設計規范的入門。5、學習一種程序化程式設計語言的入門課程。6、學習至少一種高級建模技術,比如UML 或ORM。7、開始編寫一些小的主控台應用程式或類似的應用程式。8、學習一門你選擇的編程語言的更高級課程。9、應用你所10、至少再學習一門編程語言規范的入門課程。11、試著比較你所學的兩門編程語言。12、利用你學過的一種語言來學習可視化編程概念。13、開始把你所學的知識運用到你設計的軟體小工程中。14、創建一個虛擬的"畢業工程"。15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。16、搜索其他含可視化元素的包/庫並學習它們。17、學習圖形學課程(而非圖形設計)。18、成為游戲程序員(不是必須的)。方法3:分布式程序設計1、處理分布式應用編程。2、快速了解通信系統及其硬體。3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。4、學習網路協議的課程。5、學習XML 語言,並熟悉它。6、開始學習一門shell腳本語言。7、開始時用上你學的腳本知識,只運用程序化程式設計。8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。9、轉移到桌面腳本/編程語言。10、專注於語言的核心部分,尤其hi那些支持網路。11、學習分布式應用設計與結構的課程。12、使用你所學的編程語言來了解服務部分建構和服務。13、學習如下技術中一種或更多。方法4:庫/平台/框架/核心編程1、了解什麼是核心編程。2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。3、學習一門UML 和ORM的高級課程。4、學習軟體工程的課程。5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。6、進一步了解不同的操作系統及其支持的編程架構。7、集中學習獨立平台架構、編程語言和技術。8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。10、在你的編程領域內尋找開源的包。11、學習不同方法。方法5:系統編程1、了解系統編程的定義。2、跟著"桌面應用程序員"的前三個步驟。3、學習線性代數的入門課程。4、學習微積分課程。5、學習邏輯學和/或離散數學課程。6、了解不同的"准操作系統"。7、學習計算機硬體結構的課程(或者作為替代,看看書)。8、深入理解不同的計算機硬體平台。9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。11、在你選擇的平台上理解並實踐C/C++標准庫。12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。13、用C/C++練習編寫高級代碼。14、學習更高級的Assembly。15、學習操作系統設計的課程。16、尋找並閱讀你所選擇的平台的相關文章。17、練習你已經掌握的知識。18、以最有益的順序學習語言。方法6:編程科學1、了解編程科學家是做什麼的。2、累積和四年制計算機科學學歷同等多的科學知識。3、選擇特定的領域。4、考慮獲取更高級的學歷。5、了解你選擇的編程領域的相關技術和編程語言。成為程序員是一個日積月累的過程,需要日復一日年復一年的技能增長。編程本身是有趣的,並且有回報(腦力層面、精神層面、經濟層面)。這份指南不能保證你輕松當上程序員。不要神化下面這些步驟,從中你大概能了解在現今編程界如何成為一名程序員。
方法1:網路編程
1、了解網路編程的含義。網路應用是指設計在網路結構頂層的軟體部分。這就意味著這些應用是通過諸如火狐或IE之類的瀏覽器來處理的。架構於網路結構的頂層並不一定要連接到網路。這就是說網路應用建立在如下標准網路技術的頂層:HTTP
FTP
POP3
SMTP
TCP
IP協議
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2、瀏覽不同的網站,了解它們的外觀。(右擊,選擇"查看源"或按F12。)尋找網站類型/內容的多樣性,而非數量。通常你需要訪問以下網站類型中至少一種: 團體網站(商業公司,非營利機構/組織,政府組織)
網路索引引擎(搜索引擎,meta搜索網站,專業化搜索引擎,目錄)
數據挖掘網站
個人網站
信息/網路全書式網頁(維基,數據單,技術規格,人工列表目錄,博客和日誌,新聞和新聞機構網站,黃頁,等等。)
社交網站(社交門戶,書簽網站,記錄筆記網站)
合作網站(這包含了上面提及的目錄,比如維基和博客)
3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。例如:頭腦風暴圖和微軟Visio。
4、熟悉網站結構。指的是創建概念化網路範式、網路地圖和導航結構。
5、趕緊學一門圖形設計的課程。盡量學習至少一個圖形編輯/操作軟體包(不是必須的,但強烈推薦)
6、了解網路下部構造的基本情況。包括了解以下: 基本網路服務協議(HTTP,FTP, SMTP和POP3或IMAP4)
網路伺服器軟體(最好其中一個就是你以後主要工作的平台)
網路瀏覽軟體
郵件伺服器和客戶端軟體
7、學習HTML和CSS語言。或許你還想要"所見即所得"軟體包來編輯HTML。
8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。
9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。
10、學習客戶端腳本語言。多數人要麼學Java,要麼學VB,但也有一些人學習Perl和DHTML。
11、熟悉你所學的客戶端腳本語言。潛意識里提醒自己只用你學的那個語言。只有在你熟悉你的客戶端腳本語言之後才能進入下個步驟。
12、學習至少一種伺服器端腳本語言。如果你只用一種伺服器軟體,那就學其中一種編程語言。否則,你得每個伺服器軟體都學至少一種編程語言。
13、學完伺服器端編程語言之後就開始創建一個試驗項目。
14、獲得你的網站,開始用你自己的網頁實驗。
方法2:桌面軟體編程
1、弄清楚桌面軟體編程是怎麼回事。多數桌面軟體程序員都是編寫商務需要的代碼,所以好好了解一下商業及其組織和經濟結構將對節省時間、提高效率大有裨益。
2、了解不同的電腦硬體結構。看看數字電路設計和電腦結構的入門級課程,但是也有人認為這對於剛起步來說太超前了,所以看兩三篇說明的文章(比如 這一篇 和 這一篇)就夠了。學完第一種編程語言後你可以再返回這個步驟。
3、學習一種入門級(小孩子學的那種)編程語言。不要因為你不是個小孩子就不好意思去學。這些入門級語言能大大減輕你正式學習第一門編程語言時的痛苦和壓力。然而這一步也不是必須的。你也可以在上一步之前完成。
4、學習程序化、面向對象、函數設序設計規范的入門。
5、學習一種程序化程式設計語言的入門課程。無論你以後選擇何種編程語言,在某種程度上它都要求程序化程式設計。此外,據多數程序員反映,程序化程式設計總的來說是了解編程的一個很好的切入點。
6、學習至少一種高級建模技術,比如UML 或ORM。
7、開始編寫一些小的主控台應用程式或類似的應用程式。你可以利用編程書中的常見小練習。選擇一個工具,用你所學的編程語言編寫程序。
8、學習一門你選擇的編程語言的更高級課程。確保進展之前先理解下列概念,並能熟練運用。對程序用戶輸入輸出信息。
程式化設計語言寫成的程序中的邏輯流程和執行流程。
聲明、分配和比較變數
編程結構分支,比如if..then..else 和 select/switch..case.
循環結構,比如while..do, do..while/until, for..next.
創建、調用程序與函數的編程句法
數據類型及如何操控
用戶定義數據類型(records/structs/units)及其使用
如果你的語言支持超載函數,理解它。
你選擇的語言的內存處理方式(指針,變數窺視,等等。)
如果你的語言支持運營商超載,理解它。
如果你的語言支持delegates/函數指針,理解它。
9、應用你所學的高級技能 面向對象的規范
10、至少再學習一門編程語言規范的入門課程。推薦學習每種範式的編程語言,多數高級程序員確實是這么做的,然而,通常你開始時只學一種,應用所學知識訓練了一段時間,獲得了編程的鮮活經驗,然後接著學習另一種。試試下面的語言: 邏輯編程範式
函數編程範式
面向對象的範式
11、試著比較你所學的兩門編程語言。評估各自利弊。通常可按以下方法完成拿出你在學習第一門編程語言時編寫的簡單範例,現在用第二門語言重新編寫。
創建一個工程,盡量用上兩種語言完成它。有時取決於你選擇的工程和語言,你可能僅用一門語言還無法完成這個工程呢!
寫一份兩種語言之間相似結構和獨特之處對比的速查表或一覽表。
盡量使用另一門語言找到模仿這兩門語言中獨特之處的辦法。
12、利用你學過的一種語言來學習可視化編程概念。幾乎所有的編程語言都具有支持可視化編程和其他支持控制台或類似控制台編程的版本/庫。同時進行的包括: 初步了解事件驅動編程。在某種程度上,多數可視化編程依賴事件及事件處理(用上你選擇的語言)。
盡可能多的嘗試桌面軟體,理解軟體是做什麼的。多數軟體開發公司會提供產品的測試版,你可以拿來測試軟體。在完善用戶界面方面保持更新。
閱讀關於圖形用戶界面的文章或教程。
13、開始把你所學的知識運用到你設計的軟體小工程中。盡量把你的編程專業知識運用到你日常生活中的問題上。比如,編寫程序,批量重命名文件,視覺上比較文本文件,復制目錄里的文件名到內存/文本文件之類的東西。剛開始簡單一點。
14、創建一個虛擬的"畢業工程"。把這個放到最後完成,用上你到目前為止學到的可視化編程技術。
15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。
16、搜索其他含可視化元素的包/庫並學習它們。
17、學習圖形學課程(而非圖形設計)。對於想要寫出吸引人的用戶界面元素的程序員來說,這將大有裨益。
18、成為游戲程序員(不是必須的)。很大程度上游戲編程是被當作桌面編程的。如果你想成為游戲程序員,完成這些步驟後你需要進一步學習游戲編程。對於游戲程序員而言,圖形學課程是必須的,後續步驟中第二門語言應該選擇邏輯/函數編程語言(最好是Prolog或Lisp)。
方法3:分布式程序設計
1、處理分布式應用編程。分布式應用編程被許多人認為是最難學的一種,它要求計算機和通信技術中的不同知識。
2、快速了解通信系統及其硬體。這個步驟不是必須的,但是對於理解網路拓撲結構很有用。
3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。
4、學習網路協議的課程。在你開始分布式應用編程之前,你需要好好理解"開放系統互聯 (OSI) "模型、以太、IP、TCP、UDP和HTTP 。
5、學習XML 語言,並熟悉它。
6、開始學習一門shell腳本語言。對基於Windows的編程,可以是任何能與Windows腳本宿主兼容的腳本。對基於Linux的編程,Bash腳本和 Perl就夠了。對這兩個平台都強烈推薦Java,原因如下: 幾乎所有操作系統的都支持腳本宿主(Windows 腳本宿主默認支持java ,大多數Linux發行版都有支持java腳本控制的包)。
許多開發者認為它很容易學。
當你需要學第二門編程語言(C,C++,C#,Java和J#都有ALGOL開源句法)時,它擁有的ALGLO開源句法就能使你熟悉更多編程語言
通過學習java,你會熟悉網頁的客戶端腳本,這可謂一大福利!
7、開始時用上你學的腳本知識,只運用程序化程式設計。之後,根據你的腳本語言和它所支持的,你可以用上更高級的編程技巧和範式。所有的腳本語言在某種程度上都有程序化程式設計的一些方面。
8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。學習完成這個所必需的東西。簡單的通信就足夠了。
9、轉移到桌面腳本/編程語言。一個比較好的是多範式語言,比如Python。簡單了解第二門語言。有許多理由讓多數程序員選擇java。然而,在這個領域內C#正在獲得多數優勢。Java和C#被青睞的原因如下:它們是面向對象的編程語言,使大量程序員免遭實現細節之苦,因為它們都支持組成部分(代碼單元、預編譯,它們可以執行特定任務,並被用到其他程序中)。
它們支持事件驅動編程,在某種程度上還支持OO和程式化程序設計。
建立語言的架構按屬性分布(比如Java)。
有許多現成的包來處理。社交網路同時作為開源代碼和架構內置包,這使得程序員繼續其他人工作更加容易。
10、專注於語言的核心部分,尤其hi那些支持網路。少注意用戶界面元素,比如輸出,窗口設計和技術等。
11、學習分布式應用設計與結構的課程。可以通過書本、網上教程或學術課程來完成。然而,十分有必要理解分布式應用的結構及其概念。
12、使用你所學的編程語言來了解服務部分建構和服務。
13、學習如下技術中一種或更多。推薦你每一種都了解以下。多數分布式應用程序員不會止於一兩門編程語言,他們會每個操作系統各學至少一種語言。這是因為如果你希望你的應用"分布式",你應該至少為每個主要的操作系統各提供一個版本。公共對象訪問代理體系結構(CORBA)
簡單對象訪問協議(SOAP)
非同步JavaScript和XML(AJAX)
分布式組建對象模型(DCOM)
.NET遠程處理
XML 網路服務
方法4:庫/平台/框架/核心編程
1、了解什麼是核心編程。核心程序員幾乎都是高級程序員,已經從編寫應用轉變為給其他程序員編寫代碼匯編。
2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。
3、學習一門UML 和ORM的高級課程。多數庫開發者使用其中一種,或兩種都用。
4、學習軟體工程的課程。
5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。你所學覆蓋越多編程範式和語言,你就能成為越成功的庫/包程序員。
6、進一步了解不同的操作系統及其支持的編程架構。
7、集中學習獨立平台架構、編程語言和技術。
8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。無論何時盡可能使用標准代碼。
9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。這在成為庫/包程序員的早期階段十分有用。從簡單的包開始,比如單位轉換和中間科學計算包。如果你是大學生,利用你的非編程課程,嘗試把這些課程的方程式與核心科學用作庫。
10、在你的編程領域內尋找開源的包。首先下載包的二進制/可執行文件。盡量去用,並發現它的利弊。之後,下載源,盡量弄明白它是怎麼完成的。嘗試再創造這些庫或其部分。剛開始,看完代碼再做;之後,先做再看代碼。後期階段,嘗試完善那些庫。
11、學習不同方法。給程序員分發、配送內容。通常,庫/包程序員傾向於以遞歸和/或迭代的思想來思考他們面臨的所有問題 。盡量把每個問題當作一個小問題的匯編(一系列更小的任務)或一個重復的不斷縮小問題范圍直至把這些更小的范圍彼此堆到一起的處理過程去思考。
庫/包程序員傾向於概括化。也就是說,當面臨一個特定的簡單的問題時,他們通常會想到一個更為概括的問題,並努力解決這個更概括的問題,如此,小問題便不攻自破。
方法5:系統編程
1、了解系統編程的定義。系統編程處理的是編程的"科學",而不是具體的編程實現。不要把你自己栓到特定平台上。
2、跟著"桌面應用程序員"的前三個步驟。
3、學習線性代數的入門課程。
4、學習微積分課程。
5、學習邏輯學和/或離散數學課程。
6、了解不同的"准操作系統"。這可以通過以下途徑完成:了解操作系統是如何安裝的。
了解在一台PC上如何安裝不同的操作系統(不是必須的,但作為推薦)
安裝不止一種操作系統。不要在系統中安裝任何輔助包,相反,僅利用操作系統本身提供的函數。
7、學習計算機硬體結構的課程(或者作為替代,看看書)。
8、深入理解不同的計算機硬體平台。
9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。稍後你會學習其他平台/系統的匯編。
10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。
11、在你選擇的平台上理解並實踐C/C++標准庫。尤其注意標准模板庫(STL)和活動模板庫(ATL)。
12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。
13、用C/C++練習編寫高級代碼。
14、學習更高級的Assembly。
15、學習操作系統設計的課程。
16、尋找並閱讀你所選擇的平台的相關文章。如果你選的是基於Unix的操作系統就會容易得多。充分理解你今後將要用來工作的系統。
17、練習你已經掌握的知識。首先創建小的系統軟體。如下通常很有用: 試著重創你系統中已有的小工具。
試著把其他系統中的應用移植到你的系統里。
18、以最有益的順序學習語言。此處是唯一強調第一門編程語言的地方。首先學習ANSI C 而不是 C++、C#、Java 、D。然後學習 C++。限制你第一門語言僅為C是因為系統編程要求程序員熟悉如下概念:源代碼真實、完全的編譯
低級對象輸出文件
鏈接二進制
低級機器語言/匯編編程。C語言被某些人認為是偽飾過的/更容易學習的匯編語言。只要你願意,它還支持插入匯編語言代碼,並且它只是程序化的(像匯編)。
方法6:編程科學
1、了解編程科學家是做什麼的。編程科學家是十分高級的程序員,他們不開發程序,但他們研究計算科學,比如密碼學、編程語言和數據挖掘演算法。沒有深入的學術研究是很難達到這個水準的。
2、累積和四年制計算機科學學歷同等多的科學知識。可通過如下其中一種完成: 獲得真實的學術學歷(這也是通常情況)。
從現代大學中獲得該學歷要求的課程大綱,自學課程或 分開一門門學。理論上這樣做也可以,但還是推薦第一種做法。
3、選擇特定的領域。越具體越好。這取決於你的偏好。但是這里給出計算機編程領域中一些主要的課題:演算法設計(例如搜索、分類、密碼、解碼、錯誤檢測 等)
編程語言/編譯器設計/最優化
人工智慧領域(模式識別,語音識別,自然語言處理,神經網路)
機器人技術
科學編程
超級計算
計算機輔助設計/模式(CAD/CAM)
虛擬現實
計算機圖形學(計算機圖形學通常和圖形設計或圖形用戶界面設計混淆,計算機圖形學是研究如何表示和操控計算機系統中的圖形的領域)
4、考慮獲取更高級的學歷。或許你想追求碩士學歷或博士學歷。
5、了解你選擇的編程領域的相關技術和編程語言。
小提示不管你想嘗試哪種編程,不管你想達到何種水平,考慮去學校或本地社區大學上課。不要被諸如「計算機科學」一類的術語嚇到。你參加的任何不需要預備課程的課程都應該集中教一些編程的基礎知識。在上課之前先咨詢一下老師或客服,確保這門課是你想要的,像「計算機文化」這樣的課很有可能更多地集中在教你更熟悉辦公應用之類。
④ 程序員可以通過什麼方式賺錢
Google Adsense
利用Adsense可以將廣告發布到你的網站上去,通過訪客點擊廣告來賺取傭金。這似乎是一個很不錯的主意,如果你有一個不錯的創意,寫一個網站對於程序員的你應該不難,網站放上Adsense廣告,推廣、引流、收美金。
02
Android App交易市場收入
首先,他的Android應用是免費的,他並不是靠賣App來賺錢,而是通過向App中投放廣告來賺取傭金的。如果你對Android技術非常熟悉,或者你的工作就是做Android開發,那麼為什麼不自己開發一個應用放到Android市場,為自己創造另一份收入。
03
參加一些開發者大賽
這是一種最實在的方法了,拿獎金,只賺不賠,不過前提是你得有足夠的實力。他參加過Google的Android開發者大賽,很得瑟的跟我們說那時候他贏得了2000美金,盡管不是很多,但從中也可以學到不少知識,至少,通過學習,他可以自己開發Android應用來賺取廣告費了。
04
承接一些項目
當然這要花費你很大一部分時間,承接時你要考慮時間成本,至少這些時間要和你的工資相當。個人不怎麼推薦這種方法,有時候周期會很長,很容易喪失積極性,不過也算是一種方法
05
刷機、越獄
現在都是智能手機,有些用久了,卡了,像電腦一樣要重裝系統,一些小白有教程都搞不定,這時候你可以藉此開展刷機業務。還有iOS的越獄,這個需要你對iOS的操作非常熟悉。你可以將此業務掛到淘寶上,幫助買家實現他們要的功能。
06
做黑客
黑入銀行,盜取前女友現任老公的所有錢,哈哈,開玩笑了。不過,做一名優秀的計算機黑客確實可以幫你賺取很大一筆收入,比如幫助一些企業提高計算機網路的安全性、做一些抵禦攻擊的積極措施等。
07
寫評測
DevStore專門收集各種開發者評測,開發者花幾個小時測試下,如果文筆好的話可以大賺一筆,一篇評測600以上吧。
08
兼職論壇大神
各種開發者論壇會專門聘請一些大神,專門回復論壇各種小白問題,提高論壇的專業度。
09
做網站、博客
沒事寫個博客,整個論壇,招幾個編輯幫你維護著。平時在編程過程中有什麼心得感悟什麼的都寫下來,不知不覺網站流量就上來了,你就可以收廣告錢了。
⑤ 如何成為編程高手,程序員要看什麼樣的書籍,有經驗的人說一聲,做好是大師級別的人物
作者:金蝶中間件公司CTO袁紅崗
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1. 扎實的基礎。數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想像力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條准則,如此復雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,而且是那種極暴力的打鬥類游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7. 良好的編程風格。注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程序員最大的區別。A good programming is 99 weat and 1ffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
⑥ 北京程序員自製700集免費教程獲獎,他的舉動獲得了學生們怎樣的認可
引言:現實生活當中總有一些人他們願意做出很多的努力去回報社會,幫助更多受到困難的人。北京程序員就自製700級免費教程獲得了燭光里的程序員獎項,而他也是實至名歸的,他自製免費教程視頻到舉動也獲得了學生們的認可,很多人也都成為了他的粉絲,並且一直默默支持他。
這名北京程序員七百集的教程對學生的學習是非常有幫助的,如果有一些人想要學習計算機方面的知識的話,小編也建議大家可以去關注這位博主,他的視頻內容確實干貨滿滿,值得大家一看。
⑦ 從普通程序員到今日頭條CEO,張一鳴是如何做到的
可以說張一鳴的成功是憑借著自己有面對不確定因素的能力,張一鳴在沒有創辦頭條之前,就已經連續與創業5次,在這幾次創業當中,雖然都以失敗而告終,但是對於張一鳴來說,卻從這些創業的過程當中收獲了很多的東西,能夠讓自己在技術上變得越來越精進,就連技術之外的其他方面也掌握的非常熟悉了,所以張一鳴後來提到自己創辦頭條的時候,就說如果說沒有前期這4次創業的經歷,那麼就沒有後來頭條的出現,張一鳴有著非常敏銳的頭腦。
張一鳴能溝通一個非常普通的程序員到後來成為頭條的CEO,在這一段成長的過程當中,經歷了多少的辛苦,可能只有張一鳴能夠知道,所以想要成功就要付出努力。
⑧ 程序員如何自己創業
30歲,對於每一個程序員來說都是尷尬的年齡,彷彿舞台上不知不覺間已經謝幕,而自己仍在獨舞;創業,對於每一個程序員來說都是曾經或者正在憧憬的夢想,可是夢想與成功之間難以逾越的距離卻也讓多少人望而卻步……以下是我為大家整理的程序員如何自己創業相關 文章 。
周鴻禕談程序員創業
很多人都嚮往著有一天自己創業,程序員更是如此。如果你想創業,那麼該怎樣創業、需要有哪些准備、自己還有什麼不足等等這些問題你考慮過嗎?本文就跟大家分享周鴻禕在接受某媒體采訪時給程序員上的創業課。
程序員創業的特別之處
關於程序員創業,我之所以願意談我的觀點,是因為我是程序員出身,也是從小公司做起來的,我自認為對待很多程序員個人包括共享軟體作者和一些小網站還是很好的。我希望和他們分享一些 經驗 和體會。
首先,我想說的是聰明人不一定能成功,很多程序員很聰明,但我一看就知道他們不會成功。因為我看到了一些問題,而且現在太多程序員存在很多誤解。因此,我希望把我的觀點告訴程序員。或許有一些程序員能夠清醒,某個人可能因為我的某一句話有了感覺,對他以後的成長產生了幫助,這就足夠了。
要知道,程序員總是以為自己優秀所以就能成功,其實不是。中國的程序員大部分是盲目的:看看一些論壇就能夠感覺到,要麼有一群人自我感覺極端的良好,以專家自居,要麼就是一群藍領埋怨公司和社會環境不行,待遇不好。
應該說,中國程序員創業的成功率也是很低的。放眼望去,中國互聯網成功的人士有幾個是真正寫過十年軟體的。事實上,現狀和我們所能聽到的媒體宣傳的 故事 很不一樣。
很多程序員的最高理想就是寫一個共享軟體,一年可以掙幾百萬。但我希望談的不是告訴程序員如何掙錢,掙錢很容易,而是要告訴程序員如何去創業。比如雖然FlashGet的作者收入很高,衣食無憂,但從創業的角度看,它並沒有以商業公司的方式創業成功。
程序員在創業方面的欠缺
首先,我看到中國程序員的合作心態非常缺乏,我認為這是中國程序員最大的問題,當然這是有很多原因的。
大家經常說這句話:態度決定一切。但事實上好程序員基本上都比較傲氣,因為程序員往往會覺得自己在做世界上一件十分偉大的事情,這就是驅動機器,修改一行代 碼,機器就能夠工作,可以產生各種不同的行為。這很容易會讓程序員產生一種錯覺,認為自己可以Control Everything。程序員的自信在編程上是非常需要的,但不是適合一切場合。如果我們不說這些,可能很多程序員到現在還不知道自己錯在哪裡,仍然認為 自己是King of the World。
事實上,程序員的能力只是控制了一個機器。但創業僅僅具備了和機器打交道這一種能力是絕 對不夠的,他還需要和合作夥伴、競爭對手、投資人、員工甚至整個社會環境打交道。很多程序員因為已經習慣了和機器打交道,不善於也不願意 其它 的工作。很多程序員會內心認為“營銷不是很簡單嘛,市場很簡單啊,管理也很簡單啊,”我認為這種心態是非常害人的。
程序員還是一個很固執的人群,他覺得自己是機器的統帥,因此不會靈活,不會妥協。我當時也喜歡寫程序,但我知道如果自己沉迷於寫程序,肯定沒戲,所以是逼著自己改變角色。
優秀的程序員不要自負
這兩天,我收到幾封程序員的來信。有一封信中大意說“我是個如此優秀的程序員,為什麼我就不能成功呢,請你指點。這里有我的blog地址,看完你就 會了解我了。”我想說的是:如果真的希望別人幫忙,就要把情況真實的說出來,而不是上來就說自己很優秀,這種語言就會讓別人覺得很不舒服,不是很好的交流 方式。我還真看了那個blog,但看完之後,覺得這個程序員就是一個空想狂。
可以說,很多程序員實際上是優秀帶來了自負,這種自負使得其不要說創業,可能在在公司中工作也會遇到問題。所以,我甚至認為程序員在創業方面遇到的困難比其它類型的人員更大。如果程序員希望主導一個創業,可能首先就要逼自己不是一個程序員。
程序員應持開放心態,尋求團隊合作
程序員首先要學會和別人合作。提到這點,很多程序員都會說“我正在帶著其他程序員寫程序啊,我會合作啊。”但這種合作是片面的,我所談的不僅僅是程序員和程序員之間的合作,而是包括了程序員和其它各種角色之間的合作。程序員相親,他們的語言比較能夠容易理解。但作為一個程序員,你能不能商業人員、銷售人員很好的合作呢。
我這些年還看到很多這樣的例子:程序員動不動就把目標定為比爾·蓋茨。其實,比爾蓋茨不應該成為程序員崇拜的目標對象,這會讓程序員迷失方向,因為微軟另外一個創始人保羅·艾倫才是真正的程序員。再看其它一些例子,Google的第20名 程序員都可以獲得五億美元。Adobe公司兩個創始人也是一個精通技術,一個對商業精通,這樣的搭配才能夠更好的成功。因此,對於很多程序員來說,一定要找准真正的榜樣,不要被外界的故事迷惑了頭腦。如果剖開一些故事的外表,你會發現國外很多成功的程序員,背後一定有一個很強大的商業感覺的人或者一個團隊。
程序員的商業感覺其實並 不是很好。即便有商業感覺,其實這只是一個靈感,一個創意,但要要做成、做大還需要一系列的管理、市場、運營,這些對於程序員是不可想像的。程序員要明 白,在自己不擅長的領域,找到一個可以彌補自己缺陷的合作團隊才是出路。加入一個創業團隊,可能個人佔10%,但因為更容易成功,而且團隊可以做100分 的事情。而如果只是一個人做,很可能就失敗了。
這方面,國外的程序員對自己的長短比較清楚。在矽谷,很多程序員技術上都很牛,但他們 都非常知道自己只是在技術這個領域水平比較高,出了這個領域,自己什麼都不是。正因為有了這種心態,他們特別懂得與人合作。我認為國外的程序員已經普遍意 識到了這點,他們很願意成為創業團隊中的一員而並非自己創業。
因此,程序員需要調整心態,不要把自己當作精英人物,要承認自己在編程方面是優秀的,但永遠有人比自己更優秀,對於其它的領域,很可能自己很無知。要知道,其實程序員的選擇其實是最少的,因此抱有開放的心態是最重要的。
程序員與創業要求還有哪些差距
我認為現在的很多程序員經驗過於不足,他沒有認真踏實做過很多工作就奢談創業。如果一個程序員沒有在編程方面深入過,沒有積累,也就是半瓶子醋。這 樣的程序員我接觸過很多,他們自己也不清楚問題出在哪裡,讓人感覺又愛又恨。我認為程序員既然要憑借自己的技術,那就一定要踏實,要能夠實現任何創意。
但現在一些程序員自己沒有商業意識,卻又很自負,不相信別人,不理解的事情就不做。我遇到過很多程序員,他們對公司做什麼方向都質疑。他 們希望自己先想清楚,可是一想就浪費了很長時間。很多程序員就可悲在這里,積累的不多,看不到方向,但他也不相信自己的公司和老闆,這是一個悖論,需要程 序員深刻反省。要知道,每個公司都有懂商業的人。
就這樣,一些程序員極端自負,另外有一些程序員碰了很多釘子之後,感覺很自卑,於是便認為國內軟體業不行,最後 出國 或者打工,很少有程序員能對自己能做公正的評價。
國內環境是否造成程序員浮躁的因素
我以前沒有仔細考慮過這點。但我想,不管怎樣,程序員需要先從自身找問題,因為大環境就是這樣了。我承認一個現實:程序員生存狀態並不是很好,但程序員很多報怨其實是一種不切實際的期望值和自身的缺陷產生的反差。
首先,產品沒有大小,只有市場的大小。很多人總是覺得這也小,那也看不上。認為公司做的產品很無聊,要做就要像某些人宣揚的那樣:做游戲一定要 做3D引擎,好像只有這樣才夠牛。這其實就是一種浮躁。很多程序員寫軟體總是很多bug,基礎知識也不牢固,沒有參加幾個項目,沒有寫過十萬行代碼,就奢 談做大項目,這有價值嗎?
而且我還發現有些程序員特別憤青,罵環境,罵老闆,其實這只能把自己的心態搞的很壞。很多人剛進公司時做的很差,雖然工資少,但他沒有想到給公司增加了很多bug,公司實際上是在給他出學費。論壇上大家都在討論哪裡活幹得少錢拿的多。甚至還有人列了一些黑名 單。這種做法的結果就是程序員自己將周圍環境搞的烏煙瘴氣了。
有的程序員還非常喜歡指點江山,指點公司。我個人覺得這不是不可以,但 指責別的公司對個人沒有什麼好處,因為存在就是合理的。如果看不到,恰恰證明是自己看不到。我看到很多程序員也寫blog,技術交流的我認為非常好,但有 些人是寫評論。我是覺得程序員不要做評論家,中國不缺評論家,最缺的是實幹家。
總之,程序員一般過於自我。總生活在自我的世界中,就不可能真正了解世界是什麼。我很早就意識到了這些問題,也努力的去客服。我的經驗就是看別人如何做的好,為什麼能夠做的好,什麼是我所不能理解。程序員要學會慢慢站在別人立場上看問題。
最後給希望創業的程序員一點建議
對程序員來說,現在要做的也很簡單,這就是需要大量的實踐,要慢慢培養對產品,對商業的感覺。我的建議說出來可能有些忠言逆耳。對絕大多數程序員來 說,自己一個人成功的機率是很小的,所以我認為加入一個創業的團隊可能更為合適。現在有很多初期創業的公司,也需要很多優秀的程序員加盟。如果有理想,可 以選擇加入一個團隊,也有相應的股份,這方面我可以充當一個橋梁。
看看前網路程序員是如何創業的?找合夥人已經OUT了!
“來吧,做我的CTO,給你股份,咱自己當老闆。”
因為同學的一句話,前網路研發工程師YK辭職創業。一群毛頭小子,技術能力過硬,但畢竟資源不足,經驗欠缺,不到半年,項目無疾而終。 互聯網創業 盛行的現在,一個好的技術抵得過一支團隊,更別說出身BAT了。
但很多人不知道的是,就是這一樣一支技術實力超強的團隊,最終竟然也輸在了人上——過於強調技術,沒有頭腦足夠清醒的團隊成員及時制止。這也是為什麼要選背景不同、經驗不同的一群人一起創業了。曾經和YK聊過很久,項目失敗的背後是他對創業更多的思考,特別是對於那些擁有好工作的人來說,拋下一切投身創業需要付出的成本太高,但如果只是給創業者打工,那還不如守著原有的工作,至少更體面、更有保障。
就在我以為他會重新安安穩穩工作的時候,卻意外的在創業大街再次見到了他。細聊起來才知道,他並非辭職重新開始創業,而是用自己擅長的技術加入到新的創業團隊中,以外部合夥人的身份幫助兩個不同方向的項目解決技術開發問題。這次來到大街,是專門和一支團隊開技術碰頭會的。
他的這個選擇意料之外,卻又情理之中。意料之外的是他居然理智的沒有辭職,情理之中的是他選擇了成為外部合夥人,用業余時間一邊做顧問、一邊寫代碼,實現了時間、能力價值的最大化。
其實,說到外部合夥人就不得不提智籌平台。去年3月,正是看到了毛大慶宣布 離職 但依舊擔任萬科外部合夥人的新聞後,智籌將“外部合夥”作為創業者&人才之間對接的一種新的合作關系。現在,創業者來智籌發布任務,除了能與互聯網高級人才建立長期顧問、短期兼職、駐場辦公、遠程協作等合作關系之外,也能通過部分現金+可回購股份的方式,與人才建立外部合夥關系。外部合夥人是一個沒有行政職位,但依舊為企業、團隊做貢獻的人。
對於創業團隊來說,外部合夥人解決了以下問題:
1.快速成長,度過難關。
按照原本的思路,YK服務的兩支團隊還陷在滿世界尋找CTO、找程序猿的泥沼中,但有了外部合夥人,更低的參與門檻吸引了更多人才願意加入,不僅解決了燃眉之急,更推動項目度過難關、快速前行。
2.滿足了人才的多樣性。
一個合夥人已經很難找了,更不用說基因不同、知識不同、經驗不同的一群人。外部合夥人大大降低了對人才的束縛,而這樣的一種合作模式,讓越來越多的人才願意加入到創業中來,組建這樣一支多樣化團隊更容易。
3.更快找到,成本更低。
外部合夥人是通過股權激勵撮合到一起的一群人,利用可回購股權讓人才把創業者的事當做自己的事,目標、利益一致,做事更用心、更高效。股權支付的方式又可以降低初創的資金壓力,創業者不用支付很高的現金,也能請到非常NB的人才來解決難題。
外部合夥人極大的緩解了創業找人難的窘境,但當創業者真正去尋找外部合夥人的時候,往往又會擔心外部合夥人的時間、效率怎麼保證?水平怎麼衡量?什麼人才適合做外部合夥人?
首先,時間自由是第一標准,至少是時間可控,能夠拿出足夠精力完成任務。否則,連時間都不能自由支配的外部合夥人也太不稱職了,CEO找你開會,你卻說你在公司加班,即耽誤了創業者的時間,又降低了自己的口碑。
其次,獨擋一面的能力絕對必不可少。做得了合夥人的,都是某方面十分擅長的專業人才,那麼做的了外部合夥人的,需要更高的水平。從一開始我就強調,外部合夥人一定是高級人才,不然沒資格幫助創業者解決問題,甚至指導方向。俗話說,沒有金剛鑽不攬瓷器活,想做外部合夥人,一定得先有過硬的水平。
第三個標準是認可股權模式。中國基金報曾發表評論稱,未來十年,如果你與股權無緣,可能無法實現財務自由。在如今樓市低迷、股市重挫的時候,股權投資卻異軍突起,特別是在大眾創業、萬眾創新的激勵下,全國創業氛圍濃厚,涌現了一大批優質有潛力的新興企業、互聯網企業。也許你不是土豪,沒有錢參與眾籌,而此時外部合夥人模式的出現,讓普通人也能參與,只不過是用能力和時間參與創業、解決任務,換取股權。
智籌在幫助創業團隊對接外部合夥人合作的過程中,通過實踐 總結 出了最適合做外部合夥人的群體:自由職業者、大企業主管級以上在職人才、工作室、外包團隊等等。這些人能夠站在實戰的高度,不只提供經驗分享,更能夠有針對的解決具體問題,融入到項目和團隊中。
對於很多創業小夥伴來講,找錢、找人是躲不開的兩座大山,有錢了當然可以請NB的人才加入,有人了事兒干好了錢自然不愁,先有雞還是先有蛋的問題永遠都在,找到一方的突破口自然事半功倍。這時,外部合夥人就是打破這一死循環的關鍵鑰匙,只是需要創業者用開放的心態接受、嘗試,畢竟改變原有習慣肯定難受,甚至懶得嘗試。但創業原本就是不破不立的事,只有打破舊有習慣,才能接受新鮮事物,才能有更多新的收獲。
從另一個角度來看,參與創業的門檻降低,意味著越來越多的人能夠將自己的智力換成股權,幫助推動創業的同時,也是對未來的投資。根據智籌平台的數據顯示,當 創業項目 獲得融資後,人才所持的可回購股權將會以最少3倍的價值兌現,這對於很多人來講也是不小的吸引力。外部合夥人模式,降低初創資金成本的同時,也讓越來越多的高級人才加入到創業中來,大大激發了創業活力,無論創業還是參與創業,用起來都是極好的。
⑨ 想從事互聯網行業,什麼職業方向比較靠譜該怎樣規劃呢
互聯網行業譽中氏一直以來都是一個非常熱門的行業,因為現在人們處於一個互聯互通的時代,所以說很多人都會通過互聯網交流或者是購物等等,正是因為互聯網,所以人與人之間的交流也變得越來越密切,所以說互聯網也成了一個非常熱門的行業,很多人都想要通過互聯網來實現掙錢或者是實現一些職業發展,那麼就有一些人在問,如果想要從事互聯網行業的話,到底什麼樣的職業方向是比較靠譜的呢?該如何規劃呢?下面就和小編一起來了解一下吧。
總的來說,如果想要從事互聯網的行業的話,可以去選擇當一名程序員,或者是選擇自己做一名短視頻博主,如果做好了的話,工資是非常高的,但是需要根據具體的工作來進行職業規劃。
⑩ 程序員如何參與創業
程序員如何參與創業?
之前在緣創派上活躍過幾天,不少朋友也咨詢過我程序員如何參與創業的問題,給(tu)點(chao)建(ji)議(ju)。
確認你的創業意願
大部分人對創業是有誤解的,一提到創業就想到在一個出租房不拿工資加班到死最後一夜成名一鳴驚人。其實現在創業已經很普遍了,不一定要破釜沉舟卧薪嘗膽,也並不是每個參與創業的人都要成為創始人和CEO。根據你的目標的不同,你可以在創業生態中選擇一個合適的位置。
我有一個無論如何都要做成的idea:創始人/CEO founder
我遇到了一個和我想法相同的人,我們決定一起做:聯合創始人 co-founder
我很認可某人的想法,我有很好的能力,我想幫他:合夥人 partner
我覺得創業很有錢途,想賭一把:已獲投資公司的核心員工,有期權的那種
我覺得創業很有意思,想體驗下:已獲投資公司的早期員工,如果你不缺錢,那麼沒投資的公司也無所謂
程序員創業直接做CEO?
如果你沒有獨立做過能掙錢的軟體、上萬用戶的免費APP、粉絲數5萬以上的大號、每天PV10萬的網站,那麼先別離職,選一個你喜歡的用業余時間做著試試。
很多東西不光是能力問題,也是喜好問題。我遇到不少很厲害的程序員CEO,他們過得並不開心。如果你不喜歡伺候一群爺(也就是你的用戶),那麼還是待在大公司,做一個靜靜敲鍵盤的美男子吧。
分清楚合夥人和聯合創始人
很少有人能分清楚合夥人和聯合創始人的區別,業界里邊叫起來也比較隨意。為了更清晰的說明,我對合夥人和聯合創始人做了如下定義:
聯合創始人對公司的業務方向是有發言權的,在董事會也應該有投票權的,不光是產品應該使用什麼技術架構,公司未來怎麼發展,是否接受某輪投資,他都能影響甚至修改決策。
聯合創始人和創始人是平等的,有義務無條件盡自己的一切努力來保證公司的成功。
聯合創始人對創業的需求是內在的,如果創始人不幹了,他還是會幹下去,他甚至會重新創建一家公司來實現這個想法。
合夥人則不同。
合夥人是輔助創始人的存在,大方向是創始人定的。他沒有決定權,只提供建議和意見,並幫助完成某一個方面的業務。相應的,合夥人不應該承擔聯合創始人的義務。
合夥人是可以在中後期加入的,不一定要在早期。相應的,中後期加入的合夥人的股份會少一些。
合夥人的創業需求是受創始人影響的,他不願意完全主導一家公司(出於對自身能力的認知和喜好),如果創始人不幹了,他更願意換一個團隊做合夥人。
之所以要分清楚,是因為有很多團隊忽悠程序員加入,給的是合夥人的權利(其實他心裡想,一個技術懂什麼業務),卻要求你盡聯合創始人的義務(免費寫代碼)。
其實絕大部分情況下,技術人員都是以合夥人或者核心員工的身份參與創業,所以接下來重點說這兩種。
做技術合夥人還是核心員工,要想好
如果你只是想要點股份,早期的核心員工也能有幾個百分點的。一旦公司NB了,這些錢也足夠你用了。
在創業公司做技術合夥人(尤其是早期),除了和機器打交道,還要頻繁的和人打交道,一句話,所有技術上的問題都是你的問題,所有和技術沾邊的問題,還是你的問題。別想到一家創業公司專心的只做技術,機房是要管的,團隊是要帶的,對外演講是要做的,合作介面是要去談的。
定義好的自己想要的,然後再選一個合適的位置。
給想做技術合夥人的同學三個建議
沒投資的'團隊能不去就別去
創業首先要考慮的是風險問題。在一個成功率小於1%的行業,不要相信小概率事件。的確有人一夜成名,但絕大部分創業未半而中道崩殂。
如果你的技術過硬,完全有機會在種子輪甚至A輪時進入。如果沒有特別的理由(比如你的技術其實很爛),不要去承擔最早期的風險。
去一家拿到投資的公司,拿著和原來一樣工資,做著夢想的事,正是作為合夥人特有的低風險職業路徑。
別去相信媒體,苦大仇深悲情萬種和創業成功沒因果關系,那不過是朱軍的眼淚,煽情用的而已。
不要去折騰了N久還沒MVP的團隊
如果你看一個人喊著要創業一年多了,卻連一個MVP(最小可用產品)都拿不出來,那要留意了。
道理很簡單,一個MVP要外包,做下來也就1~2萬。如果創始人真的對自己的想法如他說的那麼深信不疑,他是不會等著一個免費勞動力來做的。你看:
我們的項目最少估值1千萬;
我們只要MVP出來不久就可以拿到投資;
我會給你20%的股份。
如果上邊都是真的,明明外包只要1~2萬,我卻願意花200萬,同樣給一個陌生人。這種智商的創始人不能跟吧?如果創始人的智商沒問題,那麼他告訴你的話至少有一條不靠譜。
不要去技術合夥人不給薪水的團隊
還記得豬和雞合夥賣雞蛋火腿三明治的故事么?
在同等條件下,創始人通常只有一個不知道是否正確的想法而已,而技術合夥人,付出的是自己腿上的肉。
所以技術合夥人理應得到應有的補償,即使是在沒有投資的情況下。
如果我是創始人,在沒有投資、我又認為項目靠譜的情況下,我大概會給技術合夥人一個選擇題:
技術合夥人每月5k的薪水,沒有股份。
項目融資後,技術合夥人可以60k的價格購買公司10%的股份。
或者
技術合夥人每月2.5k的薪水,沒有股份。
項目融資後,技術合夥人可以60k的價格購買公司20%的股份。
重點不是錢,而是游戲規則:
大家都要跳下水;
大家都對項目有信心,對彼此有認可。
簡單一句話,創始人應該把股份看得比錢重,把合夥人看得比股份重。
;