導航:首頁 > 程序命令 > 程序員節開源英雄會

程序員節開源英雄會

發布時間:2025-05-05 05:43:43

程序員如何提高自己的編程技巧

可讀性:函數命名隨意,實現邏輯混亂,代碼格式不統一。。。
可靠性:程序運行很難穩定,bug百出。。。
維護性:代碼邏輯沒有層次,混成一團,很難維護改進
移植性、重用性:許多人寫的代碼,只能各自使用,很少有能共享的功能性代碼
高效性:很少從演算法、資源佔用、執行效率等角度去考慮,經常導致伺服器負載過重
那麼我們改進時,就可以從以上幾點出發。
總結了一下自己以前的經驗,主要有以下幾點:
提高自己的程序語言基礎。對於許多新手程序員來說,只是簡單的學會了該語言,知道一些簡單的用法。但是實際編程的時候,許多寫法、用法不標准。舉一個很常見的例子:許多人剛剛學c++,java等面向對象編程的語言時,雖然知道了類、知道了類一般都有「多態」的特性,但是他們還是經常會用「類型判斷」去判斷某個對象是屬於哪個類的實例、然後強制轉換、再調用方法。卻完全忽略可以用多態來避免這種醜陋的實現!
熟悉語言規范。如果不知道自己所學的語言還有規范,那麼建議你現在去查找。說個簡單的規范,Java的類名要取得有意義、首字母要大寫。再比如:一個函數只實現一個功能。再比如一個復雜的:連續的if else條件判斷最好不要超過10個。
培養自己嚴謹的邏輯思維能力。我們寫程序,至少都會在腦海里走一遍程序的流程。如果流程走通最後卻出現bug,那麼就是流程的某個細節我們沒有考慮到!有的時候,我們總是自認為自己已經考慮的非常全面了,其實不然。同樣舉一個例子:對一個集合,寫個for循環按照一定的條件刪除裡面的元素。其實這裡面隱藏了一個「集合在動態變化」的陷阱。比如說,將第一個元素刪除了,如果集合的數據結構是將第二個元素移動到第一個元素上,那麼,第二個元素就遍歷不到了。所以,有時候,我們看似很簡單,覺得邏輯非常正確的代碼,可能就潛伏著陷阱。
熟悉所用語言的API。學一門語言,其實不只是學語法,學語義。更重要的是學基本的API類庫。因為你實際編程的時候,自己所寫的代碼其實很少,大部分都是用的別人的API,將許多API的功能穿起來,才是自己實現的功能。用好的API,能增加代碼質量、提高代碼可讀性、減少代碼bug、減少工作量。就比如說堆棧這個數據結構,程序員基本都知道,但是大部分人可能都不能實現一個正確的堆棧API。
熟悉了解一些數據結構、演算法。平常寫程序時,或多或少都要接觸一些常用的數據結構,比如說鏈表、map等,了解它們的原理對於那些沒學過數據結構的人來說很重要。很多時候,一個簡單的功能被實現的超級復雜的原因就是沒有使用簡單清晰的數據結構。
掌握一些編程思想、設計模式,這會讓你的代碼更加具有結構性、條理更加清晰!比如說,面向介面的編程思想,能讓你的代碼易於修改、易於擴展。如果更進一步,站在架構的角度去考慮。
多看高手代碼,讀一些優秀的開源代碼,看一些經典的書籍。比如說《Effective C++》、《Effective Java》、lucene的源碼。這些會讓你提升巨大,只有了解到高手眼中的世界,才能有成為高手的可能!
代碼重構。多回顧之前寫的代碼,進行一個系統性的整理。因為我們起初開發,不是面面都能想到,許多新東西是不可避免的,這就意味著可能會導致一些邏輯混亂。在開發完成後,多回顧回顧,尋找能改進之處,這也是一種進步。
即時缺少高屋建瓴的能力,我們也應該多從全局的角度去考慮整個工程的代碼的層次、模塊、架構等問題點。可以嘗試著進行功能點拆分、介面交互設計等工作。
為自己的代碼添加測試用例。可能因為懶惰,許多程序員基本都不會為自己的代碼添加測試用例,這其實是一個不好的習慣。即時是有測試人員的團隊,添加測試用例對你的好處也是顯而易見的。
至於從團隊的角度,可以考慮建立以下幾點:完整的規范、執行流程、review機制和輔助工具。由於本篇文章主要針對的是個人,就不展開。工具方面,可以考慮開源的ReviewBoard。
個人的代碼質量提上來,團隊的水平才能提上來,公司的效率才能提升。其實最主要的是,個人的層次、境界才能提升!

Ⅱ 1024程序員節的行業現狀

由CSDN、《程序員》主辦的2007年開發者大調查2007年底已收到15000多份有效問卷,已經是中國調查樣本最多的開發者調查。在這次調查中,詳細的分析了樣本空間的分布狀況,發
現在龐大數目的有效問卷的參與者中有70%也就是接近一萬一千名的參與調查者是IT的全職人員,14%的參與者是有過開發工作經驗的學生,從這樣的分布就可以看出來IT從業人員對專業知識的需求是巨大而迫切的,CSDN作為專業的軟體開發技術門戶網站,已經是大家獲取這些技術知識的主要手段。

一、選擇資料庫技術和互聯網技術的人數總和佔到了總人數的一半
2007年火熱的SOA和動態語言各佔13%和12%。其實這幾大塊技術分布他們之間都是有一定的聯系的,互聯網的發展近兩年呈爆炸式的增長態勢,中國的網民總數已經超過了1.4億這樣一個巨大的數字。
企業中業務的復雜程度越來越高,商業競爭不斷增加企業的IT系統,使企業的商業數據呈幾何數量級不斷增長,在後台海量的數據中數據的管理由之前的單一型數據變
成了多緯度的復雜數據,所以可以同時管理關系型資料庫和XML數據的混合型資料庫已經成為主流。
面對企業不斷增加新的IT信息系統,整合已經迫在眉睫,SOA成為必然的趨勢,企業對人才的需求從單一型技術人才、業務人才跳躍到了業務技術的復合型人才,這次的開發人員大調查令《程序員》雜志的調查者看到了這些技術焦點背後千絲萬縷的關聯。

二、幾乎一半的.NET用戶不參與開源項目RedHat+Ubuntu佔有率超過70%
應用到.NET平台上的開源項目,「大量使用」的比例數僅為8.68%,尚不足一成;「少量應用」的開發者人數比例為42.78%。
「基本不用」的比例高達48.54%,與前二者之和幾乎不相上下。
雖然開源的出現和發展,讓軟體沒有壟斷的未來日漸明朗;雖然開源運動經過多年的高速發展,現在已經聚集了相當的力量,開源的自由和給予理念逐漸深入到了企業的技術核心層面。但微軟以商業軟體為生,畢竟在微軟技術領域中,開源項目通常都被看作是二等公民。很多開源項目對.NET社區產生了巨大的推動作用,微軟公司很難提供任何實質性質的支持。
Linux版本
當前安裝有Linux操作系統,數據中RedHatFedora占據絕對優勢——Linux使用者使用該版本占總數的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每個fedora版本中都是集成最新的Linux軟體,特別是服務端軟體。
使用「RedHatFedora」關鍵詞在網路網頁中搜索得到7,090,000條結果,RedHatFedora在調查中占據Linux版本的半壁江山符合整個Linux版本的分布情況。
排在第二位的是Ubuntu,受支持數佔到總數的23.92%;第三位的是SuSE佔9.09%,接下來是Debian,使用率為5.92%。在這裡面令人期待的中國本土Linux的讓人大失所望。使用率僅佔5.16%,幾乎只
有RedHatFedora的十分之一。

三、揭示八成技術人員資料庫選型標准SQLServer用戶接近50%
使用率占據榜首的資料庫產品是微軟的SQLServer,比例數達到了47.92%。與其餘所有的資料庫之和分庭抗衡,大有一覽眾山小之勢。
從調查得到的使用率來看,MySQL仍處於對MSSQLServer望塵莫及的階段。調查顯示,MySQL的使用數為1651,占總數的13.80%,不過排名第三。
使用率排在第二位的是Oracle,比例達到24.21%。在前有SQLServer,後有MySQL的情況下,Oracle仍能達到四分之一的佔有率,發展勢頭不可謂不強勁。
雖然Orcale資料庫的價格比SQLServer資料庫要高,但Oracle採用開放的策略目標,可在所有主流平台上運行。而且有開發者認為Oracle的安全認證是獲得最高認證級別的ISO標准認證,因此安全性高於SQLServer。
排在第四位的是Access——5.59%;接著是DB2UDB,占總數的2.75%;至於FoxPro、Informix、PostgreSQL、Sybase得票數均僅在一百左右,還有待進一步的發展。

四、中國程序員最愛的智能手機平台Linux+Java超過Symbian
「開源Linux對於眾多開發者的吸引力是巨大的,但是,這僅僅是針對於技術開發人員來說的,而對於普通消費者就不是如此了。」在眾多開發者心中,主要是對Linux的青睞。從調查結果中也可以直接反應這樣的現象。有專家對此評論說:Linux+Java的模式,應該是應用最多的模式。
針對此問題行業的專家有自己的觀點:「現在Wince和Symbian發展很快,並且隨著手機硬體方面性能的提高,很多政府部門和企業在采購時,很多會考慮Dopod這樣的手機,或者價格便Wince和Symbian都主要使用c++開發,正是嵌入式開發的潮流。」
不同人群對於收集智能操作系統的觀點是不同的,對於開發者角度,他們更加青睞於微軟和開源Linux的產品,而普通大眾他們比較喜歡Wince和Symbian。

五、七成程序員不願意選擇門戶網站獲取開源信息,而更關注SourceForge等
30%的技術人員從門戶網站獲取開源技術信息,剩下的70%的技術人員都是從專業的開源社區和開源廠商的技術網站上獲取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。
在這70%當中,比例佔有絕對優勢的就是SourceForge了,這里是開源軟體的開發者進行開發管理的集中式場所,也是全球最大開源軟體開發平台和倉庫。而LinuxToday裡面會有記錄很多很新的Linux業界大事,新聞以及出版信息。所以,對開源技術感興趣的程序員們,不必再為如何獲取開源信息而苦惱了,快加入到這70%的人群中來吧。
互聯網的發展已經成為大家獲取信息最主要的渠道之一,網民上網的習慣也從開始的上為數不多的幾個門戶網站發生了變化,大而全的門戶網站並不能滿足專業領域人員的信息需求,從2004年開始陸續出現了大量的各個領域垂直細分的內容網站,一方面有長尾理論的理論支持,另一方面廠商也建立了相應產品的技術內容網站,希望能聚集一批專注於這個領域專業人士,做好他們的定向營銷。
做細分領域內容的網站對門戶已經造成了一定的威脅,這些網站的專業性高,用戶的粘性相對也比較高,如果細分領域的內容網站能將自己的服務有所提升,就如同SourceForge一樣,那麼未來門戶網站的路就變得更加崎嶇了。

六、Java開發框架:6%的JSF欲撼動21%的Struts
JSF現在比較有優勢的是對Ajax的集成,這一點走在了其他框架的前面。未來兩
年,JSF與Struts將展開JavaWeb框架的最終戰爭。 經過數年的「框架大戰」,Java界的各種框架找到了自己應有的位置。Spring+Hibernate[1]+Struts已成為Java開發的主流體系。在這個體系中,Spring+Hibernate的地位應該說短期內是難以撼動了。除了新興的JbossSeam作為挑戰者之外,幾乎難有勁敵。
JavaB/S編程中歷來戰火最激烈的其實還在Web層,框架的數量最多,爭議最大。一切由Struts而起,而Struts最終也坐穩了第一個時代的王座。在技術層面,Struts1.x已經被無數人抱怨過、批評過,但終於還是穩坐王位,這充分說明了習慣的力量。「穩定壓倒一切」,這句話在IT技術領域仍舊適用。
詳細的分析了Java開發框架的使用狀況,發現主要使用的開發框架JSP佔26%,Struts佔21%,Hibernate佔17%,SpringMVC佔11%,EJB佔7%,JSF佔6%,SpringWebFlow和POJO各佔4%,其它佔4%。就這一調查數據,不難看出,Spring+Hibernate+Struts的優勢地位還是相當的明顯。
Struts和Hibernate幾乎已經成了JavaEE應用的常規配置,21%的開發者用到Struts,用到Hibernate的開發者也有17%;在一個成熟的技術平台上,各個項目的技術方案會在很大程度上趨同——因為所有未知領域都已經被探明,各種問題都有對應的最佳實踐,架構師們可以參考的成功案例越來越多。就拿JavaEE來說,架構師們需要考慮的問題比之三年前已經簡單多了,這就是成熟的價值。
有專家評論:「其實IT應用技術,什麼新鮮玩意並不難學,難的是標准化和規范化。每
個程序員都有自己的思路和習慣,寫出來的代碼自然是五花八門。Java何以成為編程界的占重要地位,很重要的一點在於Java的規范化。這種規范化很高的語言適用於多人合作的大型項目,便於溝通和理解,也就便於集成和維護。 Java世界為什麼會框架橫飛,說到底還是規范化的需要。純JSP和Struts寫Web誰快,擺明了是JSP。那為什麼用Struts?原因在於100個人寫出來的JSP,有100種寫法;而100個人寫出來的Struts,基本相似。Struts之成功,正緣於其在JavaWeb層的規范化方面所做出的貢獻。
然而長江後浪推前浪,Struts1.x的技術缺陷畢竟是隱患。Sun力推JSF,打算一雪Web層框架缺失之恥。未來兩年,JSF與Struts將展開JavaWeb框架的最終戰爭。
JSP經過幾年風雨洗禮依然把持頭把交椅,看來所有的框架表示層都離不開JSP而存在,而作為JSP的手足兄弟JSF也是僅次Spring之後又一個後起之秀。

七、C++開發環境格局難打破75%的開發人員首選VS系列
1998年Borland公司推出的C++Builder這一當年全新的32位Windows開發工
具,繼承了Delphi使用簡便、功能強大、效率高的特點,並且結合了C++語言幾乎所有優點。所以開始C++Builder迅速風靡。 它的主要競爭對象——Microsoft開發的VisualC++也是不甘示弱,迅速出擊,突出了Visual可視化強的特點,加上Platform、SDK部分以及Microsoft產品與Windows的天然默契,逐漸成為了技術人員的首選。隨著VisualC++版本的不段升級,以及功能、風格等諸多原因,BCB漸現頹勢,許多Builder使用者也開始轉而使用Visual了。
在2007年CSDN、《程序員》主辦的開發者大調查中,詳細的分析了C++方面大家主要使用什麼IDE的狀況,在目前已收到的15000多份有效問卷中,發現主要使用VS系列的佔了75%,BorlandC++Builder/CBuilderX只佔6%,EclipseCDT佔6%,DevC++佔2%,其他IDE佔3%,不使用IDE佔8%。對於.NET開發,VisualC++2005有了一套新的語法;新的優化技術,可使程序的速度最高提高30%;同時新的編譯模式,可保證在Microsoft.NETFramework之上生成完全遵從CLI(CommonLanguageInfrastructure)的可驗證代碼;新的interop模式,可提供本地與託管代碼的無縫融合。
相對於前兩個版本,新編譯器還包括了一個增強版本的緩沖區安全檢查選項,
而且對C++程序普遍使用的庫,也有新的注重安全的版本。VisualC++2005對基於IntelItanium和AMD64的64位平台,提供了對OpenMP標準的支持,並且修正了一些混合DLL載入的問題,對DoubleP/Invoke的性能問題,提供了自動運行時消除。 相比之下,C++Builder2007英文版2008年6月初上市。從CodeGear大中華區技術總監李維的博客,看到CodeGear對C++Builder2007的期待。雖然說對同一件事情,每個人都有自己的視角,已有五年C++方面學習和開發經驗的賴勇浩說道:「BCB正江河日下,2007版本的推出也無法力挽狂瀾。雖然現在C++Builder已經歸於CodeGear,但人們還是習慣性地與Borland聯繫上。
現在的Microsoft及VC勢頭強勁,產品也具有很高的質量性,CodeGear在C++和.Net領域至少三五年內會繼續望其項背。所以推出CB2007,更多的是基於版本延續。」
高級程序員[4]作為計算機技術與軟體專業技術資格(水平)考試中的一科,是國家人事部和信息產業部對中國計算機與軟體專業技術人員進行的職業資格和專業技術資格認定。

八、中國程序員健康兩成感覺很虛弱亞健康接近七成
「幹得比驢累,吃得比豬差,起得比雞早,睡得比狗晚,看上去比誰都好,五年後比誰都老。很多程
序員都曾這樣感慨和抱怨過自己的生活狀態。」亞健康狀態是人體處於健康和疾病之間的過渡階段,在身體上、心理上沒有疾病,但主觀上卻有許多不適的症狀表現和心理體驗。
位於調查結果第二位的是「很虛弱」——149,比例為19.81%。很虛弱的健康指數低於亞健康,已接近生病和透支狀態,他們的健康已經被亮出了黃牌。
每個人的理解不一樣,但是「糟透了」這樣的詞如果用來形容程序員健康的話,相信大多數人都絕對認同「你已經病了」這樣的理解。令人不敢相信的是,竟然有8.24%的程序員用這個詞來形容自己的健康狀態!
調查結果中「非常健康」的票數低得可憐——40,即使算上「沒感覺」,二者之和也不過9.04%,幾乎跟「糟透了」持平。如果將「非常健康」和「沒感覺」一起算為健康的話,處於亞健康狀態的程序員是健康狀態的7倍,自認為「很虛弱」的程序員數目是處於健康狀態的2.2倍!

九、.NET全面進入2.0時代,AJAX風頭正勁「在Java領域,JDK5.0是當之無愧的主流平台,但JDK1.4仍保有一半以上的佔有量。總的來說,Java族群顯然不像.NET族群那樣追新。從另一個方面看,這也說明Java平台的成熟,和.NET平台的迅速發展。」
根據2007年的調查數據分析,在.NET領域,.NETFramework2.0的採用量已全面超越.NETFramework1.1,成為.NET平台的首選框架。2006年調查結果,1.1和2.0的採用量基本持平,而2007年2.0的採用量則高達1.1的三倍之多。.NETFramework1.1已是明日黃花,微軟的更新,
換代策略可以說是成功的。
B/S已經成為中國軟體業普遍接受的軟體結構。在表現層,AJAX技術採用量較去年有較大提升,有將近一半的Web應用採用了AJAX技術,仍採用純HTML+少量腳本的Web應用中,也有四分之三打算轉向採用AJAX技術。反觀微軟和Adobe力推的新一代RIA平台,則響應者尚少。分別只有1/20和1/10的人願意選用SilverLight和Flash/Flex作為Web表現層技術。

Ⅲ 程序員,如何少走彎路,成為一名技術專家或者架構師

#1 專業技能

@首先當然基礎知識要扎實,一些經典的專業書籍一定要看。比如,設計模式,演算法,數據結構,所在領域的編程語言的專業書籍等.關於不同的能力階段,需要讀取什麼類型的書籍,請參考ThoughtWorks(中國)程序員讀書雷達,每年都有更新。
@作為架構師,review別人的代碼並給出合理的建議是基本功,比如變數或者方法命名的規則;所以代碼大全,重構,改善既有代碼的設計,Clean code 等等肯定需要看。
@ 對於某一個技術領域或者業務領域,一定要有一門技術是精通的,因為這樣你才能體會到以後遇到自己不懂的技術的時候,如何能夠快速成為這一方面的行家。
@ 平常有時間一定要多多進行代碼的訓練,也就是Martin Flower常說的Kata練習,這個比喻來自於跆拳道,跆拳道選手一般每天都會找一些基本的招式,進行反復的練習,從而訓練肌肉的條件發射,那麼對於我們程序員來說,一定也要進行持續的編程訓練,比如上面提到的那位同事,給的建議是,雖然把大部分時間花在了溝通和協調上面,沒有機會寫代碼,但是自己一定要利用業余時間,自己找一些例子來聯系,比如,參與開源項目,或者到網上去搜索一些大師的經典Kata聯系的例子;或者看工作裡面是否有一些小工具,是否能夠提升自己的溝通效率,當然已經天天寫代碼的童鞋們除外。請參考我轉發的另外一篇文章和另外一篇介紹能在線練習Kata code的文章.
@ 最好能夠在精通一門語言的基礎之上,學習其他的語言,從而站在一個更高的角度,對於程序語言有一個更高層次的抽象認識,比如,學了Java之後,可以學學Ruby,Groovy,C#等等,其實語言之間都是相互借鑒的,比如Lamba表達式,連java也慢慢的向函數式編程方向靠攏。
@ 如果有時間,一定要自己維護一個博客,既然選擇了架構師,就決定了自己以後不僅僅是一個技術專家,同時也要成為一個佈道師,為企業組織或者社會上的其他IT同行們貢獻自己的一些微薄之力。
@ 多參加一些社會上舉辦的軟體專業會議或者活動,了解當前比較流行的技術和框架。
@ 這條不提倡,我以前有一個同事,幾乎每年都要更新簡歷1~2次,目的不是真正的換工作,而是通過面試得到當前市場上大部分公司正在使用什麼技術和框架。對於這條,請慎用!!!!
@如果有結對編程的機會一定要好好珍惜,特別是和高手大拿一起結對的時候。
@如果大家上面都已經做的非常的好了,這個時候可以看看架構設計方面的書籍,比如企業應用架構模式,架構之美等等。
@ 去51Job上搜索架構師這個職位標簽,看看不同行業的企業對於架構師的技術要求和標准,然後結合自己當前所處的行業和你自己的技術特點,比如擅長前段或者後端,有選擇性的學習一些自己感興趣的技術或者方法。
@ 關於常用的網站,沒有定論,筆者主要是根據搜索的結果去發現適合自己的網站,所以需要讀者掌握一定的搜索的技巧,筆者一般喜歡用英文搜索,這樣的話資料比較全也比較新;如果下載電子書的話或者查看博客的話 一般會首選CSDN;如果是解決工作中的問題的話,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去積累一些自己感興趣的技術的人氣比較旺的網站列表,比如一般和Window相關的就是MSDN;如果對Java入門比較感興趣,可以看看這個網站。對於一些開源的框架,一般都會有想對應的社區,google一搜索,很快就能找到。另外一個德國人寫的博客的非常的精緻,如果對Eclipse插件開發特別感興趣的朋友們可以去參考它。
@大家如果時間和精煉允許,最好能在Github開源和分享自己平常寫的代碼。這樣一方面可以熟悉git用法,另外一方面也可以把自己平常練手的代碼免費保存,何樂而不為呢?
@如果大家平常遇到什麼問題,可以到StackOverFlow上面去尋找答案;當然,如果你能自己注冊一個StackOverFlow賬號那是最好不過的,這樣不但可以提問,還可以幫助別人,同時上面還有很多工作簽證的工作機會。
#2 軟技能(現代社會,一個合格科學家不僅僅是某一個行業的技術專家同時也是一名專業的社會活動家)

@遇到問題,一定要多想,遇到一個問題,如果解決了,就要反思為什麼能夠解決,如果以後遇到類似的問題,
如何更快速的解決。
@英語的重要性,不言而喻,因為現在很多新技術的框架的中文文檔非常的少,即使翻譯成中文,也是二手的了(國內自己的開發的一些開源框架除外)
@ 有時間的話,看一些溝通方面的書籍,如果有參與溝通的機會的時候,一定要想如何把溝通做的更好更舒暢。
@ 如果有機會的話,可以參加PMP的考試,關於如何備考PMP,請大家參閱另外一篇文章:如何備考PMP,但是如果不想參加的話,也沒有關系,至少要涉獵到項目管理方面的書籍,否則以後如果成為架構師之後,客戶或者管理者給你說一些項目管理上一些專業術語時,到時候就會一頭霧水。
@架構師其實從某種意義上就是一種角色,而不是一種職位。一定要時時刻刻保持空杯心態。
@一定要有一顆保持飢渴學習和耐得住寂寞的赤子之心。
@當前的技術節湊是非常快的,特別是結婚以後又有小孩了。一定要好好的利用自己碎片時間,對於一些技術,當時讀不懂不要緊,但是一定要記住和了解其關鍵詞,這個主要是為了拓寬自己的視野。比如,當前你想自己開發一個系統,結果已經有一個開源框架實現了,而且還很穩定,這個時候,自己就沒有必要重復發明輪子了。
@與不同的技術、編程語言、設計模式和結構等(甚至是它並沒有在日常中給予你直接的幫助)打交道。你永遠都不知道這些知識是否會在未來派上用場,但是對你絕對是有益無害。
@在工作中,能夠幫助到別人解決技術難題,一定要盡量全力以赴,因為這不但可以贏得同事的好感和口碑,同時也能增長你解決問題的經驗和提高你的技術思維能力
@ 一定要掌控好自己的時間,對工作沒有幫助的會議,能不參加盡量不要參加,當然,企業安全,公司規章制度如果是強制性的,該參加還得參加,但是如果沒有工作效率和扯皮的會議,盡量避免參加。
@程序員要耐得住寂寞,要在自己的領域深挖,不能看啥火,就學啥,一定要有自己的想法和判定,如果決定不了,可以向資深的同事或者朋友溝通。
@盡量參與到項目中的編碼,因為架構師不能與項目脫離。
@ 如果有機會可以鍛煉一下自己在大眾環境下的演講和PTT的能力。
@有機會多做知識分享,因為你一旦分享了知識,你就會對這門技術有深刻的印象,同時也能樹立在同事中的良好的技術形象,從而贏得更多的專家影響力而不是職位影響力。
上面只是我當前能想到的,知易行難,知道了上面的一些經驗,並不代表年輕程序員們就能馬上成功,畢竟這需要一個鳳凰涅槃和實踐的過程,但是肯定能幫助有志於於此的年輕程序員們少走一些彎路,限於筆者水平,如有總結不恰當或者不到位的地方,還望批評指正。

Ⅳ 程序員會跟傳統技術工程師一樣,越老越吃香嗎

隨著大數據的爆發,中國IT業內環境也將面臨新一輪的洗牌,不僅是企業,更是從業人員轉型可遇而不可求的機遇。

中關村,被稱為中國矽谷,此間程序員比比皆是。然而一眼望去,大多數一線程序員的年齡均在20至30歲左右,40、50歲的人在這個行業內頗為罕見。相較於國外五六十歲仍奮斗在一線崗位的老程序員,國內為什麼會出現這種現象?

國內四五十歲的程序員去哪兒了?

造成這種現象的原因是多方面的。首先,程序員的工作大致可劃分為兩類:開發和研發,相對應的崗位則是開發工程師和研發工程師。開發工程師直接為產品貢獻代碼,以達成產品功能為主要目的,有比較多重復性工作。而研發工程師則更注重研究工作,任務目標一般沒有前車之鑒,多數情況下要靠自身研究創新。

在國內,大多數大型互聯網公司的程序員被稱作研發工程師,但實際情況是國內幾乎沒有研發項目,只能稱之為開發。開發程序員的工作大多是重復性勞動,容易產生疲憊感,薪資也許在工作2-5年內能達到一個峰值,但較難提升,導致很多程序員最終放棄寫代碼,轉行做了其他。

此外,程序員多處於長時間加班、熬夜和超負荷的工作狀態,而年紀大的程序員往往在體力上疏於年輕人。若想繼續在IT行業內打拚的程序員便只能追求成為更高技術水平的架構師或轉至管理層這兩方面尋求職業生涯的突破。一旦轉型失敗,也只能黯然退出這個為之奉獻青春的行業了。一個行業內沒有老員工,這其實是病態的。雷軍曾在自己的一篇文章中提到,96年時美國主力工程師以30、40歲為主,國內開發的主力是35歲以下的年輕人,近20年過去,情況仍然沒有轉變。

但是越來越多的IT從業者發現,大數據技術來臨之後也許這個現象就能有所改變。

大數據時代,程序員的春天?

首先,大數據從事的是開源工作,更傾向於「研發」,能夠重新激起程序員研發程序的熱情,職業生涯有了新的追求,這意味著大數據會成為值得程序員長期奮斗不斷突破的工作;其次,由於大數據屬新興領域,專業人才比較缺乏,高端人才更是企業爭搶的對象。薪資上升容易,職業發展潛力巨大。

《華爾街日報》稱:數據已經成為一種新的經濟資產類別,就像黃金和貨幣一樣!鑒於大數據巨大的商業價值,大數據專家在企業非常受重視,阿里巴巴集團就已設立首席數據官崗位(ChiefDataOfficer),直接向集團CEO匯報工作。

在大數據行業內生存的時間越久,其經驗也會越得到肯定,這也是大多數資深IT人士猜測大數據或將帶來50、60歲的「老」專家的原因。面對如此光明而誘人的前景,很多IT從業者試圖向大數據轉型。

隨著大數據的爆發,中國IT業內環境也將面臨新一輪的洗牌,不僅是企業,更是從業人員轉型可遇而不可求的機遇。如果將IT人士統一比作一條船上的海員,大數據就是最大的浪潮,借浪潮之勢而為之,可成功從IT程序員轉型成為大數據專家。

世界正從IT時代走向DT時代,未來是大數據的時代,企業最有價值的資產就是數據,你所擁有的數據越多你就越有說話權,因此未來企業里最牛逼的員工應該是和數據有關的職位,比如CDO(首席數據官)、數據科學家、數據分析師、數據工程師等,這些職位或將成為程序員又一個美好的出路。

首先我們來理解一下這幾個職位。

CDO主要負責利用數據推進企業與社會的對話,挖掘企業海量數據中潛在的價值,並運營和管理好數據,為企業戰略、營銷和管理決策提供參考,CDO的能力不僅僅是大數據領域的范疇,他需要同時具有IT、市場營銷、運營管理等綜合素質。

「數據科學家是指運用統計分析、機器學習、分布式處理等技術,從大數據中提取出對業務有意義的信息,以簡單易懂的形式傳達給決策者,並創造出新的數據運用服務的人才。

數據分析師能洞悉一個方程式的商業意義,他們知道如何提出正確的問題,非常善於數據分析,數據可視化和數據呈現。

數據工程師是能運行基本數據模型,充分了解文件系統,分布式計算與大型資料庫,他們是能提供可建模數據所需平台的人。「【以上三個職位的定義來源於互聯網】

如何轉型為大數據工程師?

那麼,程序員如何轉型成為優秀的大數據工程師呢?廣州中星信息老師認為,主要是從兩者所要求的能力上來分析。首先,大數據工程師是需要有計算機編碼能力的,因為面對海量的非結構化數據,你要從中挖掘出有價值的東西,需要設計演算法與編寫程序去實現,而程序員最牛的能力就是編寫簡潔高效的代碼,去實現人們許許多多美妙的夢想,編碼能力越強的程序員越有可能成為優秀的大數據工程師。

其次,大數據工程師需要統計學與應用數學相關的能力背景,數據挖掘與分析是需要設計數據模型和演算法的,應該說程序員是有這個基礎的,我見過最牛逼的程序員一般都不是科班出來的,通常是數學專業,因此提高演算法設計能力是程序員轉型大數據工程師的關鍵因素。

第三,大數據工程師需要具備某一行業的業務知識,大數據的挖掘與分析最終都要服務於市場,並對產品的銷售與企業的發展起到重大推動作用,那才是有價值的大數據分析,因此大數據是不能脫離市場的,它必須與某一行業的應用想結合起來才容易產生更大的價值,通常程序員都是在做某一行業的軟體,經過多年的學習與磨練,對某一行業的業務知識是有積累的,因此從來這一點上來看,程序員是很容易過渡到大數據工程師的。

當然,以上都只是粗略的分析,真正要成為一名優秀的大數據工程師,程序員還需要更多的學習與努力。

在美國,大數據工程師平均年薪達17.5萬美元,在中國頂尖的互聯網公司里,大數據工程師的薪酬比同級別的其他職位高出30%以上。DT時代來得太突然了,國內發展勢頭很猛,而大數據相關的人才卻非常地有限,在未來若干年內都會是供不應求的狀況。

Ⅳ 程序員節日策劃方案

程序員節日策劃方案如下:

一、活動主題:追思過去,展望未來,共襄盛舉,共度1024程序員節。

二、活動時間:每年的10月24日。

三、活動地點:線下實體場地+線上直播。

四、活動內容:

1、開幕式:由活動組織者主持,介紹活動主題和安排,並邀請重要嘉賓致辭,表達對程序員的祝福和感謝。

2、技術演講:邀請知名技術大牛進行演講,分享最新最熱門的技術趨勢、工作經驗和心得體會。演講主題可以包括人工智慧、大數據、區塊鏈、雲計算等。

3、技術沙龍:組織各類技術沙龍,包括前端、後端、移動開發、人工智慧等方向的主題分享和交流。這些沙龍可以由具備一定技術實力的程序員自願組織,可以是線上直播,也可以是線下實體聚會。

4、開源項目展示:展示國內外優秀的開源項目,鼓勵程序員積極關注和參與開源社區。

5、技術競賽:組織技術競賽,包括編程大賽、演算法競賽等,旨在提高程序員的技術能力和創新意識。

6、創新產品展覽:組織創新產品展覽,展示程序員們自己研發的產品和項目,分享創業經驗和思路。

7、面試招聘:為企業和程序員提供面試和招聘機會,提供人才交流和就業機會。

8、社交活動:組織籃球賽、足球賽、桌游比賽等社交活動,增進程序員之間的交流和友誼。

9、隨機福利:隨機抽選一些幸運的程序員,給予一些特殊的福利和獎勵,表達對他們的感謝和鼓勵。

10、教育培訓:邀請一些知名大學或在線教育機構舉辦一些有關程序員培訓和教育方面的講座,提高程序員的技術水平和專業素養。

五、組織形式:

1、活動組織者:成立由專門的策劃團隊和志願者組成的活動組織者,負責活動的策劃和組織工作。

2、合作夥伴:與知名科技公司、高校、創業企業、科技媒體等建立合作夥伴關系,共同推動活動的順利進行。

3、贊助商:邀請企業作為贊助商,提供資金和資源支持,以確保活動的順利進行。

4、線下實體場地:選擇規模適中的會議中心、展覽館或學校場地作為線下實體活動場所。

5、線上直播:通過專門搭建的活動網站或社交媒體平台進行線上直播,讓更多的人能夠參與活動。

六、宣傳和推廣:

1、利用社交媒體:通過微博、微信公眾號、知乎、CSDN等社交媒體平台,發布活動信息、邀請嘉賓和參與者,並提供在線報名通道。

2、做好口碑宣傳:通過與合作夥伴和贊助商的合作,積極推廣活動,增加活動的知名度和影響力。

3、組織線下宣傳活動:在各大高校、科技園區、科技企業等地舉辦宣傳活動,吸引更多的程序員關注和參與。

4、圍繞活動主題進行線上討論和互動,鼓勵程序員在互聯網上分享自己的看法和建議。

七、總結和展望:通過每年一次的1024程序員節活動,可以促進程序員之間的交流和合作,提升整個行業的技術水平和創新能力。活動的成功舉辦需要活動組織者、合作夥伴、贊助商和廣大程序員的共同努力和支持,相信通過大家的共同努力,1024程序員節將會成為程序員們的盛大節日。

節日活動策劃的注意事項:

1、檢查思路

模擬從客戶的角度去思考問題,換位思考,看看有什麼缺陷;特別注意細節方面,這點是你作出的方案與別人有區別的最重要的方面;從不同的角度出發,盡量提供多套方案。

2、活動落地執行需要涉及哪一些人或物

活動策劃是一場有組織性,有布置,涉及到多人的一件事情,那麼在前期策劃時要思考落地活動執行時會涉及到哪些人或物,在活動前期跟相關的人物來進行開會討論。

3、良好的溝通

每一個需要團隊協作完成的項目都需要一個良好的溝通,「一人智短,眾人智長」無論放在哪裡都是適用的,整個團隊對活動進行一次預演,找出需要留意的問題然後作出處理的方法。才能夠保證對可能出現的不測具有良好的應對方式。

閱讀全文

與程序員節開源英雄會相關的資料

熱點內容
杭州雲伺服器銷售 瀏覽:533
pdf密碼移除 瀏覽:147
雲迅智創FIL伺服器 瀏覽:939
中間件pdf 瀏覽:276
輸入伺服器上的ip地址怎麼辦啊 瀏覽:295
app道客巴巴如何登錄 瀏覽:87
初中物理課本pdf 瀏覽:339
原神安裝包解壓失敗 瀏覽:347
分期車有不需要解壓的嗎 瀏覽:763
程序員高效軟體 瀏覽:468
十年後程序員的工資還會這么高嗎 瀏覽:404
用氣球解壓玩具教程 瀏覽:327
命令與征服3漢化補丁 瀏覽:941
kali解壓口令 瀏覽:647
單片機數組超出范圍 瀏覽:977
2g的pdf 瀏覽:215
把內存變成文件夾 瀏覽:521
加密大貨幣 瀏覽:380
編程機器人怎麼玩 瀏覽:747
蘋果公司有程序員嗎 瀏覽:272