成為更優秀的開發人員:第二步-知道你的核心競爭力

編者按:原文作者羅布·沃林(Rob Walling)從事Web應用開發10年之久,擔任過業內顧問、自由開發人員和全球最大的信用卡預付公司City of Pasadena的開發經理。現居住于加州中部城市弗雷斯諾(Fresno)。關注并指導IT 創業,著有《開發人員 創業指南 / A Developer’s Guide to Launching a Startup》一書。以下是“成為更優秀的開發人員”系列的第二篇。(第一篇: 《成為更優秀的開發人員:第一步-“制造”粉絲》)

  多年來,商業顧問一直指導企業要“知道你的核心競爭力。”也就是說,要“了解自己的優勢,并堅持下去。”。例如:哈雷戴維森的摩托車世界聞名。但在香水行業,他們可能就不那么優秀了。世界上最好的六發式左輪手槍有一部分出自史密斯威森公司,但是我卻不認為他們的自行車也能如此成功。麥當勞嘛… 好吧,我不會說他們很會做食物,但是他們卻非常擅長賣出大量的食物。但是他們絕不會,我的意思是永遠不會把它兌換成現金,然后到拉斯維加斯賭場去做龍蝦三明治。

  知道自己的核心競爭力可以幫助開發人員遠離麻煩。在我的職業生涯中,我大多是在編寫web應用程序,并且自認為很擅長這個工作。但是也有一些我從未做過,也不會馬上做好的事情:編寫編譯器、創建一個超高速搜索應用程序和實現一些我想到的加密算法。這使我想起了一個故事…

  我當時在合作維護一個很成功的電子商務網站,我們在思考一個加密密碼的方法,這樣它們就不用以純文本形式儲存了。網站是用Java寫的,我大約6個月之前用過Java,但即便是6個月過去了,無論如何我還是不能在Sun公司提供的文檔中查到任何信息(有人知道如何高效地使用搜索工具么?)。(編注:推薦閱讀《 如何使用搜索技巧來成為一名高效的程序員》。)

  對文檔進行了幾個小時的徹底搜查之后,我放棄了,打算編寫一個快速簡單的加密算法對密碼進行散列處理。取每個字符的ASCII值,加點什么數,除以點什么數…不管怎樣,始終都是數字,對吧?

  我最終實現了。然后我們發布了這個應用程序。不出所料,幾天之內人們一直抱怨無法登錄。最初我想這肯定是某種詭異的巧合;十個人同時忘記他們的密碼。我已 經準備好調用文件了,直到大約調查了20分鐘以后,我發現,當字符串中有兩個字符是可見的ASCII碼范圍的邊緣字符時,我的加密算法并不能真正地起作用。它確實處理了那些值,可是加密結果卻是不可見字符,也被稱為“控制”字符。

  控制字符每跨越一個邊界,不管是從數據庫到應用程序、還是從應用程序到瀏覽器,都可能會因為層與層之間錯誤的編碼而產生意外變化,所以這給我增添了許多困難。果然,一些錯誤的ASCII解碼導致了一大批人無法登錄。

  這個案例讓我學到了堅持自己優勢的重要性。多次成功之后,我們經歷了第一次挫折。好在我們沒費多大力氣就修復了它。

  堅持自己的優勢絕不表示你不該涉及新事物。恰恰相反,你必須不斷學習來加固自己的核心競爭力,否則就可能落伍。當然,在這點上一定要明智。(編者注:Rob 文中蘊含的意思可能是:要有選擇性地學習新事物。例如:核心競爭力是Web開發,那么,應該選擇和Web開發相關的新事物學習,而不是轉而鉆研加密。)

  從web應用程序到桌面應用程序的跨渡并不是很大。從web應用程序轉到編譯器,(雖然有可能)這是很困難,遠非看一兩個教程就可以搞定的事情。當然,還要遠離加密那個更繁瑣的東西!對于那些完全超出你知識范圍的任務,你先要花大量的時間做調查、漸漸熟悉這個主題、然后要慢慢學習,而不是復制粘貼你第一眼看見的示例代碼。(編注:對于一位自由開發人員,Web開發或許是一個不錯的選擇,僅2010年12份,全球主要項目網站新增Web開發項目15,641個,涉及項目預算超過1700萬美元。

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

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

相關文章

android 字體間間隔,TextView設置行間距、字體間距

一、設置行間距1、設置行間距:android:lineSpacingExtra,取值范圍:正數、負數和0,正數表示增加相應的大小,負數表示減少相應的大小,0表示無變化2、設置行間距的倍數:android:lineSpacingMultipl…

破解mysql數據庫的密碼

發現的1小問題 語句打錯以后應該退出本語句,再繼續打新語句.也可以打\c,退出本語句. 如何破解數據庫的密碼: 1:通過任務管理器或者服務管理,關掉mysqld(服務進程) 2:通過命令行特殊參數開啟mysqld Mysqld --skip-grant-tables 3:此時,mysqld服務進程已經打開,并且,不需要權限檢…

Diango博客--6.Markdown 文章自動生成目錄

文章目錄0.思路引導1.在文中插入目錄2.在頁面的任何地方插入目錄3.美化標題的錨點 URL0.思路引導 Markdown 在解析內容的同時還可以自動提取整個內容的目錄結構,本文內容將從以下幾個方面展開: 1)在文中插入目錄; 2)在…

Java中對象和引用的理解

2019獨角獸企業重金招聘Python工程師標準>>> 偶然想起Java中對象和引用的基本概念,為了加深下對此的理解和認識,特地整理一下相關的知識點,通過具體實例從兩者的概念和區別兩方面去更形象的認識理解,再去記憶。12一、對…

android怎樣封裝,如何封裝屬于自己的博客網站安卓APP 源碼家園

說實話我今天在寫這個文章的時候是我使用易語言(E4A\易安卓)的第一天,我也是易小白,但是的確可以用!我為什么寫這個文章呢?因為之前我也想封裝自己的網站,然后去網上找的在線封裝生成APP,果然能封裝好了&am…

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

一個好的軟件開發人員需要培養兩種技能:技術技能和非技術技能。不幸的是一些開發者只注重技術的部分,以致養成一些陋習,下面是最常犯的5個非技術性錯誤: 0. 缺乏自律 Jim Rohn曾經說過:自律是目標和成果之間的橋梁。我…

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…