阅读更多

4顶
0踩

非技术

转载新闻 创业前需要知道的5个编程谬论

2015-03-06 11:03 by 副主编 mengyidan1988 评论(2) 有4448人浏览
我是一名黑客。在我还就膝盖那么高的时候就开始用一台古老的Commodore 64写代码了。直到今天,也没有什么比戴上耳机,破解东西更让我着魔的了。所以在我创建我的第一家企业时,我就已经知道了很多有关于编程的事情。是不是谬论,且听我下面一一道来:



1.代码很重要

我在很多地方工作过,发现成功之中隐藏着这样一种普遍现象:早期的代码看上去像是一群程序猿喝醉之后写的。这听上去似乎有悖常理,那是因为你得竭尽全力让企业成长,所以就没有时间去追求软件的完美。从另一方面讲,失败的企业,却会花很多很多时间来修正其代码库。

打个比方:如果你是一个寿司师傅。作为你工作的一部分,你收集了一套绝版的刀具。你花时间花精力来完成收藏,它们提升了你作为一名厨师的竞争力。

但无论你每天用多少时间去打磨你的道具,你就不是一个铁匠。你的工作依然是做寿司。你虽然拥有了世界上最好的刀具,但如果做不好寿司,那么你的客户服务就是差评。你的餐馆生意永远不会成功。

软件也是同样的道理。当你运营公司的时候,你的业务目的是满足客户。代码只是一个能达到目的的工具,它本身并不是目的。你可以,也应当关心你的代码,因为这能有助于提升客户服务。但是,如果错将工具当作了目标,那么注定你将一败涂地。

经验教训:你的客户并不关心什么测试覆盖率、技术堆栈,版本控制系统,也不在乎你使用了什么算法。你的工作就是解决客户的问题,越方便越好。
2. …关注实现,而不是点子。

这听起来似乎违背了传统的创业须知:快速发布!执行!迭代!执行,不需要创意!快速失败!

上面这些都是伟大的忠告。但是,“不需要创意”,并不意味着我们能通过卓越的执行矫正一个糟糕的点子。成功就是发现好的问题,再好好地解决这个问题。所以,点子好却没有好好实现或者完美实现了一个坏点子,都是不行的,当然前者还有得救。

很多程序员被困实现的死亡漩涡中,花了大量的时间去创建各种功能或者修复bug,相信再添一个功能就能成功。我告诉你,这是错觉。你只需要解决了某个重要的问题,否则你这样不断为产品添加功能根本是没有意义的,除非你添加的功能确实能解决需要的。

点子好却没有好好实现,总比完美实现了一个坏点子要好。
经验教训:如果你添加的功能是用来修复一个失败的产品,那么最好先问问自己这能不能真正地解决问题。
3. ……代码是写给计算机的

我总是想不通为什么这一错误会如此之历久弥坚。无论程序员是第几次因为同事的糟糕文档和沟通习惯而陷入困境,他们因此而得出的结论往往还是——程序员天生不擅长这类事情,也不应该做做这些事情。

大错特错啊。

如果你是一个团队的一部分,那么提升团队效率最大的一个障碍就是沟通——这不是夸张,团队面对的是O(n2)问题。如果代码是你的主要输出,那么你需要改变你对编程的看法:代码是写给人看的,然后又刚好能在计算机上运行。

很多时候,我看到程序员花了几个小时孜孜不倦地写代码,但是却省略了用于更新代码文档的十分钟。这是因为他们觉得:“杀鸡焉用宰牛刀,这种事情留给以后的人就行了,我的时间宝贵着呢。”从某种意义上讲,他们的想法荒谬至极。

经验教训:代码是写给人看的。没文档就不要写代码。
4. …这是代码编写的最后一步了。

你是不是认为,一旦你写完这个功能,投入产品,那就大功告成了?错了。每一个功能都有一个生命周期。你今天写的代码,如果成功,那么将会在你之后的多代程序员中耀武扬威。可能,就为了照料你今天写的代码,而不得不成立一个团队。

好好想一想。如果你的工作就是为了照料别人写的代码,你愿不愿意?

解决问题的关键是要有危机意思:写完第一个版本,并不意味着代码的完结。务必做好文档、注释、整理等工作。

经验教训:己所不欲,勿施于人。
5. …程序员的工作就是写代码

大多数的程序员认为利用时间的最佳方式是坐在电脑前,戴上耳机敲代码。但是,如果你写的每行代码都必须维护和支持整个产品的生命周期,那么算法就又有所不同了。



当你是因为爱好写代码的时候,那么你可以为所欲为,做任何你喜欢做的事情。但是如果你是在一个团队中生产产品,那么你的首要义务变成了维护现有的代码。其他的重要工作为:协调、沟通、规划和指导。

经验教训:程序员的工作是解决问题。指的并不总是写代码。

你不仅是程序员,也是产品经理。

有时候,你可能会想:这事情听起来像是产品经理的工作,而不是程序员的。但是,如果你拿的是写代码的薪水——尤其是在初创企业——那么把自己当成是产品经理吧。如果你也希望产品能获得成功,那么从大局出发是至关重要的。这不仅有利于你的初创企业,对你将来的事业发展也很有好处。

最后,如果各位什么不同见解,欢迎不吝赐教。

英文来自:Five Things I Knew About Programming Before I Did a Startup
译文来自:码农网
  • 大小: 170.2 KB
  • 大小: 62.2 KB
来自: 码农网
4
0
评论 共 2 条 请登录后发表评论
2 楼 vb2005xu 2015-03-09 18:26
好赞的样子啊
1 楼 zhq445715893 2015-03-09 09:31

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 创业前需要知道的5个编程谬论(转)

    1.代码很重要 (功能和代码质量的关系。应该是功能满足的情况下,代码质量也需提升,如果建议3,4)我在很多地方工作过,发现成功之中隐藏着这样一种普遍... 打个比方:如果你是一个寿司师傅。作为你工作的一部...

  • 五个编程谬论

    1. 代码很重要 我在很多地方工作过,发现成功之中隐藏着这样一种普遍现象:...打个比方:如果你是一个寿司师傅。作为你工作的一部分,你收集了一套绝版的刀具。你花时间花精力来完成收藏,它们提升了你作为一名厨师的

  • 这五个编程谬论值得大家注意

    所以在我创建我的第一家企业时,我就已经知道了很多有关于编程的事情。是不是谬论,且听我下面一一道来: 1.代码很重要 我在很多地方工作过,发现成功之中隐藏着这样一种普遍现象:早期的代码看上去像是一群程序猿.....

  • 开发者必知的五大编程谬论

    关于开发者的一些谬论,笔者看到一篇文章,认为还不错,就像分享给大家,希望可以对大家有所帮助。 ...在我还就膝盖那么高的时候就开始用一台古老的...所以在我创建我的第一家企业时,我就已经知道了很多有关于编程

  • 作为一个开发者,我创业了

    同学去点“注销”,我拦住了,因为我不知道点了这个按钮之后会发生什么,生怕“注销”会把老师的课件都删了。因此我建议重启电脑。同学没管我,坚决点了下去。这我才知道注销是切换用户。 虽然人类是高级动物,毕竟...

  • 关于Java性能的9个谬论

    Java的性能有某种黑魔法之称。部分原因在于Java平台非常复杂,很多情况下问题难以定位。...关于Java的性能有很多谬论,这一条是最过时的,可能也是最为明显的。 确实,在上世纪90年代和本世纪初处,Java有时是很慢。

  • 推翻谬论 程序员至少能做到五十岁!

    引言 总是不断地在论坛、博客乃至报刊、杂志上看到...这个观点对整个产业影响不小,然而,我似乎无法为“不能干到30之后”这个论点找到充分的论据。反之,我觉得做程序员至少可以做到五十岁。 首先声明一点:本人已经

  • 创业一年半项目经验分享

    2017年9月从上家公司离职到现在,足足有1年半了,现在我把这...创业,九死一生,别说能不能赚钱,能把项目做出来上线已经不错了。所以没有背水一战的决心,真别趟这塘浑水。虽然自个儿做项目很自由,但要做好与孤...

  • 做了三年前端开发后,我选择回家创业

    导读:大家都在说程序员,出路在哪里,有选择改行的,有回家做三农的,有创业的。今天的主角就是做了几年前端开发后, 选择创业。 2017年9月从上家公司离职到现在,足足有1年半了,现在我把这一年半摸爬滚打总结出来...

  • 基于SpringBoot+Vue的“智慧食堂”设计与实现(Java毕业设计,包括源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

  • 历届奥运会奖牌数据(1896-2024年).xlsx

    本次分享的数据为1896年-2024年(从雅典到巴黎)间奥运会奖牌数据,包括年份、届次、国家地区、名次、金牌、银牌、铜牌等数据,含免费下载链接 ## 一、数据介绍 数据名称:历届奥运会奖牌数据 数据范围:世界各国 样本数量:1877条 数据年份:1896年-2024年 数据说明:包括届次、国家、名次等数据

  • 基于SpringBoot+Vue的实习管理系统(Java毕业设计,包括源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

  • 【人机交互】MATLAB直车道线检测.zip

    【人机交互】MATLAB直车道线检测

  • 基于SSM+JSP的KTV点歌系统+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 基于SSM+JSP的课程在线教育资源管理系统(1)+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 2023年计算机硬件的组装实验报告.pdf

    2023年计算机硬件的组装实验报告.pdf

  • springboot大学生租房系统 LW PPT.zip

    ava项目springboot基于springboot的课程设计,包含源码+数据库+毕业论文

  • Flutter分析:带有质量平衡部分机翼的MATLAB计算(含Elastic轴与中心对齐)

    内容概要:本文档主要针对含有质量平衡段(即弹性轴和重心重合点xa=0)的硬翼Flutter问题提供了MATLAB解决方案。文档通过迭代的方式对一系列参数(如频率比(fr)、弹性轴(E)和半径(r)等)进行操作,并利用贝塞尔函数(Kn)来评估flutter速度(UFhat),从而预测了不同质比(mu)下flutter的缩减速度变化情况。同时,文档包含了绘图命令以视觉展示减小颤振速度随质量比变化的趋势以及相应的MATLAB代码。 适合人群:航空工程、飞行器动力学领域的科研工作者,工程师及研究生。尤其是那些从事飞行安全性和稳定性研究的专业人士。 使用场景及目标:主要用于解决飞行器设计过程中遇到的具体颤振问题,能够为设计新型飞机或其他有翼飞行物体提供科学依据和技术支持。它还能够辅助教育,帮助相关专业的学生理解flutter现象及其预防措施。 其他说明:此文件是以数值方法探讨带质量平衡的翅膀颤振特性的实例,在工程上有着重要意义。对于希望深入学习此类问题的人来说,这是一个极好的参考资料和实验平台。然而,实际应用还需要进一步考虑真实条件下的复杂因素,因此需要更多的专业知识和背景资料的支持。

Global site tag (gtag.js) - Google Analytics