其实想说这句话很久了
,和很多同事接触
,有时候或多或少的都会发现大家会陷入在自己的一亩三分地里面
.
主要表现得症状
1.
PD的需求就是目标,踏实的实现,不懂的就猜。
2.
经验盖过一切,设计系统就是要够完备够复杂。
从
开发人员角度来看,第一种人多半比较有自己的想法,同时也有不少的工作经验,同时可能对技术比较着迷。另一种人多半是刚刚工作或者经验不足,要么就是习惯
性把工作当任务,而不是爱好,写程序也就是一份赚钱的活。但看起来其实各自都在自己的一亩三分地上捣鼓,忘记了作为一个开发人员最基本的原则:“满足客户
需求”。
先说
1类型吧,在我们的
Team有一个刚毕业一年多的同学,很勤奋,不论从学习以及工作,实实在在,踏踏实实。我们这边来需求,通常大需求我们都会全体过一下,一些小点的需求他就自己考虑一下就作了。那天正要上线,突然说了一下设计修改的内容,发现不仅满足不了
PD原有的需求,而且给系统带来了缓存暴增的隐患。然后找来
PD一谈,其实他要的功能已经在现有系统中已经实现,只是需要做部分的修改,而不需要新的去建立一套机制。这样的情况其实在前前后后出现了不少次数了,但其实一直没有和他细谈。后来我下班时候和他一起回家的时候说:“很多时候,
PD为了让你理解,从开发的角度想要去描述一个需求,但其实最终失去了他自己想要的东西。因此对你来说第一步不是急忙的去考虑如何实现
PD的
想法或者和他争论他的设计是否合理,而是需要先问他:你想要什么,想要实现的东西最终目的是什么,能满足客户的什么需求?当他能够说清楚他想要什么,也知
道要的东西能给客户带来什么价值的时候,我们再回过头来看,究竟应该怎么做?”这其实和我每次和同学分享一些设计的时候步骤是一样的,首先为什么要这么
做,然后才是考虑如何从我的目标去寻找行动的方法方式,不然你会发现你和别人讨论了许久的东西,实现出来的时候已经背离了你的目标很远。因此在做任何需求
或者设计的时候第一个问题就要问自己为什么要做,作的过程中时刻要记得我的目标是什么。这让我想起了我在离开阿软的那些日子和王坚博士谈话以及听他的一些
对于设计的理念,很多时候还没有到规模化的情况下,先解决客户的需求,在解决客户需求以后,逐步的去考虑规模化问题的设计。(当然不是说第一版设计就可以
随便作,良好的基础能够提升后续改进的速度)。
二类型的就比较多了,其实是很多开发人员的通病,包括有时候我自己也会陷入这样的误区。通常情况下有两种场景会陷入这样的误区,同时当事人却又不愿意改变。第一种情况就是觉得自己有不少的经验,同时对技术很执着,希望设计出来的都是很完美的,一次发布就可以满足个
1,
2年,
但其实从这些年的设计角度来看,首先系统都是不断迭代进化的,因此一步到位的说法基本上不靠谱(除非就是一模一样的场景代码重复使用),其次系统的架构要
做的足够灵活,通常情况就需要先做核心功能,预留出足够的空间和切入点,这样对未来扩展和需求变化有足够的适应度。从这两点来看,其实设计初期就是要求找
到客户最想要的,扩展可以实现客户可能要的,防范客户没有估量到的。但这其实就需要和我们的产品设计师有充分的交流,好的产品设计师不会告诉你你怎么去实
现,但是他会告诉你我想要的是什么,这些能给客户带来什么,这时候你可以告诉他我能够通过什么方式来满足你的需求。这样的开发和产品设计交流的结果才是技
术化的产品,大家各司其职,同时也通晓对方领域的一些情况,对对方领域的只能给出建议,不是指导,这点在
TOP我
很庆幸有很好的黑羽同学,我们的交流就是这样产生良性互动。这有点撤远了,刚才说了第一种场景,然后说说第二种场景,就是初期其实大家都没有明确细节,但
是在实施过程中开发人员会根据自己的接触面来选择一些技术和架构设计,最后看起来很复杂,很完美,但其实越是复杂的设计背后有越多的隐患。但是此时因为已
经设计好了,就不愿意再去简化,也不愿意听任何人的意见,其实这是很危险的。我过去也犯过类似的错误,但是其实当你冷静下来,想想那句话,我们的目标是什
么:“满足客户需求”,这时候你就会考虑,这么复杂的系统会不会给客户带来更多的不稳定以及复杂度,其实客户不关心你背后如何实现的,但是你需要满足客户
的最基本的需求,用起来方便,高效,实实在在提供了解决问题的手段。
今
天下午面试了一个外部的同学,工作年限比我长,看了简历也经历了很多项目,同时在描述的时候写了对高并发,分布式等等都很熟悉和热衷,我开始看了简历就担
心,可能我这边不一定要他,因为我怕他开口就是说一大堆如何做高并发和分布式的内容。在我看来如果你没有搞清楚你什么时候要用牛刀,什么时候要用剪刀的
人,和你谈论牛刀的构造其实没啥意思,因为在我看来,技术只要你肯花时间去学,没什么学不到的,但是做事方式和项目设计经验却是长时间积累的。幸好今天和
他一谈,他对于技术的态度以及架构设计的思想都和我想的比较接近,不是为了技术而技术,不是为了过程而过程,了解如何从简如繁,再从繁入简,最终能够找到
自己的目标。当然后来还是谈了很多技术细节的问题,毕竟干活还是要一个好手,作了那么多年如果没有经验和技术积累也是很可怕的事情。最后我问了他两个问
题:
1.你学习一个新技术的过程是怎么样的?
2.你
和你同事如果在设计方案上有冲突你怎么解决?他告诉我他学习新技术首先会去考虑这个技术的特点是什么,和其他技术的差别,他的擅长领域是什么,这样才能够
用到实处。第二个问题他和我说就是开会讨论,最后大家群体决定。我对他第一个问题感到很满意,因为我就需要这样的同事,第二个问题我给了他一个建议,其实
在很多时候,将别人的架构设计的优点融入到自己的设计中,不再以方案作为边界,那么大家最终就很容易达成一致,因为你在接受别人的思想时其实能够看到自己
的不足,同时对待别人不是用否定的态度,会让你更容易得到认可和接受。(这点作起来需要不断的改变程序员自身的好胜个性,我起码还是出于变化中
…)
我记得我小时候上政治课的时候,老师给我们划分了三种人:有能力但是没有道德的人是危险的人,没有能力但是有道德的人是对社会无害的人(觉得像葛优说的那个对社会无害的海龟一个概念),有能力同时也有道德的人是对社会有益的人。我觉得其实程序员也就可以从两个纬度看:
1.
有能力,有经验,对技术有追求。
2.
对产品化和客户没有任何感觉。
拥有了素质
1但是没有素质
2,那么最多也就只能说是试验室的花朵,在大学搞搞研究还不错,实际要做出产品来可能就是纸上谈兵,好钢始终用不到刀刃上,有力没地使。
素质
1有所欠缺,素质
2很明晰,对自己目标不断追求,其实这样的人,有时候笨鸟也会飞的比聪明的鸟更高。
拥有
1,
2的人,当然就是最好的人,只需要学会做人那么就可以发挥自己的能量。(程序员有时候就是很难改变自己的个性,去学会如何沟通和理解)
最后一类就是自以为有
1和
2的人,这类人最怕就是面试的时候被考官通过,那么后续的问题就大了。
说
了怎么多,其实也无非想说出一个程序员这些年的经历,从做开发到做基础平台,到做业务平台,该怎么踏实做事,该在什么时候找到自己的瓶颈,该在什么时候改
变自己的状态,都需要自己好好的让自己冷静下来想想。做基础平台需要耐得住寂寞,同时也要知道自己是有客户的,服务不好客户,那么基础组件平台就是玩具。
做业务平台需要学会去分析和沟通,需要去了解每一个层次的设计如何协作,同时在兼顾业务需求的同时满足隐性需求(稳定性,可用性,响应速度,规模化等
等)。但归根到底,能给开发人员不断能量的不是技术本身,而是你用技术给你的客户带来的价值,对你的认可是长期做事的一个最基本的动力,因为当你现在觉得
纯做技术能够支持你不断向前走的时候,其实在不远的将来你会体会到原来过程和目标是同样重要的。走出自己的一亩三分地,给自己多一点的空间,会让自己看得
更远,走的更高。
分享到:
相关推荐
数据集介绍:神经元细胞核检测数据集 一、基础信息 数据集名称:神经元细胞核检测数据集 图片数量: - 训练集:16,353张 - 测试集:963张 分类类别: - Neuron(神经元细胞核):中枢神经系统的基本功能单位,检测其形态特征对神经科学研究具有重要意义。 标注格式: - YOLO格式,包含边界框坐标及类别标签,适用于目标检测任务 - 数据来源于显微镜成像,覆盖多种细胞分布形态和成像条件 二、适用场景 神经科学研究: 支持构建神经元定位分析工具,助力脑科学研究和神经系统疾病机理探索 医学影像分析: 适用于开发自动化细胞核检测系统,辅助病理诊断和细胞计数任务 AI辅助诊断工具开发: 可用于训练检测神经元退行性病变的模型,支持阿尔茨海默症等神经疾病的早期筛查 生物教育及研究: 提供标准化的神经元检测数据,适用于高校生物学实验室和科研机构的教学实验 三、数据集优势 大规模训练样本: 包含超1.6万张训练图像,充分覆盖细胞核的多样分布状态,支持模型深度学习 精准定位标注: 所有标注框均严格贴合细胞核边缘,确保目标检测模型的训练精度 任务适配性强: 原生YOLO格式可直接应用于主流检测框架(YOLOv5/v7/v8等),支持快速模型迭代 生物学特性突出: 专注神经元细胞核的形态特征,包含密集分布、重叠细胞等真实生物场景样本 跨领域应用潜力: 检测结果可延伸应用于细胞计数、病理分析、药物研发等多个生物医学领域
剪切散斑干涉条纹图像处理技术研究进展.pdf
软考初级程序员相关文档
ATB2012-75011-T00-射频组件-中文数据手册
内容概要:本文详细介绍了光伏储能系统中三相PQ恒功率并网控制策略的仿真研究。主要内容涵盖网侧PQ恒功率控制、储能系统的双闭环控制策略以及光伏Boost模型的构建。网侧控制采用PQ恒功率控制,确保系统在各种负载条件下维持恒定功率输出,减少电能损失和电网能耗。储能控制部分,通过直流母线电压外环和电池电流内环的双闭环控制策略,实现了对系统输出电压和电池充放电电流的精确控制。光伏Boost模型则基于经典MPPT算法(如扰动观察法),确保在功率等级相似情况下仅需调整光伏模块即可满足需求。文中还展示了使用MATLAB等工具进行仿真的示例代码,评估不同控制策略的效果。 适合人群:从事电力系统、新能源技术和自动化控制领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解光伏储能系统控制策略及其仿真方法的专业人士,帮助他们掌握最新的技术进展和应用实例。 其他说明:文章引用了相关文献,提供了丰富的理论基础和实践经验,有助于进一步研究和探讨光伏储能技术的发展趋势和应用前景。
毕业设计-分享送红包 3.0.1-整站商业源码.zip
毕业设计-互联网加共享农业V1.3.6 小程序前端+后端-整站商业源码.zip
内容概要:本文探讨了在Matlab/Simulink环境下,针对双馈风机风电场的一次调频方法,特别是虚拟惯性惯量控制和下垂控制的应用。文中介绍了这两种控制策略的具体实现方式及其在三机九节点系统中的应用,同时讨论了同步机、火电和水电机组的调频机制。此外,文章强调了Phasor模型在提高仿真速度方面的作用,使得仿真时间缩短至仅需20秒。 适合人群:从事风力发电、电力系统自动化及相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解风电调频技术的研究人员,旨在提供一种高效、快速的仿真工具,以便更好地理解和优化风电场的调频性能。 其他说明:文章不仅提供了理论解释,还包括具体的Matlab/Simulink代码片段,便于读者实际操作和验证。
内容概要:本文介绍了PID控制器在智能建筑温度控制中的应用,特别是通过MATLAB的Simulink工具进行仿真的过程。首先阐述了PID控制器的基本原理及其优点,接着详细描述了如何在Simulink中建立PID控制模型并调整相关参数,最后展示了具体的MATLAB代码示例以及仿真结果。文章强调了PID控制器在提高温度控制精度方面的重要性和广泛应用前景。 适合人群:对自动化控制理论感兴趣的学生和技术爱好者,尤其是那些希望深入了解PID控制器工作原理及其在实际工程中应用的人群。 使用场景及目标:适用于想要学习如何使用MATLAB/Simulink进行控制系统仿真的初学者或者有一定经验的研发人员,旨在帮助他们掌握PID控制器的设计与实现技巧。 其他说明:文中提供的示例代码可以帮助读者更快地上手操作,同时鼓励读者尝试不同的参数配置以优化控制性能。此外,还提到了PID控制器在未来可能的发展方向和应用场景。
内容概要:报告详细分析了空间智能的发展现状与未来趋势,涵盖自动驾驶、3D生成、具身智能、扩展现实(XR)和世界模型五大领域。自动驾驶凭借庞大的车队数据积累和成熟的数据闭环机制,成为目前最成熟的空间智能应用,正逐步从模仿学习转向强化学习。3D生成技术处于快速发展阶段,主要瓶颈在于寻找具有良好扩展性的3D数据表征方式。具身智能虽然潜力巨大,但整体成熟度较低,数据积累、算法和硬件方面均处于早期探索阶段。XR作为新的信息交互方式,其硬件基础逐渐成熟,未来将推动更多3D原生内容和应用生态的繁荣。世界模型则是空间智能发展的终极目标,它通过构建对现实世界的内部表征,实现对未来状态的预测和行动后果的推理。 适合人群:对空间智能领域感兴趣的科技从业者、研究人员、投资者及相关政策制定者。 使用场景及目标:①了解空间智能各细分领域的技术进展、挑战和发展趋势;②评估投资机会和技术合作方向;③为政策制定提供参考依据。 其他说明:报告强调了数据体系成熟度是观察空间智能进展的关键指标,包括数据积累、数据构成、数据分布和数据闭环四部分。此外,报告还指出,随着3D和物理AI数据体系的进一步成熟,空间智能将迎来爆发式增长。
内容概要:本文详细介绍了基于粒子群优化算法(PSO)的永磁同步电机(PMSM)参数辨识方法。文章从引言部分阐述了PMSM的重要性和参数辨识的需求出发,逐步深入到具体的算法流程,包括粒子群的初始化、速度和位置的更新及其边界处理、自适应变异、约束条件判断以及适应度计算与比较。通过多次迭代,最终确定最优的电机参数组合。文中还讨论了实际应用中的调整技巧和未来的研究方向。 适合人群:从事电机控制、自动化工程及相关领域的研究人员和技术人员。 使用场景及目标:适用于需要对永磁同步电机进行高精度参数辨识的场合,如工业自动化设备、电动汽车等领域。目标是提升电机控制系统的性能,确保系统稳定运行。 其他说明:本文不仅提供了理论依据,还结合了大量实验数据验证了该方法的有效性,为后续研究奠定了坚实的基础。
数据集介绍:多环境动物及人类活动目标检测数据集 一、基础信息 数据集名称:多环境动物及人类活动目标检测数据集 图片数量: - 训练集:12,599张图片 - 验证集:1,214张图片 - 测试集:607张图片 总计:14,420张图片 分类类别: - bear(熊): 森林生态系统的顶级掠食者 - bird(鸟类): 涵盖多种飞行及陆栖鸟类 - cougar(美洲狮): 山地生态关键物种 - person(人类): 自然环境与人类活动交互场景 - truck(卡车): 工业及运输场景的车辆目标 - ungulate(有蹄类动物): 包括鹿、羊等草食性哺乳动物 - wolf(狼): 群体性捕食动物代表 标注格式: YOLO格式标注,包含归一化坐标的边界框及类别标签,可直接适配YOLOv5/v7/v8等主流检测框架。 数据特性: 涵盖航拍、地面监控等多视角数据,包含昼夜不同光照条件及复杂背景场景。 二、适用场景 野生动物保护监测: 支持构建自动识别森林/草原生态系统中濒危物种的监测系统,用于种群数量统计和栖息地研究。 农业与畜牧业管理: 检测农场周边的捕食动物(如狼、美洲狮),及时预警牲畜安全风险。 智能交通系统: 识别道路周边野生动物与运输车辆,为自动驾驶系统提供碰撞预警数据支持。 生态研究数据库: 提供7类典型生物与人类活动目标的标注数据,支撑生物多样性分析与人类活动影响研究。 安防监控增强: 适用于自然保护区监控系统,同时检测可疑人员(person)与车辆(truck)的非法闯入。 三、数据集优势 多场景覆盖: 包含森林、公路、山地等多类型场景,覆盖从独居动物(cougar)到群体生物(wolf)的检测需求。 类别平衡设计: 7个类别经专业数据采样,避免长尾分布问题,包含: - 3类哺乳动物捕食者(bear/cougar/wolf) - 2类环境指示物种(bird/ung
基于实体知识推理的端到端任务型对话.pdf
基于SSM的酒店管理系统源码+数据库文件.zip,该项目已高分通过。适用于计算机专业学生毕设及Java学习者实战练习,也可用于课程设计或期末大作业。包含项目源码、数据库脚本、软件工具及说明文档等,可直接使用。后台管理功能包括:会员信息管理(显示和删除)、客房信息管理(添加/删除客房类型和客房,编辑客房信息,未实现评论管理)、预订信息管理和入住信息管理(添加入住信息,结账后删除)。用户端主要功能有登录注册、客房预订及查看/编写评论。。内容来源于网络分享,如有侵权请联系我删除。
毕业设计-灵石AI识别大全V3.0.0 小程序前端+后端-整站商业源码.zip
CTF(Capture The Flag)竞赛中的Misc(杂项)类别题目涉及多种技术领域,包括隐写术、编码、取证、流量分析等。其中,图片隐写是CTF-Misc中常见且重要的题型之一。本文将重点介绍CTF-Misc中图片隐写技术的学习资料、操作应用以及实战项目。CTF-Misc中的图片隐写技术是竞赛中的重要题型。通过学习图片隐写的原理、操作应用以及实战项目,可以提升在CTF竞赛中的解题能力。掌握常见的隐写工具,并结合实战案例进行练习,是提高CTF-MISC技能的有效方法。
软考初级程序员相关文档
毕业设计-仿花生日记官网源码-整站商业源码.zip
微波精密固定衰减器-中文数据手册
本项目包含YOLOv5安全帽检测代码、训练好的安全帽模型、权重、数据集和使用教程,是一个98分的毕业设计系统。主要面向计算机相关专业正在做毕设的学生及需要实战练习的学习者,也可用作课程设计或期末大作业,内容涵盖项目源码和说明等资料。该项目经过严格调试,确保可以运行并直接用于毕设。。内容来源于网络分享,如有侵权请联系我删除。