找回密码
 FreeOZ用户注册
查看: 2960|回复: 22
打印 上一主题 下一主题

[论坛技术] .Net程序员如何快速成长之我见

[复制链接]
跳转到指定楼层
1#
发表于 25-7-2008 05:03:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除, 无法发言

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
在面试一些新程序员的时候,当问他为什么选择.net方向时,经常听到一些这样的回答:记得曾经我的老师对我们说,当你在开发语

言和工具方面不知道怎么选择的时候,那么你只要跟着微软走就行了.所以最终他选择了.net.我想大家都曾有过类似的经历.

当经历过数年之后,一些人在.net的某方面成为了专家,有些人精通数据库方面,有些人精通web界面设计,有些人精通系统架构.还

有一些人是什么都会,但不管哪一方面都算不上精通.当然还有另一些人,他们没有选择.net,他们选择了java,在若干年之后,他们

说:java程序系统比.net系统更稳定之类.既然大家都是.net阵营,暂且对他们不予讨论.



结合自己的亲身经历,对准备成为.net程序员和已经成为.net程序员的新人一些快速成长建议



1.选择研究方向后不要动摇

对.net好还是java好的问题,我一向的观点是:它们都好,它们都是软件开发领域的杰出工具,它们都能够做出非常出色的系统.评价

一个系统好与不好的标准不在于开发语言,而在于系统本身,更多地在于这个系统的开发者-程序员本身.只要你是一个出色的程序

员,你完全可以用你擅长的开发语言开发出高质量的系统,而不管这种开发语言是.net还是java.而如果你过度地徘徊在研究它们到

底谁更好的时候,甚至不断地在二者之间辗转的时候,你损失的将是宝贵的时间.




2.尽量缩小研究范围

.net只是一个大方向,你应尽量将自己的研究范围缩小,比如专注于数据库,专注于xml方面,专注于ajax,只要你专注任何一个区域

深入研究,当你成为专家之后,都不会愁饭吃.反之如果你什么都会,而没有一样真正精通,那么你可能永远只能做一个普通程序员.



3.找到正确的入门方法

不管做什么事,方法很重要.特别是入门时的方法.正确的入门方法将大大加快你学习的进度.了解语言本身和前提技术是最先要做

的事情,比如你选择c#方向的asp.net,那么你必须先学习c#基础语法,和asp.net基础知识,并实际写小程序测试你学习的成果.当学

会基本语法后马上找到asp.net的官方入门指导.微软做得很好的一个地方就是他的帮助系统做得很好。新人容易入门,建议首先

从《示例和快速入门教程》开始,这个东西就在你的机子上,在Framework SDK的菜单里面。强烈建议把这个教程全部学会。



4.多看别人的成果(源代码)
这个很重要,如果你是一个团队的新成员,那么看他们写好的代码将是非常好的学习途径,因为那些都是成功的代码经验。如果

你还没有加入团队,是自学,那么找一个好的学习网站,多看上面的源代码也是很好的方式(这里友情推荐我自己整理的一个代

码学习网站:http://www.study-code.com ,似乎有点广告嫌疑^-^)。另外一个强烈推荐的途径:仔细研究微软的.net Starter

Kit,个人认为这是.net入门学习途中最大的收获。



5.敢于接受新项目挑战,敢于尝试
主动承担公司的开发任务,敢于在项目中尝试你最新的研究成果将对你自身技术水平提高带来非常大的帮助。记得当初我在做一

个建站平台项目时有过这样的经历,之前公司开发的项目大都在原有技术积累下面用成型的框架做开发,那时我也正在学习

asp.net,不过那个项目我是主程序员,因此在开发上有很大自主性。于是1.0时我尝试将所有用户文章保存在web服务器的xml文

件里,而不是像传统项目那样保存在数据库里,以希望减少web服务器和db服务器之间的数据传输。结果1.0系统实际运行时确实

达到了我的目的,虽然随着数据量的大量增加,最终导致了IO瓶颈。但通过后来对IO瓶颈的优化解决,我在文件系统、服务器进

程、xml应用、代码规范和性能优化等方面学到了很多东西,倘若当初按原来的模式写程序,将错过学习这些知识的很好机会。



6.不断推翻自己,敢于重构
这是对程序质量的要求,我认为只有不断地优化和改造自己的程序代码,才能最终写出高质量的程序,做出高质量的系统,最终

使自己的技术水平提高。通常我会把实现一个功能的代码量作为衡量代码质量的标准,代码越少,越精简,同时又具有良好的可

读性,就越理想。重构需要几个前提:首先是项目时间允许,然后是确实找到更好的代码组织逻辑,如一种很好的结构模式,更

合理的面向对象调用方式等等。只要找到更好的解决办法,那么勇敢地推翻原来的程序框架,重构它,经过不断地重构后,有一

天你回过头去看之前自己写的程序时会有一个感叹:哇,怎么以前我的程序写的这么烂阿:)



7.跟上技术更新的脚步
软件技术更新速度有时真的让人很郁闷,经常听人说,刚学会.net1.0,马上就出了1.1,1.1刚完成一两个项目,又出了2.0,用

2.0不到一年已经出了3.5,但现实就是这样,你必须得跟上脚步,当使用asp.net的时候,你就不能再像以前用asp那样去写程序

,当使用.net2.0的时候,你要敢于使用masterpage,skin去代替原来的usercontrol模式,原来的网站皮肤实现模式。而现在出

3.5了,你必须马上学习vs2008,学习Silverlight。只有跟得上技术更新的步伐,你才永远保持自己的技术领先地位。



以上几点建议,希望能给一些新加入的.net程序员们一些参考。
原文链接  http://www.cnblogs.com/kangshif/archive/2008/07/24/starter.html

[ 本帖最后由 xblues 于 25-7-2008 09:29 编辑 ]

评分

参与人数 2威望 +40 收起 理由
flyspirit + 20 谢谢分享!
kermit + 20 谢谢分享!

查看全部评分

回复  

使用道具 举报

2#
发表于 25-7-2008 09:15:05 | 只看该作者
回复  

使用道具 举报

3#
发表于 25-7-2008 11:21:45 | 只看该作者
原来虫虫是。net高人
回复  

使用道具 举报

4#
 楼主| 发表于 25-7-2008 11:29:41 | 只看该作者

回复 #3 langchu 的帖子

提示: 作者被禁止或删除, 无法发言
转的,转的!
回复  

使用道具 举报

5#
发表于 25-7-2008 15:35:14 | 只看该作者

回复 #4 xblues 的帖子

回复  

使用道具 举报

6#
发表于 25-7-2008 17:42:17 | 只看该作者
已阅,同意。
回复  

使用道具 举报

7#
发表于 25-7-2008 18:00:06 | 只看该作者
有很多软件是用.net和java实现不了或性能达不到要求的,比如实时系统,图形图像处理,工业控制,嵌入式系统等。.net和java的优势是web,但是放眼IT领域,你会发现非web应用所占的比例更高。
回复  

使用道具 举报

8#
发表于 25-7-2008 19:36:48 | 只看该作者

回复 #7 beysup 的帖子

是啊,要是.net和java通吃,俺就只好下岗失业了
回复  

使用道具 举报

9#
 楼主| 发表于 25-7-2008 21:39:05 | 只看该作者

回复 #7 beysup 的帖子

提示: 作者被禁止或删除, 无法发言
现在最流行的开发是Web相关技术。不管有关没关的应用也都往web上靠,开放web接口。
网络就是计算机,网络就是计算。web将一统天下。
回复  

使用道具 举报

10#
发表于 25-7-2008 23:33:45 | 只看该作者

回复 #9 xblues 的帖子

“网络就是计算机”,当年sun提出的口号,今天终于渐渐实现了,可惜sun却快倒下了。。。
回复  

使用道具 举报

11#
 楼主| 发表于 25-7-2008 23:59:50 | 只看该作者

回复 #10 ubuntuhk 的帖子

提示: 作者被禁止或删除, 无法发言
观点是没错的,可是那时候条件和时机都不成熟。

[ 本帖最后由 xblues 于 25-7-2008 22:00 编辑 ]
回复  

使用道具 举报

12#
发表于 26-7-2008 00:35:54 | 只看该作者
基本同意原文,但有一点,精通一样不够,要精通2到3项技术,然后熟悉或了解其他相关技术。比如精通ASP.NET+SQL Server, 同时熟悉javascript/css/xhtml/ajax ....才比较有竞争力。
回复  

使用道具 举报

13#
发表于 26-7-2008 00:39:53 | 只看该作者
原帖由 beysup 于 25-7-2008 18:00 发表
有很多软件是用.net和java实现不了或性能达不到要求的,比如实时系统,图形图像处理,工业控制,嵌入式系统等。.net和java的优势是web,但是放眼IT领域,你会发现非web应用所占的比例更高。


有点不同看法,现在大部份应用及程序都可以用.net和java。你说的实时系统,图形图像处理,工业控制,嵌入式系统在IT中占的比重不大,或者说算作另外一个工业控制领域更加合适。
回复  

使用道具 举报

14#
发表于 26-7-2008 00:44:32 | 只看该作者
实际上,即使.net和java也未必是未来web的真正主流。开源的力量越来越强大, PHP,Python, 和Ruby on Rails可能成为他们强有力的竞争者。要知道,Google很多软件就是用Python, Facebook用的是PHP。而他们很有可能超过微软成为最大的软件公司。
回复  

使用道具 举报

15#
发表于 26-7-2008 12:05:59 | 只看该作者
java准确的说是j2ee,还是占了企业级开发的大部分比重,微软推出。net希望能够分一杯羹,不过一直都没有很有说服力的例子,不知道现在怎么样,但是感觉想压倒j2ee可能性不大。
至于PHP,Python,ruby从目前看来也只能进行中小型的web开发,对于企业级应用还没有人敢去用。而企业级的项目才是真正有利润的大头,所以sun也好,ms也好,卖各种服务器的厂家也好,等等,大家都是在拼命抢这一块大蛋糕。这一块的开发方向,偶个人认为,才是真正的主流方向。
回复  

使用道具 举报

16#
发表于 30-7-2008 11:30:38 | 只看该作者
不错,在商业和政务应用领域,基于.net和java的web开发占很大比例,这也是目前这两种平台流行的主要因素。但我深有感触的是,商业应用软件的附加值和利润率低,技术上门槛也低,做久了行业优势不明显。而我所提到的实时系统,应用领域比如汽车电子,导航;图形图像处理,比如数字医疗领域;工业控制,比如现场总线,组态软件;嵌入式系统,这个就很多了。所有这些行业,无论从附加值,利润率和技术门槛上来讲,都比做商业web应用强很多,而且做久了随着经验的增加,身价也会越来越高。

不知这位兄台有何看法,欢迎讨论

原帖由 flyspirit 于 26-7-2008 00:39 发表


有点不同看法,现在大部份应用及程序都可以用.net和java。你说的实时系统,图形图像处理,工业控制,嵌入式系统在IT中占的比重不大,或者说算作另外一个工业控制领域更加合适。

[ 本帖最后由 beysup 于 31-7-2008 10:59 编辑 ]

评分

参与人数 1威望 +30 收起 理由
coredump + 30 相当赞同!

查看全部评分

回复  

使用道具 举报

17#
发表于 30-7-2008 21:27:01 | 只看该作者

回复 #16 beysup 的帖子

这些领域不占主流地位,同时门槛也高,不好学,但是只要能够深入坚持下去,肯定会在领域内的高人。虽然这个领域一般都不大。。。。。。
回复  

使用道具 举报

18#
发表于 31-7-2008 10:58:09 | 只看该作者

回复 #17 langchu 的帖子

并非不占主流地位,而是IT科班出身的人很难进入这些领域。即便在商业应用领域,做为一个开发人员,大部分精力也都放在对需求,业务逻辑的了解上,用什么开发环境,平台,技术,都是次要的。当然,能在某个商业领域内有资深的业务经验也是不错的。
回复  

使用道具 举报

19#
发表于 5-8-2008 18:04:13 | 只看该作者
原帖由 langchu 于 30-7-2008 21:27 发表
这些领域不占主流地位,同时门槛也高,不好学,但是只要能够深入坚持下去,肯定会在领域内的高人。虽然这个领域一般都不大。。。。。。

这些领域不占主流地位
     - 错

同时门槛也高,不好学
      - 对,前面之所以错也是因为这个给人的错觉

但是只要能够深入坚持下去,肯定会在领域内的高人。
      - 对,对任何领域都是如此

虽然这个领域一般都不大
      -完全错误,它们每个领域无论从规模和利润来说都大得惊人
回复  

使用道具 举报

20#
发表于 5-8-2008 19:06:20 | 只看该作者

回复 #19 coredump 的帖子

是偶孤陋寡闻了的说,不过偶的确对这些领域不了解的说。多谢二位指点
但这个领域做久了真的是很值钱,也的确是很难。
偶一个朋友本来是做主板bios开发的,后来实在扛不住,改行去做vc开发应用软件去了
回复  

使用道具 举报

21#
发表于 8-8-2008 20:35:12 | 只看该作者
都有道理啊
回复  

使用道具 举报

22#
发表于 8-8-2008 21:51:38 | 只看该作者
我就是扛不住了才去做.net的。
回复  

使用道具 举报

23#
发表于 13-8-2008 14:13:20 | 只看该作者
原帖由 beysup 于 30-7-2008 11:30 发表
不错,在商业和政务应用领域,基于.net和java的web开发占很大比例,这也是目前这两种平台流行的主要因素。但我深有感触的是,商业应用软件的附加值和利润率低,技术上门槛也低,做久了行业优势不明显。而我所提到的实 ...


不好意思,现在才回。很久没看这贴子了。

JAVA和.NET,做久了身价也会水涨船高。不过由于应用开发门槛低,有不少人停留在初中级水平就知足了。而有能力的人可以继续往高处走。你不能说商业开发和WEB开发中没有牛人,没有工资高的人吧。不过由于做.NET和JAVA的人基数大,比例就小了。绝对数量不少。

还有对于做Web应用的人来说,有一飞冲天的可能性。比如google, facebook, 百度等。做实时系统的人很少有这种机会。
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 27-4-2024 20:05 , Processed in 0.037638 second(s), 41 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表