【轉】如何在編程生涯中有一個好的開端

本文來自:http://www.techug.com/how-get-jump-start-your

作者:http://www.techug.com/author/admin(中文,譯作者)

作者:http://java.dzone.com/users/simpleprogrammer(英文,原作者)

?

??? 想要進入軟件開發的領域其實是很難的。當然,如果你還是一名剛剛入門的程序員,那么我相信你深刻理解沒有經驗或者沒有太多經驗想找一份工作是如何困難。如果你已經在軟件開發這一行干過一段時間,那么我相信你也會深刻理解想要在這個競爭激烈的行業鶴立雞群又是如何困難。

??? 我接觸過很多剛剛入門的開發人員,他們非常迷茫,因為他們不知道該往哪里投入自己的精力來發展自己的職業生涯,也不知道未來的方向在哪里。選擇是如此之多,讓人眼花繚亂:有那么多的技術,有那么多的道路。那么那一條才是正確的呢?

?

正確的思考方式

??? 下面我會給出一些具體的建議,但是在此之前,你得確保你是在用一種正確的思考方式考慮自己的職業生涯。

??? 職業生涯中相當重要的一點是,企業意識:要將自己的職業當做一家企業。這家企業雇用了你。企業意識有助于你,對于什么時間應該做什么,以及何時該投資自己的職業,做出正確而客觀的決定。有很多開發人員只是將軟件開發這一職業當做一份臨時的工作或者僅僅就是一個飯碗——這種想法毋庸置疑是目光短淺的。不知各位發現沒有,同樣一個決定,勸別人我們能輕易講出一大堆道理,但是輪到自己頭上卻很難?究其原因就是,勸告別人的時候我們往往能夠站在客觀的立場上,不會有擔憂、恐懼等多余情緒的干擾。

??? 企業意識的原理與上面相似,它能讓我們更客觀地做出決策。

?

建立企業意識

??? 話說,為什么我們不能一開始就建立起企業意識呢?

??? 如果沒有親身經歷過,是很難積累經驗的。現在的大多數軟件開發崗位都會要求具備一定的經驗。那么,作為一名經驗有限的新手開發人員,我們又該如何“具備”一定的工作經驗呢?通常情況下,我們要想成為一名軟件開發工程師,需要一個很幸運的機遇,可能是一個 QA 或其他職位,然后依靠自己的辛勤努力和學習。這是一段相當漫長的歷程。

??? 下面介紹一下我的捷徑。

??? 假設自己的“企業”聘用了自己。這一點都不難,甚至都不用寫任何資料、提交任何手續。然后我們就可以接業務了。該怎么做呢?我的意思是,不是玩玩,而是真的能賺到錢。當然,我們的最終目的不是賺錢,而是積累經驗。我們完全可以不辭掉現有的工作,只是利用自己業余時間搞項目,這樣我們就能在簡歷上理直氣壯地寫上自己的真實經歷了。

??? 未來的雇主是不可能問出“你的項目賺了多少”這種愚蠢的問題的。(即使他們真的問了,那也沒有必要說出來。)所以自己搞的項目能不能賺錢不必太介懷。當然,如果想接些有一定收入的活計,也 ok。

??? 可以為親戚朋友建網站。也可以和一些當地企業談談是否需要開發一些應用程序。怎么得到的業務并沒關系,記住你的目的是增加自己簡歷的肉感——我的意思可不是讓你在簡歷上吹牛。

?

開發移動應用

??? 開發移動應用不但能增加經驗值讓你的簡歷亮起來,還能掙點小錢,并且讓你以后在面試中有侃侃而談的資本。

我經常建議開發人員在起步階段一定要接觸下移動應用,因為移動 app 一個人也能干,而且這不但能讓人有始有終地經歷建立一個應用程序的過程(這種經驗是很寶貴的),還能成為展示你代碼能力的確鑿證據。

??? 任何公司在招聘的時候最擔心的就是這些個口若懸河的開發人員是不是真有本事。而你,完全可以通過展示自己寫的源代碼,來打消這種顧慮。當然,如果你已經創建了一家 app 網上商店,就更好了。

??? 如果你對開發移動應用感興趣,可以先看看關于這方面內容的基礎教程:《 Introduction to Android》 以及《 Beginning iOS 7 Development》。

??? 下面這兩本是我強烈推薦的進階教程:

  1. 《Professional Android 4 Application Development》
  2. 《iOS Programming: The Big Nerd Ranch》

??? 通過寫移動應用程序,除了給你的簡歷增色不少,還能讓你對自己更自信,開發軟件的技能更為嫻熟。

當然,一開始這可能有點難以上手,而且學的人也很多,但是我們不能否認的是,這是一個相當明智的投資行為,因為現在的移動設備發展勢頭很猛,關于這方面的人員需求一直在增加。

?

規劃你的職業生涯

??? 我經常說,推銷自己很有必要,因為這能讓軟件開發人員獲得更好的就業機會,拿到更高的薪酬。我的建議是,我們要好好規劃自己的職業生涯,而不是僅僅只是為了找工作。如果你早早地就給自己做好了定位,明白自己想要站到的高度,你之后的職業生涯將因此而受益匪淺。

??? 我的一個妙招是寫博客。越早開始越好。我常常懊悔,要是我能早 5 年或者更早開博客就好了。我遇到的每一個寫博客的開發人員談起這事都深有同感。不要只是創建博客,要使用博客。爭取每周寫一篇,哪怕你沒啥有意思的內容,也要堅持下去。幾年之后,你將會是一名超棒的作家,回顧往昔,能看到各種思緒發展的歷史痕跡,自己逐步進化進階的酸甜苦辣。

??? 規劃職業的關鍵在于堅持,因為這是一場持久戰。創建博客、樹立品牌等等,會讓你之后的職業生涯走得更長更遠。所以,不要磨蹭,start now!

?

良師益友

??? 正確的建議和討論能指引我們正確的方向、節約大量的時間。我建議你和一些有經驗的軟件開發人員交朋友,向他們請教,向他們學習。

??? 當你有需要的時候才去交朋友是很難的,而且也不是你想讓對方成為你的導師,對方就一定會接受。俗話說,教會徒弟餓死師傅,做導師有時候并不會教你很多。關鍵是要有所回報。

??? 下面是我的一些建議:

??? 請吃飯。話說,很多感情都是在飯桌上建立的。

??? 評論自己欣賞的軟件開發人員的博客。如果你提出了有見地的意見,他們會關注你。

??? 交換。你有沒有其他領域的知識是別人感興趣的?是不是可以用健身和減肥的知識換取軟件開發方面的信息?最好的結果就是雙方能夠各得其利。

??? 用戶群體。有很多的用戶群體遍布世界各地,你可以成為其中的一員。如果你能定期上去,那么就能和其他用戶接觸,發展友誼。

?

閱讀

??? 閱讀,是人類進步的階梯,是一個能讓人靠自己的實力真正出類拔萃的方法。閱讀合適的軟件開發書籍有助于我們理解概念,而這如果光靠自己想可能要花費幾年的時間,還能讓你吸取眾多成功軟件開發的經驗,集百家之長。

??? 下面是我為入門軟件開發人員列出的書單。

  • Code Complete》(《代碼大全》)——代碼結構的經典之作。
  • Clean Code》(《代碼整潔之道》)——主要講述如何寫好代碼的關鍵概念。值得一讀。
  • Design Patterns》(《設計模式》)——掌握之后將在你之后的職業生涯中大顯身手。
  • Programming Pearls 》(《編程珠璣》)——好好閱讀,雖然很難,但是以后你會知道這些努力是值得的。
  • 《Agile Software Development, Principles, Patterns, and Practices 》(《敏捷軟件開發原則、模式和實踐》)。

??? 最后祝各位好運,希望我的建議能對各位有用。萬事開頭難,但是如果我們選擇了一條正確的捷徑,那必將走的更順更快,所能成就的職業生涯更輝煌。

轉載于:https://www.cnblogs.com/zs8861/p/4058299.html

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

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

相關文章

git的使用1[轉]

在應用程序開發過程中,很重要的一部分工作就是如何進行源碼的版本控制。當代碼出現問題時,我們就需要將代碼恢復到原先正常的版本。如果是多個人共同開發一個項目,那么代碼的控制就會非常復雜。幸運的是,開發者不需要自己控制這些…

matlab做比例積分微分控制,收放卷卷徑計算+閉環擺桿控制參數自適應PID控制算法(變比例變積分變微分)介紹...

項目簡介最近在一個客戶現場搞熔邊機項目,涉及到收放卷工藝的卷徑計算,同時張力控制使用的是擺桿,然后通過PID控制輸出輔助轉速補償收卷伺服速度。單一的PID參數不能自動適應卷徑變化,如在小卷徑200mm下調試整定出的一組PID參數,當…

如何檢測支付寶接口中notify_url.php有沒有返回,支付寶中的手機網站支付接口,php版 notify_url.php 異步通知頁面未成功執行...

require_once("alipay.config.php");require_once("lib/alipay_notify.class.php");$alipayNotify new AlipayNotify($alipay_config);$verify_result $alipayNotify->verifyNotify();if($verify_result) {//驗證成功$notify_data $alipayNotify->…

openfire學習4---android客戶端聊天開發之聊天功能開發

前面我們已經把服務器搭建完成,并且在客戶端實現了登錄了。 和我們使用的QQ一樣,想一想,登錄成功之后呢?肯定是要有一個好友列表,通過這個列表,我們可以選擇我們需要聊天的好友。 這里我們先研究下 xmpp的數…

運用runtime與AOP實現oc中的kvo

前言: oc中實現的kvo觀察者模式比較呆板,不支持block,運用runtime機制將其進行實現。 詳細實現步驟: 一:給NSObject添加分類(添加相應的添加觀察者,刪除觀察者的方法),這樣凡是繼承NSObject的類生成的對象都會擁有這兩個方法。 二:在添加觀察者的方法中,檢查本類是否…

CentOS下IPTABLES配置詳解

iptables是與Linux內核集成的IP信息包過濾系統,其自帶防火墻功能,我們在配置完服務器的角色功能后,需要修改iptables的配置。配置CentOS和Ubuntu等linux服務器時需要對服務器的iptables進行配置,以下是iptables常見的幾種配置方法…

mysql教程詳解之多表聯合查詢,MYSQL教程mysql多表聯合查詢返回一張表的內容實現代碼...

搜索熱詞《MysqL教程MysqL多表聯合查詢返回一張表的內容實現代碼》要點:本文介紹了MysqL教程MysqL多表聯合查詢返回一張表的內容實現代碼,希望對您有用。如果有疑問,可以聯系我們。今天在使用MysqL語句的時候老是報錯,語句如下:sq…

C#實現冒泡排序

一、算法原理 1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。 3、針對所有的元素重復以上的步驟,除了最后一…

PHP - 使用 Pear 進行安裝和卸載包

安裝: 首先運行到php根目錄: 輸入要安裝的包文件名: 使用語法: pear install 要安裝包的名稱 回車確認: 如果沒有其他意外,顯示安裝成功。查看安裝的包的信息: 語句: pear info 包的…

CYQ.Data 輕量數據層之路 V2.0 震撼驚世 支持多數據庫/內置Aop(二十五)

所有文章索引:CYQ.Data 輕量數據層之路 框架開源系列 索引 前言: 從V1.5發布到現在時隔20天了,終于發布2.0版本了,2.0系列版本由于引入多數據庫支持,內部結構改動較大。 但是外面調用方式仍保持一致向下兼容&#xff0…

matlab 捕食者和獵物,MATLAB - 追求曲線(捕食者/獵物)

在我的工程課上,我們編寫了一個“非平凡的”捕食者/獵物追捕問題。以下是情況的要點:有一個獵物試圖逃脫捕食者。每個都可以建模為可以在MATLAB中制作動畫的粒子(我們必須使用這種編碼語言)。獵物:可以比捕食者更容易操縱(轉彎)捕食者&#x…

SQL Server 2012安裝圖解

方法/步驟 在資源管理器中雙擊SQL Server 2012的安裝光盤,此時會出現一個安裝窗口,在左側的界面中點擊“安裝”選項卡,如圖所示。然后點擊右邊的第一項“全新SQL Server 獨立安裝...”選項。 點擊“下一步”按鈕繼續下一步安裝。耐心等待片刻…

C#中讀寫INI文件

INI文件就是擴展名為“ini”的文件。在Windows系統中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。該文件主要存放用戶所做的選擇以及系統的各種參數。用戶可以通過修改INI文件,來改變應用程序和系統的很多配…

html5響應式設置meta

1 <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!--放大頁面到設備合適的分辨率--> 若不支持&#xff0c;請使用兼容ie的js 1 <!--[if lt IE 9]> 2 <script src"http://css3-mediaqueries-js.goo…

jmap在ubuntu上DebuggerException: Can't attach to the process

解決&#xff1a; 臨時&#xff1a; 1.echo 0 >/proc/sys/kernel/yama/ptrace_scope 永久&#xff1a; 2.修改 /etc/sysctl.d/10-ptrace.conf&#xff0c;設置kernel.yama.ptrace_scope0 參考&#xff1a;http://bugs.java.com/bugdatabase/view_bug.do?bug_id7050524轉載于…

C/C++中對鏈表操作的理解實例分析

鏈表概述   鏈表是一種常見的重要的數據結構。它是動態地進行存儲分配的一種結構。它可以根據需要開辟內存單元。鏈表有一個“頭指針”變量&#xff0c;以head表示&#xff0c;它存放一個地址。該地址指向一個元素。鏈表中每一個元素稱為“結點”&#xff0c;每個結點都應包括…

idea寫java spark程序,Spark : 在IDEA中用scala編寫Spark的WordCount程序并提交運行

使用IDEA新建maven工程&#xff0c;添加相關依賴&#xff1a;1.81.82.11.112.3.02.7.7utf-8org.scala-langscala-library${scala.version}org.apache.sparkspark-core_2.11${spark.version}org.apache.hadoophadoop-client2.7.7給項目添加scala支持&#xff0c;新建Scala Objec…

Contest - 2014 SWJTU ACM 手速測試賽(2014.10.31)

題目列表&#xff1a; 2146 Problem A【手速】闊綽的Dim2147 Problem B【手速】頹廢的Dim2148 Problem C【手速】我的滑板鞋2149 Problem D【手速】潦倒的Dim2150 Problem E【手速】被NTR的Dim2146 Problem A&#xff1a; 簡單的最長回文串統計算法&#xff0c;這里沒有過高要求…

利用Vagrant and VirtualBox搭建core os環境

利用Vagrant and VirtualBox搭建core os環境 系統環境 ubuntu 14.04 x64vagrant 1.7.4virtualbox 4.3.10git 1.9.1# 安裝 virtualbox, git sudo apt-get install virtualbox, git# 軟件中心的vagrant版本太低,因此去官網獲取最新的軟件包地址 wget https://releases.hashicorp.…

php關注 取消關注事件,微信公眾平臺開發關注/取消關注事件例子

用戶在關注與取消關注公眾號時&#xff0c;微信會把這個事件推送到開發者填寫的URL。方便開發者給用戶下發歡迎消息或者做帳號的解綁下面是一個微信公眾平臺關注和取消關注的實例:responseMsg();} else {$wechatObj->valid();}class wechatCallbackapiTest {public function…