|
这是我对团队每个新进员工说的第一件事情。这句话的意思是,我并不关心你是如何快速完成任务的,哪怕代码很差,只要它像救生艇通气门一样管用就行。这句话也是我最喜欢的座右铭之一。
这个说法其实很合理:我们的工作是思考客户提出的问题,然后制定解决方案。思考第一,代码第二,公司请我们的最终目的不是写代码,而是想出解决方案。
话粗理不粗。
付你薪水不是让你来思考的,也不是让你来写代码的,你的目的是交付产品。如果不能交付有效的产品给客户,那么你的知识,技能,态度,以及所有能让人成为高效程序员的特性又有什么意义呢?!
没有客户会说:“嗯,如果能用空格代替tab键表示缩进,那代码将更具可读性。”也没有客户会要求我们使用单向散列存储的密码,事实上他们可能听都没听说过。没有客户会强求我们想出所有可能的架构和平台,然后择优选用。更加没有客户会问及他们的项目使用的是什么代码标准。
客户不在乎代码,也不在乎架构,更加不在乎整个系统是否臃肿不堪。他们想要的就是解决他们的问题。
真正的难点在于权衡以下这两个极端:我们的工作就是写代码,亦或是认为,代码和产品这两个条件永远无法同时满足。
下面让我们认识两位新手程序员——Sam和Ted。ps:如有雷同,纯属巧合。
Sam是一名从刚从当地一所大学毕业的新员工,是个标标准准的学霸。她的面试和FizzBuzz测试表现都非常出色,现在她正式开始她的第一天程序员生涯工作(被聘用了!)。你,作为项目负责人,指派给她第一个任务。因为她才刚开始,所以任务并不难,你(作为一名有经验的开发人员)觉得大概一小时时间就能搞定,不过,你基于保守估计,认为她可能需要用一天的时间。
最终她花了一个星期时间!从第二天开始,每次检查的时候,她都信誓旦旦地说一切进展顺利,代码会写得非常完美。最后终于完成了,果然如她所说的那样:代码完美得像艺术品。但是,请注意,她花了一个星期的时间才完成了这项本应该不超过一天的任务。
现在,来说说Ted。
Ted和Sam同一天被录用。他的面试也很顺利,尽管他完成问题的速度非常快。你也给了Ted一个相对简单的任务:大概需要一天时间。
但是他只花了一小时!在你中午的休息时间,Ted就噌噌噌跑过来交任务了——瞧那骄傲自得沾沾自喜的样子,仿佛在一个劲说“求表扬,求给赞!”但是一看他的代码,就只能呵呵了:很多复制粘贴来的代码片段,乱七八糟的函数命名,组织混乱,雾里看花的解释,等等等等,就像一锅大杂烩一样,你不认识我我也不认识你。
你的团队更属意谁呢,Sam还是Ted?都不是。这两个实际上都不能提供真正的产品?他们一样糟糕:一个思考得太多,另一个则思考得太少。
所以,谨记这一点,付你薪水不仅仅是让你来写代码的,也不是仅仅只需要思考,你还需要开发出能够解决问题的产品。
对此,你的看法呢?欢迎各抒己见。
免费领取LAMP兄弟连原创php教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net
|
0
0
相关文章
告别邮件营销难题:使用drewm/mailchimp-api轻松集成Mailchimp
告别繁琐的异步操作:Guzzle Promises 的高效实践
编写高质量的测试
php有哪些锁
Discuz改名道具操作指南!让你改名如虎添翼!
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
《Golang 实际项目案例:从需求到上线》以真实业务场景为主线,完整覆盖需求分析、架构设计、模块拆分、编码实现、性能优化与部署上线全过程,强调工程规范与实践决策,帮助开发者打通从技术实现到系统交付的关键路径,提升独立完成 Go 项目的综合能力。
2
2026.02.26
《Golang Web 开发路线:构建高效后端服务》围绕 Go 在后端领域的工程实践,系统讲解 Web 框架选型、路由设计、中间件机制、数据库访问与接口规范,结合高并发与可维护性思维,逐步构建稳定、高性能、易扩展的后端服务体系,帮助开发者形成完整的 Go Web 架构能力。
3
2026.02.26
《Golang 并发编程专题:掌握多核时代的核心技能》系统讲解 Go 在并发领域的设计哲学与实践方法,深入剖析 goroutine、channel、调度模型与并发安全机制,结合真实场景与性能思维,帮助开发者构建高吞吐、低延迟、可扩展的并发程序,全面提升多核时代的工程能力。
5
2026.02.26
本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。
356
2026.02.25
本专题系统整理Steam官网最新可用入口,涵盖网页版登录地址、新用户注册流程、账号登录方法及官方游戏商店访问说明,帮助新手玩家快速进入Steam平台,完成注册登录并管理个人游戏库。
78
2026.02.25
本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。
35
2026.02.25
本专题聚焦 Python 在数据工程场景下的实际应用,系统讲解 ETL 流程设计、数据抽取与清洗、批处理与增量处理方案,以及数据质量校验与异常处理机制。通过构建完整的数据处理流水线案例,帮助开发者掌握数据工程中的性能优化思路与工程化规范,为后续数据分析与机器学习提供稳定可靠的数据基础。
14
2026.02.25
本专题围绕 Java 在复杂业务系统中的建模与架构设计展开,深入讲解领域驱动设计(DDD)的核心思想与落地实践。内容涵盖领域划分、聚合根设计、限界上下文、领域事件、贫血模型与充血模型对比,并结合实际业务案例,讲解如何在 Spring 体系中实现可演进的领域模型架构,帮助开发者应对复杂业务带来的系统演化挑战。
5
2026.02.25
《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。
19
2026.02.24
热门下载
相关下载
精品课程
最新文章
