标签 程序人生 下的文章 - 酷游博客
首页
关于
友链
Search
1
阿里的简历多久可以投递一次?次数多了有没有影响?可以同时进行吗?
45 阅读
2
Java中泛型的理解
40 阅读
3
Java 14 发布了,再也不怕 NullPointerException 了!
38 阅读
4
Java中的可变参数
37 阅读
5
该如何创建字符串,使用" "还是构造函数?
29 阅读
技术
登录
/
注册
找到
33
篇与
程序人生
相关的结果
2025-01-22
那家注册了今日油条,饼多多,快手抓饼的公司终于被起诉了
近日,今日头条以商标权权属、侵权纠纷起诉了“今日油条”,而这则新闻还十分魔幻的登上了今日头条的头条。 谁都知道今日头条背靠知名互联网公司字节跳动,还有个用户量超5亿的孪生兄弟抖音,但令人没想到的是这家跨国企业,竟然有一天会和路边店“今日油条”打上架。  不过,今日油条的创始人张新亚显然不惧怕字节跳动,另外关于自己为什么要傍大牌,他还解释道“我天天都刷今日头条APP,是头条的忠实用户,喜欢它的风格,爱看上面的新闻,开油条店时,就找人这样设计了,没想到被告侵权了”。 单听这位创始人的一面之词,可能还会有人为他抱不平,字节跳动这么一家大企业,为什么要和一家小店过不去? 可要是细数这家“今日油条”的营销套路之后,我们才能真切的体会到什么叫“无赖”。 “今日油条”的营销之路 河南今日油条餐饮管理有限公司成立于2020年5月13日,注册资本100万元。 创世人张新亚是个90后,因为突发疫情,自己没了工作,便想到自己开一个店。 可没特色,没新意,怎么能做起来?要知道早餐厅的龙头企业巴比馒头从岌岌无名到提交IPO申请可是用了二十多年! 某天刷今日头条时,张新亚终于灵机一动,今日头条说不定可以为自己所用。 “头”改“油”,“借鉴”今日头条的LOGO设计,将“王思聪吃热狗”改成了“王思聪吃油条”,网红效应自主引发了大范围传播,爆红网络。  当然如虎添翼的还有套用国内知名企业的广告词,众所周知,今日头条的广告语是“你关心的,才是头条”,今日油条将广告语改为“关心你的,才是好油条”;格力空调的广告语是“好空调,格力造”,今日油条的另一条广告语为“好油条,今日造”。  为了充分发挥余热,该公司把“借鉴”做到了极致,在食品、餐饮住宿、方便食品等类目,依次申请注册了今日豆花、今日面条、饼多多、快手抓饼、明日油条等商标。 这一系列操作之后就让这家早餐店成为了网红打卡地,早上六点到晚上九点,络绎不绝,甚至有人专门开车九公里,只为见到“今日油条”的容颜。 开张不到3个月,40万就进了今日油条老板的腰包,5个月后,今日油条的速度超越了5G,做到了名闻全国。 更加让人吃惊的是,7月17日,今日油条甚至还与著名的正大集团在河南签署合作协议,双方达成战略合作伙伴关系。  营销大王今日油条的这条路走的顺畅无比,如果今日头条没选择用法律武器捍卫自己的权利的话,可能今日油条现在都要考虑下一步如何在全国各地开上连锁了。 “今日油条”还将营业? 2020年9月11日,字节跳动忍无可忍,终于将河南今日油条餐饮管理有限公司、郑州市金水区今日油条早餐店、河南烧烤者食品有限公司等告上了法庭。 对于字节跳动来说,明明知识产权的保护措施已经做得相当完善了,名下有268件含有“今日头条”的商标,其中还包含餐饮类核心类别的43类商标。但没想到还是被人钻了空子。  对于今日油条来说,所谓富贵险中求,我弱我有理,但对字节跳动来说,这块肉反正比特朗普这块石头好啃,杀鸡给猴看。 但显然,字节跳动低估了对方的无赖程度。 面对诉讼和声讨,今日油条显然有股死猪不怕开水烫的谜之勇气,今日油条的员工回应称,作为员工,他个人认为“今日油条”的意思就是“卖的是今日的油条”,哪个字不能用? 更令人出乎意外的是,他表示“今日油条”还将继续营业下去。  事实上,“今日油条”根本不怕被告,利用知名品牌进行多次事件营销,不是还能省了一笔营销推广费用吗?况且即使败诉,还有饼多多、快手抓饼、明日油条等16个商标在等候筛选呢? 其实,在知识产权这条护城河上,还要数国民女神老干妈的操作技高一筹,只要把各种近似商标和近义商标申请注册个遍,就没人能蹭我的热度。 
技术
# 程序人生
酷游
1月22日
0
29
0
2025-01-22
新书进展和我的决定。
距离上次给大家汇报我的新书的进展之后,又过去3个月了。 最近,时常收到朋友们的询问,很多人在催稿。今天给大家汇报一下当前的进展。顺便再说一个我的决定。 新书进展 现在这本书的整体文字内容都已经完工了,图片基本已经绘制完成了。 经过3次的修订,内容已经基本定稿了。现在已经交给排版公司进行排版了。 等排版好之后,还需要邀请一些大佬试读,让他们给些建议,如果觉得内容不错的,他们可能再给写个推荐语啥的。 我这面的工作主要还有两个: 1、写一个前言,这本书来之不易,真的有很多很多话想说。 2、还要绘制一个思维导图,作为折页随书附赠。 然后就可以开始审核上市了。如果一切顺利的话,可能在3月份和大家见面。 这本书主要是《Java 工程师成神之路》的基础篇部分,一共有23个章节,从面向对象开始讲,基本覆盖了 Java基础开发的所有核心内容。 这本书从最开始的28个章节,被我删减到了23个章节,其中有一些不太重要的内容,平时大家工作中很少用到的都被我果断砍掉了。现在全书共500多页,总字数有20万左右。 书中没有太多概念性的东西、也很少有长篇幅的代码,这些都被我删掉了。因为我自己看书的时候也不喜欢看这些东西。 已经精简到不能再少了,剩下的所有内容都是我认为的精华了。 这本书从开始写到现在,虽然才1年左右的时间,但是其中大部分内容,我从5年前就开始准备了。书中的一部分内容都是从我5年来博客中的干货文章衍生而来的。 可以说,这本书算是我耗时5年才完成的。我把所有的我能想到的,想要输出给大家,和这本书的内容范围相关的内容,全部都拿进来了。这其实也算是我5年经验的一个沉淀和总结。 我的决定 很多人问我写书赚不赚钱,我之前和朋友一起出过一本书,其实,写书一点都不赚钱,作者能拿到的稿费少的可怜。 这点收入和投入的时间相比,简直是九牛一毛。 但是不管怎么样,上市之后还是会有一定的收入,所以,我决定把这本书的稿费收入!全部!用于公益事业。 其实很久之前我就有过类似的想法,最初是和某一个机构讨论一起出一门课,我就和他们提过想把所有的收益用作公益。 但是因为一些原因,最后没有合作成功,但是这个想法一直在我心里,现在终于又有机会了。 所以,不管最后我能拿到多少钱,几千块钱也好,万一卖的好,几万块钱也说不准。不管最后有多少,我会把这笔钱以我的读者的名义全部捐出去。 具体捐到哪个方向我还现在没想好,到时候根据具体稿费的金额再定吧。 先吹个牛逼,万一实现了呢:我上网查了一下,捐一所希望小学至少需要50万,那么,这本书卖个10万册差不多就够了吧?
技术
# 程序人生
酷游
1月22日
0
3
0
2025-01-22
在阿里工作5年了,斗胆谈谈我认为的高级开发到底应该是怎样的?
之前有很多读者会经常问我类似的问题: 达到什么水品才能进阿里? 阿里的P6有哪些要求? 我想进阿里,我要准备什么? 这些问题我之前从来都是不回答的,因为我那个时候也不太知道标准答案是什么。 前几天,写了一篇《没想到,我都来阿里5年了》,总结了一下自己这五年的经历与成长。在这过去的5年里,真的经历了太多太多,我也从一个刚刚毕业的懵懂少年,成长成一个独当一面的技术专家了。也回过头思考了很多很多。 刚好现在自己在阿里待了5年了,前4年里经历了两次晋升,从P5到P7,算是大概了解了一些阿里对于人才的要求。 所以,今天斗胆来谈一谈我认为的阿里的人才观,试着回答一下这几个问题。 本文所有内容都是我的个人观点,所有言论仅代表我个人,不代表我供职的公司!!! 阿里的人才画像 其实最近两年自己一直在做面试官,也面试过很多优秀的人,心里大概有一个标准,知道什么样的人才是我们想要的人。 但是这个标准我一直都没有仔细的去思考过,刚好最近有时间,我好好的思考了一下,根据我的理解,谈一谈我认为的阿里的人才画像是怎样的。 我觉得阿里需要的人才大概需要具备这几方面的能力: 1、软件开发能力 2、架构设计能力 3、项目管理能力 4、线上运维能力 5、业务理解能力 6、学习能力 7、影响力 8、目标导向 以上,是我认为是一个P6需要具备的能力的几个方面,但是每个方面的能力并不一定要求非常出众,但是有些又很重要。 到阿里巴巴的招聘网站上,随便找几个P6的岗位,看一下岗位要求:   这些岗位描述和要求里面的内容,基本都能和以上几个能力对应的上: 负责平台核心功能、公共模块的规划及架构设计,包括系统架构设计、接口规范制定、技术文档、单元测试的编写等; —–> 架构设计能力 业务模型理解和抽象能力突出,参与科学决策、数字兴业、数字治理等相关系统的架构设计,承担核心模块的代码编写 。 —–> 架构设计能力 业务理解和建模能力突出,能独立完成系统(或核心模块)的设计、开发和系统维护;—–> 业务理解能力 扎实的Java/JEE知识基础和功底(重点包括包括JVM、类装载机制、多线程并发、IO、网络等),有比较优秀的动手能力;—–> 软件开发能力 扎实的Java编程基础,理解io、反射、多线程、集合等,清楚JVM的原理;—–> 软件开发能力 熟练掌握主流JAVA框架,并且能了解到它的原理和机制;熟悉MySQL/Oracle数据库中的一种或多种,有一定的SQL性能优化经验;—–> 软件开发能力 良好的面向对象设计能力,对互联网高并发、高可用和高复用有一定的理解和实践,熟悉分布式技术(包括缓存、消息系统、热部署、JMX等)优先; —–> 软件开发能力 具有比较强的问题分析和处理能力,有比较优秀的动手能力,热衷技术,精益求精; —–> 线上运维能力 有强烈的责任心,抗压能力强; —–> 目标导向 保障数字乡村业务系统的稳定性和项目质量,参与平台核心系统的架构设计。—–> 项目管理能力 业务理解和学习能力强,善于与商业/合作伙伴交流,有很好的适应和沟通能力,具备责任心、耐心、细心的品质;—–>业务理解能力 、学习能力 以上的岗位描述中,对于一些能力的描述都是使用了一些形容词或者程度副词,如突出的、扎实的、比较优秀的、熟悉、熟练掌握、比较强的、有强烈的、强、善于、很好的等。 那么,到底什么样算是优秀?做到什么程度又酸是扎实、熟练能?又要怎么做才能达到突出呢? 接下来我分别说说对于阿里的P6这个层级,以上这些能力大概需要达到什么样的标准。 软件开发能力 对于一个程序员来说,软件开发能力当然是一个最最基础的能力了,很多面试主要考察的也都是软件开发能力。 那么,到底需要掌握哪些知识,才能达到阿里的P6的标准呢? 在回答这个问题之前,我看了很多大厂的招聘要求,并且回顾了一下以往面试时自己对于候选人的要求,大概总结出一些我认为比较重要的知识点。 可以说,如果以下这些知识点,候选人不能完全掌握的话,面试挂掉的概率很大。 1、Java基础。这个是最最基本的,像集合类、IO、反射这些常见的内容一定要做到如数家珍。 2、并发编程。这个也是面试很看重的知识点,对于线程安全问题、相关关键字的用法及原理、并发包等知识也要掌握。 3、JVM相关。这部分几乎是面试必考!JVM内存结构、GC相关的、调优、类加载等等这些的原理都要有了解的。 4、框架相关。目前主流的一些框架一定要了解的,如Spring等开源框架, 要知道用法及重要特性的原理、 4、分布式相关。这是大厂比较看重的一点了,对于分布式理论知识、缓存、消息、RPC等工具的用法和原理有了解的话,面试会轻松很多。 5、高并发、高性能方面只是。这部分也是挺重要的。 6、数据库相关知识。如Mysql的一些知识、锁、隔离级别、事务、索引等等。 7、数据结构与算法。这部分很多公司喜欢问一些算法题。 那么,具体如何衡量自己的知识面和深度是否足够呢,有一个简单的办法,那就是打开我之前总结的《Java工程师成神之路》,从头到尾浏览一下知识点列表。如果你能满足以下要求,那么说明你已经基本达到了: 基础篇。掌握70% 底层篇。掌握60% 进阶篇。掌握50% 高级篇。掌握30% 那么,你的知识面的广度以及深度的话,我认为算是达到了一个相对符合标准的程度。 架构设计能力 很多人会认为,我只是一个做开发的,又不是架构师,为什么要求我有架构能力呢? 这一点其实也能理解,因为一个P6在公司内部的定位应该是一个系统或者一个域的Owner,他需要负责这个系统和这个域的系统设计,那么就需要具备一定的架构设计能力,这样才能设计出合理的系统。 要想设计出好的架构,我觉得需要几个方面: 1、了解常见的架构设计原则 2、对于常见的架构问题的解决方案有了解。 3、有一定的架构经验。 首先,架构原则,那么就需要掌握一些基本的原则,如单一职责原则、开放封闭原则、里氏替代原则、依赖倒置原则、接口分离原则等。还有一些理论,如破窗理论、康威定律、墨菲定律等等。 除此之外,还需要对于常见的架构问题的解决方案有了解,很多人觉得这个好像离开发很远,到底什么是架构问题的? 其实并不远,简单点说,分布式一致性问题、性能问题、高并发问题。这些都可以理解为是架构问题的,所以,需要掌握的就是一些分布式相关知识。如果你能把以下几个问题回答好,那么你算是对于这些问题有一定的理解了: 1、如何分布式系统的解决数据一致性问题 2、说一下想要设计一个高并发的秒杀系统,都需要做哪些事情? 项目管理能力 好像很多公司有专职的项目经理,但是在阿里的的大部分技术团队,都是不设立纯项目经理职位的,一般都是由项目组中的某位技术人员兼任项目经理角色,负责项目推进。 所以,一般一个小型项目,都会需要一个P6来担任项目经理的。那么相关管理的能力就至关重要了。一般需要可以作为负责人领导部门内跨团队的项目。 首先最基本的要求就是需要把控项目进度以及项目质量,这个就需要有很好的协调能力,可以在项目中很好的了解到成员的情况,适当的想办法解决合作的问题。 稍微高一点的要求,就是要求可以提前预知项目风险,并给出建设性建议。如果能够做到这一点的项目经理,就算是比较优秀的了。 还有一点我觉得也是比较重要的,那就是在项目管理中,如何协调业务方以及开发团队之间的矛盾问题,如何做到业务方满意,又让兄弟们不那么累。好的办法就是既要适当降低业务方的预期,又要提升兄弟们的战斗力。 还有一点,我觉得也挺重要的,那就是项目经理需要保护项目组好兄弟们,不要因为项目倒排就压榨兄弟们的时间,因为加班一方面会影响兄弟们的身体健康,另外加班加点上线的项目,一旦出了故障,还是需要兄弟们扛的。。。 线上运维能力 我之前看过一份调查报告,在雇主调查中,雇主们最希望程序员掌握的技能列表中,问题排查能力是排在前三名中的。 而问题排查就是线上运维的能力之一。 不要以为线上运维就是专职的运维人员的工作,其实不是的。还是那句话,P6的人是一个系统或者一个域的Owner,他是要对这个系统的所有情况都负责的。 从开发到上线再到后期运维,他都要完全掌握,要知道线上的正常水位是怎样的,什么指标是存在问题的。出了问题之后又如何排查,这些都是至关重要的技能。 关于这种部分,其实需要掌握的知识点并不是特别的多,主要有以下这些: 1、常见的Linux命令的使用 2、常见的服务器指标(Load、CPU、内存、GC情况等)的查看、问题排查 3、系统调优、性能调优、sql优化等技能 4、常见问题排查思路。如死锁问题、慢SQL问题、内存溢出问题、Load飙高问题等等。 业务理解能力 关于业务理解这部分,我之前单独写过一篇文章,里面其实阐述了我的观点,原文在这里:一条来自面试官的忠告:一定要非常熟悉你负责的业务 我在面试的时候,最开始都会问一下和业务有关的,如果候选人对于自己负责的业务都不是很理解的话,那么基本就很难过关了。 因为技术是服务于业务的,尤其是一个业务开发,如果自己做的业务都不了解,只是机械的完成自己负责的小功能的话,那么我不认为他是一个好的开发人员。 而且,我们希望一个达到高级开发的人,不只是一个只会做业务需求的人,达到这个层级的人,需要有自己的判断,先用嘴解决需求,不行的话再用代码解决。 我之前写过一篇文章,关于砍需求,大概阐述了一些我的观点:在家办公的我,砍需求砍得更狠了 一个好的P6应该是可以独立负责一个业务,并且分辨出需求的优先级,能够提出自己的意见。可以影响业务的走向的。 所以,针对大部分程序员来说,首先要理解业务,然后要尝试着提出自己意见,并且可以分辨出需求的优先级,并且敢于对不合理需求说不。 当然,在提出问题的和意见的时候,如果能够给出好的方案,那就更好了。大多数情况下,技术人员应该是整个项目组最了解业务的,毕竟代码是他写的。 学习能力 学习能力不用我说,大家一定都觉得他很重要,这是毋庸置疑的。 但是经过这么多面试下来,我发现,这个能力并不是所有人都具备的。 P6这个层级在阿里并不是一个很高的层级,还有很大的上升空间,所以,真的需要很强的学习能力才能不断的提升自己。 而且,我理解的学习能力,不仅仅是快速学会一个知识,而是可以在实际工作中运用他。 所以,我面试的时候,一般会通过以下几个问题考察候选人的学习能力: 1、你知道最新版的JDK是哪个版本么?新特性知道吗? 2、Java 8的lambda表达式用过吗? 3、最近在看什么技术书籍吗?有什么技术是你刚刚学会的吗? 所以,一个高级开发,是可以快速上手新的技术或者业务,可以独挡一面的。所谓独当一面,并不只是在自己熟悉的那一面可以独挡,而是换个面,你也可以快速的独挡起来! 影响力 影响力,这一点看起来很虚,但是确实也很重要的,这也是为什么很多招聘要求中会写”有开源项目经验优先”的一个原因之一。 从外面招人的话还不是特别的明显,阿里内部的晋升在影响力方面比较看重,因为提名晋升是要可以服众的,那么怎么让别人信服?那就是这个人有足够的影响力。 一般来说,对于一个P6的工程师来说,要求是要在自己的团队内部有一定的影响力,可以被团队内重视,一提到某个领域,大家第一个想到你。 提升影响力的方式有很多,比如经常帮助团队内同学解决技术问题、经常在团队内部做技术分享,经常分享技术文章等等。还有一些比如开源项目、专利、著作等也是很好的提升影响力的方式。 但是其实,影响力这东西,并不是刻意培养就能做得到的,这个是一个潜移默化的过程。真的做到可以正面的影响到别人,影响力就出来了。 目标导向 很多招聘都会说要求有钻研精神、责任心、抗压能力强等,很多人理解是要求能加班,但是其实这是对于候选人是不是目标导向的一个筛选。 对于P6来说,目标导向就是可以做到指哪打哪,交给你的工作,你可以全力的把他做好,无论遇到什么样的困难,都可以想办法去克服。 目标导向,还可以换成一个词,那就是要性,一个要性强的人,必然是目标导向的人。 我之前写够一篇文章,表达了一下我自己对于要性的理解:谈谈阿里所谓的”要性” “要性”就是代表着我不仅想做,我还一定要做成。 总结 以上,说了很多很多,我的一些理解。相信很多人会有不同的意见,这也是正常的,每个人的人才观都不太一样。 至少我面试的时候,招人的一个标准,就是和他聊下来之后,我觉得我可以和他很好的合作,可以把我认为重要的事情交给他的,那么他就可以通过我的面试了。 那么,如何在面试中给到我这种信任感,那就是让我觉得他技术能力不错,有一定的架构思维、有线上问题排查的能力、了解自己的业务、可以负责一个项目的管理、也能快速的学习一些新的知识。另外,如果可以让我感受到他是一个目标导向的人,并且有一定的影响力的话,那么我会更加愿意接受他。 以上,这8点,不仅仅是对P6这个层级的要求,其实不同的层级都适用,只是针对具体某一项,不同层级的要求不同而已。 当然,其实我并不觉得这只是阿里的要求,因为我只是在阿里当过面试官,所以我只能表达下我认为的阿里需要的人才是什么样的。 如果以后我去到其他公司了,或者自己创业了,那么我相信我招人的标准也一定还是这个。因为我始终认为,高级开发工程师,一定不仅仅是写代码的。 最后,希望我今天的文章可以让你找到一点方向。愿所有读者:长风破浪会有时,直挂云帆济沧海。
技术
# 程序人生
酷游
1月22日
0
15
0
2025-01-22
我以为我是后浪!
前几天,团队新入职了一个校招生,虽然是云入职,还没有正式见面,但是大家已经开始在钉钉群内欢迎新人了。 A同事:欢迎欢迎 (鼓掌)(鼓掌) B同事:@小鲜肉 哪年的? C同事: (鼓掌)(鼓掌)欢迎小鲜肉 @小鲜肉 小鲜肉:(笑哭)95年的呀 B同事:幸亏没有超我一轮,淡定了。 我:欢迎95后小鲜肉~ (原谅我不能发工作群聊天记录截图,只能用这种方式还原现场了,请大家自行脑补) 小鲜肉是95年的,算是我们组目前年纪最小的了。 在他入职之前,很多同事都会H哥这样称呼我,但是我确实是组内年纪最小的。这种情况从我入职到现在一直都是的。  因为我工作比较早,本科毕业就来工作了,参加工作的这几年,团队内部也来过很多新人,社招校招都有,但是大部分都是研究生毕业,所以年纪上也会比我大一些。 去年连续入职了3个同事(两个社招,一个校招),都是和我同一年本科毕业的,算是年纪相仿,但是最多也是和我同年生日,没有比我小。所以我一直都以团队的”年轻担当”自居。 其实之前也有带过年纪小的实习生,但是后来因为某些原因没有留下,所以也被我选择性忽略了。  几年过去了,自己也从一个小鲜肉,成长成了一个别人口中的”哥”,之前别人称呼我”哥”的时候我还有点小骄傲,感觉这是对我”年(chou)轻(bu)有(yao)为(lian)”的一种肯定。 但是,今后,恐怕我真的在年龄上成为一个哥哥了。 过去的这几年,感觉自己真的是成长的非常快,无论是技术上、还是…嗯、体重上。  还好我的头发目前还是浓密的,虽然每次洗头的时候都会有几根离我而去,但是至少还够撑场面。 现在入职的新人基本都是95后了,如果是本科生的话,甚至都有00后了。 前几天我还认为自己是个”后浪”,但是眼看着”更后浪”已经开始步入社会了,那么,我也不知不觉的变成了”中浪”、不我还是”青壮浪”…  所以,为了能在海洋中多奔涌一段时间,身体至关重要了,首先体重得减一下,然后要多锻炼~嗯,说干就干,先来撸个铁(谁说羊肉串的铁签子不是贴我就和他急)… 最后,我有几句话想和我的”后浪”们说: “放手去奔涌吧,前面的路我们已经尽量帮你趟平;只要我们还可以,就会尽量帮你们遮风挡雨。但是,你要尽快强大起来,要知道这个世界上本来就有风雨,终究有一天你不仅要独自面对,还要做别人的保护伞!” 那时候,我就可以在沙滩上看排球了~!相信我,我真的是喜欢球的! 
技术
# 程序人生
酷游
1月22日
0
20
0
2025-01-22
在家办公的我,砍需求砍得更狠了
最近全民开始了在家办公模式,目前看来这种模式还要持续很长的一段时间,至少要到3月份才能有可能回到公司办公了。 其实,在哪办公对于程序员来说其实差别并不是很大,无非就是在哪敲代码而已。 时间很快,从在家办公开始,一直想说点什么,但是一直都没落笔,现在已经两周多了,是时候写点什么了,这两周给我最大的感受有两点。 一、会议比以前多了 在家办公之后,每天都是各种电话会议、视频会议、语音会议等等。 在公司办公的时候,只有有一些大事,如需求评审、设计评审之类的才需要开会,还有就是项目晨会或者团队周会之类的。 但是在家办公之后,每天会被拉着参加各种会议,以下是我某一天的会议日程:  从早上9点,到晚上8点,一直都有会议,甚至有时候还有很多会议时间是重合的。 这时候就体现出在家办公的好处了,我就可以同时参加多个会议。钉钉视频会议开一个,手机电话会议开一个。不需要我的时候我就把我的麦禁掉。 比如有些会议,我只是负责把相关人员拉在一起,大家讨论下,最终得到一个结果,我发个邮件出来就好了。这种我就不需要发言,只需要听着就行了。 还有的一些会议,如技术方案评审之类的,可能会议中只有一小部分是和我相关的,那么我只需要再讨论这部分的时候开麦发言就好了。 如果是在公司开会,是不可能同时进行的,这反而大大提升了开会的效率。 二、砍需求砍得更狠了 我万万没想到在家办公带来的一个变化,也不知道是好是坏,那就是:我砍需求砍得更狠了! 相信很多一线开发人员都和我一样,每天都会接到各种各样的需求,而给我们提需求的人也是形形色色。 而各种奇葩需求更是让我们哭笑不得,但是大多数程序员在做过一些心理斗争之后都会想办法解决这个需求。 其实,所有需求都需要解决的,这没错,但是我还是给大家提一个建议:先用嘴解决需求,不行的话再用代码解决。 在家办公之后的这两周,我负责的一个项目目前正处于联调阶段,但是这个阶段还是会接到一些需求,这其中有些是产品经理提出来的需求变更、新增需求等,还有些是合作方技术提出来的有些技术需求,如要求接口同步、要求多一次系统交互、甚至要求ERROR_CODE的格式等等。 因为我负责的这个项目是个新产品上线,完全初期,要尽快上线接收用户检验,没必要一开始就搞的特别复杂。所以对于这些需求,目前的状态是能砍则砍,不能砍的先用最简单的方式先上去。 所以这两周来,我越发的发现我砍需求砍的原来越狠了,甚至有一次,我团队的另外一个同学问我一个单据的状态问题,我随口问了下问这个干什么,他说产品经理让他实现个小需求。 我了解下来之后,就拉他和产品经理一起开了个电话会议,然后动之以情,晓之以理,把”不合理”的地方都砍了,把”能优化”的也都优化了。 本来需要2-3个系统合作才能实现的一个查询功能,经过调整之后,变成只需要查询一个系统就可以实现。这既减少了系统交互、降低了风险,又减少了用户的理解成本。何乐而不为呢? 我始终认为,啥需求都接的程序员,一定不是个好程序员!但 有些需求,总要有人先站出来砍!就算最后没砍掉,我认为也是有好处的: 1、可以让我们理解这个需求背后的东西。之所以最终没砍掉,肯定是有很多原因在的,只有在讨论的过程中我们才能更多的理解这些背后的原因。否则最后可能只是你毫不情愿的实现了一个你认为”垃圾”的功能,但是实际上可能这个需求背后有一些你不理解的原因。如合规风险、法务风险等等。 2、表达一个我们的态度。我觉得,作为一个程序员,态度还是很重要的。比如有些恶心的或者需求,我们可以”迫于压力”去实现,但是我们还是有权利表达我们”不认可”的态度。而且这个表达的过程,也是你树立话语权的一个过程。 我砍需求有很多考虑,但是减少工作量绝对不是最重要的。最近几天砍需求,我大概总结了一下,用到的很简单的几个架构设计原则: 1、Keep It Simple , Stupid 2、Open/Closed Principle 3、Single Responsibility Principle 4、Minimize Coupling 5、Avoid Premature Optimization 简单点,无论是系统功能,还是系统代码,最怕的就是复杂。越复杂的功能用户越不喜欢,所以,如果一个功能很复杂,那大概率是个垃圾功能。 系统实现上面也是,如果一个功能,实现起来很复杂,那大概率会存在很多问题。而解决这些问题最好的办法就是提前减少复杂度。 除此之外,要明确知道系统边界以及系统关系,实现一个功能可能有100种方式,但是到底由谁来实现比较合适?如何才能降低系统间的耦合度?如何实现才有更强的可扩展性和可维护性?这些都是要考量的。 还有比较重要的一点,在初期,不要过早的做所谓的优化。记住:Done is Better than Perfect, 我们日常要接的需求中,有一些是业务需求,还有一些是技术需求。那么,有什么好的原则或者办法可以参考呢?到底哪些能砍,哪些不能砍?到底应该怎么砍呢? 关于这些问题,我后面会写一篇详细的方法论,结合我工作中的例子,论如何砍需求。大家如果有更好的建议,或者对这个话题感兴趣,可以给我留言,欢迎探讨! 愿这个世界没有需求变更!~
技术
# 程序人生
酷游
1月22日
0
5
0
1
2
...
7
下一页
易航博客