offer比較:C++職位和golang職位?
01-26
求大牛指點,我是一個初級的C/C++程序員,現在有一份C++職位和golang職位讓我選擇,都是走手機遊戲服務端邏輯的,C++那一份的公司相對大點,但是我之前是做過一年邏輯的,感覺做邏輯沒什麼進步,很多東西接觸不到。
golang那一份職位個人還是想學golang的,但是公司團隊非常小,公司很小,就怕以後golang出來不好找工作,求大牛給個方向,指點一下,萬分感激。主要是因為golang那一份公司比較小,我擔心如果公司運營不好,要重新找工作的話,對於我這種情況就比較難了。
同學別糾結語言,等你有個3,5年經驗以後,你會覺得無論什麼語言都只不過是工具而已。不同語言在不同的場景下有不同的優勢。真正到項目以後,選什麼語言是受很多因素影響的。通常都是因項目環境而確定使用什麼語言。 選工作更不能因什麼語言來決定。把一個語言用到融會貫通,直到你覺得語言不是個事兒。選工作應該第一個要考慮行業。行業有興衰,選錯行業會比別人費很多勁兒。
第二個考慮的因素是公司,好公司隨便一個職位你都會覺得爽,差勁兒的公司,你就是當CEO也很煩。
第三個是職位,這個就不多說了,通常在工作期間職位會有一些變化。 你使用c++已經一年,不建議更換,你覺得只寫邏輯沒有成長,不知道你說的「成長」指的是什麼,切記不要過度追求代碼技巧(肯定有人批這句話,主要因為國內環境,想做一輩子程序員真不現實)。代碼多幾行,少幾行,有一些複製粘貼,多一點點兒冗餘真不是個事兒。打個比方,你寫的代碼好比是一塊磚,最終是要跟其它人的代碼一起蓋成高樓的。咱雖然只是一塊磚,但在自己的腦子裡應該有一整個大樓(我指的眼界要放的宏大一點,你對自己開發的程序要有一個宏觀的認識,不能只看到自己的一小塊「邏輯」)。只有如此你才會覺得有不斷的成長,最終成為一個出色的工程師,設計師,架構師。 當然前面說的是走技術專家的成長路線,同樣的走項目管理路線的話,你不僅要對系統架構有一定認識,同時對開發人員構成,開發人員的知識結構,包括項目管理層的決策方式都有一定了解,以及以上因素會如何影響項目質量,成本,進度(項目管理又是一本書,這裡不詳細說了)。 我也是從一個小程序員,一步步走到現在,雖沒有很大的成就,不過以上所言都是切身體會啊。 以上大概是國內大部分技術人員的發展路線,也即你所說的「進步成長」。你可以思考一下,你在這兩個方向上是否有「進步」,在目前的崗位上,是否還能「進步」。你說的「接觸不到」是什麼原因?難道你們公司有很變態的信息安全制度?通過各種辦法使自己學習知識,找公司同事問,瀏覽公司資料庫,如果真的不能,那就趕緊的跳槽換工作,青春耗不起啊。公司成長經常會止步,但不能因此讓個人成長止步。回過頭來說,上面說的是發展主線。咱既然喜歡golang,業餘時間完全可以自學自樂,做為知識儲備,誰保有一天不會讓你主導一個golang項目呢?學無止境啊。
引申一點說,相比編程語言來說,熟悉語言常用的各種框架則更為重要,因為從頭造"汽車"的公司畢竟很少,大部分都是在現有的框架上進行開發,熟練使用其中一種或兩種,對其它框架也要有一定的了解,至少知道框架的作用和優勢,比如用各種框架寫個簡單的程序。走技術發展路線,則要更深一點學習框架的設計思想(這個等你3年後再說吧)。 前面說的都太泛了,是放之四海皆準的,所以很虛。真正落地的時候,要有所則重,結合自己特點。沒有超人,一個人在有限的時間和精力下真的不可能學完所有東西。所以還需結合你自身的特長,興趣有所則重的學習,什麼都學,但什麼都不精的話等於沒學。前面有人說起資料庫,想成為架構師,想自己設計一套系統的話,不了解資料庫怎麼行?軟體行業技術日新月異,從客戶端,WEB端,服務端,資料庫,通信,性能,操作系統,網路還有主機設備,各個方面,新技術層出不窮。在IT這個世界裡,你也許只能選有限的幾個你非常有興趣的方向進行精深的學習。 IT世界非常大,相信你一定能找到畢生的追求的,並為之奮鬥不息。選行業,選老闆,選公司。
語言沒啥可選的。
如果你之前只接觸過一兩個語言,那我個人建議你選golang。如果你已經會很多語言,那我覺得還是激進一點,選golang更好。所以,我推薦都選golang。
原因如下:
- 選擇golang的開發團隊相對更加激進,更有活力。只要自己能力和潛力夠,在這樣的開發團隊更容易有提升。
- 如果你之前會的語言很少,那個人建議你應當擴展一下視野,至少,要了解下各種編程範式。而go算是一種還不錯的選擇。相比語言本身,對範式的理解更為重要,如果覺得自己儲備不夠,有機會就接觸下新語言吧。
簡單來說,這個選擇問題完全取決於你個人是否足夠激進。考慮IT行業發展之快,我個人建議你選擇相對激進的方案,尤其是你不是一個人,而是可以加入一個這樣的團隊的時候。
謝邀!
因為信息不太多,很難做出有針對性的分析。而且語言什麼的,都沒什麼太大差別。覺得更應該看重公司的情況。尤其是大公司,你剛進去做的東西不一定是你以後長期做的東西。你可以參考一下這個答案: 去大公司實習還是去創業公司實習好?做服務端找職位並不是看語言的,與是c++和golang沒什麼關係。 如果你說的「邏輯」是遊戲邏輯的話,這確實沒什麼難度;學習golang也沒什麼難度,但如果你在學習過程中能接觸到怎麼處理好服務端並發設計架構什麼的,會用並理解幾種主流資料庫,會用python或nodejs做一些後台工作,那麼以後找高薪職位不是什麼難度,這與寫寫遊戲邏輯什麼的強很多。修改了下,發現題主描述的golang職位好像也只是用golang寫遊戲邏輯的? 那這兩個職位就沒多大區別了,關鍵還是在於你能學到多少伺服器端編程,而不是寫遊戲邏輯。
語言基本取決於老闆。如果要有一個長期的發展,那你應該相信C++。如果你對幹掉了reader的google有信心,那相信go也可以
選C++,會C++後轉go容易,會go後要轉C++就不是那麼容易鳥。
先吐個槽:看到手游服務端邏輯用C++來做,我都想吐了
給樓主建議,主要還是看團隊和公司(但這個年頭手游服務端選C++的公司,個人不建議了)要打好基礎的話,認真學彙編,C,數據結構就對了寫服務端邏輯還是golang舒服,別自己跟自己過不去利益相關:前C++狂熱愛好者,現C++黑如果是新入行, 小公司可能會更好。但golang 的適用性又不比c++。因此你提供的資料在我的眼中構成不了明顯的納什和, 再看其他的吧。看你說喜歡golang, 那就做golang 吧, 不就一份工作嗎?
當然是選大公司!
推薦閱讀:
※請問在c++11之前,有什麼方法可以實現可變參的函數模板呢?
※現代C++核心指導中提到的 span<T> 類型到底是哪個?
※C++ 為什麼有時候必須額外寫 template?
※C++ 模版元編程對快速開發原型有何幫助?
※c++中虛析構函數如何實現多態的、內存布局如何?