程序员的前途

程序员的前途,第1张

程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。

作一个真正合格的程序员,应该具有的素质。

1:团队精神和协作能力

团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。

2:文档习惯

文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。

3:规范化的代码编写习惯

知名软件公司的代码的变量命名、注释格式,甚至嵌套中明伍租行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。

4:需求理解能力

程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。

5:模块化思维能力

作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或激兆其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

6:测试习惯

测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。

7:学习和总结的能力

程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。

作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:

1、 需求分析能力

2、 整体框架能力

3、 流程处理能力

4、 模块分解能力

5、 整体项目评估能力

6、 团队组织管理能力

1,激情。

我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在橘唯工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。

2,自学好学

编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。

3,聪明

聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。

4,隐性的经验

—好的程序员通。常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。

5,技术多样性

由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。

6,资格证书

资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。

原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。

总结而言,优秀的程序员通常有一下特点:

n 对技术充满激情;

n 将编程作为一种爱好

n 如果你允许会滔滔不绝地跟你谈论技术

n 有过个人的开发经历(与4意思相同)

n 坚持认为某种技术最好

n 如果让他用他认为不好的技术他会非常别扭

n 聪明、健谈、兴趣广泛

n 在大学和工作前就开始接触程序

经常看到很多同行们对共享软件能否赚到钱感到困惑,虽然大家都知道的周易前辈的MP3 CD Maker创下了月入四万的记录,但这对我们大多数人来说,只是一个很遥远的梦,就好象是水中的月亮,可望不可及。这个也曾经是我投入这个行业是的目标,虽然到目前我的收入才达到他的四分之一,但我已心满意足了,回顾两年多的编程生活,总结了一些经验,希望和大家分享,最重要的一点,我将它做为这篇文章的题目吧,那就是:我一直在努力。

一 困惑

共享软件能赚到钱吗?怎么才能收到钱?很多朋友在刚入行时都会问这样的问题。其实很多高手都能证明共享软件是可以赚到钱的,这一点是无须置疑的。以国外人的观念,凡是付出了劳动的东西都是有价值的。对于软件也一样,而且国外由于法律严格,大家都有版权意识,所以对共享软件在国外销售有很大帮助。至于怎么样才能收到钱,对于一般的用户来说,都是找一家代理公司帮你收钱,每月定期寄支票给你。代理行业在国外已经是一个很成熟的行业了,不用担心代理会不给钱你。比较大一点的代理:

www.RegNow.com 设施最完备的代理,需要开户费

www.Qwerks.com 免费开户,据说信誉极好,我也用它

www.Shareit.com 最可气的是:客户退货竟然要收手续费

www.RegSoft.com 反应平平

二 心态

在投入这个行业之前,调整好自已的心态非常重要。做共享软件绝不等同于你在公司里打工,只要程序写完了就可以每月按时拿工资了。当你满怀信心开始一个产品的开发,经过了无数个不眠之夜,最后产品开发成功,说明书也写好了,网站也做好了,提交到下载站点了,结果怎么样?没有单!不是今天没单,而且是昨天也没单,这个星期也没单,这个月也没单,连这一年都没单。你会怎么做?如果你不幸真的遇到这种情况,希望这篇文章的标题能帮助你。

现在共享软件市场确实充满各种各样的作者,大部份人都是本着一个诚实认真的态度,一种互惠互利的态度,也就是说用我们的软件让别人得到帮助后,我们自已也得到实哪猜蚂惠。用一句话说,就是要做一个有用的东西。用自已的特长来做软件是可行的,相反对于那些急于赚到钱,看见别人什么软件赚钱就赶紧照抄无误,完全不考虑是否是自已的专长的人,他们是肯定赚不到大钱的。

三 技术和素质

1.熟练掌握一门编程语言是必不可少的,至于什么语言倒不是很重要。常看到有人争论VB和VC哪个厉害,个人观点:两种语言一样厉害。如果一个用VB的人可以写出和别人用VC写的一样的程序,那这个用VB的人很厉害,如果一个用VC的人不能写出别人用VB写的程序,那这个用VC的人不厉害。

2.至少两年的编程序经验。这个很重要。通过几年的经历,你会对程序和系统有一个更深的理解。对你以前的课本知识会有一个更深的理解。如果你刚刚毕业或还在校学习,你会不会觉得数据结构和 *** 作系统这两门课基本上没有用处?曾经有一个刚毕业的小伙子,别人问他什么是线程同步?他回答说:我兆大写过的所有的程序都不用线程同步就可以完成所有的功能。真是牛啊!所以说新来的大学生永远是各个行业中最牛(英语中第二个字母)的人了。我们也是从这个时候过来的,看到他们的现在就想起了我们的过去。

3.责任心

这是各行各业的基本素质,对于做共享软件行业来说,这个尢其重要。你要确保你的产品不会对客户的机器造成损害。客户买不买你的软件你都要负责到底。强烈的责任感会使和客户的关系形成一个良性循环,这是一李埋笔无形的资产。以后再论。

总而言之,如果你准备一个人单打独斗来做共享软件,你至少要会这些东东:

VC or VB or JAVA or other programming language

HTML, ASP or PHP

所有计算机专业的基础课(包括数学)

两年以上的专业经验

FTP软件的使用 (我发现竟然有很多人不会用FTP?)

如果你认为你这些都具备了,让我们开始吧。

四 做什么

这是个问得最多的问题,实际上问这个问题的人是想问:做什么软件能赚到钱?对这个问题最简单有效的回答是:做有用的软件。试想一下,如果你做的软件连你自已都不准备用它,你会希望别人会用吗?你在做的时候可能就是持着能捞就捞,捞不到拉倒的心态。这样只是浪费时间,劳而无获。现在很多人抱怨抄的人太多,什么是抄呢?如果你做数据库软件,我也做数据库,这不叫抄。这叫参与行业竟争。所谓抄者,是指那些全完模仿别的人样子来做软件的人,别人做什么,他就做什么,别人的界面做成什么样,他就做成什么样,别人的网站是什么样,他就做成什么样,别人的网站是:xxx.com ,他的就是 xxx.net . 别人的软件名字叫:AOB,他的软件就叫A0B. 但是对于这些抄者来说,他们的产品就他们的网站和软件名字一样,看起来象,其实是无法比的。用这种方法的人大多是想快速发财的,但结果总是不会令人如意的。

让我们静下心来考虑一下:到底该做什么?

我们在各自的专业领地里已经干了多年了,是不是发现有些事靠人手来做太慢,能不能让它自动化一下?我们当前使用的工具是不是太麻烦或太简单了,能不能简化一下或增加一些功能?在某一个项目的开发中是不是创造了一种新技术?这样多想想,创意自然就来了。举几个例子:

我们做程序员是不是喜欢一边写程序一边泡MM?INTERNET是少不的了,当我们正聊的火热的时候老板突然朝我的座位走过来怎么办?赶紧切换到VC编缉器吧,可按MOUSE的次数太多了,声音太响了,动作太大了,任务栏上还有一排按键是关不掉的了。即使老板没看到你在做什么,他也能猜到你在做什么。能不能有一种程序让我们只按一个键就隐藏所有其它的窗口,只显示我们需要的窗口?当老板向我们走来时,我们可以一边从容镇定地望着他走来,一边悄无声息地按下我们预设的隐藏键,当老板走到身边时,我们可以目不转睛地盯着他的眼睛问:你要干嘛?于是创意来了,就做这个,就叫做“一键隐藏”。开始做吧?别忙,创意有了,看有没有人先想到。上网找一下吧,晚了,已经有人做了。再想下一个吧。

九七年我做研究生论文时,是在AutoCAD是做二次开发,为CAD增加三个造形功能。当时的CAD版本还没有这三种功能,当时我花了十个多月的时间研究 CAD的二次开发库,最后实现这三个功能。现在想起来,其实我可以将这个功能包装一下,完全可以变成一个很好的共享软件。可惜那时还没有这种意识。现在的 CAD版本可能已经加上这几个功能了。举这个例子是希望大家能举一反三,多留意身边的事情,从自已专业工作中产生的IDEA比盲目地模妨别人的东西最后产生的效果要好得多。

现在许多网站都提供了小程序模板,比如“即速应用”、“点点客”等,你只要选择与自己需迹游陆求相同的模板,然后再在模板中进行编辑,加入磨毁自己需要呈现的东西就可以了。这样做既不需要花钱,又可以在几小时之内完成小程序的编辑和提姿顷交。

如果你要对小程序的开发进行详细的学习,可以买一些书看一下,当然,网上也有一些关于开发的视频,按需索取即可。

而至于能不能挣到钱,那就要看个人的水平了。这个真不好说,我能做的就是祝你发财了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8229883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存