曾经问过不少程序员,你希望掌握的技术多一些还是业务知识多一些,结果可想而知,90%的程序员都强调了技术的重要性,只有部分人谈到业务也相对重要。
主要的观点包括以下几个方面:
1、程序员就是做开发的,必须加强技术的积累
2、业务一般与程序员无关,应该是与系统分析、项目设计者相关
3、目前找工作,招聘要求上看重的也是技术,其次才是熟悉某某行业领域的优先考虑。
接下来,我们看看程序员在不了解业务的情况下一般怎么做
1、项目中存在很强的业务领域专家,该专家能够解决所有业务问题,这个时候,程序员只要听专家的即可。但这种情况在企业中是少之又少的。
2、详细设计已经很好了,完全可以按照详细设计中规定的做,一般公司也不可能做到。
3、更多的情况是,业务不懂、沟通困难,做出的功能点、模块,不是客户需要的,在此反反复复,这也是项目延期的一个重要因素,关键的是程序员从此沦落为普通的程序员,无法体现其价值。
那么,程序员什么时候开始学习业务呢?我把程序员划分为3个阶段:
第一阶段:刚开始工作,几乎是一张白纸,学校学习的东西,只能作为基础,距离软件企业要求的开发素质差的很远,这个时候,技术是第一位的,是吃饭的家伙,但并不是什么都学,那样的话只会增加吹牛时的资本而已,但这个时候要有业务的意识,具体的就是以技术为主,以业务为辅。
第二阶段:工作有一段时间,有一些开发经验,在加强技术的同时,可以逐渐了解业务,要抱着这样的心态:技术再牛,最终都要为业务服务,技术如果没有了依附,就没有了用武之地,其可能就是昙花一现。技术的价值体现在业务的展现上,程序员的价值体现在项目的价值上,而不仅仅是技术本身。如果一个项目成功了,公司收入颇丰的同时,也为客户带了了巨大的收益,这个时候,程序员可以自豪的说,某某项目是我做的。
第三阶段:程序员应该有了自己的发展定位,一般是以下几个方面:向技术经理、总监方面发展;向系统分析、架构方面;想项目经理等管理岗位发展。但无论哪个方面,业务都是非常重要的,只有把握了业务的本质,才能保证项目的真正成功。
下面谈谈学习业务的几种方式
1、没有人带,完全靠自学,可以买书、上网等。
2、公司有相关业务专家,通过公司内部课程学习
3、请专业人士到公司讲课
4、向客户学习,这种是成本最小、见效最快的方式
其实,要学好业务,关键是自身思想上要有所认识,不要应付了事。另外,并不是什么业务都学,一般来说,每个公司有其特定的领域,把这方面学好就足够了。
首先,要自己掌握业务的基本术语和流程,我见到过有些程序员有着学习业务的热情,但其对业务知之甚少,一有不懂的就去问客户,用户都被问烦了。如果你已经掌握了基本的业务知识,在此基础上再去问用户,和客户交流,客户就会觉得很踏实,因为你既懂技术、又懂业务,把项目给你做放心。
其次,要多做沟通。程序员的自闭性比较高,不善于沟通,这是通病,在学习业务上也是,闷头苦读,一知半解,把业务内容学习完了就结束了,沉淀下来的很少。要记住,客户就是你最好的老师,要多和客户沟通,学习,这样才可能和客户形成朋友关系,最终获益的当然是自身了。
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了