技术人生的三个方面
这节会谈到对程序员来讲至关重要的三点:
知识、技术
技术能力和阅历
业务积累
30 岁是所有人都会面临的人生转折节点,那对于程序员来讲,这样的节点,有什么特殊的表现和含义呢?且来水一水。
软件现在已经成为各行各业的基础服务,它具有非常特别的属性:软件本身形成了一种产业,它又和其他产业结合形成了交叉领域。
说白点,纯粹的代码没有意义,解决现实问题是软件存在的最大意义。而现实问题来自各行各业,所以,大部分的软件产品,是软件技术和行业需求的有机结合。
所以,多数程序员的工作方式是这样的:使用某种开发工具、通过编程语言来实现一个解决特定问题和需求的软件。有了这样的界定,真的可以开始水了。
知识、技术
程序员需要掌握编程语言、应用框架、开发工具等这些具体的知识和技术。这是第一点,必须的。
不同的语言和技术,都有特定的应用场景,这种语言解决这种问题效率高,那种语言解决那种问题效率高。
随着人类社会的不断发生发展,随着信息化和互联网化的不断深入深化,现实问题越来越多,越来越复杂,老的知识、技术在面对新的问题时可能力不从心或效率低下,所以不断有新的语言和技术问世,比如 Go、比如 Scala、比如 Swift、比如 ROR,都才出现没多久,都是因为特定领域问题而出现的。没有最好的语言,只有最合适的语言。
面对这样的现状,程序员就需要保持学习,为了更好的解决问题,可能需要掌握多种语言和技术,而且会随着社会的发展和技术的发展不断地调整自己的知识、技术图谱。
所以,早在几千年前,我们的儒家经典《大学》就预料到了将来会有程序员这种人群,对他们的生活做出了概括性的预言:“苟日新,日日新,又日新”。
这就是程序员面临的知识、技术现状,所以有人觉得过了 30 岁奔四张去的时候,家庭事业两头忙,身心疲惫精力不足没时间充电没时间学习不再适合做程序员了。
这是一种现状,当然它对某些人如此,对另外一些人则不然。其实,31~44 岁,正是人年富力强精力旺盛创造力爆棚学习能力焕发第二春的黄金阶段啊。不信你去看看舒伯的生涯彩虹图,一看便知。
举个大家应该都熟知的例子,王江民就是这个时候(38 岁)转做软件开发,后来(45 岁)一骑独行白衣飘飘杀进中关村创造了江民杀毒的传奇历史,塑造了一代软件神话。
在 30 岁到 44 岁这个阶段,如果你还在做程序员,对自己的学习模式一定有所了解了,加上之前的积累,学起新东西来很快,应该会不断收获举一反三触类旁通的愉快体验。
技术能力与阅历
对程序员来讲,知识、技术是一方面,是容易习得的,是较浅的层面。那较深的层面,就是技术能力与阅历。
技术能力是指,对具体的知识和技术的运用水平。它在很大程度上决定了一个程序员身上的技术价值。
技术能力是在不断地运用知识、技书解决现实问题的过程中培养出来的。在这个过程中,有的人爱琢磨好总结能升华,技术能力提升就快,干一年可能能收获一般人两三年的技术经验;有的人可能会停留在写段代码写完了事儿这种层面,那可能干三年不如人家干一年。
《天龙八部》中的神仙姐姐王语嫣,很多少年看了都很喜欢。从 IT 的角度看,她实际上就是一个掌握了很多知识、技术的字典型程序员,但不会实际开发。当然,她也可以是很妙的程序员鼓励师,既能极大激励程序员的干劲,又能在必要时提供字典式的帮助与指导。
与王语嫣对应的另一个人物是扫地僧,超越了知识、技术,阅历极深,不拘泥于招式,一抬手一投足就拍“死”了慕容博和萧远山这种超强高手。他是我们专业技术者的梦中梦。
扯了这么多,我想说的是,技术能力和阅历,随着程序员年龄和工作经验的增加,其重要性和价值将超越知识、技术本身。这是我们必须意识到的,这也是老江湖的价值所在。
你可以在三两个月学会服务端开发,但如何应对大用户量、大业务量、大数据、大并发带来的挑战,绝对不是一个小白三两个月能搞定的,不积累个五年八年,不随着企业的产品、服务的发展而经历技术架构的变迁,你很难有能力去解决这些问题,想说陈酒香醇。
业务积累
大部分软件是技术和业务的结合,甚至有的行业软件,开发技术只占 20%,80% 的都是业务层面的知识、流程。所以,对于一个程序员来讲,熟悉业务也是非常重要的。做电商网站和测绘软件绝对是天差地别。
业务和行业紧密相关,你选择一个行业,选择一家企业,就会决定你能积累的产业、业务知识、经验。而这部分业务积累,是程序员的重要价值所在,它和技术阅历一样是经得起时间考验的。
有句老话,早已告诉了我们业务积累的重要性:隔行如隔山。还有一句老话也说明了同样的道理:男怕入错行。
学一门编程语言容易,深刻理解业务却没那么简单。而你不理解业务,空有编程语言和应用技术框架,实际上没什么卵用。这就是强调业务积累的原因。(南京欣才PHP培训机课程http://www.thinksite.cn/index.php?m=content&c=index&a=lists&catid=16)