(转)程序员职业生涯探讨。
这是个人对程序员生涯的一孔之见,只代表作者的个人想法,其中疏漏甚至错误之处在所难免,希望大家多提宝贵意见。
前言
丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上。日子就像一块块砖,你就像是一个泥瓦匠每天在堆砌着你的人生,最终砌出一个宏伟的大厦或是一幢低矮的小屋甚至是堆成一堆瓦砾全取决于你自己。
程序员是一碗青春饭吗?
程序界和软硬件一样都要遵守摩尔定律,也就是说当前的技术知识很快会被替代,你需要不断学习新的东西,否则就会面临着被淘汰的危险。然而,一个人的学习动力和欲望都是有限的,记忆力还会随着年龄的增长而衰退,从这个道理上来说,年龄大的迟早会被年龄小的超过,成为鸡肋并最终将被无良的公司抛弃。难道程序员这个职业做不过三十五岁,永远是一碗青春饭吗?
根基是决定一个人会不会被淘汰的关键
我刚进入IT业就听说过这种说法,不过当时的年龄限度是30岁,当工作一段时间后,这个限度上调了五岁,而且还有陆续上调的趋势,而在各个公司中,超过35的程序员并不罕见,在外国做了一辈子软件的人也屡见不鲜。难道“程序员是吃青春饭的”是一个谬论吗?那么为什么很多人持有并宣扬此论调呢?
其实这个结论既正确也不正确,它的结果取决于要评判的人。一个人如果根基扎实,他就更容易学习新的事物新的知识,年轻和精力相对于扎实牢靠的根基是微不足道的,对于别人是一座山的障碍,对于他也许就是一张纸的隔阂,这样的人是不会面临着被超越被淘汰的危机的,青春饭的论调对他完全不适用;而一个人如果根基不牢,只是靠精力和年龄勉强立足,每次新事物新知识出现都在和年轻人拼体力拼精力,那么他迟早将被淘汰,优胜劣汰的社会就是这样残酷无情,但很公平。
什么是程序员的根基
面向对象的思想。MVC,分层架构,按接口编程,依赖注入,OR Mapping,面向方面,SOA等都是OO的发展,不从根本上领会它,程序员就难以把握程序发展进化的趋势,永远停留在老窠臼中无法自拔,自我提高升华进化当然更是一句空话。
数据结构。程序的核心目的是收集,整理和展示数据,而数据的核心就是数据结构,它的重要性不言而喻。线性表、栈/队列、串、多维数组、广义表、树、图这些数据结构你都需要认真掌握,掌握的程度越深,日后学习的阻力就越小,相对于他人将更有优势。讲话
算法。如果缺乏好的算法,程序架构得再完美数据再贴切都无济于事,犹如一台法拉利却用牛来拉一样。迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法都是你需要掌握的,不要以为这很难,读透一本算法导论就足够了。
基础API。只有思想,数据结构和算法只是一条腿,要健步如飞还得两条腿走路。程序员的另一条腿就是基础API,你需要认真掌握TCP/IP协议详解,Socket通信,线程,文件读写等每种语言和技术都需要的基础知识,一个新事务即使再绚烂夺目也是利用这些基石搭建而成的,如果你彻底了解了它们将永处不败的境地,甚至觉得新技术也不过如此。
如何打好根基
多学。从项目中学,从书本中学,从别人哪里学,从失败中学习,掌握基础API就是需要多学习,如果有已有的知识总结可以起到事半功倍的效果。
多想。学习OO和算法都需要理解,光是死记硬背毫无用处,子曰“学而不思则罔”,OO和算法的学习都需要一个理解消化的过程,只有彻底理解了,你才真正掌握了它们。
多练。经过代码的历练,程序员才能百炼成钢,成功的项目能告诉你什么是正确的,失败的项目会暗示它为什么会失败,下次你就能更进退有据。更重要的一点是,不做项目,不做多个项目,不做大项目,程序员对“度”的把握总是缺乏经验,不是过就是不及。真正亲手手写过10-20万行代码的是成为一个成熟程序员的必要条件(但不是充分条件)。
多见。眼光狭窄,目光短浅,固步自封只能造就一只井底之蛙,你的眼光必须超越自己所在的环境才能取得真正的进步,现在有许多开源社区和软件都是你应该涉足的地方,和什么样的人在一起你自然也会成为什么样的人。“蓬生麻中,不扶而直,白沙在涅,与之俱黑“说的就是这个道理。
程序员的身价是由什么决定的?
如果一个程序员有良好的根基,充满智慧的头脑,积极主动的精神和锲而不舍的毅力,他就一定能有丰厚的薪水吗?答案是否定的。原因在于薪水不光取决于自身的水平,还取决于周围的环境。
程序员的身价首先决定于他能给雇主带来多大的利益,如果带不来利益,程序员再有本事也是白搭,这就要求程序员一定要根据自己的特点寻找合适自己发展的公司,在你的职业生涯之初就要研究自己和世界,逐步选择一个合适自己的方向发展,永远记住,方向比努力更重要。
其次,程序员的身价也取决于他的不可替代性,即使一个人能带来很多的利益但身后有大批的后备军资源,干不好立即就有人顶替你,这样的人薪水也不会高,反正你不干有的是人干,资本家就是这样无情。这告诉我们要使自己不可替代,就要努力向高处走,一定和众人拉开差距才能彰显自己的价值。
程序员生涯能给我们带来什么
IT是一个朝阳产业,正处于蓬勃发展中,选择这一行比其它行业拥有更多的发展机会。
相对于其它职业,程序员对自己命运的把握程度更大。”荣辱自取,不求于人“,这是一种非常好的感觉,在别的职业中是难以找到的。
只要人们还在使用计算机,程序员这个职业就永远不会消亡,因为计算机运行永远需要软件。
在信息时代,程序是一个非常有效的收集或发布信息的工具,如果利用得当,它能直接带来巨大的收益。
程序员事业发展的方向
架构师,CIO。对于热衷于技术的程序员来说这是一个不错的方向,架构师这个职位的必要条件是有优秀的技术功底和丰富的设计经验,此外还需要有某个领域的深入知识。对于CIO要求更高,他需要对未来五年内的技术走势把握得比较清楚。
项目经理,部门经理。人际关系处理良好,语言能力出众的程序员适合走这条路。这也是大连大多数程序员的理想选择。
做自己的网站,当一个给自己发薪水的人。网站做好了收入颇丰,低端如hao123,高端如google的例子都摆在眼前。其实做网站初期投入并不巨大,但需要持之以恒的毅力尤其是敏锐的市场嗅觉,它决定了你是否能从网站中盈利。此外,拥有自己的网站对于自我宣传,建立个人品牌有很大的好处。这条路适合于热衷于网络技术的程序员。
开公司创业。制作软件并不难,难得是是否能接到活,能否接到长期的活,如果能做到的话,你就可以选择创业。拿工资致富是不可能的,而一次项目的利润可能就等于你前期的工资总和。
后语
相对于永恒的宇宙,我们确实非常渺小,应该有谦卑之心;但是跟别的任何生命相比,我们的尊严,我们的价值,我们的可能性,是一样的;就算人家确实是牡丹玫瑰,自己只是小小的,角落里的一朵苔花,也应该灿烂地绽放,把自己涨圆,并且自豪地仰望苍天,说:“我也能!”
分享到:
相关推荐
《职业生涯规划大全》 职业生涯规划,是个人对自身职业发展路径的系统设计和规划,它涵盖了自我认知、目标设定、职业选择、技能提升、行动策略等多个方面。在当今快速变化的社会环境中,职业生涯规划的重要性日益...
从给定的文件信息来看,这是一份详细的职业生涯规划书模板,主要针对大学生群体,旨在帮助他们系统地规划未来的职业路径。以下是基于文件标题、描述、标签以及部分内容的关键知识点提炼: ### 一、职业生涯规划的...
信息管理与信息系统专业职业生涯规划 信息管理与信息系统专业是现代管理学理论基础、计算机科学技术知识及应用能力的结合,旨在培养具备系统思想和信息系统分析与设计方法以及信息管理等方面的知识与能力的高级专门...
根据提供的文件信息,文件标题和描述均指向了体育学院体育教育专业职业生涯规划的内容。尽管提供的【部分内容】信息并不清晰,但通过对其进行理解与整理,我们可以归纳出一些关于体育教育专业学生职业规划的知识点。...
【职业生涯规划】是个人对未来职业发展道路的长远规划和设计,它强调个人对自我认知、环境分析、目标设定以及执行策略的重要性。对于医学生来说,职业生涯规划尤其关键,因为医学是一个专业性强、责任重大的领域,...
职业生涯规划与职业理想概述 职业生涯规划是指个人在职业发展过程中的自我规划和自我管理,它涵盖了职业选择、职业发展、职业转换等多个方面。职业生涯规划的目的是帮助个人明确自己的职业目标,制定切实可行的职业...
职业生涯规划是个人与组织共同发展的重要组成部分,特别是在当前的市场经济体制下,个人的职业选择与企业发展紧密相连。本手册详细阐述了职业生涯规划与集团未来战略的关系,强调了人力资源在企业发展中的核心地位。...
大学生职业生涯规划是每个即将步入社会的大学生必须面对的重要课题。这一过程涉及到自我认知、目标设定、环境分析、路径选择等多个方面。首先,我们要明白,职业生涯规划不仅关乎个人的兴趣爱好,更关乎个人的能力、...
在IT行业中,职业生涯规划是每位从业者都需要关注的重要课题。它涉及到个人的职业目标设定、技能提升、职业路径选择以及长期发展的策略制定。以下是一些关于"IT人员职业生涯规划"的关键知识点: 1. **自我认知**:...
《大学生职业生涯规划》期末考试答案涉及多个与职业生涯发展相关的知识点,包括职业选择、创业、素质测评、职业适应性、就业趋势、技术管理等多个方面。以下是这些知识点的详细说明: 1. **职业角色转变**:大学生...
职业生涯规划引言 职业生涯规划是指对自己未来的职业生活进行规划,主要是指职业生涯规划的对象是自己的前途和人生。职业生涯规划的重要性在于,它可以帮助我们更好地规划自己的职业生涯,避免迷茫和不确定性,提高...
本资源包含多种样式的简历模板,旨在帮助求职者更好地规划职业生涯,并提供丰富的设计灵感。 1. 简历模板的重要性: - 自我营销:简历是求职者的自我营销工具,通过精心设计的模板,可以突出自己的优势和特点,...
【标题与描述解析】: 这份文档是一个关于畜牧兽医专业学生的职业生涯规划模板,旨在帮助该领域的学生制定个人职业发展路径。这份规划书详细分析了自我认知、社会环境、学校环境、职业定位以及目标设定等多个方面,...
【工业工程师的职业生涯规划】 工业工程师在现代制造业中扮演着至关重要的角色,他们负责提高生产效率,降低成本,优化流程。然而,随着经济的发展和技术的进步,工业工程师需要不断转型升级以适应变化。魏俊超先生...
【IT人士职业生涯发展规划】 在IT行业中,制定职业生涯发展规划是一项至关重要的任务,因为它直接影响到个人的职业成长和长期成功。首先,自我评估是职业生涯规划的基础。这包括深入理解自己的优点和劣势,以及自己...
随着科技的快速发展和电子行业的不断进步,电子工程师在职业生涯规划方面面临着多种选择。以下是一些职业生涯规划方面的知识点: 1. 了解行业趋势与岗位需求 电子工程师应关注行业发展的趋势,比如物联网、人工智能...
《员工职业生涯规划与管理》培训课程大纲旨在帮助企业各级管理者更好地理解和实践人力资源管理中的关键环节——员工职业生涯规划与管理。在21世纪的竞争环境下,企业之间的竞争核心在于人力资源的开发和潜力挖掘。...
《员工培训与职业生涯规划》是关于人力资源开发的重要主题,它涉及到员工个人的发展和组织的长远利益。员工的职业发展不仅是个体生涯的连续过程,也是个人价值观、态度、技能和知识不断提升的过程。在这个过程中,...