㈠ 怎樣看待程序員這份工作
你印象中的程序員是什麼樣子?
談起程序員大家最直觀的印象是穿著格子衫,就會對著電腦,常常幾個小時,經常熬夜工作敲代碼!而且程序員在大多數人的心裡都是非常好的職業,工資非常高,敲代碼的樣子也非常酷。其實,很多人都不清楚程序員具體是做什麼的,就連程序員的家人也不一定能理解,網上經常有人調侃評價程序員一點樂趣都沒有,急的人頭發都掉了。你會給父母講講你目前的工作嗎?他們是否了解你的工作?
新興行業里很多工作大家都不是特別的理解,有些人覺得程序員跟一些宅男的標簽掛鉤,父母理解程序員到底是一個也有說你是修電腦的,可能家人們會最擔心他們的對象問題,也許家人看不懂程序員的工作究竟是在做什麼,為什麼還有那麼多人來從事這個行業呢?你眼中的好工作,家人眼中的好工作,我眼中的好工作,各有不同。一行行代碼是虛擬世界的基礎語言,盡管家人讀不懂,那些字元就是他們的快樂所在了。
「每天除了修改bug,就是在修改bug的路上」「寫不完的代碼和吃不完的泡麵」老一輩兒的人根本就不懂這是怎樣一個職業,在他們眼中,這就是一個高薪,這就是一個文化程度很高的工作,只不過是他們不太懂程序員每天都要幹啥。經常打電話詢問永遠離不開那一句「有沒有下班」,畢竟在家人的心中,孩子的健康永遠是第一位的。 只希望他們能按時下班吧,按時吃飯,不要太熬夜,薪水多少不重要,自己的身體才是最重要的。
對於程序員我的了解也不是特別多,因為編程語言看起來太復雜了。以前感覺他們真的是好神秘,是一個賺錢特別多的崗位,特別是大廠的程序員們特別的不好進。每一項外表光鮮亮麗工作,離不開他們背後付出的努力,程序員也不例外,而且比我們想像的還辛苦。其實,每一份工作都值得被尊重,他們保持著一份對工作的熱愛,我覺得作為家人應該支持他們工作才對。對此你怎麼看待程序員這份職業呢?在我看來,東方的程序員如何看待西方同行是一個有趣並且重要的問題。
通常認為東方國家(印度/中國/菲律賓)是為西方國家提供外包服務(美國和歐洲)的。
即使IT的領軍企業也是如此。他們從學院里招聘畢業生並把他們訓練成機器人。最悲哀的莫過於,他們的薪資相對其他行業而言相對較高,因此沒有人願意從這些公司離開。在印度,幾乎沒有IT公司會招聘真正有才能的人。
㈡ 程序員是怎樣解決問題的
程序員的五部曲:
第一、理解問題
解決問題的首要前提是客觀准確地理解問題,這樣我們才能抓住問題的本質,對症下葯。
客觀
為什麼強調客觀呢?在生活中,這樣的情境很常見。
我們可以很客觀地去評價他人,甚至是給他人給出合理的意見,但是同樣的一件事情,放到我們自己身上,我們可能就會覺得束手無策。
通常情況下,我們對於自己的評價是帶走自我保護心理的。
自己遇到問題,我們會下意識地弱化問題,或者情櫻型緒化地來理解問題,造成問題的失真。
魔鏡的故事就是一個最典型的賣頌改例子。
准確
當我們對自身的問題評價做不到客觀的時候,我們往往也不會准確理解問題。
還有,准確的定義是找到問題的關鍵所在。這個怎麼做呢?
我們仿照時中判間管理的方式。
首先對自己所要解決問題的過程做一個較為詳細的記錄。
堅持記錄幾天之後,我們需要將所有的記錄結果進行匯總,分析,找出漏洞最大的地方。
那麼這個洞也就是所謂的關鍵,我們也就可以找到解決問題的突破口。
舉個例子,筆者前段時間開始用手機軟體記錄自己的時間花銷,記錄幾天之後,就會發現,自己時間浪費最為嚴重的是娛樂。
知道了時間浪費的黑洞,那麼接下來就該思考時間黑洞產生的原因了。
時間浪費的主要原因是兩個
第一,目標流失
當我在網上查資料,或者用手機寫作的時候,總會進入其他的瀏覽頁面,等到自己發覺的時候,時間已經過去大半。
這個我稱之為目標流失。也就是我們在網頁瀏覽的時候已經忘記了自己最初的目的,比如說你本來想找一本書籍的txt版本,但是後來你發現自己瀏覽了一下午的娛樂新聞。
第二,多任務處理
這個問題我是經常遇到。比如說,我在進行日更的時候,有新同學發微信,說查一下宿舍的分配情況。
我當時的反應是火急火燎地去其刷微信,信息查詢完畢之後,和分配在同一宿舍的同學聊了一下午。
最要命的是,等到你刷完屏的時候,你有很大可能會忘掉你在更這件事。
或者說你還記得,但你的精力已經消耗的差不多了,你會告訴自己,等會再更,然後你有很大的概率會斷更。
找到時間黑洞形成的原因,那麼就可以尋求解決措施了。
第二、計劃
為自己的病症設置一個完整的療程,根據問題出現的原因,制定每一步要採取的手段。
第三、拆解
這一步是和計劃聯系在一起的,只不過它的要求更加細化。
它需要我們將計劃的每一步都拆解成可以執行的步驟,感興趣的讀者可以參考筆者的另外一篇文章《如何讓遙不可及的夢想變得觸手可及?》
第四、卡殼
可以說,我們每個人都有改變的想法,也確實有很多人嘗試去做了,為什麼還有那麼多的放棄者。
因為在執行計劃的時候,出現的變數讓我們卡殼了。卡殼再正常不活了,那為什麼會放棄?
答案是自我負罪感。
當我們卡殼的時候,我們大多數人會產生一種負罪感,就是覺得自己定計劃的時候,詳盡完備,而且自己已經堅持了這么長時間,會陷入一種自我懷疑,也就是負罪感。
解決的辦法是立即採取行動,而不是描述問題本身,這也是我們解決所有問題的一個心態。
我們不要緊盯著問題本身,你理解問題的過程就是在採取行動,相反,你逢人就說,我遇到什麼問題,我有多痛苦,沒有任何意義。
第五、練習
其實這個步驟是對前面幾步的一個綜合。
這五部曲是一個閉環,是需要反復進行的,因為問題會不斷出現。
回頭看過去的生活,我們的歷程何嘗不是這樣?不斷遇到新問題,不斷解決問題,然後獲得新的體驗。
想看更多文章
歡迎關注大魚號【小妖影視】
㈢ 程序員的邏輯思維可以從哪些方面進行培養呢
程序員邏輯思維的培養對軟體工程非常重要,思維快的能快速編寫邏輯代碼。可以從一下幾個方面進行慢慢培養。
第一:明確學習目的
邏輯思維學習編程對多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
第二打好基礎,學好基礎知識對我們開發也很重要學編程要具備一定的基礎,總結之有以下幾方面:
首先是數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
其次是邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。最後是選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
第三:注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
第四:掌握編程思想,編程思想使用較多的就是oop編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
第六:多實踐、多交流,一切思維來自項目開發的積累
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
第七:養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使
程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
第八:上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載
8.加強計算機理論知識的再學習
思維培養學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以
開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數
學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機
原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
這就是總結出來的思維培養模式,希望能幫到你,謝謝!
㈣ 為什麼程序員的思維很難理解
1、程序員的思維比普通人要嚴謹。
對編程有一定了解的人都能理解這一點,一是一二是二,電腦不認模稜兩可的回答,因為「模稜兩可意味著更多的可能答案」,所以你跟程序員交談的時候,如果你問他「為什麼要這樣問」或「你為什麼聽不懂」,你就會知道你自己的描述有多麼的不嚴謹了。
最簡單的例子,你媽媽讓你去市場買水果,如果看到有蘋果就買一個蘋果,看到梨就買兩個。你看到市場有蘋果和梨,你會買什麼回家?
首先給出一個大前提,在程序上不存在「潛台詞」或者「潛規則」這種東西,唯一起作用的只有「字面意思」。
一般人肯定是買一個蘋果和兩個梨。當然程序員也不是腦子有坑,以一個正常人的思維考慮也會買一個蘋果和兩個梨,但是看到這問題的第一個瞬間的直覺反應,卻是「如果看到梨就買兩個蘋果」。這個問題不存在潛台詞,所以所有人都會直接從字面理解老媽的意圖。
按照程序的邏輯分析,這句話共分為兩個部分,代表兩個程序任務。「如果看到有蘋果就買兩個蘋果」為任務一,條件是「看到有蘋果」,目標對象「買蘋果」,數量「一個」;「如果看到有梨就買兩個」為任務二,條件是「看到有梨」,數量「兩個」,沒有給出新的目標對象。
因此按照程序邏輯來講,第二句話將繼承上一個目標對象,也就是「買蘋果」,所以這句話被看起來像職業病一樣的思維直接翻譯成了「如果看到有蘋果就買一個蘋果,如果看到有梨就買兩個蘋果。」
————————————————————
2、程序員看問題比一般人透徹。
這是職業特性導致的,因為電腦編程的嚴謹性,因此程序員面對一個問題、一個需要實現的目標或者一個bug時,他會思考更底層的問題,並且會習慣性採用歸納法來盡量避免以後可能遇到同樣的問題。
比如用輸入法輸入中文的詞句,有的時候打出了一串拼音,然後按下數字2選取發現不是自己想要的詞,然後發覺數字1對應的才是自己想要的,刪掉,重新輸入拼音,這次按下數字1的瞬間卻發現兩個詞的位置調換了,於是又刪掉重新鍵入,這次認真地看了看,終於選對了想要的詞的序號。
這個時候你會說,啊,我下次應該更小心一點,不要馬虎大意想當然,看清楚了再點。
程序員不這么想,他會想,導致這個問題的看來是輸入法的「詞語順序自動調整」功能,他會自動監測使用者輸入的各種詞語的頻率,來自動調整詞語的順序,底層代碼實現的邏輯很簡單,每個不同的詞對應一個從輸入法安裝到現在的輸入次數的計數器,直接按計數器排列順序就好了;也有的輸入法會監測你輸入後是否會將其刪掉,那麼這時候會被智能識別為打錯字,計數器不會加一。
然後再一思考,這種功能一般都是可以開關的,如果我想要靠記憶記住順序使用而不用輸入法自動調整的話,比如對漢字輸入的速度有一定要求需要考記憶記住漢字序號,我只需要進入輸入法設置將其關掉即可;如果我想要它幫助我調整詞句位置,但是又不需要頻繁地調整,那麼在我有工作需要的時候我會提前關掉,平時開啟即可;而如果我想單純依賴這一功能,那就不用管它,下次看清楚再選就好了。
㈤ 程序員的邏輯思維可以從哪些方面學習呢
細心感知,多思考,學習邏輯框架
編程思維說白了就是高效解決問題,問題從哪兒來?來自我們細心觀察和感知。解決方法哪兒找?來自我們的思考。大多數人在感到有問題時,只是簡單的表達一下感受,然後就沒有了...
意識到問題後,我們要多感知自己的感受,對於不便的地方當作問題記下來,這樣就能發現更多的問題。接下來就要思考:如果是我來解決這個問題的話,都有哪些解決方法?不用管是否實際可行,多思考就好。
多去技術網站學習,學習一門編程語言(任意一門)
技術網站推薦:國外:Github、StackOverFlow 國內:infoq、CSDN、博客園、51cto、思否、雲加社區、掘金,學習一門編程語言即可與能力無限的計算機對話,站在另一廣闊的空間去看待問題。即使不從事編程工作,但編程基礎語言中的 "if ... else ... then" 、選擇、循環、繼承、面向對象等 底層邏輯思想,也能更強鍛煉你的邏輯思維能力,為未來蓄力!
㈥ 我是幹了八個月的程序員,幹了十幾年的同事給我說我腦子不靈活,思維嚴謹,我是不是該轉換一下做事思路
既然他這么說,而且他有十多年的工作經驗,那肯定只看出了你工作上的一些弊端,那你可以虛心的請教他,你也應該轉換一下工作思路,因為程序員這工作比較枯燥,但是也不能太死板。能盡量寫短一些的代碼就完成工作比繞個大圈寫一堆代碼完成工作要好得多呀,效率也高。