程序員常犯的5個非技術性錯誤

一個好的軟件開發人員需要培養兩種技能:技術技能和非技術技能。不幸的是一些開發者只注重技術的部分,以致養成一些陋習,下面是最常犯的5個非技術性錯誤:

0. 缺乏自律

  Jim Rohn曾經說過:自律是目標和成果之間的橋梁。我一直認為,不論是成為一名軟件開發人員,亦或是想在生活的其它任何領域取得成功,自律都是最珍貴的技能之一。事實上,很少有人兼具智慧和自律。

  Steve Pavlina強調了自律的5個基本原則“……容忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及堅持不懈(Persistence)。將每一個單詞的首字母提出,構成一個縮略詞:鞭子(A WHIP)。這樣更便于記憶,因為很多人總是把自律和鞭策自我聯系在一起。……” 我力薦大家閱讀Steve Pavlina寫的關于自律的一系列文章。

  正如我以前的文章每天寫出好代碼的5個建議中解釋的一樣,對于自律,我的個人做法是每天遵循以下步驟

  • 將一天要做的事情列成清單。
  • 一次只做一件事。
  • 正確做事。
  • 不要半途而廢。
  • 與其道歉,不如補救,而放棄最不可取。


1. 自我意識過甚

  據我的經驗,程序員有點自我意識過甚,但凡過于自我的人都很難意識到這點,以下幾個指標可以幫助你認識到自己是否自我意識過甚。

  • 你認為自己是最棒的程序員。
  • 你抵觸交流。
  • 你要求檢查代碼,是為了炫耀而不是為獲得建設性的建議。

  網上有很多關于程序員及其自我主義的文章,我在此推薦兩篇,一篇是來自Mike Bernat的《無私的程序設計(Egoless programmin)》,另一篇是來自stackoverflow.com與此相關的討論“你如何控制自大”。

2. 不善溝通交流

  Woodrow Wilson說:“我若要說上十分鐘,須花一個星期準備;若是十五分鐘,需三天;若是半個小時,需兩天;若是一個小時,我現在就能準備好。”

  溝通是我們人類的主要活動。做一個優秀的交流者,這不容易,但就我們的職業而言,卻是必不可少的技能。對于設計、代碼、同行評估、文檔編寫、試著去說服別人自己的設計是最好的、編寫代碼等等,我們總在交流意見。

  擅長溝通的人通常會像這樣闡述事情:

  • 專注。他們只說需要理解的內容
  • 清晰。容易理解。
  • 簡潔。增一分則太過,減一分則不足。

  對成為一個更好的溝通者,我有兩個建議:

  • 如果自認不是個好的溝通者,事先做好充分的準備直到達到集中、清晰、簡潔的要求
  • 交談之中,首先傾聽,思考妥當后再說出自己的看法。

  在我先前發布的文章《在開發團隊中做出決定的七個最佳慣例》中,有更多關于提高交際能力的小竅門。

3. 忽略用戶

  “如果我們不關心用戶,自有他人關心。”你在此的唯一原因就是服務用戶,但有時候很容易忘記這一信條。我曾經所在的團隊只注重于技術和平臺,而不是令用戶滿意。我們花費一個多月的時間創造一個構架,卻未能給用戶帶來任何價值;到開始使用的時候,我們發現它完全不適應用戶的需要。

4. 不能合理安排工作

  開發者們總是為自己鍍金,他們研究新的或更有趣的技術;做所有覺得更酷的工程處理方法。這樣無疑妨礙到了項目,但我并不是說時不時投入到旁的活動中是不正常的。誠然我們都需要分散注意力,但是你若發現自己老是處于前面所提到的狀態,那么你有必要重新考慮自己優先處理工作的方式。我再次推薦你讀每天寫出好代碼的5個建議這篇文章。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452502.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452502.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452502.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis進階實踐之二十 Redis的配置文件使用詳解

一、引言   寫完上一篇有關redis使用lua腳本的文章,就有意結束Redis這個系列的文章了,當然了,這里的結束只是我這個系列的結束,但是要學的東西還有很多。但是,好多天過去了,總是感覺好像還缺點什么…

web流程設計器 工作流的 整合視頻教程 activiti畫圖 SSM和獨立部署

本視頻為activiti工作流的web流程設計器整合視頻教程整合Acitiviti在線流程設計器(Activiti-Modeler 5.21.0 官方流程設計器)本視頻共講了兩種整合方式1. 流程設計器和其它工作流項目分開部署的方式2. 流程設計器和SSM框架項目整合在一起的方式視頻大小 1.13 GB ~【…

Diango博客--7.自動生成文章摘要

文章目錄0.思路引導1.方法一:覆寫 save 方法2.方法二:使用 truncatechars 模板過濾器0.思路引導 博客文章的模型有一個 excerpt 字段,這個字段用于存儲文章的摘要。 若在 django admin 后臺手動為文章輸入摘要,每次手動輸入摘要…

android 增加觸摸范圍,android seekBar 增加點擊和滑動范圍

seekBar的的范圍有限,有時候設計師要求高度為4dp,此時范圍太小,很難滑動成功。因此,我們需要在不改變 UI 的前提下,增加點擊和滑動范圍。直接上代碼:public class MainActivity extends AppCompatActivity …

特斯拉股價暴跌,瘋狂燒錢是否真的能夠帶來高額回報?

“瘋狂燒錢”并不能成為公司持續虧損的理由,反而可能成為公司升級轉型的關鍵所在。 上周三,特斯拉發布第四季度財報,其后特斯拉CEO馬斯克在電話會議上表示,特斯拉虧損收窄,營收同比增長88%,但與此同時其首…

android gravity參數,Gravity - [ Android中文手冊 ] - 在線原生手冊 - php中文網

Gravity版本:Android 4.0 r1結構繼承關系public class Gravity extends Objectjava.lang.Objectandroid.view.Gravity類概述用來在一個更大容器中布置對象的標準常量和工具。常量public static final intAXIS_CLIP原始位控制右/底邊界是否被剪切到它的容器中&#x…

Diango博客--8.解鎖博客側欄

文章目錄0.思路引導1.[最新文章] 模板標簽2.[歸檔] 模板標簽3.[分類] 模板標簽4.[標簽云] 模板標簽5.使用自定義的模板標簽0.思路引導 博客側邊欄有四項內容:最新文章、歸檔、分類和標簽云,效果展示如下: 這些內容相對比較固定和獨立&…

十五、詳述 IntelliJ IDEA 插件的安裝及使用方法

正文 首先,進入插件安裝界面: Mac:IntelliJ IDEA -> Preferences -> Plugins;Windows:File -> Settings -> Plugins.標注 1:顯示 IntelliJ IDEA 的插件分類, All plugins:顯示 Inte…

編程巨星的唯一秘訣

別以為是那些軟件開發定律,別以為是開發出那些特殊用途的軟件,別以為是軟件設計技術本身。只有一條真理決定了一個軟件程序員的成功還是失敗。由于堅持這個真理,一個資深的程序員能在一天的時間里學會一門新的編程語言,而由于不堅…

面向數據流的設計方法

面向數據流的設計方法的目標是給出設計軟件結構的一個系統化的途徑。 在軟件工程的需求分析階段,信息流是一個關鍵考慮。通常用數據流圖描繪信息在系統中加工和流動的 情況。面向數據流的設計方法定義了一些不同的“映射”,利用這些映射可以把數據流圖…

AI研究的盲點:無解的神經網絡內在邏輯

論人工神經網絡內在邏輯的研究歷史及現狀。 伴隨著大數據,人工智能(AI)在沉寂了多年之后,又迎來了新的高潮。在這場涉及大部分科學的革命中,人工神經網絡釋放了人工智能(AI)。但科學家們發現&a…

Diango博客--9.歸檔、分類和標簽頁

文章目錄0.思路引導1.回顧2.歸檔頁面3.分類頁面4.標簽頁面0.思路引導 側邊欄已經正確地顯示了最新文章列表、歸檔、分類、標簽等信息,現在來完善歸檔、分類和標簽功能。 當用戶點擊歸檔下的某個日期、分類欄目下的某個分類或者標簽欄目下的某個標簽時,…

android studio1.2.6,1.2.2 使用Android Studio開發Android APP | 菜鳥教程

寫在前面本節將介紹如何使用Android Studio開發Android APP,和前面Eclipse ADT SDK搭建Android開發環境一樣,本節也只是介紹一些基本東西,深入的,比如快捷鍵,小技巧等會再另一篇文章中詳細地介紹!1.下載A…

軟件工程中的啟發規則

1.改進軟件結構提高模塊獨立性 2. 模塊規模應該適中 3.深度、寬度、扇出和扇入都應適當 4.模塊的作用域應該在控制域之內 5.力爭降低模塊接口的復雜程度 6.設計單入口單出口的模塊 7.模塊功能應該可以預測

C#指南,重溫基礎,展望遠方!(4)表達式

表達式是在操作數和運算符的基礎之上構造而成。 表達式的運算符指明了向操作數應用的運算。 運算符的示例包括 、-、*、/ 和 new。 操作數的示例包括文本、字段、局部變量和表達式。 如果表達式包含多個運算符,那么運算符的優先級決定了各個運算符的計算順序。 例如…

UPS開始嘗試“貨車+無人機”的投遞方式,不必再擔心快遞員離職了

繼亞馬遜“空中倉庫”,無人機送貨再現新形式。 作為世界上最大的快遞承運商與包裹遞送公司,UPS當然也沒有放過“送貨無人機”這一新穎業務。與亞馬遜推出“空中倉庫”的理念類似,UPS并沒有選擇讓無人機從倉庫直接起飛,而是將之與…

技術人員如何"正確"的浪費時間?

蘋果產品用戶要浪費時間,你就應該這樣做:買個有鎖的 iPhone ,每天刷幾百次威鋒網等待越獄或解鎖,看到新 App 就安裝,程序提示更新立刻升級;有新的固件(哪怕是 β 版)就壓制不住升級的欲望;每次 …

Diango博客--10.交流的橋梁“評論功能”

文章目錄0.思路引導1.創建"評論"應用2.設計"評論"的數據庫模型3.注冊"評論"模型到 admin4.設計“評論”表單5.展示評論表單6.“評論”視圖函數7.綁定 URL8.向讀者發送是否“評論”成功的狀態9.詳情頁底部顯示“評論”內容0.思路引導 本文將創建…

python與android交互,Android客戶端與Python服務器端的簡單通信

最近在做一個APP,需要與服務器通信,一點一點的嘗試,記錄一下。本文使用了OkHttp和Flask框架。Android客戶端:實現功能輸入完點擊OK按鈕后會toast成功的信息。Python服務端:各部分代碼如下:activity_main.xm…