㈠ 如何自學成為程序員
如何學習自學編程的方式最好的莫過於在網路上面查找資源。
目前,網路上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。你通過查找一套適合自己的視頻。然後看完是基本。
這里推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等做筆記在進行看視頻的過程中,一定注意要記筆記。
對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。通過記筆記的形式,你就不需要重新觀看視頻了。只需要復習的時候查看筆記就夠了,這樣就大大的節約了時間。
下面介紹一個記筆記的好軟體:CherryTree多練習代碼在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。
程序員必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和java是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課。
網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合。
編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。
在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
㈡ 沒計算機基礎做程序員難不難
據統計,大部分轉行做程序員的都是0基礎,並且這些人能通過學習找到一份不錯的工作
說明沒計算機基礎轉行做程序員是可行的
至於難不難,想告訴你的是,學一個陌生的技術,並且想找到不錯的工作,難度必然會有的
你需要做的是通過深入了解,找到適合自己的學習方向:Java?前端?Python等
然後找一個好的老師帶你入行,認真學習,多動手實踐,遇到問題及時解決
再就是堅持學下去啦,堅持下去,你終會找到自己滿意的工作的!
㈢ 一個27歲沒文憑,想去努力自學編程,有機會成為程序員嗎
27歲沒有文憑,除了自學入門做程序員之外,還有哪些路可以走呢?
我想了一下,可以開店、做自媒體、學一門其他的手藝、做苦力(服務員、建築工、外賣員、快遞員)、滴滴司機等等。但是大家看一下就會發現,這些選項裡面,要麼天花板非常低,要麼做成的難度很大。
但如果深度思考一下,進一步可以發現即使去掉沒有學歷這個條件,把有文憑加進去,想要有所成就,能夠在大城市裡立足同樣舉步維艱。這一點相信也不用我多說,大家了解一下每年的畢業生就業情況就了解了。
這說明了什麼呢?
說明了一個很簡單大家都知道的道理,想要往上走,突破當前的層次,獲得更好的生活,更高的收入,這本身就是一件困難的事情,和有沒有文憑其實關系不大。沒有文憑做程序員是困難的,有文憑的程序員也海了去了,其中能夠進入BAT拿到高收入的又有多少?能夠轉行管理,年薪百萬的呢?又要少得多,能夠財富自由的呢?更是鳳毛麟角。所以從某種程度上來說,對他來說自學成為程序員至少不是一個差的選項,雖然它並不容易。
追夢的路上總是艱難,我個人的看法是,前路漫漫困難重重,但至少不該裹足不前。雖然未必能夠如願抵達,未必能夠得償所願,但能進一步是一步,每前進一步總有一步的欣喜,也多少會見到一些新的風景。就像我做公眾號,其實我也沒有把握一定能夠坐擁幾十萬粉絲,真的成為自媒體大佬,但能寫一篇文章,能多堅持一天,總要離目標近一點。這樣一點點積累下去,說不定有朝一日驀然回首的時候,發現已經達成所願了。
我不知道讀者里有多少這樣前路迷茫需要鼓舞的人,希望今天這篇文章能夠給你們一點鼓勵和力量,勇敢地出發,朝著自己夢想的地方前進。你也可以點贊關注我,與我一起前進。
㈣ 程序員真的很難嗎
您好,非常榮幸能在此回答您的問題。以下是我對此問題的部分見解,若有錯誤,歡迎指出。展開全部
很多人問編程難不難?我想說那可不是鬧著玩的。不從事這一行的永遠不知道這行的艱辛,還咋巴著小眼睛問編程好不好學?
不知道諸位看沒看過聖鬥士星矢這部動漫,如果你想踏入編程殿堂,就要先想想那個被無數小孩子嘲笑的實力很菜只會死纏濫打經常被虐得體無完膚的主角星矢,首先你得問問自己,想學編程,你有沒有像星矢一樣持之以恆百折不撓一步一個腳印忍受常人無法想像的困難和痛苦的品質,沒有?你說我開玩笑逗你,那好,下面的不用看了,因為你確實不適合學。
如果你只想著掙大錢,勸你別碰這行,一句話,別來找虐。為什麼?你看到的手機APP,各種應用,要想開發出來,不知道需要多少種技術。拿最常見的網站開發,需要後台資料庫mysql,數據格式json,xml,各種網路協議,還有網站開發語言PHP,
JSP,ASP.NET,等等不下十幾種技術。而每一種技術都是一本厚厚的五六百頁的書,需要最少一年多時間掌握一門技術。最要命的,每種技術互不交叉還跨度很大,每種技術都有自己的設計理念和很多很多「天坑」在等著你攻克,你問問你自己,你有這個恆心和意志力天天捧著本大部頭的書天天看,天天上機操作學嗎?你說有,那好,你看電視上那些富二代天天瀟灑地到處遊玩泡妞基本於你無緣了,因為你根本就沒時間,談個戀愛都困難,還想打網遊玩王者?那算了,你還是別碰這行了,別耽誤你玩游戲享受生活了。
學習編程,你上來就會碰到第一關勸退BOSS,環境搭建。如果只會個C++,JAVA可以有VS,
Eclipse幫助你,但是你要學那種新興的語言工具,如cocos2dx, NodeJS, Android,各種伺服器語言,Linux,
那對不起,各種環境配置能練得你頭大,就算用上VS這種宇宙無敵IDE,
學編程還是會碰到無休無止的各種編譯錯誤,運行時錯誤,很多時候編譯器給出的出錯語句非常費解,全英文的哦,還是高濃縮科技英語,還經常真實出錯原因跟IDE的出錯提示差了十萬八千里,這個時候只能依賴您豐富的編程排錯經驗,不行只有網路,google,專業論壇海量搜索,碰運氣了,看是不是有高人也遇到同樣的問題,很多情況下你發的帖子石沉大海,沒人回答,這個時候是你最容易放棄被勸退的時候,少年們,覺悟吧。這個時候如果你沒有星矢那樣反抗命運不公,被打倒多少次都要站起來不服輸的勇氣,半途而廢是你註定的結局。
程序員加班很恐怖,工作制通常是996,即早9晚9周六還要上班,晚9下班還是早的,一般到晚上十點。你想那時夜深人靜了人家都休息抱著老婆睡覺了,你還在工作中,F9, F10, 不對,重來,這聽上去是不是很崩潰?
第2,程序員耗腦太嚴重。工作中需要十幾個小時大腦不停地運轉。需要設計演算法,不斷地把代碼改來改去來適應客戶一天幾變的需求。很多功能沒有現成的解決方案,還經常遇到一些天書一樣的疑難問題,bug,實際工作中突發狀況千奇百怪,你可能見都沒見過的bug,崩潰,需要一點一點查幾萬行的log日誌。而且也需要網路,google,英文論壇尋求幫助,理解錯誤信息是什麼意思。所以英文不好的沒耐心的還是算了吧,不適合這行。
第3.
程序開發首先是非常難學的,任何一門編程語言都有自己獨到的思想,概念設計,很多情況下一門語言與另一門語言沒有多大關系,知識經驗無法串用。而且工作中你還不得不用到這些技術你不得不去學。而且程序技術日新月異,新類庫新SDK每天都會推出,你需要日復一日不斷地學習新技術。如最新視頻解碼技術,游戲引擎等等,而這些新技術可是國內沒有書和任何資料的,需要你到英文官方網站去找實例看文檔去學,更要命的,新的技術和老的還沒太大關聯,你得重頭去學。而且老闆急趕項目不會給你什麼時間,一般三天就是極限了,你需要這么短的時間快速掌握一項新技術...
綜上,你明白程序員為什麼總要加班了吧,也知道這行不是人乾的吧。為什麼說程序員干到三十干不動。很簡單,以這種消磨人生所有時間狀態,你生命中只有加班加班工作工作學習學習,你將不能顧家不能跟朋友聚會不能再有自己一點點休閑時間,更別說談女朋友戀愛了,以這種狀態你能堅持到三十歲?我想那簡直是個奇跡了非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!
㈤ 做程序員難不難怎麼快速入門
做程序員難不難因人而異,就是如果你的技術水平很不錯的話那就不會覺得難,如果你是菜鳥的那就很非常的吃力的。快速入門的話三種方式供你選擇:一種是自學,當然你要有些基礎還要有不錯的學習能力及自製力。一種是報班學習,這個是學的最快的但是需要教學費。還有一種是線上學習,這個需要找到不錯的視頻教程,你想學的話可以看看扣丁學堂的教程。以上三種供你選擇,祝你好運。
㈥ 程序員累嗎
程序員這份工作還是比較累的。程序員最主要的工作開發程序,從網頁開發,APP開發,客戶端軟體的開發,都是程序員做代碼開發的,這是大多數程序員的工作職責。
有的程序員還有更高層次的工作,比如架構,統籌整個項目的開發,比如使用什麼開發語言,使用什麼資料庫,分多少階段來完成,每個階段要完成什麼內容等等。
程序員的職業要求
一般的程序員都有在專業領域的學習,還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。
盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。
一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
㈦ 學程序員前景怎麼樣
隨著大數據,雲計算,物聯網,人工智慧的火熱發展,需要大量的從業人員,軟體編程薪資待遇一直比較高,而且剛過完年,京東,阿里又要招聘相關從業人員,而且凡是進入這個行業的開發人員工資都是水漲船高,有個幾年年的工作經驗的反而會更好找工作,薪資會越來越高
編程算是一個門檻比較高的職業了,長期以來都是供不應求的,而且從這么多年看來,需求量始終不減,工資一直都是比較高的,即使之後學編程的人越來越多,只要是屬於前20%的,何愁應聘時工資會降低呢
從個人角度來看,編程從現在以及隨後幾十年間都是一個非常有前景的行業,除非到了市場非常飽和,程序員遍地都是的情況,但目前顯然不是,去任何一個公司招聘人員上看,互聯網行業都算是比較火爆的行業,招錄程序員的不在少數,工資比一般水平要高很多,即使像文科出身的,都想要在業余時間學編程,但可惜自學難度太高,又沒有系統的時間去報班學習,實在是一大遺憾
那麼,我們來聊聊編程難嗎?
很多時候,做的事情其實沒有我們想像的那麼難,只是我們把他想難了,舉個例子,我們都知道要學好一個技術做好一件事,必須要掌握一萬小時定律,其實這個觀點說對也對,說錯也對,怎麼講呢?一萬小時定律是需要成為專家級別的人語言奮斗的時間,而真正學習一門技術,如果只是入門,其實僅僅只需要二十小時,如果每天花兩小時來建議,那麼入門也就十天就可以搞定,編程也是如此,如果我們僅僅只是入門,其實真的在我看來找准方法,十天半個月足夠了,當然如果說要找到工作,那估計要四個月到半個月的每天學習努力
怎麼學習?
重視基礎,這個不是喊口號,很多人學習編程眼高手低,覺得自己能看懂,能隨便寫點東西就算學會了,問了一些基礎東西一問三不知,還不服氣說會編程就好,要懂那些做什麼,這是最大的錯誤,基礎很重要,例如,你不知道面向對象的編程語言特點,你如何去做方法的封裝?如何去做類的繼承和如何能明白別人寫這段代碼的時候為什麼要這么處理?這些都是基礎能告訴你的
編程是個手腦並用的活,光看懂明白是沒有用的,如果不用手去敲一下代碼永遠不知道自己會飯什麼錯,我曾經因為一個空指針問題排查了一個小時,也因為一個地方沒寫分號找了半天,這些都不是看書就能得來的經驗,在我煩了這些錯誤之後我會總結,記下來,作為我自己的經驗,然後下次再遇到就知道自己曾經在這里犯錯了,就會小心不在犯錯
㈧ 我想做程序員,這個好做嗎
看你的問題大概只是身邊的人在做這塊但是你並不了解。
1 程序員是籠統的叫法,一般會被認為是前端或者後端開發這類。像做java開發這種,但是如果你邏輯思維不太可的話,會很難學會。就算去找了個機構培訓上崗了,過幾年還是會做回老本行。身邊見過蠻多這樣的例子,如何你邏輯思維可,那沒問題的。可以去一些網站找找視頻看,先敲最簡單的代碼試試嘍。
2 其實IT行業還有像新媒體運營電商這類也不錯的,這種類型的工作需要腦子活,就是思維比較有發散性。
3還有一種是UI設計 ,在二線的話招聘的多的是平面,這個要是有一定的審美工資也不錯的。
4 還有一種程序猿是做軟體測試的,也就是在程序上線前後測試。這種難度不大,崗位大多為女生。當然一般測試的工資也比較穩定,加班相對來說少一些的,也有高的,看能力,一般在一線城市崗位比較多。
㈨ 自學編程可以嗎,難度大不大啊
要說編程難不難,這給你總結下編程的難點吧:
1、初學者。編程是用計算機語言和計算機交流,你輸入什麼,你期望計算機理解之後,輸出你需要的結果。所以這個過程可以概括為「輸入–計算–輸出」。學習一門計算機語言,說難不難,說易也不太容易,為什麼呢?如果你是編程的初學者,你要上手一門語言,是非常困難的(天才除外);但如果你是精通一兩門語言,再去學其他語言,可以說一個星期就能熟悉。所以,對大部分初學者來說,編程語言是難點。
2、編程思想。程序員一定要有編程思想。跳過初學者這一關,假設你可以對任何語言順手拈來、即插即用,那麼,你水平就一定很高了嗎?其實不然,這只能說明你學習能力上一層樓了,但並不說明你就多麼厲害。比如,你熟悉設計模式嗎?設計系統的時候有沒考慮擴展性?是否考慮到性能問題……如果整天只做crud,不去關注以上問題的話,瓶頸是很難突破的。那麼編程思想何來?就要平時多閱讀這類的書籍和文章,比如設計模式,比如高並發系統設計相關知識等。除此以外,還要多思考,為什麼這樣設計,所謂學而不思則罔,思而不學則殆!
3、溝通能力。好了,即使你掌握多種語言,又可以把系統設計要得很溜了,但是如果你是個不會說話的啞巴,你就無法表達出自己的思想,無法向老闆展現你的才能,那麼你的職業生涯會受到很多限制。我自認為本人的溝通能力是弱項,自己也在不斷努力改善這點。現在每次參加討論的時候都會積極發言,表達自己的觀點,除此之外還報了一些口才課,來提升自己的表達能力。
當然,每個人的邏輯思維能力不同,興趣點不同,總有一部分人覺得容易,一部分人覺得吃力。但只要你想學,肯定能學會。
學習編程是一個漫長而痛苦的過程,需要持之以恆的耐心,千自萬不能急於求成。對於一名初學者來說,最重要的還是打好基礎。說實話入門不難,但是想做精就比較困難了。
㈩ 程序員50萬年薪難不難
程序員50萬年薪難。
想要做到年薪50萬,程序員工資年薪10萬起步是很正常的一件事,首先你自己必須是高水平的程序員。但是也有高薪這也是很多人想要學IT做程序員的原因。那麼年薪50W對於程序員來講,也不是觸不可及的事情。相當於網路T6,阿里P7,騰訊T3的級別。
工資是對一個人的價值的衡量。程序員工資高,這個不是由一家公司說了算,也不是某一個程序員自己制定的價格基準,而是由市場決定的。所以如果市場上普遍對程序員的工資都比其他類型的職位高,說明是稀缺且珍貴的資源,市場需求量大,需求是大於供給的。
能年薪50萬的程序員至少自身能力,工作年限長,經驗豐富,他們的共同特點是10年以上的工作經驗,在大公司當過螺絲釘,也在創業公司做過技術leader,有些有過一兩段不算成功的創業經歷。這樣的程序員無論是去BAT還是去創業公司,都能拿到50萬年薪以上的offer。
過硬的技術實力和學歷學歷雖說在IT行業不重要,但是六星也提到過,學歷是敲門磚。 真正的技術高人,雖然前面說技術水平不是決定薪水的唯一因素,但如果技術牛到一定程度,高薪offer也是探囊取物。
正確的技術方向,互聯網的發展方向在哪裡,主攻語言選擇哪個,是傳統的技術公司還是新興的互聯網公司,我們從一開始就在做選擇,畢竟,連我們做一名程序員也是我們自己做出的職業選擇。站在風口,豬都會飛,同樣的技術實力,善於發現和判斷機會的人,永遠占據先機。