程序员的人生(网上整理)
这个是某位在软件行业从事多年的人总结的八个出路:
1 从程序员,到系统分析,到项目经理。条件:必须是大公司,工资高,福利好,有完整的发展曲线;个人对软件开发有持续的热情。
2 转行到大型企业,事业单位,政府做信息化方面的工作(可以说是网管)。生活有保障,不必太辛苦。条件:一定的能力,一定的人际关系。
3 考研,考博再深造,出国或留校搞教学,培养一代不如一代的本科生,闲时打着大学的名义做做项目,赚个房钱。条件:高学历,一定的经济基础和家庭背景。
4 创业:这个谈起来大发了。这里只说条件:很好的项目,创业精神,一定的经济基础。
5 共享软件:很多程序员的梦想,自己写个软件全世界的卖,光注册费够一家人生活的了。成功少数,但只要有的都发达了。如ACDsee,优化大师,超级兔子,千千静听(可到共享软件区查询)。但我告诉你,这方面基本是没法干了,写个小东西挣钱玩玩可以,要靠他吃饭,饿死吧。条件:过硬的专门的软件技术,富有创意的头脑。
6 网站:基本情况和共享软件差不太多,只是比共享软件更好干点。但奇迹照样有,可看看hao123的神话和现在很牛的80后的富翁。关键你有没有这个本事和这个命了。
7 行业信息化咨询顾问:随着各个行业信息化的普及,企业对这方面人才需求很大。真正实现信息化的企业都需要这样一个既懂软件,又懂行业知识的人员,他和网管还是有区别的,他的要求更高些,更像一个自由职业者,专家类型的,这样的人放在企业里小的是个主管,大的是个副总。条件:很深的行业内部的技术或管理经验,较强的软件开发或实施经验;通常35岁以上才是成熟人才,因为经验是要经过历练的。其实就是个人物了。
8 转行,彻底的转行。干不下去,精力不够了,脑子不灵了,钱太少。只要你够理由,你就走。从新开始另一段新的生活,有什么了不起的,哪里也饿不死我这个干软件的。
(二)给程序员的建议
提到这个问题似乎会让人觉得太简单、太幼稚。看看现在程序员舒适的工作环境、丰厚的薪水、过着“快乐”的白领生活,一切仿佛都不言自明。其实这是看到了程序员的一面。我们的另一面则不为大众关注:没日没夜的工作,通宵加班是家常便饭;整天和键盘打交道,把自已的代码必业必去几十甚至上百遍,目的只是为了想住一个小小的bug......这种枯燥的生活又有多小人能切身体会?没有对软件事业本身的执著、对源代码近乎朝圣般的痴迷,这一切都是普通人不能忍受的。但是当你程序完全通过了测试,成为一个合格的产品。这个时候的喜悦,又是如此强烈地激荡在你胸中,也只有真正热爱编程的人,才会感到其中真正的快乐。所以如果有人问你为什么要做一个程序员,那就告诉他:我有足够的勇气面对每一次调试失败、有坚定意志和信心来写好每一行代码。这是我的热爱,编程就是一种乐趣!
学编程是先学什么?
对于广大编程初学者来说,存在着这样普通的认识:学习程序设计选择编程语言很重要,开口闭口就是Visual Basic Visual C++ Delphi Power Builder等一些现在比较流行的开发工具。经常看见有初学者问:我学C/C++,究竟是学Visual C++好,还是学Borland c++ Bulider好呢?或者就是要求在Visual Basic 和Dephi 之间作出选择。学习程序设计和学习程序语言究竟是怎么取舍呢?就此我们打个简单的比方;
学习程序设计就好比学习射击,而程序设计就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须学好射击,再学好其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门语言本身,还要学会编程的思想,这是所有程序设计语言的基础。程序设计语言,是“一法通,万法皆通”的。
建议:学习程序设计不必苛求一定要从某一种语言入手,可以在 Visual Basic Dephi Borland C++ Builder 或者DOS下的Pascal 、Turbo c中间选择自已比较容易接受一种进行学习。从中主要学习的是编程本身的思想,学习的用程序设计的眼光来看待问题。或许,学习的效果不能马上看,但是可以学到扎实的基本功,而这对于将来的进一步发展是有很大好处的。这些基本功包括:
一、强化逻辑分析和建立数学模型的能力
编程的目的确良什么?是要解决现实的问题。而现实的问题是用自然语言描述的,目前的计算机对其无法理解。我们要做的就是必须用计算机能理解的方式将问题“告诉”计算机。也就需要我们对现实问题进行逻辑分析,建立合适的数学模型,然后以程序和数据的形式输入计算机,让计算机帮我们来分析解决。
二、数据结构和算法知识
程序设计发展到现在,已经有了一套比较普通、完整的数学模型(我们称之为数据结构)和对应这些数学模型的处理方法(也就是算法)。目前的程序就是以此为基础的。在程序员中间流传着一句经验之谈:“好的数据结构是程序的一半”
三、丰富的实践经验
程序设计本身就是一门实践性很强的学科。一个只存在于纸上的程序如同没有翅膀的鸟永远不能飞翔在现实的天空。
任由代码写得再巧妙,风格再优美,也只是一张纸上的一连串字符而已。就好比是一份作文练习,或许写得好,但是不交给老师去批阅,和一张白纸又有什么区别呢?在这里,程度就是作文,而计算机就是老师。只有把“作文”交给“老师”,通过调试程度才能印证自已的构想是否正确,或者看到什么缺陷。当然也少不了要多和同行交流,尤其是随着互联网的普及,在网上我们也可以看到别人编写的例子和源程序程序,作为现代的程序员,这也是千万不可错过的好机会。
最后,作为一个程序员有一点小要求:那就是身体素质要好,能熬夜才行。