做网页写给想当程序员的朋友友进来看下,这个怎么实现

天极传媒:天极网全国分站
您现在的位置:
& >>给想做程序员的人的7个建议
如果你喜欢编程 给想做程序员的人的7个建议
天极网软件频道
  如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。大多数人没有这么幸运。你认为理所当然的观念“热爱你的工作”,其实是一个很现代的概念。通常的看法是,工作是一种让人很不开心的事,你为了拿工资才不得不去上班。你工作的目的是为了攒下钱去干那些自己真正喜欢干的事,但是前提是你得等到65岁退休之后才行,而且还有不少条件。条件一,你的积蓄必须足够多;条件二,你没有老到走不动,你还有体力去干那些事情;条件三,你喜欢的事情不需要用到脆弱的膝盖、昏花的视力,也不要求你走上一里地不喘气,等等。
  我刚才说到哪里了?对了,我要提建议。
  毕业前练好写作
  如果不是Linus Torvalds不断地散布福音,请问会成功吗?虽然他是一个非常聪明的天才,但是Linux吸引来全世界一大批志愿者的真正原因却是Linus Torvalds的表达能力。他通过电子邮件和邮件列表用书面形式传播自己的想法,最终引起了所有人的注意。
  你听说过现在风靡一时的“极限编程[ ] ”(Extreme Programming)吗?我在这个地方不谈我对极限编程的看法,我只说如果你听过这个词,那么原因就是它的倡导者都是一些非常有才华的作家和演说家。
  即使我们缩小范围,将目光局限在任何一个软件开发团体中,你也会发现该团体中最有权势和影响力的程序员正是那些表达能力强的程序员,他们无论是做书面表达还是做口头表达,都能够清晰、自如、具有说服力地传达观点。此外,长得高也有助于提升影响力,不过这个不取决于你。
  一个程序员与一个优秀程序员的区别,不在于他们懂得的编程语言谁多谁少,也不在于他们喜欢用语言还是喜欢用语言,而在于他们能否与他人交流思想。如果你能说服人,你的力量就可以得到放大。如果你能写出清晰的注释和技术规格说明书,其他程序员就能够理解你的代码,因此他们就能在自己的代码中使用,而不必重写。如果你做不到这一点,你的代码对其他人就没有价值。如果你能为最终用户写出清晰的使用手册,其他人就能明白你的代码是用来干什么的,这是唯一让别人明白你的代码有何价值的方法。SourceForge[ ]上有许多优美的、有用的代码,但是它们都像被埋葬了一样,根本没人来用,原因就是它们的作者没有写好使用说明(或者压根就没写)。这样一来就没有人知道他们的成果,他们杰出的代码就衰亡了。
  如果一个程序员不会用英语写作、没有良好的写作能力,我就不会雇他。如果你能写,不管你去哪家公司工作,你很快就会发现写作技术文档的任务会落到你头上,这意味着你已经开始在放大自己的影响力了,管理层正在注意到你。
  大学里有些课程被公认为“写作密集型”(writing intensive)课程,这就是说为了拿到学分,你必须写作多得可怕的文字。一定要去上这样的课程!不要管学科,只要这门课每周甚至每天都要你写东西,你就去上。
  你还可以动手写日记或者网志。你写得越多,写作就会变得越容易。写起来越容易,你就会写得越多。这是一个良性循环。
  毕业前学好C语言
  第二点我要讲的是C语言。请注意,我说的是C语言,而不是C++。虽然在实际使用中C语言已经越来越罕见,但是它仍然是当前程序员的共同语言。C语言让程序员互相沟通,更重要的是,它比你在大学中学到的“现代语言”(比如ML语言、Java语言、Python语言或者其它正在教授的流行垃圾语言)都更接近机器。你至少需要花一个学期来了解机器原理,否则你永远不可能在高级语言的层次写出高效的代码。你也永远无法开发编译器和操作系统,而它们恰恰属于目前程序员能够得到的最佳工作之列。别人也永远不会放心将大型项目的架构设计交给你。我不管你懂多少延续(continuation)、闭包(closure)、异常处理(exception handling),只要你不能解释为什么while (*s++ = *t++);这句代码的作用是复制字符串,或者不觉得这是世界上对你来说再自然不过的事情,那么你就是在盲目无知的情况下编程。在我看来,这就好像一个医生不懂得最基本的解剖学就在开处方,他看病的根据完全是因为那些娃娃脸的医药厂商销售代表说这种药有用。
  毕业前学好微观经济学
  如果你没有上过任何经济学课程,那么我首先来做一个超短的评论:经济学是这样的学科之一,刚开始学的时候轰轰烈烈,有许多有用的、言之有理的理论和可以在真实世界中得到证明的事实,等等;但是,再学下去就每况愈下,有用的东西就不多了。经济学一开始那个有用的部分正是微观经济学,它是商业领域所有重要理论的基础。跟在微观经济学后面的东西就不行了。你接下来学的是宏观经济学,如果你愿意,尽管跳过去,也不会有什么损失。宏观经济学开头的部分是利息理论,内容比方说是利率与失业之间的关系,但是怎么说呢,看上去这部分里面还没有被证实的东西多于已经被证实的东西。学完这部分,后面的内容越来越糟糕,许多经济学专业的学生实际上都变成在搞物理学,因为这样才能在华尔街上找到更好的工作。但是不管怎样,你一定要去学微观经济学,因为你必须搞懂供给和需求,你必须明白竞争优势,你必须理解什么是净现值(NPV),什么是贴现,什么是边际效用。只有这样,你才会懂得为什么生意是现在这种做法。
  为什么计算机系的学生也应该学经济学?因为,从经营一家公司的角度来看,比起那些不懂的程序员,一个理解基本商业规则的程序员将会更有价值。就是这么简单。我无法告诉你有多少次我是那样地充满挫折感,因为我看到了太多的提出一些疯狂的想法的程序员,这些想法在代码上也许可行,但在资本主义世界中毫无意义。如果你懂得商业规则,你就是一个更有价值的程序员,你会因此得到回报的,但是前提是你要去学习微观经济学。
  不要因为枯燥就不选修非计算机专业的课程。
  想提高GPA绩点的一个好方法就是多选修非计算机系的课程。请千万不要低估你的GPA的重大意义。千千万万的人事经理和招聘人员在拿到一份简历的时候,第一眼就会去看GPA,包括我也是这样。我们不会为这种做法道歉。为什么?因为GPA不反映单个的成绩,而是代表了许多个教授在一段很长的时间中,在不同的情况下,对你的表现的一个总的评估。SAT成绩难道不够吗?哈,那只不过是一场几个小时的罢了。GPA中包括了四年大学期间你的小论文、期中考试和课堂表现,总数有几百次之多。当然,GPA也有自己的问题,不是百分之百准确。比如,这些年来,老师对学生的打分越来越宽松,学习成绩有通货膨胀的趋势。再比如,GPA无法反映课程的难度,没人能够看出你的GPA是来自无名社区大学家政系的轻松课程还是来自加州理工学院针对研究生的量子力学课程。渐渐地,我形成了一套自己的做法,首先我会过滤掉所有来自社区大学、GPA低于2.5的简历,然后我会要求剩下的人给我寄成绩单和推荐信。我再从中发现那些成绩一贯优秀的人,而不是那些仅仅在计算机系课程中得到高分的人。
  为什么我要关心某人的“欧洲历史”课程成绩呢,毕竟作为雇主我要找的应该是程序员啊?何况,历史是那么枯燥,不得高分很正常。哦,这么说来,你的意思是我应该雇用你,而不用考虑一旦工作变得枯燥你会不会努力工作?别忘了,在编程工作中也有很枯燥的东西。每一项工作都有枯燥难耐的时刻。我不想雇用那些只想干有趣事情的人。
  选修有大量编程实践的课程
  我依然清楚记得我发誓绝不读研究生的那一刻。那是在一门叫做“动态逻辑”的课程上,教师是活力十足的耶鲁大学教授Lenore Zuck,她是计算机系那些聪明的老师中最聪明的人之一。
  如今, 由于记忆力糟糕, 我已经差不多把这门课的内容忘光了,但是不管怎么说,在这里我还是想要对付着说一下。大致上,形式逻辑的意思是说,如果条件成立,你就能证明结论也成立。比如,根据形式逻辑,已知“只要成绩好,就能被雇用”,然后假定“Johnny的成绩好”,你就可以得到一个崭新的结论“Johnny会被雇用”。这完全是经典方法。但是,一个解构主义者(deconstructionist)只需要10秒钟就能破坏形式逻辑中所有有用的东西。这样一来,留给你的只是一些趣味性,而不是实用性。
  现在再来说动态逻辑。它与形式逻辑其实是一回事,但是必须再多考虑时间因素。比如,“你打开灯之后,就能看见自己的鞋子”,已知“灯以前是亮的”,那么这就意味着“你看见了自己的鞋子”。
  对于像Zuck教授那样聪明的理论家,动态逻辑充满了吸引力,因为它看上去很有希望让你在形式上证明一些计算机程序的相关理论问题。这样做说不定很有用。比如,你可以用它在形式上证明,火星漫游车的不会发生溢出(overflow)问题,不会因而整天一遍又一遍地重启,耽误了它在那颗赤红色的星球上漫游寻找火星人马文(Marvin the Martian)。
  在第一堂课上,Zuck博士写满了整整两面黑板,甚至黑板旁边的墙上都写上了很多证明步骤。需要证明的问题是,有一个控制灯泡的,现在灯泡没有亮,这时你打开了开关,请证明灯泡将会点亮。
  整个证明过程复杂得不可思议,处处都是陷阱,必须十分小心。保证这个证明不出错太困难了,还不如直接相信打开开关灯就会亮。真的,虽然证明过程写满了许多块黑板,但是还是有许多中间步骤被省略了,因为如果要从形式逻辑上完整证明所有步骤,那就琐碎得无法形容了。许多步骤是用各种经典的逻辑证明方法推导得到的,包括归纳法、反证法等,甚至有些部分还是由旁听的研究生证明的。
  留给我们的课后作业是证明逆命题:如果灯原来是关着的,现在却亮了,那么请证明开关的状态一定同原来相反。
  我动手开始证明,我真的去证明了。
  我在图书馆里待了很长时间。
  我对照着Zuck博士的原始证明想依样画葫芦。研究了几个小时之后,我在其中发现了一个错误。可能我抄写的时候抄错了,但是这使得我想通了一件事。如果花费小时,写满了一块又一块的黑板,每一秒钟都可能出错,最后能够证明的却只是一个很琐碎的结论,那么这种方式有多大的实用性呢?在活生生、充满趣味的现实世界中,你永远都不会有机会使用它。
  但是,动态逻辑的理论家们对这一点不感兴趣。他们看上它不是因为它有用,而是因为它可以为他们带来终身教职。
  我放弃了这门课,并且发誓绝不会去读计算机科学的研究生。
  这个故事告诉我们,计算机科学与软件开发不是一回事。如果你真的非常幸运,你的学校可能会开设很像样的软件开发课程。但是另一种可能是,你的学校根本不教你在现实中如何编程,因为精英学校都觉得,教授工作技能最好留给职业技术学校、犯人重返社会的培训项目去做。你到处都能学怎么写代码。别忘了,我们是耶鲁大学,我们的使命是培养未来的世界领袖。你交了16万美元的学费,却在学循环语句的写法,这怎么可以?你以为这是什么地方,难道是机场沿途的酒店里临时拼凑起来不靠谱的Java语言培训班?哼哼。
  麻烦在于我们没有一种真正教授软件开发的专门学校。你如果想成为一个程序员,你可能只能选择计算机科学专业。这是一个不错的专业,但是它同软件开发不是一回事。在那些400等级的课程代号中,去寻找名称中带有“Practicum”这个词的课程吧(编者注:指供人实习的课程)。不要被这个拉丁语单词吓倒,这些都是有用的课程,之所以起这种名字,只是为了让那些文绉绉、装腔作势、满嘴胡说八道的公司经理们觉得高深莫测。
  别担心所有工作都被印度人抢走
  我首先要说的是,如果你本身就已经在印度了,或者你就是印度人,那么你真的毫无必要去想这件事,根本不用琢磨所有的工作机会是不是都跑到了印度。那些都是非常好的工作,好好地享受吧,祝你身体健康。
  但是,我不断听说计算机系的入学人数下降得很厉害,已经到了危险的程度。根据我听到的说法,其中的一个原因是“学生们不愿去学一个工作机会都流向印度的专业”。这种担心大错特错,有很多理由可以反驳。首先,根据一时性的商业潮流决定个人的职业选择,这是愚蠢的。其次,即使编程工作无一幸存地都流向了印度和,但是学习编程本身依然是一种第一流的素质训练,可以为各种超级有趣的工作打下基础,比如业务流程工程(business process engineering)。再次,不管是在还是在印度,真正优秀的程序员依然是非常非常短缺的,这一点请相信我。不错,确实有相当一批失业的IT从业者在那里鼓噪,抱怨他们长时间找不到工作,但是你知道吗?即使冒着触怒这些人的风险,我还是要说,真正优秀的程序员根本不会失业。最后,你还能找到更好的专业吗?你觉得什么专业好?主修历史学?如果那样,你毕业的时候就会发现,根本没有其他选择,只能去法学院。不过我倒是知道一件事:99%的律师都痛恨他们的工作,痛恨他们当律师的每一分钟。可是,律师每周的工作时间偏偏长达90小时。就像我前面说过的:如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。
  不过说实话,我不觉得学生们真的有上面的想法。近年来,计算机系入学人数的下降只是回到了历史上的正常水平,因为前些年的互联网狂热使得入学人数出现了大泡沫,抬高了基数。由于这种泡沫,许多并不真的喜欢编程的人也来读计算机系。他们心里想的是,只要进了计算机系,将来就能找到诱人的高薪工作,就能获得24岁当上CEO、进行IPO的机会。谢天谢地,这些人现在都离计算机系远远的了。
  找一份好的暑期实习工作
  精明的招聘负责人都知道,喜欢编程的人高中时就将牙医的信息输入了,进入大学前就去过三次夏令营,为校报做过内容管理系统,有过软件公司的夏季实习经历。招聘负责人就是要在你的简历上找这些东西。
  如果你喜欢编程, 就不要随便什么工作都答应,否则你会犯下最大的错误。不管是暑期工作,还是兼职或者其他性质的工作,只要与编程无关,就不要轻易接受。我知道,其他19岁的孩子都想去购物中心里打工,在那里折叠衬衫。但是你与他们不同,你19岁时就已经掌握了一门非常有价值的技能。将时间浪费在折叠衬衫上是很愚蠢的,等到毕业的时候,你的简历上本应该写满了一大堆与编程相关的经历。就让那些财经类的毕业生去租车公司“帮助人们满足他们租车的需要”吧,你要干的是别的事(在中扮演超人的Tom Welling注1除外)。
  为了让你的生活变得更容易一些,也为了强调这整篇文章完全是为了满足我的个人目的,我要告诉你,我的公司――Fog Creek软件公司――提供软件开发方面的暑期实习机会。我们非常看重简历。“比起其他公司的实习工作,你在Fog Creek最有可能学到更多的编写代码、软件开发、商业运作方面的知识。”这是去年夏天我们的一个实习生Ben说的。他会这样说,并不完全是因为我派了人到他的宿舍让他这样说。我们接受实习申请的截止日期是2月1日。一起来吧。
  如果你听从了我的建议,你还是有可能落得一个悲惨的下场,比如很早就卖掉了公司的股票,再比如拒绝了谷歌公司的工作机会,原因是你想要一间自己的可以关上门的独立办公室,或者做出了其他生命中愚蠢的决定。但是,这些可不是我的错。我一开始就告诉过你,不要听我的话。
  (注1 : T o e l l i n g是一个美国演员, 在电视剧《超人前传》(Smallville)中扮演超人。该电视剧讲述还没有成长为后来超人的克拉克?肯特少年时代的故事。)
  作者简介:
  Joel Spolsky,世界最具影响的程序员网志Joel on Software的主人,软件业一位旗帜鲜明的思想者,一位传统软件管理理念的挑战者。他创办的这个网站被程序员誉为“反呆伯特宣言书”,并被翻译为三十多种语言。Joel毕业于耶鲁大学,随后即进入微软公司工作,曾任微软公司E x c e l 开发小组项目经理。现在他在自己创办的Fog Creek软件公司任CEO。此外,他与人合办的Stack Overflow已经成为如今最热门的技术网站。
(作者:天极网开发频道责任编辑:郑重)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
办公软件IT新闻整机友情提示,长期兼职的朋友进来看下以免上当.
[下载一百易&]&
放心,才3M大。
类似这样的软件&如果是3-5个人开发,大概需要多少时间才能完成?
如果是外包出去的话,大概要多少钱?
另外,这软件是用什么语言开发的?(不好意思,本人
-14:33&&&[]
;:&标识符无效
实在看不明白,求解释啊
回复讨论(解决方案)
木有人么,求救命~
检查出来了~
在manytomany的映射我写错了,汗啊~
来个人呗,结贴送分~
这不是来了么?来看你自己表演的。。
我是来刷分的
拿分走人。。。
-23:47&&&[]
我和同学做的毕业设计,在他那部机上可以正常运行,现在移到我这部机,由于在他那部机的密码数据库和我这部机的数据库密码不相同,现在到我这边通过myeclipse导入项目,在myeclipse的hibernate.cfg.xml中修改密码,可是不知道为什么在tocat中竟然修改不了这个密码,于是运行提示
-12:12&&&[]
菜鸟询问各位一个比较低端的问题,希望大神们帮忙指点下。
&&&&&&&&&&&&&嗯,怎么说呢。我不是编程这块的学生,但是有兴趣就自学了。
我对C语言已经入门了
-11:29&&&[]
;&&未注册-&v2.0&
在线求助&&发到&&
这是刚才要求做的,非常感谢SYSSZ&给我做了份,但是我想修改一下。。
就是不要让他出现最大化的按钮,保持在
-10:03&&&[]
这是VS2010里面的,一个简单程序而已。出现了这种问题,但是在VC6.0中没有。怎么办?
还有,不知道&论坛有没用&easyx这个帮助新手写程序的,我在VS2010测试一个&画圆的程序后&显示“一个无法解析的外部符号&nbsp
-14:19&&&[]
最近做项目的时候遇到一个问题,就是在webservice中把所有对DB的调用都放到webservice,其中事物这一块,有个难题,不知道有没有解决办法。
我想在定义一个全局的transaction,它的beginTransaction,RollBack,Commit都通过
-12:47&&&[]
帮我解释一下&&app:command&arg1=1&arg2=2&是什么意思&&他们起什么作用?&为什么我删除到只剩下app:依然好用呢?
回复讨论(解决方案)
你的意思是说在窗口里嵌入一个网页,然后通过网页调用C++
-17:13&&&[]
滤html标签还是想显示html标签
如果你想原样显示html文本到页面上
你可以试试&c:out&标签
把你的代码弄出来看看。。。标签有问题吧。。。
大概根据楼主的意思
写了一个测试deom
& &html& &head& 用于测试哦 &lt
17:58&&&[]
上次发了一贴!一起节。
到底SetCommMask&和GetCommMask怎么用? 
我根据串口通信类改的!
CSerialPortEx::InitPort()
&&&省略了一些
17:16&&&[]
小弟是一个在校大学生,学习的是软件方面的,现在马上就要学完一年了,感觉还不是那么满意,因为高中学习比较差,所以进的也是个三流学校。如今我已经学习了:
c#,GUI,DIV+CSS,HTML,JS和XML。但是感觉技术还不行,希望有愿意提点的高手或者朋友能帮帮我,我希望能找到一个有实力的师傅,带我
16:38&&&[]
这个群,希望大家能全方面的讨论,在能力上都能完善起来,一起进步,一起成长,能成为好朋友,&
能找到志同道合的人,找到事业上的合作伙伴!&
欢迎大家都加进来&
我建的群:/group
00:50&&&[]  前几天,我们发布了一篇,不出所料,不少网友评论&说了等于没说&,但在本篇开始前我很诚恳地建议那些没看过需求分析篇的同学去认真分析一下,找女朋友如同开发一个软件项目,前期没有合理定位和明确需求是很难达到预期效果的。
  这篇我们来谈谈程序员如何找女朋友,如何找到女朋友,这里有几点战略性的建议:
  一、如何搭讪
  不要害羞
  有一部分程序员&天生不够淫荡&,看到女生就会脸红,尤其是自己喜欢的女生,相反,在电脑上和女生聊天就放得开多了,这大概是长时间和机器接触的缘故吧,但是事实是网络上聊一万句也比不上当面搭讪的一句话,所以,面对女生,一定要克服自己内心害羞的障碍,迈出第一步,其实你发现跟女生面对面聊天也就那么回事。
  如何接近&
  紧接着是接近目标,一定要从正面切入,但要稍微歪一点点,大概是十一点或一点的角度,不要迎面走去,因为这样走过去会让人产生让路的条件反射,这就不好了。说话的时候应该侧着头,看起来你随时都会离开的样子。
  说话的时机
  接着就是说话了,据说有一个三秒钟法则,说话之前要面带微笑的看着她,而且一定要在三秒钟内开口说出第一句话,这三秒钟起到一个缓冲区的作用,太短了,会让女生措手不及,而且没有了解你的来意,太长了又会让女生感觉尴尬,影响自己的形象。
  聊天的内容
  如果你前期需求分析到位, 那么你应该已经基本摸清这个女生的喜好、工作和生活习惯等,你可以找一些对方可能会感兴趣的话题(比如购物、电影),也可以说说自己的 Homeworking。在搭讪的过程中,要不失自己的领袖气质,如果聊得投机,那么可以带着一起去散散步,玩玩桌球,喝喝咖啡,而且不要在第一次搭讪的时候询问对方的感情情况,一旦发觉这个女生有不良回馈的趋势时,要马上走人,切忌死缠烂打。
  二、制造惊喜
  假设你成功搭讪了,至少说明女生对你不反感,那么接下来就是细水长流的活了,记得要经常沟通,更重要的是要不定期地制造一些惊喜,不用惊天动地,但要让对方感到温暖。
  工作上
  快下班的时候,去告诉她:&你的任务我已经帮你完成了,今天不用加班了,一起去吃饭吧。&前提是你的技术够 NB。
  浪漫表白
  这招在几年前还算比较新颖,利用你的专长做一个浪漫表白网页、电子邮件或者手机 APP,就算不能感动你的女生,至少也能博得一笑吧。
  生病的时候
  当她生病的时候,请一天假来照顾她,这比那些打电话告诉她&多喝水&好上 10000 倍。要让女生一生病就想到你,那你就离成功不远了。查看:6157|回复:41
初级工程师
软件工程师
嗯,这算是应景作文了。昨天看了51CTO推荐博文,yaocoder朋友写的《谁来减轻程序员的“辛苦”》,算是有点感触,所以当时顺手就留言,说我也想写一篇。呵呵,同道中人嘛。这不,还债来了。
我觉得在讨论这个话题之前,我们首先得讨论一下,什么叫做“程序员的辛苦”。程序员辛不辛苦,这个话题其实我思考很多年了,总结自己这近二十年的职业程序员生涯,我得说,辛苦,也不辛苦,看怎么看。
说辛苦,这么多年,加班是加惨了的,就是去年,我加班还接近1000个小时,嗯,算算啊,天,呵呵,牛吧?我想,很多朋友进入程序员这个职业,做不长久,后来都转行了,有能力的,慢慢走到项目经理、经理,进入公司的管理层,还有一些,离开这个公司、这个行业,去做其他事情了。
我也得承认,这么多年,我看见的程序员,走掉的确实不少。为什么,我想这值得我们思考。再说说不辛苦。大家想想,每个行业的成功人士,哪个不是天天加班努力?谁没有在自己的职业生涯中经历过这么一段艰苦奋斗的时光?
所以,我想说的第一个话题,想做事,想成功,无论做任何一个行业,其实都很辛苦,没有辛苦,哪来的回报哦?大家说是不是?当然,包括yaocoder朋友,我相信大多数朋友,从走入职场开始,还是不怕吃苦的,是做好的辛苦的思想准备的。
这就带出了第二个话题,什么样的辛苦是真辛苦?我想这个值得探讨一下。我先抛砖引玉啊,我说“没有结果的辛苦最辛苦”,大家说对不对?一件事儿,我们付出了很多努力,最后办成了,总是有回报的,可能是薪水,可能是奖金,可能是表彰,等等,再不济,我们还有个人成就感嘛,回家喝点小酒,和自己的太太、孩子吹吹,这件事儿我做的怎么怎么棒,太太孩子一片崇敬的目光,呵呵,很过瘾的,这些,其实都是回报。我的第一个结论:“付出了,有回报,其实就无所谓辛苦”,大家说是不是?最害怕的是付出了,最后事儿还办砸了,这才真的很郁闷。都不好意思和人讲,有苦只能憋在自己心里,有句话怎么说来着?男儿不哭,呵呵,我的经验,不是不哭,是不肯当着人前哭,大家有兴趣的话,半夜两点过起来到街上转转,那些蹲在街边喝啤酒,一边喝一边哭的,有印象没?那都是白天太苦了,晚上出来发泄一下,大家理解一下吧。
所以,我的理解,程序员要想不辛苦,一定要以结果为导向,一切以解决问题为原则,而不要拘泥于程序设计技术,天天想着写一个多么酷的程序出来给人看,获得一些廉价的表扬。把客户的问题解决了,把钱赚回来,再辛苦都不叫苦,解决了半天,问题依旧,最后客户打折,或者拒绝买单,那前面的辛苦就白费了,这才是真的苦。所以我的第二个话题:“务实的程序员不会太辛苦!”,大家说是不是?
第三个我们说技术,我呢,写程序有点久了,对于程序员的辛苦也有一点心得,在开发工作中,我认为两点最辛苦,一个是bug,一个是需求变更,有经验的朋友点评一下,看是不是这样?一般说来,大多数场景下,项目经理在组织开发工作时,时间还是留的差不多都够了的,如果顺顺当当做开发,基本上大家都不用加班。大家想想是不是这样?关键是,哪一回是“顺顺当当”?呵呵。
无穷无尽的bug,我也说句话,几乎所有的加班都是bug造成的。属于程序员自己的问题。什么叫bug?程序崩溃、挂死,叫做bug,计算错误叫做bug,UI设计的不漂亮叫做bug,甚至一个按钮拜访的位置不对都叫bug。总之,客户的需求不满足,就叫做bug。很多时候,其实需求变更我觉得也可以视为bug的一种,我们设计的方案,和客户的真实需求之间有偏差,无法满足客户需求,必须得改,从这个意义上讲,我认为也是bug,是方案级bug。这部分,我觉得应该是程序员自己的问题,是可以改变的。
一个大学生,刚毕业,什么经验都没有,确实如前所述,那会儿他写程序,肯定是乱七八糟的,因为他不知道自己在做什么,也不知道自己该想什么,怎么想。这是客户服务经验,这没办法,前期肯定通过碰壁、挨批评甚至挨骂来学习,委屈多了,就知道大家约定俗成的方式是怎样的,慢慢地调整自己的行为,输出结果,再慢慢的,菜鸟变老鸟,东西一出手,客户就满意,也可以坐在那里喝杯茶,顺便骂骂刚来的程序员,呵呵,各位大牛们,你们是不是这么过来的?注意哦,这个时候已经开始分两种人了,聪明的,爱学习的,善于调整自己的,也犯错误,但是错误只犯一次,下次就记住了,不会再乱来了,这种人慢慢就起来了,最后会变老鸟。但也有很多人,说不好听啊,教不变的猪,同样的错误犯了一次又一次,就是不改,说了还不听,其实大多数最后程序员做不下去的,都是这种人。大家想想,生活中有没有碰到过这种人?我的问题是,他们这个习惯不改,做其他行业,不做程序员,能成功不?所以我的第三个结论:“善于学习的程序员不辛苦”,大家看同意不?
一般软件开发公司里面,都有编程规范,这个规范哪,我也写过很多,我评价一句话啊,“编程规范就是想办法把事情搞麻烦!”,呵呵,大家同意不?明明一个变量,我起个名字叫做a,挺好,可项目经理不干,非要我改成nHashTravelCount,这么一个又臭又长的名字,多敲多少字?不干。明明我一个函数就搞定的问题,可是那个没良心的经理,居然要我拆分成三个函数,这不是浪费我的劳动力嘛,加班还不给工资,不干。... ...这些思路,大家以前有过没有?见过没有?最后的结果怎样呢?慢慢的,大家发现,做事情稍微勤快一点的程序员,他的团队合作总是最友好,他的模块bug总是最低,大家用他提供的功能总是最顺畅。反而那些天天抱怨的程序员,谁和他合作都是一肚子气,想让他多谢几行代码,多提供个方便的接口,比杀了他还难受,还不如自己来。再慢慢的,大家发现勤快的程序员,工作任务越来越重,公司经理也越来越器重他,给他加薪,升职,最后,他居然变成项目经理了。
而抱怨的程序员呢,越来越闲,没什么事儿做,也没什么朋友,慢慢被边缘化,直到某个年终的末位淘汰,他不见了。这些事儿,大家有遇到过没有?好,我的问题来了,大家觉得哪种程序员最辛苦?所以,我的第四个结论,“勤快的程序员不辛苦!”,大家说是不是?因为勤快,程序员就可以比别人多做很多事情,下班回家,没事儿的时候不玩,总结一下自己的工作。嗯,这个需求我在哪个地方遇到过,今天又遇到了,可能我需要琢磨个套路,或者总结一段公有函数,甚至公有类,抽象性好一点,以后再遇到这类需求,就不用写了,直接套用。又或者,我找找看,看哪个开源库里面有成熟的代码,翻出来评估一下,如果合用,也就算作自己的公有模块了。于是开干,很快,一段像模像样的抽象模块就出来了,嗯,放哪呢?yaocoder朋友已经说到了,准备一个库。其实我也是这么办的,我的0bug工程库就是这么来的,不过我这人脾气怪,什么都喜欢自己写,所以我的库全部是自己来的。有库好啊,走到哪儿,遇到什么问题,都有解决方案。一个程序员,再怎么走,再怎么跳槽,基本上还是在某一个业务领域圈子里面转,比如我是做数据传输的,找的开发工作怎么都和TCP啊、UDP啊、数据通信啊这类有关,所以我库里面这部分代码是最多的。还有个很关键的,库这个东西自己一直在用,前面的工程实际上已经把库中间的代码测试过了,已经证明了东西是对的,没有bug,至少应对新应用场景的时候,bug很少。库代码自己长期在维护,对里面的逻辑熟悉程度很高,即使遇到问题,也很容易定位,迅速找到bug并解决。所以,有自己私有库的程序员,和没有这个的程序员,工作效率差别是很大的。
我昨天还在问一个朋友,我说请他评估一下,去年我们两个人,写了差不多二十万行代码,我们有没有时间debug?实际上是没有的,我们任务太重,根本没有太多时间犯错误,几乎所有的程序都要求写出来一次过,编译器过了,基本上就没有什么bug了,最多联调的时候解决一些不匹配的问题,还有就是研究一些特定场景的高性能算法。这里面其实主要就是我的0bug库在起作用。大家想想,一个大型工程,还没有开始做,我们先说,所有的内存泄露、线程问题、锁问题、7*24小时的内存碎片问题,大规模数据组织问题,就都不是问题了,我们可以在这个基础上直接开发,只关心业务逻辑和产品性能。这么开发,大家说厉害不厉害?很多小公司的开发团队做不到的。我们去年的辛苦和前面的bug还真没多大关系,主要是人手少,任务重,一个数据库的开发,它有那么多事情要做,少一件都不成。所以,我的第五个结论:“善于总结的程序员不辛苦!”,大家同意不?呵呵,哩哩啦啦说这么多,还没怎么按照yaocoder朋友的思路写,嗯,莫怪啊。我一直有个看法,程序员的工作,要说不辛苦的其实有。找个好公司,找个好领导,或者找个好爸爸,在爸爸开的公司里面做程序员,肯定不辛苦啦。
其实这些都可能让程序员不辛苦的。但是,这些都是外因,有偶然性,不是普适性的道理。我想说的是,作为一个程序员,或者一个想成为程序员的人,要有清醒的人士,辛苦是必然的,做事情肯定会很辛苦,但是要正确看待,要不断学习、总结,调整自己,让自己慢慢地变得不是那么辛苦。所以我起了这么个题目,“不等不靠不要,程序员自己减轻辛苦!”大家说呢?
本帖最后由 tonyxiaohome 于
17:32 编辑
高级工程师
楼主阅历丰富,像我这种非程序员 都能对这个职业理解深刻了!
&&楼主总结的很到位,辛苦与否,自己也能决定,看你如何作为了
10.31 下决心删除了30个G的数据!Say Good Bye~
初级工程师
软件工程师
引用:原帖由 苍岚 于
11:25 发表
楼主阅历丰富,像我这种非程序员 都能对这个职业理解深刻了!
&&楼主总结的很到位,辛苦与否,自己也能决定,看你如何作为了 客气,我也是有感而发,抛砖引玉,希望大家多发表点自己的见解。
助理工程师
楼主的阅历确实丰富,程序员之路确实需要总结、学习和记录。
&&埋头编程不去思考问题的程序员肯定是辛苦的!
论坛首席记者
楼主不容易啊
菜刀在手,问天下谁是英雄
忍人所不能忍,行人所不能行。 ...
不等不靠不要,程序员自己减轻“辛苦”
道出了我们程序员人的心声,希望有更多的程序员来阅读,回味开发道理上的酸甜苦辣!
淡泊以明志,宁静而致远。
高级工程师
做网络的一样的辛苦的,也是加班加点的赶方案,调试设备,也是没有星期天休息时间,都一样的,楼主讲的,我深有体会
少思虑以养心气,寡色欲以养肾气,
常运动以养骨气,戒嗔怒以养肝气,
薄滋味以养胃气,省言语以养神气,
多读书以养胆气,顺时令以养元气
苦于不苦,唯心而已,心之所愿,不苦,心之所厌,苦不堪言。
无论什么行业,都有他苦的地方,有目标有追求,再苦也愿意,不等不靠不要,用心为自己减轻辛苦
高级工程师
这个过程不是一般的困难
头衔“招商”中——
来顶一下!干我们这行不容易啊!
小壮博客:
My home:——&
调整心态&&搞技术的人真的得让心静下来.
一路走来其实没那么苦.
鞋舒不舒服,只有脚知道,文章写得很好,学习了……
中级工程师
Just do it
最烦的就是客户要改需求。文章写出了心声。
中级工程师
其实自己喜欢也谈不上辛苦了
初级工程师
软件工程师
引用:原帖由 wangpeng1980520 于
15:37 发表
做网络的一样的辛苦的,也是加班加点的赶方案,调试设备,也是没有星期天休息时间,都一样的,楼主讲的,我深有体会 我建议啊,做网络的其实也有很多值得总结的东东,建议没事儿多总结,记录下来,会成为高手的。
写出了自己的感悟,想起我就是程序员跑了,去做网络系统工程一类的程序员真的太苦了,一天到晚想着实现功能的一些类,一些方法,尝试去做的更好。吃饭,睡觉,周末休息。基本都是不时的会思考,实在吃不消。前期薪资也不高,我只能改行了
引用:原帖由 tonyxiaohome 于
22:02 发表
我建议啊,做网络的其实也有很多值得总结的东东,建议没事儿多总结,记录下来,会成为高手的。 这个回答我很赞同,在我网盘里都会不时更新一些技术上,可能是细节上的一些技术知识,书本上没有的,很好
原来技术行业都这样&&我是电气的&&邻居行业
自己喜欢的东西,也不觉得辛苦。楼主分析的很全面、赞同,“勤快的程序员不辛苦”只有做得多,学得多,才会更加熟练,解决问题更加简单了。
楼主给我们上了很好的一课啊。
初级工程师
软件工程师
引用:原帖由 wenluderen 于
09:27 发表
原来技术行业都这样&&我是电气的&&邻居行业 欢迎邻居

我要回帖

更多关于 程序员找不到女朋友 的文章

 

随机推荐