0731-88720118
當前位置: 首頁 資訊中心 Java開發八年的经验分享,送给迷茫中的你

Java開發八年的经验分享,送给迷茫中的你

Java開發八年的经验分享,送给迷茫中的你


選擇合適的工具

JAVA、C#、PHP、C++、VB……計算機語音種類繁多,哪一種最有發展潛力呢?其實開發語言只不過是一個工具,“與其分散進攻,不如全力一擊”,無論是哪一種開發語言,只要學到一定程度,轉而學習另一種語言也會比較輕松。

開發語言重點分爲三大類:

1. 网络开发

網絡已經成爲世界通訊的一座巨大橋梁,Javascript、PHP、Ruby這幾類開發語言大多是用在網絡開發方面。

2. 企业软件开发

JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,大多用于企業系統的開發。

3. 系统软件

C語言、C++、Object-C、彙編語言這些軟件更多的是用在系統軟件開發,嵌入式開發的方面。

當然,這並不是絕對的,像JAVA、C#、VB有時候也會用于動態網站開發。很多開發項目都會選擇集成開發的方式,同一個項目裏面使用多種開發語言,各展所長,同步開發。所以在剛入門的時候,可以先爲自己選擇一種合適的開發工具,“專注地投入學習,全力一擊”。

明確發展方向



當對某種開發語言已經有了一定的了解,覺得自己像個開發工具一樣的時候,就可以重新明確一下自己的發展方向了。


1. 从技术向业务过渡

在国外,很多发达国家都很重视人才,一个高级的程序员与一个Project Manager收入相差一般不超过15%。但中国人口众多,所以造成了国内人才滥用的情况。一个小公司的开发部里面经常会见到新面孔,但PM却不会常换。因为老板对技术一窍不通,在他们看来有了一位衷心的PM,那么技术方面似乎不用再担心了,至于技术部要换人,他们不会在意。所以从一个技术员过渡到一个PM是向前发展的一个重要过程,但要成为一个PM不仅仅是只有技术,还要有足够的管理能力。一个PM的工作内容大概就是组织团队,控制成本,管理业务,控制项目进度,与客户进行沟通,协调工作,定期进行工作报告等。所以要成为一个优秀的PM,组织能力尤为重要,PM必须能提高团队的积极性,发挥团队所长,在有限的开发资源下为公司谋得最大的利润。成为一个PM后,通常不用直接接触技术,着重管理的是业务发展。但要成为一个成功PM除了管理能力,对技术也得有足够的了解,因为这是与团队成员沟通的桥梁,只有这样才能与团队成员紧密结合,让他们感觉到自己存在的意义,从而调动团队的积极性。技术并非成为一个成功PM的充分条件但却是必要条件!
技術要能達到PM的水平,肯定是需要熟練掌握技能和充分了解一些底層原理的。

2. 从程序员向技术管理发展

其实一个Team Leader的职责与Project Manager相像,Team Leader更着重于技术开发方面,通常一个大型项目都会有一两个开发团队由Team Leader带领,负责开发核心部分,而其它部分分派给不同开发小组或者分派给外包公司。在网上常看到几句话,贴切地形容了PM与TL的区别:“技术人员乐于被领导;但他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥。管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作。管理是客观的,没有个人感情因素,它假定被管理者没有思想和感受,被告知要做什么和该如何做。领导是引领、引导,它激励人们达成目标。领导力是带有强烈个人感情色彩的,它不是你能命令的,也不是你能测量评估和测试的。”

無論是PM與TL,對業務與技術都要有深入的了解,只是PM更側重于業務的管理,盈利的多少,風險的大小等等,而TL則側重于項目的成本,開發的難度,軟件的架構等技術方面的問題。只要及時提升自己對技術與管理的認識,不斷地向深一層發展,要從程序員提升到技術管理人員只是時間的問題。打個比方,一個普通的.NET程序員,開始可能限制于ASP.NET的頁面開發,但一旦他有了發展之心,他自然會對ASP.NET MVC、Silverlight、WinForm、WPF这些UI的开发手法感到兴趣,学习不需要多少时间,他可能就会认识这些UI开发只不过是一些工具,其实在开发原理上没什么区别。接着他就会向深一层的通讯模式进行了解,认识TCP/IP、Web Service、WCF、Remoting这些常用到的通讯方式,这时候他可能已经感觉到自己对开发技术有了进一步的了解。进而向工作流、设计模式、面向对象设计、领域驱动设计、面向服务开发等高层次进发,最后成为技术的领导者。上面只是一个比喻,但要注意的是,在学习的时期必须注意的是与同事之间沟通,很多的开发人员喜欢独来独往,开发的项目总想一个人搞定,不受外界的干扰。但要明白,就算你有天大的本事,一项大型的项目也不可能由你一个人全扛着。所以团队的合作性与同事间的沟通是必要的,这也是一个成功TL的必要条件。

3. 单方面向技术发展

很多从事开发的人都会认为,业务总会带着“金钱的味道”,老板从来不管开发是否合符开发原则,有否经过必要测试,他们只会在客户面前无尽地吹嘘,项目到期能成功交货,只要不出什么大问题那这个项目就算成功了。其实我们也要明白:开发项目最终目标是为了赚钱,在开发过程中对项目成本的限制和效率的控制这也是必须,所以这才需要管理人员对项目进行管理。但开发人员也很想避开这“金钱的尘嚣”,全情投入到技术的世界的当中。所以对技术有着浓厚兴趣的人,往往会深入地研究某一项技术,成为技术上的精英。要想成为尖端的开发者,必须对C、C++、汇编语言、嵌入式开发、Windows API、Linux API这些底层技术有着深入的了解。要知道解JAVA、.NET……等这些之所以称为高级开发语言,并不是指它们比C、C++、汇编语言更高级,而是指它们封装了C、C++等等的功能,更适合用于企业软件的开发,使开发变得简单。但如果要开发一些底层的软件,大型的系统的时候,就必须用到C、C++、汇编等开发语言,这是成功尖端人才的一个条件。

確定未來的目標

人是從曆練中成長的,古人雲:三十而立,形容的不是一個人的社會地位,經濟來源,而是形容一個人對未來的目標,對人生的意向。要成爲一個成功人,就應該早日爲自己定下長期的發展目標,作爲一個開發者也當如此。隨著人的性格,取向各有不同,大家爲自己所選擇的路也有不同:

1.自立門戶,勇敢創業

快30歲了,很多人會認爲要想真正賺得了錢,就應該自立門戶,爲自己創業建立一個基礎。在生活壓力之下,大多數開發人員的目標都是自主創業,想要達到這個目標,就應該更多地把業務作爲重點。所以想要創業的人需要與合作夥伴保持互利互動的模式,這將有利于日後事業的發展。

2. 急流勇退,退居二线

這也是不少人的選擇。很多人在有了家庭以後,感覺到壓力太大,人的一生並非只有事業,他們想把更多時間用于對親人的照顧,對孩子的關心上。所以很多人會選擇一份像系統分析、系統維護、高校教師、專業學院講師這一類的工作。收入穩定,而且往往沒有一線開發人員那麽大的壓力。

3. 不懈努力,更进一步

无论你是一个Project Manager或者是Team Leader,如果你想继续晋升一级,那还是会两极分化的。从一个PM到一间公司的管理层,那所面对的事件会有很多变化。一个公司的总经理,要管理的不再是一到两个项目的成本,而是整个部门的运作,整间公司的业务流程,所以要肩负的任务的会更重。高级管理层平常只会在某些会议上轻轻地亮下相,说两句讲词,平常的公司运作与业务管理都不需要他直接执行。这并不是说一个作为管理层很清闲,因为他们要面对的是更多的社会关系,与公司合作企业的联系上。这跟一个PM的工作的很大的区别,所以要从一个PM晋升到管理层,那可是要负出更多的努力与汗水。

如果要从Team Leader上升为一个技术总监,那工作的方向也有所改变。像之前所说:一个TL可能更重视的是技术层面,讲求与团队之间的互动合作性,更注重的是开发的完善。而一个技术总监就无需要直接参加某个项目的开发,而注意的是开发的效率与成果,如何合理使用有限的开发资源,控制开发的风险和可能带来的效果。


整理:玲琅

來源:知乎@愛敲代碼的老男孩

每期開班座位有限,預約報名可優先享有占座特權

温馨提示:请保持手机畅通,咨询老师 将为您提供专属的一对一报名服务。

欧洲杯竞猜app下载-湖南计算机学校-长沙it软件编程学校-男生学什么专业-互联网专修学院

微信公衆號

咨詢QQ:3173829317 联系电话: 0731-88720118
地址: 湖南省长沙普瑞西路139号欧洲杯竞猜app下载互联网科技园
湘ICP備16017645號 公网安备案号 : 430112020004401

信息有誤

學校會盡快與您聯系,請保持手機暢通。

友情链接:球王会体育下载  博鱼体育  bob综合体育入口  BOB体育app下载  云顶国际游戏平台  亚盈体育app下载