⑴ 對於新入行的程序員來說有哪些好的建議
首先就是該明確自己的發展方向和道路,要是一直停留在舒適區,那就永遠改變不了。另一個就是其實在互聯網行業,是不是科班,本科或者專科,這些在幾年後都沒那麼重要。更重要的還是能力。有能力就是學歷低點也沒什麼。
在工作中發現知識不夠用了,面臨工作上的壓力,不如先提升自己的技術水平和實際操作能力,這才能夠在就業中起到一個實質性的推進作用。有的已經參加過培訓的已經工作了的,這樣的程序員也不能鬆懈,因為在工作中還是有很多東西是需要自己學習的。所以小夥伴們知道進入職場該如何做了吧!
⑵ 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。
⑶ 剛入行的年輕程序員應該怎麼提升自己
每天千篇一律,總是有做不完的事,重復的工作讓他自己感覺不到有什麼提升。日復一日,進而迷茫自己的未來。
我見過許多工作兩三年的年輕人,都會遇到同樣的問題。
進入這樣的的職場迷茫期,其實很正常,我們需要的是怎麼來解決它。
一般來說,可以有以下六種方式來解決。
1、學會思考
人跟動物最大的區別就是思考,進入職場迷茫期,解決職場迷茫,最關鍵的還是思考。你需要思考,你的職業規劃,以及你必須重新審視你目前的工作、公司、領導、同事。
當你認真關注這些的時候,你就會發現很多日常沒有關注到的點,這些點就是你下階段需要去學習解決的問題。
思考一,工作本身,任何一份工作,其實都會有足夠的空間讓你成長。你需要去發現工作是不是做到了極致,還是只能馬馬虎虎的完成任務。
思考二,你的公司,當下的產品,當下的市場,當下的內部管理,當下的文化機制等等,你要通過這些思考,提升你自己的格局與視野。
思考三,你所在的團隊,你的同事都是什麼樣的特點,他們的工作能力怎麼樣,如果你是領導,應該怎麼來發揮他們各自的特長。
思考四,你的領導,你的領導是什麼樣的領導,他的管理特點是什麼,為什麼布置工作是這樣布置的,他擅長什麼,平時習慣關注什麼。
2、制定目標
能夠在職場拼博中殺出來的,都有自己明確的目標。進入職場迷茫期,就會對自己的目標失去方向。所以,你就開始需要根據這三兩年的工作經歷來重塑自己的職場目標。
1、學習目標:通過上面的思考,你會發現你的缺失,這就是你未來學習的目標。
2、進步目標:通過思考你的團隊,你的領導,你的公司,給自己樹立職業生涯規劃,力爭上進。
3、收入目標:每個公司都會有自己的漲薪機制,你得學習並去獲得升職加薪的機會。
3、經常復盤
我常說,在職場上,成長最大的技能其實就是每天記一下工作日誌。
擬寫工作日誌,就是一種復盤,你可以思考當天做的工作中存在哪些問題,遇到同類問題的時候,下次是不是可以處理得更好。
每過一個階段,可以把上一階段的的日誌拿出來消化體會,這個時候,你自己也會發現自己的成長軌跡,而這些清晰的成長軌跡,會讓你更有信心來迎接明天。
古人雲一日三省吾身,其實就是一種對自己的復盤。
4、遠離消極人群
人以群分,物以類聚。
你的朋友圈決定你的高度,你周邊全是消極的人群的時候,你也一定是消極的。
職場上最大的忌諱就是消極。所謂的消極,比如,傳小道消息、抱怨、小雞肚腸、暗中使壞、看不得別人好、打擊別人的工作。
你對照一下自己看看,迷茫的時候,跟這些有多少關系,你自己是不是也不自覺地在進行一些消極的行為?
沒有人喜歡消極的人,尤其是你的領導,一定不會喜歡一個消極的下屬。
5、早睡早起,鍛煉身體
身體不好就是殘廢。在職場上,一個好的身體才是所有工作的保障。
作為年輕人,打下一個好的身體底子,對於以後漫長的職場生涯會有絕對的幫助。
一直抱著手機,玩著游戲,加入所謂的年輕人熬夜圈子,其實是對自己的不負責任。
盡量的早睡早起,給自己制定明確的鍛煉目標。不僅是你對自己負責,對你的家人負責,也是對社會在負責。
一句話,身體才是真正只屬於你自己的東西。
6、偶爾放鬆一下
當然,工作幾年,進入了職場迷茫期,你不妨把自己放空一下。
比如,給自己放一次比較長的假期,去看看祖國美好的河山。邀請三五個好友,放下自己,去K個歌等等。
今天的職場,壓力大,所有人其實都需要有一定的放鬆時間。你得學會怎麼放鬆自己。
漫長的職場生涯才開始,尋找到可以使自己放鬆的方式,也是很重要的一步。
⑷ 如何成為一名合格的程序員
很多人想要成為程序員,在學習編程的過程中,面對各種bug和源源不斷的問題,有時會對自己是否適合編程這一問題產生困擾。
作為一名教授全棧Web開發的教育工作者,我已經帶領很多新手成為了程序員。好消息是,我發現沒有任何人是不能學習編程的。我把它看作是一種基本的人類技能,就像閱讀、寫作和算術一樣,任何人都可以做到。它是我們人類能力的一部分,只是需要學習。
在過去的幾年的教學中,我目睹了不同的學生在學習過程中的斗爭,以及在他們的掙扎中出現的一些共同問題。
下面的列表將幫助你了解你是否喜歡編程
1、缺乏好奇心
如果你對計算機是如何工作的缺乏好奇心,那麼,作為一個程序員,你將永遠不會成功。
學習的一個基本要求是對你所學的東西有積極的興趣。如果你沒有一個對技術好奇的頭腦,你就沒有精力去堅持學習要成為一個成功的程序員所需要的廣博而深入的知識。相比之下,技術的世界就像一個巨大的海洋,裡面充滿了各種有趣的領域、相互聯系的思想和各種可能,它們可以激發人們的想像力。想要潛入這片海洋並發現你所能發現的一切,需要內在的動力。
找到你的好奇心:問問你自己,編程是否真的讓你感興趣?如果沒有興趣,去找你感興趣的東西,以節省時間和精力。但是如果你的答案是感興趣,那麼就強迫自鄭襪己去發現一些你以前沒有注意到的新事物,認識到浩瀚的技術海洋,再往下潛一點。
2、缺乏自主性
如果你不培養自己解決問題的能力,你就永遠不會成為一個成功的程序員。
毫無疑問,要成為一個成功的開發人員,你必須對自己的學習能力充滿信心。這實際上是一項基本的生活技能,如果你年滿18歲,沒有人有義務教你任何東西。這就是現實。當你想學習技術所需的技能時,首先要學會的是,在谷歌中輸入你想要的任何東西並獲取你需要的信息。除此之外,所有編程語言都有文檔和規范,這些文檔和規范對語言的工作方式解釋的非常清楚,它們就像字典一樣。作為一個程序員,最快速、最可靠的學習方法就是簡單地閱讀這些文檔。
當你有問題的時候,在問別人答案和查閱官方文檔之前,強迫自己先搜索一下,節省別人的時間。
3、面對問題缺乏毅力
如果你在遇到問題時輕易放棄,作為一個程序員,你將永遠不會成功。
編程的本質是解決問題,這也是計算機產生的全部原因!每當你開始編寫一個程序時,你總是會遇到一大堆問題。一旦你解決了一個問題,那麼幾乎總是有另一個問題在後面等著你。你在進步,但總是會有新的問題要面對。
這堆問題會讓人望而生畏,令人感到沮喪。如果你覺得程序應該「能用就好」,那麼你就沒有精力堅持下去,因為問題還在繼續出現,它們會一點一點地擊潰你的情緒和決心。從字面上來說,你的工作就是找出程序為什麼不能跑起來。
從我在授課上的經驗來看,通常每個班都有一兩個學生,和其他學生相比,他們似乎更容易遇到更多的問題——通常是非常隨機和模糊的問題。我提醒學生,他們面對的問題越多,學習越深入、越徹底的可能性就越大。如果他們能通過這些問題獲得深刻的理解,他們會很快發現他們變得更加自信了,因為他們面對和解決的問題比普通學生多。
你需要認識到,問題不僅僅只是問題,它實際上也是挑戰。你所面臨和克服的每一個挑戰都能讓你更深入地理解技術,更好地面對新的挑戰,並迅速解決舊的挑戰。
4、解決問題之後沒有成就感
如果你在解決一個問題後沒有興奮感和成就感,作為一個程序員,你將永遠不會成功。
與上一個問題相關的是,你成功地解決了一個問題,卻缺乏「良好的感覺」。當修復bug和問題變成了一個永遠不會結束的事情時,你會失去與克服問題的動力。
當你解決一個問題時,你需要的是多巴胺的釋放。這類似於在電子游戲中完成了一個關卡,或者解決了一個像縱橫字謎或數獨這樣的挑戰。我們都知道,堅持通過一項挑戰,然後最終贏得比賽,一般都會有成就感和興奮感。但是如果你失去了感受這些快樂的能力,或者從一開始就沒有真正有過這些感受,你將無法體驗到編程帶來的快樂。如果你把編程看作是一種磨礪,你只想盡可能容易地得到結果,那麼你永遠不會真正成為一個成功的程序員。
無論何時,當你解決了一個一直在努力解決的問題時,無論這個問題多麼微小,你總是為你的成就感到驕傲。你需要休息一下,祝賀你自己完成了一項出色的工作,讓成功的感覺滲透進你的心裡,為你即將面臨的下一個問題注入活力。
5、無法獨立思考
如果你期望別人為你著想,並且主動看到你自己所在的處境喊純激的細節,你將永遠不會成為一個真正成功的褲脊程序員。
當你在學習新的東西時,很容易感到缺乏知識和經驗,並沒有自己的觀點。主動做事或者說錯話似乎是有風險的。對於錯誤,我們的內心都有一種恐懼感。當對錯誤的恐懼抑制了你的探索和好奇心時,你會扼殺開發真正知識、從經驗中獲得的知識和「失敗」的能力。當你需要依靠「權威」的觀點、一個受歡迎的博客、一個最佳實踐或「教科書」的答案時,那麼你就沒有真正地整合編程的知識。你需要對什麼有效,什麼無效形成自己的觀點。你需要理解為什麼你認為你的解決方案有效,以及使用這個方案有什麼好處。你需要建立一個微妙的視角,超越那些顯而易見的東西。你需要能夠「證實」你的立場。
為自己著想。通過你的經驗和批判性思維技巧,發展出你自己的思想體系。做出合理的猜測,堅定立場,並願意隨著新信息的出現而改變立場。
6、僵化、狹隘、混亂的思維
如果你的思維僵化,並且難以保持代碼的條理化,那麼你將永遠無法成為一名真正成功的程序員。
我有時在學生中看到兩個極端。第一種是僵化和狹隘的思維方式。擁有這種態度的人拒絕幫助,盡管會有反饋,但不會有改變。他們看事情只從一個角度看,別人給的建議被忽略。
我看到的第二個極端是思維混亂。學生們似乎使事情變得更加復雜,他們的代碼雜亂無章,難以理解。他們過度思考問題,寫100行代碼,而其中只有10行是有用的。
當這兩種心態結合在一起時,結果就是一種用蠻力的方法去設計程序。我們需要的是回顧解決方案,重新評估它,放棄最初的方法,並重新組織方法。
無法看到其他可能性或無法反思反饋會抑製成長的能力。思維雜亂無章會減慢你的成長速度,阻止你看到那些原本顯而易見的模式。你的工作質量也會下降。
自我反省。你需要退後一步,看看你是接觸的事物的大局是什麼樣子的。你要怎樣才能做得更好?你能做些什麼讓你的生活更輕松嗎?你需要什麼來幫助你?
7、需要「正確」的答案,而不是識別一系列「好」和「壞」的答案的方法
如果你認為編程的最終目標是找到正確的解決方案,而不是一系列解決方案,那麼作為一個程序員,你將永遠不會真正成功。
當開始學習技能或編程時,學生往往想知道他們所做的是否「正確」,而答案總是「視情況而定」。
計算機科學是一門評估權衡的科學。在不同的環境下,哪條路更好,這完全取決於所處的環境和目標。當你把編程看作是一個有正確答案或錯誤答案的測試時,你就失去了對全局的認識,放棄了你的創造力。任何答案都可以是「正確的」,前提是你能根據具體情況證明這一點。現實情況是,編程更像是寫詩或寫短篇小說(如果程序很大,則可能是小說)。在你的代碼中可以看到一種美學和美麗,這些東西有時只有你和其他程序員能夠識別出來。你決定解決方案的原因,以及你對答案的設想,比「正確的方式」或「錯誤的方式」更重要。擁有一個藝術家的頭腦可以讓你編的程序具有選擇和可能性,而不是認為只有一種處理方式。這就是編程的美——有很多方法可以解決問題,考慮不同的可能性,然後決定哪種方法最適合當前的情況。
創造性很重要。你要認識到,解決問題的方法有很多種,通過經驗和積累,你會對哪些解決方案比其他解決方案感覺更好產生細微的理解。縱觀全局,想像不同的可能性,相信你的直覺,你會得到更滿意、更好的解決方案
如果你對學習編程感興趣,我鼓勵你開始這段旅程。記住提到的七條,並開始學習、探索在線資源,這些資源可以讓你快速學習。你不會後悔的!
合格程序員,對於一種計算機程序設計語言,我們將其分為語法、語義、語用三個層面。僅僅掌握語法是不夠的,不算學好。但是很多人,在履歷上寫自己掌握(甚至精通)了某種語言,其實就是解了語法,會寫簡單的程序而已。這就是為什麼我們行業特別不喜歡「精通」這個詞的原因。
現代軟體開發,規模都比較大,不是寫個HelloWorld那麼簡單,也不可能每個項目每件事都從頭開始造輪子,我們都是站在前輩、同行們的肩膀上工作的。也就是說,語言之外,還有「庫」這個東西需要掌握,不然就寸步難行。庫有語言級別支持的BuildIn的庫,比如JAVA裡面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更豐富的還有第三方提供的庫,比如JDBC、Servlet、EJB的implementations等等。這些東西掌握了,幹活兒才可能得心應手,不然寸步難行。
比Libaray更高層一些的,是Framework。框架的作用在於,將某一方面開發的BestPractices搞到一起,給你提供一個更易用的、不關注底層的腳手架。比如做企業應用的,SpringFramework是標配了;訪問數據,Hibernate或者MyBatis也離不開,很少直接用JDBC去幹活的了;做WEB的,各種MVCFramework起碼得掌握一兩個(springmvcorstruts2?);做網路的,Netty,MINA怎麼也得掌握一個......總而言之,框架是繞不過去的一個門檻。
然後呢,就是環境、輔助工具。應用伺服器,怎麼也得會調試配置那麼兩個吧。TOMCAT是入門標配,JBOSS,WEBLOGIC之類,起碼要弄得跑得起來;針對不同應用場景,還要會選擇。開發/管理工具,ECLIPSE是標配、GIT和SVN起碼要搞熟一款;其它比如單元測試工具、Build工具、測試覆蓋率、CodeReview這些插件...也得知道怎麼用。
最後,通用的,計算機科學的基礎,不說多扎實,至少不能一竅不通。說起來就那幾大件,操作系統、數據結構&演算法、編譯原理、體系結構。要懂一點點,你才知道你編的程序是怎麼run起來的,哪兒可能存在效率問題性能瓶頸,除了問題知道怎麼debug。如果僅僅把計算機當作一個黑盒子,那也不算學好了。
最最後,還有一樣,就是你要訓練一下,快速理解領域知識的能力。你參與做一個項目,你懂的只是上面這些專業知識,但並不懂客戶的行業知識。如何盡快地理解業務,並用你手頭的工具實現業務邏輯,這點對程序員而言是非常重要的,否則你做的東西客戶總不滿意,GET不到重點,很麻煩。
我覺得這是一個合格的程序員的基本要求。你看,我並沒要求你懂需求工程、懂項目管理、懂架構設計、懂很多演算法、模式,甚至更深的專業知識。
⑸ 作為一名普通的程序員,該怎樣給自己找一條後路呢
作為一名普通的程序員,該怎樣給自己找一條後路呢?兩年也就相當於是剛入行的一個程度,那這個程度就是要多努力幹活,多學多練,想任何其他的都是白費功夫,因為你沒有其他的時間積累,在二至四年的這個時間里,要把自己的工資技術水平提升到你所在的那個城市圈子裡面的中上等的水平,然後你要有一個比較謹慎的思維,不要空有一個想法。
你現在考慮的可能就是說以後怎麼發展他這個技術程序員發展的話一般是年齡平均到35歲左右的時候,你就可以通過前期的一些積累,然後鋪墊到35歲的時候,你就可以去做其他的行業的,因為你到35歲的時候,不管是去面試或者是帶領團隊熬夜,很多時候有些東西都跟不上了,所以建議你到那個時候去轉行。
⑹ 28 歲建築師,想轉行程序員,有什麼入行建議
如果是對於剛畢業也還沒工作的同學,不喜歡自己的專業,那麼考慮直接轉碼開始學習新的領域的知識沉沒成本還不算太高。但是你渴望賺錢也希望未來還能有更好的發展,轉程序員可能難度比較大。
不過如果你真的對這方面特別感興趣,可以先在網路上尋找學習資源先去學一學、看一看相關的書籍,並通過系統的學習,快速測試自己是不是適合這個方向。
在你選擇職業方向的時候如果想提高你轉行的成功率,最好是能藉助之前的優勢,盡可能的利用自己已有的積累,例如自己原本的專業、從事的工作、經驗等等去尋找性價比更高的方向。
而在方向上,轉碼可能跟本專業相關性不夠強,但是轉行本就是這樣,你需要根據自己的情況找到撬動你新的職業發展的點,我見過建築專業的同學去做教育、做市場、去做場景美術、心理咨詢師、攝影師、作家等等職業。之前在建築轉行相關問題下看到有一個答主回答說,建築行業轉行的本質上就是用建築設計的思維去做更多能夠改變影響這個社會的事情,找到你長期熱愛的事情。
建築行業或專業的同學轉行產品/交互設計的人很多,而且我也發現做建築的同學都很聰明也很勤奮,找對方向後他們轉行的成功率都很高。
其實我更建議對於建築專業的同學來說,轉行互聯網交互設計/產品設計。
建築專業的同學所具備的技能一般會涉及到 social science (社會學), engineering (工程學) 和 art (藝術)等方面,如果你想轉行做程序員,可能會有很大的挑戰,但是從事產品、設計、運營等非技術崗位,卻會有很大的機會。建築專業的同學和產品經理、設計師們在思維模式、工具運用、藝術底蘊等方面有很大的共通性。
比如,都是在設計和創造一個「產品」,只不過建築設計師創造的產品是房子。
建築設計和互聯網產品設計的對象都是一個產品,只不過形態不一樣,房子解決的是居住、生活的問題,互聯網產品決絕的是某一方面需求的問題,都要考慮市場需求、用戶體驗、工程實現、成本等多方面的因素。
建築設計師常用的軟體包括 Auto CAD、3D Max、Sketchup 等,和互聯網行業產品經理、交互設計師、UI 設計師們常用的 Axure、Sketch、PS 等不盡相同,但是上手一款軟體應該不存在過多障礙。因為大多數主流軟體的布局、操作模式都非常類似。尤其是 MAYA、3D Max等三維建模軟體,和在 UI 設計師中流行的 C4D,非常類似。
周圍做建築轉行互聯網成功的朋友很多,包括現在有一些非常厲害的業內大佬,都是建築出身。
轉行產品經理和 UX (用戶體驗設計)的最多,因為建築專業和互聯網產品、UX 都有相通的地方,很多建築領域的思想,放到互聯網產品和 UX 里都用的到。
⑺ 想轉行做程序員,如何入門
轉行做程序員優先考慮編程語言,Java就是一個不錯的選擇。
首先、學習門檻較低,入行難度不高
學習Java一般只要大專以上學歷就可以,年齡最好在20-30歲之間,相信這個門檻並不是很高,很多人都有機會進入這個行業。
學習難度其實也沒有大家想像中的那麼難,很多人會糾結於自己的英語差、數學差這些因素,其實這些都不是能影響你學好Java的原因。很多來參加Java培訓的學員都是零基礎、跨專業,為了能讓他們學好Java,成為一名合格的Java開發工程師。
其次、薪資高,發展前景廣闊
關於Java行業的薪資,相信大家已經了解的很詳細了。如今各個地區都在鼓勵和加快進行Java方向的建設,所以,在未來必將創造出更多的Java崗位。
在信息化時代,Java在未來的作用會越來越大,現在學習Java正當時。
IT行業薪資高、待遇好,在轉行的時候,好多人毫無疑問都會指向IT行業。IT行業領域眾多,哪個行業最值得進入呢?相信很多人在轉行之初都會被建議去學習Java,為什麼建議你在轉行之初選擇Java開發呢?如果對編程感興趣可以來我這看看。
我們都知道,IT作為一種新型產業,在過去短短的十幾年內,已經成為我國重要的經濟增長點,也受到國家的大力扶持。隨著「互聯網+」、「人工智慧」、「雲計算」、「智慧城市」等重大的戰略的實施,更是意味著IT行業將產生巨大的作用,而Java作為常年占據編程語言排行榜第一的位置,憑借自身強大的能力必將在這些戰略的發展中扮演更加重要的角色。
希望對您有所幫助!~