合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 业务与技术 ![](http://cdn.aipin100.cn/17-10-10/31734530.jpg) & ![](http://cdn.aipin100.cn/17-10-10/95220061.jpg) #### 业务逻辑 比 纯技术 的开发要简单? 业务逻辑的开发和纯技术的开发是有很大区别的,**一般来说**,相对于底层纯技术的研究和开发来说业务逻辑的开发要相对简单一些,对技术性的要求低一些,为什么这么说呢,下面我们来分析探讨一下。 * * * * * #### 业务逻辑:和客户打交道最痛苦 业务逻辑的开发中很重要的是要和客户、用户打交道,要深入一线去真正的弄明白产品需求,很多时候不是业务逻辑有多复杂,而是很难理解清楚客户真正想要表达的需求和意图,以及怎么用最少的成本达到客户的需求,这需要很多锻炼,需要多方面的能力。 * * * * * #### 杀一个程序猿只需要改几次需求 而与人打交道其实是很困难的,尤其是对于不善于与人打交道的程序猿来说,更可怕的是遇到刁钻不好沟通的客户。和客户沟通并不容易,并且要站在客户的角度切身的去理解需求和痛点(要是遇到奇葩的客户,奇葩的需求那真是好喔藻好悲催),再切换到技术、产品开发的角度去思考怎么去做,而且还要用最低的成本完成产品,因为客户最不愿意的就是掏钱了。 业务逻辑的开发需要克服与客户打交道的困难,与客户沟通的效率会直接影响开发效率,要知道因沟通问题,而频繁返工、改需求是最不可忍受的。(杀一个程序猿不用刀,只需要改几次需求就可以了) * * * * * #### 纯技术的开发就彻底解脱了吗? 虽然业务逻辑的开发**一般来说**(注意这里是一般来说)对技术性的要求不是太高,但是却要面对麻烦的客户,和复杂繁琐的业务逻辑。那么纯技术性的开发就能彻底避免这个硬骨头吗? * * * * * #### 架构师:那些漆黑的夜里,多的是你不知道的事 虽然不用直接和客户打交道,但是纯技术的研究也不能闭门造车,所有的东西应该是建立在可用性与实用性上面来的,否则就没有价值,所以即使是纯技术的开发也是需要了解业务逻辑的,只有这样才能开发出高效的程序,所以你看架构师都是有丰富的项目经验,通晓业务逻辑,善于独立思考,并且对底层技术有钻研,从小项目到大项目,经历过这个领域所有的业务逻辑和难点,经历各种折磨,和无数的天昏地暗、暗无天日的开发,才最终成长为一个合格的架构师的。 * * * * * #### 不以业务、实用为主的研究都是耍流氓 并且很多时候,通用性和性能等其它要点是很难共存的,所以针对不同的应用场景要有不同的取舍和架构方案。可见业务逻辑对于底层纯技术开发也是非常重要的,只有经历过业务逻辑的锻炼,才能更懂产品,才能开发出健壮,安全,高效的底层服务出来。(这点可以参考很多著名的开源库的作者的经历就知道了) * * * * * ### 扩展 [程序员嘛,先做个好架构师再说](http://mp.weixin.qq.com/s/C4i02BAEglxvl8wzNGzCcg) [产品和研发,断裂与连接](http://mp.weixin.qq.com/s/69Lw2gt5h5ex1zuckhowjA) > 产品站在价值方,研发站在成本方。 > > 产品代表业务与用户,对产品功能进行价值判断并转化为研发需求。而研发中的个体,也就是程序员会习惯从自身开发成本(好恶、难易)去评估需求,而感觉自身开发成本高(麻烦)时,就容易进入和产品的「讨价还价」模式。 > > 这里面的问题就在于,研发没有习惯优先从需求的价值出发去考虑;而产品的问题在于,绝大部分产品并没有程序开发背景和经历,所以有时很难评估清楚,甚至理解完成一个功能需求的研发成本。 [法国政府搞的一个软件项目,坑出新境界](https://mp.weixin.qq.com/s/DtedRXA2Ss9wKlLe0N2Gqw) [Facebook曲晓音:为什么说程序员懂产品很重要?](https://mp.weixin.qq.com/s/wGa1-gwH2D1ezdnEVExk-A) [面试题:你如何理解前端的工作](https://mp.weixin.qq.com/s/BiBsW0W0oP4UvvM7r_ORIQ) > 产品汪:请根据手机壳的颜色,来实现APP启动的颜色。 > > **【程序有一颗艺术的心】** 程序是一件思想上的作品,要达到艺术的境界,从功能、体验和逻辑上都必须是合情合理的。就像一件艺术品一样,看起来是浑然天成的!因为一件看起来很“丑陋”作品,一定是不符合人的逻辑和习惯的。 [你可以把编程当做一项托付终身的职业](https://mp.weixin.qq.com/s/16Um85XzzQV_PHFIG_li3g) > 除了技术之外,我更需要能够突破程序员思维,去发现用户需求背后所隐含的真正问题。我比以前变得更加务实,不再刻意追求技术的高深,而是尽可能从问题本身出发,选择最有效的技术手段去解决它。 > 编程是在表达,也是在创作:编程对于我来说已不再是一项技能或是工具,我是在通过编程进行着自我表达与创作,这种感受带给了我极大的自由度,而我也从中感受到了前所未有的喜悦与乐趣。 [产品经理究竟要不要会编程?](https://mp.weixin.qq.com/s/1kX6mR0o53M4bjXm0rJ9ag) [转管理,先要问自己的5个问题](https://mp.weixin.qq.com/s/8R9HYbzk_gzZlxzRTYcOeA) [甲方频繁改动需求!乙方:妈的 智障!](https://www.365yg.com/a6262944762530103810) [为什么我不建议你去外包?](https://mp.weixin.qq.com/s/y3hi6KE7Mbv5-VXGPYYv8g) [「只差程序员」为什么会招黑? - 知乎](https://www.zhihu.com/question/22989105) [朋友说:帮我开发一个某东那样的APP,对你来说太容易了吧?](https://www.toutiao.com/a6548268596659749383/?tt_from=weixin&utm_campaign=client_share&timestamp=1528260932&app=news_article_lite&utm_source=weixin&iid=33124962994&utm_medium=toutiao_android&wxshare_count=1) > 甲方要求一楼先不盖,留着看市场发展方向再定。先盖二楼以上的部分。另外4/13/14/18层因为不吉利,也不要盖了。顶楼也不好卖,不要顶楼。 [为什么外行人认为写代码不值钱?](https://www.toutiao.com/a6549108172857016839/?tt_from=weixin&utm_campaign=client_share&timestamp=1529119182&app=news_article_lite&utm_source=weixin&iid=33124962994&utm_medium=toutiao_android&wxshare_count=1) > “淘宝挺贵的,几百块做不了” “为什么做不了?不用和淘宝一模一样,我也知道淘宝不好做,只要把淘宝的功能基本上做出来,能正常用,交易不出问题就行,三个月时间还不够?,这简单,你不用说了,简单” “我做不了” [为什么码农要了解业务?](https://mp.weixin.qq.com/s/Qfl5p-B2vK5nwvJ1Nfy2Nw) [为什么码农要了解业务?](https://mp.weixin.qq.com/s/2JTxxH46FHrvcuG8KBTncg) [腾讯把需求和代码统一的内幕](https://www.toutiao.com/a6575056134816662019/?tt_from=weixin&utm_campaign=client_share&timestamp=1530892953&app=news_article_lite&utm_source=weixin&iid=33124962994&utm_medium=toutiao_android&wxshare_count=1) [甲方频繁改动需求!乙方:妈的 智障!](https://www.365yg.com/a6262944762530103810) [为什么我不建议你去外包?](https://mp.weixin.qq.com/s/y3hi6KE7Mbv5-VXGPYYv8g) [程序员如何应对诸如「给我弄个网站吧」的请求? - 知乎](https://www.zhihu.com/question/36913495) [「只差程序员」为什么会招黑? - 知乎](https://www.zhihu.com/question/22989105) > 让一个iPhone应用同时也支持iPad:如果要评选最坑爹“需求变更”,那么这个绝对是当之无愧的。理由很简单:支持iPad根本不是TMD什么附加功能!iPad应用基本上都比iPhone应用来得要复杂,界面设计和用户体验也大不一样。我问你,制造一辆电动自行车,然后把它改装成一部烧汽油的摩托车,这能是一回事儿吗!?电动自行车跟摩托车看起来是很像,但是制造它们完全是两码事。 > > > 为什么大家从来没有遇到这种,“我们就差个运营/市场/人事行政了”,因为在执行层面的非技术型工作内容都可以跨岗位经过短时间学习,推进工作进度的。而只差程序员,短时间学习解决不了执行问题。 > > 1.程序员专业技能点强,没有专业背景短时间学习是不可能替代执行的。差个运营,今天让行政跟运营学习,明天就能顶一顶执行工作,差个iOS工程师,能今天教行政认识代码,明天就开始改bug?…… ![](http://cdn.aipin100.cn/18-12-2/76159835.jpg) [我有一个 App 创意丨如何将其实现? - 知乎](https://zhuanlan.zhihu.com/p/21719921?refer=fenzo) [我有一个 App 创意,如何将其实现? - 知乎](https://www.zhihu.com/question/25284456) > 后来,他们还是在做他们原来的工作,心怀改变世界未果的怨念,而且始终认为现在他的梦想之路上只缺一个程序员。他们可能永远不会知道,那 10000 步里剩下的 9999 步怎么走。 > <p>一句话的点子是不值钱的,不是在中国,在世界都是一样的。只有把这一句话变成<b>具有可行性的方案</b>,然后有<b>靠谱的团队和足够的资金</b>,以及最重要的<b>判断能力和执行力</b>,才能做成一款好的 APP 。</p> [刚才咨询了一个软件开发公司,说开发一个拍卖的app 安卓跟ios平台一共需要十五万元,真的有这么贵吗? - 知乎](https://www.zhihu.com/question/49019480) > 就怕只有个idea,光用嘴说就。。。。。 [工程事故与现实世界](https://mp.weixin.qq.com/s/bY9HnwehaNQajg6_ysumNg) > 心怀敬畏之心,现实世界的工程事故更残酷。 [程序员的创业陷阱:接私活](https://mp.weixin.qq.com/s/vvu-CrfQJ46SZ1AE2S4rpQ) [程序员口述:AI 创业两年,积蓄花光,重新写代码](https://mp.weixin.qq.com/s/UdXdqGgM4qG0ydu9lMsddw) [我那牛逼老公,创业成功但最后被辞退,仍然一毛钱股份没有拿到……](https://mp.weixin.qq.com/s/hiL1E4sf2KZBxKiJDjKvUg) * * * * * 程序员守则第一条,不要跟产品,测试说话!你花了一天跟他们讨论需求和分析逻辑合理性,最终他们采纳了你的建议,并得出了需求,要求你完成,他们需求有了,你代码呢? (砍柴的不要和放羊的聊天,聊完了,他的羊也吃饱了,可是你的柴还没有开始砍呢。做事的不要和不做事的人交流。) * * * * * ### 技术实现不必纠结 产品可以从多个角度去看,比如从运营,从设计,从技术,一个简单的页面,从不同的角度看是不一样的视角。 比如一个背景图片或者logo,从设计上,不管你怎么实现,只要看得到背景或者logo是一个图片就可以了,从技术上,这个背景图片可以用图片标签插入,也可以使用css背景,不同的实现方式,代码结构不一样,但是表面看起来是看不出来的,不管你技术是怎么实现的,界面外表看起来都是一样的。 那么从运营上呢,如果是用图片标签,那么搜索引擎能抓取到,并且用户右键能保存图片,如果是用css背景实现的就没有这样的效果了,就看有没有这样的需求了,所以还是要看具体有什么要求,再来确定技术实现方案,只有做技术的人会关注技术实现的细节和方案,其他人是不会关注和在乎你的实现方案和其它想法的,只会站在他的角度和立场看待问题,只在乎他的需求有没有得到满足。 所以做技术的不要再试图从技术的角度去给别人讲解技术实现和说服别人了,这样只会浪费口舌和浪费感情,因为别人根本不会在乎,也根本没有听进去,你只需要告诉他,这么做会怎么样,这个能实现什么,不能实现什么就可以。 并且有时也不要过度纠结哪种技术实现好,只要满足需求就是好了,不要舍本求末的追求代码的美丑,追求一种看不见的完美,人生苦短,那样没有任何意义,这样一不小心就很容易成为 [“民间哲学家”](https://segmentfault.com/q/1010000009586182) 了。 * * * * * last update:2018-6-16 15:32:29