为什么程序员的开发项目总是半途而废?

程序员为什么热衷造轮子 “程序员为什么喜欢造轮子”,这是个老生常谈的话题,不过,里面还是有很多道道儿哈 阅读详情

很多程序员的项目常常半途而废。他们有那么多的好点子,但是很多都流于空想。几乎每一个软件开发者都有一个这样的文件夹,里面很多都是些还没完工的项目,而这些程序里有不少在它诞生初期真心是个超棒的点子。和这些人一样,我也有很多好主意,有的甚至就是现在有些企业在用的。比如正决定着在 eBay 上还是在 Amazon 上做电子商务获利、做一个以业务为基础的社交网络(水管业、电子行业、软件开发等)、比特币搜索引擎、开发一个 CSS 框架来取代 Bootstrap、从 Instagram 上找出最有魅力的那些人、开发一个实时访问统计引擎,这样的例子举不胜举。几乎每一个项目我都着手去做了,但是没见到一个是完工了的。当我和我的同事朋友聊起这个话题的时候,他们也普遍反映,他们也是如此。很多很多的好点子都夭折在他们的文件夹里。为什么会这样?

因为成功所以缺乏动力

首先要谈谈我们的职业,拥有着让人眼红的高就业率。用事实说话,全国的失业率约为 6.7%,而 WEB 开发员的失业率还不到1%。而且我们的工资水平也比平均值高。2012 年软件开发员的平均年收入就已经超过 9 万美元。当然现在你要是足够优秀,完全可以远远超过这个数。看着跟着我学习的新手菜鸟成为入门级程序员,心中有一种莫大的个人成就感。而这个职业的薪酬也让他们很满意:起薪 4 万 5 千美元到 7 万美元。

所以,和其他大多数人相比,特别是那些在工作岗位上碌碌无为做一天和尚撞一天钟的,因为岗位薪资不高而不断跳槽的,软件开发员还是比较成功的。这里请允许我冒昧的做一个概括,如有雷同纯属巧合。可以说,半路出家的程序员相对于这些人是比较成功的了。也就是这种成功的优越感麻痹了我们的神经,使得我们缺少了完成目标的动力。

知识范畴不同

我们知识广博。对于几个城市之间旅行怎样便捷,我们可以侃侃而谈。我们知道怎样把一个复杂问题分解成一个个小的子问题逐个击破。我们是真正的“世界通”,因为我们可以用任意一种语言说“Hello World”,面对即使需要成千上万的计算,我们也不皱眉头,因为我们懂得递推的方法。我们知道的很多,但是又是否足够多呢?伟大的科学家爱因斯坦曾经说过:

浅学误人,所以危险;博学自负,更加危险。

牛顿,大家都知道,誉为那个时代最聪明的人之一,可以准确预测离我们上百万千米远的天体的运动。他说,他是站在巨人的肩膀上才能看的更远。而物理学并不是他唯一的兴趣,他还给我们留下了微积分学等等宝贵的知识财富。由此思彼,那么他应该也对资本和市场运作很了解咯?

1-j6CUvYBqScHxK-jlyLmalw

哈哈,那你就大错特错了!在 1720 年南海股票泡沫的高峰期,他投入的所有现金化为乌有,然后破产了。因为他不了解市场,所以即使他知识再多再渊博,也帮不了他一点忙。因为他的知识领域是独立的,不相关的——他发现了物体运动的规律,但是这些规律对他掌握投资者心理毫无帮助。我们也是这样的情况。我们可以花一整天时间去解释算法,研究数据结构,但是我们却不懂得用户想要什么。当 twitters 刚出现的时候,我想当然的认为不过是个昙花一现的流行事物。事实证明我错了。当我们在解决问题的时候,往往只追求解决方案是否吸引人,却忽略了联系这个问题的世俗看法。

不断跳槽

我敢保证,其他任何一个主要城市都是这样的,但是在这里,我仅代表我自己和我的同事朋友们在纽约工作时的经验。我们不断跳槽。但是也不是每个人都是这样。我在网上一篇文章的评论上看到有的人已经在同一个岗位上干了 19 年。我也发现了,那些很容易被别的项目所吸引的人,往往不会停留在同一个岗位上太久。就是因为这个原因导致很多项目不得不中断。

中断项目有很多原因。比如,刚进入新工作,并且需要专心致志做那里的项目,就不得不把原来的先搁置一边。又比如,因为做的这个项目和我们以前做过的可能差不多,于是顿时失去了兴趣。距离也是原因之一,特别是如果你隔个几年就要跳槽的话,坚持就愈加困难了。在这里,我需要提一提,转变心态很重要。如果你打算在三年后辞职,那么为什么不不能在 3 个月里搞定你的项目?如果你能保持着这种激情,当你在项目上一筹莫展的时候,灵机一现,好点子就来了。

赋予夭折的项目新生

因为这样那样的原因,我没有让我的好点子“出世”。首先我们承认了这点,然后我们找出了原因。现在第三步就是要修复它们了。这不是一朝一夕就能完事的,而且可能我的很多项目仍然会是这种半死不活的状态,然后我思索许久,终于想出了一些步骤,可以避免这些项目永远成了文件夹里的摆设。

你最棒

首先,要明白每一个项目都能让你稍微——或者在某些情况下是大幅度——成长为一个更佳的开发人员。技术需要靠时间的积累,所以你开发的项目越多,你就越棒。以学习新技术,新的编程语言,新的框架为动力去开发一个项目,那么即使你完不成,也能学到不少知识。而且如果你有其他要事要办,你可以立即暂停这个项目。

构建项目组件

你开发了很多项目,变得越来越熟练,不知道你是否知道这个小窍门——复用代码?构建模块和库,而不是每次需要使用的时候都去重新写一次。假如你现在在做的项目不是最后一个,那么我劝你最好构建一些项目组件,而不是光写那些只能用在这个项目里的代码。在文档里给自己写点注释,这样下次要用在下一个项目中就方便了。

和大家协作

现在我们已经有了能让那些夭折的项目重生的好方法,是不是蠢蠢欲动,跃跃欲试了?你的点子可能精妙无比,就像你的孩子一样宝贝,也或许价值数十亿美元,但是到目前为止——它一文不值。你需要和其他人分享你的点子,并且越多越好。这种自然而然的兴奋能促使你不断致力于这个项目,推动它的发展。甚至你可以开源,邀请大家参与进来。这种相互协作的方式会让你有种使命感,专注于此,不轻易放弃。

解决你手上的问题

不要好高骛远,也不要眼高手低,试着去做一些对你真正有用的东西。如果你是程序开发员,那解决程序问题,如果你在公司工作,那制作那个公司需要使用的程序什么的,即使是你个人方面,也一定会有一些可以用技术解决的问题。那么为什么不先下手为强呢?不要等到问题积累起来了再去解决,一步一个脚印,同时你还可以得到一些有用的程序什么的,何乐而不为?

勿以事小而不为

有句俗话,不要想着去创立需要时限 8 个月才能办起来的公司,把时间放在可以在 4 周内甚至更少就能做好的事情上。无论多么简单,每个月固定日子发布你的最新成果。这样做会有很强的心理暗示,能激励你的工作。相反,如果你坐在笔记本前捣鼓了 8 个月想干件惊天动地的大事,但是却毫无进展,有多么沮丧是可想而知的。量变会导致质变,一件件小事办好了可能会有大大的成功。因为人生的旅途是一场马拉松,而不是短跑。

吹牛也是项技术活

社会压力是真实存在的,与其偷偷摸摸工作,还不如告诉大家你的工作内容。你得到的反馈有可能会有助你改进产品。或许你担心别人会把你的点子占为己有,但是我可以保证,绝对不会有这种事发生。因为即使是很简单的想法别人想要去执行,也是很困难的一件事。所以没必要讳莫如深。说出来,你还可以从大家提出的建议中提炼出有意义的加以改进自己,而更加重要的是,这样做会促使你不得不去实现它。不然牛皮吹破面子就不知道放哪里了,哈哈。

写到这里,要告一段落了,不知道你有没有学到什么诀窍能对你的项目有所帮助?记得:行动最重要。

译文链接:http://www.html5tricks.com/why-developer-not-finish-pros.html

英文原文:Why developers never finish their projects

一个Android应用层开发如何转型深入Android Framework? 不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。 阅读详情

相关推荐

基于E310的纯逻辑代码实现AD9361射频收发

基于微相科技的E310平台实现AD9361的射频收发功能。采用纯逻辑控制的方式,不需要PS参与。实现了用VIO控制收发使能,发射功率,收发频率,数据接口时序控制,接收增益,BIST测试等功能。

xiaomingzi55的博客 2331

当开发过程中遇到了困难不想开发了怎么办

当你在开发过程中遇到困难或觉得不想继续开发时,这通常是由多种原因造成的,例如技术挑战、压力、疲劳或缺乏动力。让你的大脑远离问题,之后再返回工作,你可能会有新的视角和思路。:如果你面临的挑战过于庞大,尝试将其拆分为更小、更容易管理的任务。:如果你觉得自己的情绪或心态问题超出了正常的工作压力,可能是时候考虑寻求专业帮助,如心理咨询。:为自己设定小目标,并在达到目标后给自己一些奖励,如吃点喜欢的零食或观看一集喜欢的电视节目。:利用在线资源、书籍或课程来学习和研究你面临的具体问题或技术挑战。

m0_57236802的博客 646

手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南)

本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。

weixin_30776273的博客 341

【总结整理】开发说不能做怎么办

来自电台 1.开发对需求理解有偏差,把功能想的过于复杂 解决:描述功能场景,具体的功能点、功能细节,帮助开发更加清晰的理解需求 2.开发技术同学技术局限,真的做不了 解决:找到市场上同类产品类似功能,请开发依照画葫芦解决,自己网上搜搜,是不是真的到了技术边界,能搜到能做 3.开发能做,不想做 解决:1)是开发嫌麻烦,态度问题,说服技巧,请开发经理帮助    2)需求是否合理,这项需求...

weixin_33744141的博客 269

C# 8. 在新窗口中使用chart控件波形移动显示

1. 添加新窗口 在Form1中新建button控件,名称为buttonStartWaveDisp,这样单击就能调出Form2窗口 在Form1中增加如下: private void buttonStartWaveDisp_Click(object sender, EventArgs e) { if((form2 == null) || (form2.IsDisposed == true)) { form2 = new Form2();

TrueLink的博客 1432

华为OD机试新系统真题【终端设备档位差异统计】

华为OD机试 新系统真题【终端设备档位差异统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【终端设备档位差异统计】多语言题解。

qq_45776114的博客 786

从事java开发工作5年后却失业了,做好程序员工作的几个建议

后来,公司人事部门打电话给我,让我等到明年再去上班,这让我感到很奇怪。其实,公司的项目做的特别大,但里面的百分之七八十的功能基本上都是无用功。而且,公司的文化也很奇葩,考勤制度比较严格,只要迟到两次以上就会被算作违纪,旷工两次就可以被辞退。一个好的公司,不仅会给你提供更好的发展机会,还会尊重和关心员工的感受和权益。总的来说,我觉得早点离开这样的公司,去找一个更好的工作,是一个不错的选择。现在,作为一名 Java 程序员,找工作的机会也很多,只要努力,相信一定会找到更好的机会。

2301_77139641的博客 1970

让 IF 更好读:在 ABAP 里尽量使用正向条件的实战指南

摘要:SAP系统开发中,代码可读性与可维护性的关键往往在于条件判断的写法。Clean ABAP风格指南建议尽量采用正向表达的条件判断,如使用has_entries = abap_true而非否定式写法。正向表达能降低理解成本,避免"否定的否定"带来的逻辑混乱,但不应为追求正向而制造空分支。在团队协作中,正向条件更利于代码评审和测试覆盖,建议通过工具检查和智能评审确保规范执行。落地时可关注变量命名正向化、避免空分支、主流程清晰展开等要点,以提升长期维护效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

为什么程序员都不做个人独立开发者?

很多程序员做独立项目,习惯性地把注意力放在技术上,写了一堆“高大上”的功能,结果发现没人用,最后只能当“技术练习”。在公司干活,虽然你可能每天都在“给老板搬砖”,但至少每个月的工资是稳定的。你可以开发自己感兴趣的产品,比如一个你一直想做的 App、一个有趣的小工具,甚至是一个能拯救人类的小程序。你可以选择独立开发,也可以选择在公司写代码,只要你在做自己热爱的事情,这就足够了。说起独立开发者,这职业听起来特别有吸引力:不用坐公司格子间,不用看老板脸色,每天写写代码,开发点自己的产品,甚至还能躺着赚钱。

m0_61562916的博客 1608

SillyTavern本地AI聊天平台部署与调优全指南

大型语言模型(LLM)作为当前人工智能领域的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变人机交互方式。其工作原理基于Transformer架构,通过海量数据训练,学习语言的统计规律与语义关联。这项技术的核心价值在于,它能够作为通用基础,赋能于多样化的下游应用,实现个性化的智能对话与内容创作。在工程实践中,如何高效、灵活且低成本地部署和利用这些模型,成为开发者与爱好者的关键需求。本地化部署方案,特别是结合如Ollama、KoboldCPP等推理引擎,提供了数据隐私保障与可控的硬件成本。Silly

weixin_42520448的博客 432

什么是信噪比?信噪比越大好还是越小好?

在进行声音增强的时候,往往需要考虑声音信号和噪声的信噪比,那么信噪比是什么呢?越大越好还是越小越好,此处引入百度百科的解读: 信噪比,英文名称叫做SNR或S/N(SIGNAL-NOISE RATIO),又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。这里面的信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。 同样是“原信号不存在”还有一种东西叫“失真”,失真和噪声实际上有一

码匀的博客 7万+

程序员的开发项目总是半途而废

程序员的开发项目总是半途而废 很多程序员的项目常常半途而废。他们有那么多的好点子,但是很多都流于空想。几乎每一个软件开发者都有一个这样的文件夹,里面很多都是些还没完工的项目,而这些程序里有不少在它诞生初期真心是个超棒的点子。和这些人一样,我也有很多好主意,有的甚至就是现在有些企业在用的。比如正决定着在eBay上还是在Amazon上做电子商务获利、做一个以业务为基础的社交网络(水管业、电子行业、软

php教程 477

IDM 的免费替代品来了!这款开源下载器速度提升500%

💡分享一款开源的下载管理工具,支持多线程加速(最高提升500%)、队列管理、计划任务和浏览器集成,界面现代化且支持深色模式,跨平台支持Windows/Linux,是IDM的优秀替代方案🎈

XiaoqiangClub的博客 731

sdk是什么意思_我为什么要结束五年的程序员生涯?

“我想耕耘十年,十年后再决定要不要继续当程序员。”在得知我成为程序员之后,我的一位高中好友来问我将来的打算,我是这样回答她的。但是当我于今年五一劳动节的前一天在离职申请表上签下自己的姓名时,我的这个计划就半途而废了,如同当初我在考研路上的半途而归。“半途而废主义”在湘粤交界地带的重峦叠嶂里,耸立着一块天然形成的巨石,当地人称仙女石。天气晴朗时,可从最近的县城里隐隐看见它。一日,三少年——八刀、天川...

weixin_39641738的博客 253

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

为什么程序员的业余项目大多都死了?

你好,我是独角兽。对于不会写程序的人来说,想做一个软件项目,就得找程序员帮忙写程序。而对于程序员来说,想做一个软件项目,写程序不是问题,产品设计自己也能做一点。所以对于很多程序员来说,一旦有了一个想法,可能就会利用工作之外的时间,做点自己的业余项目(也叫 Side Project)。 然而大部分项目,都是怀着美好的期望开始,结果做到一半就无疾而终,就算少数坚持到了上线发布,最终还是因为少人问津而不得不放弃。 所以今天将带你一起分析一下,为什么程序员的业余项目大多都死了?怎么样可以借助学习到的软件工程知识

无边热爱,来日方长 780

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

为什么程序猿的开发项目总是半途而废?

非常多程序猿的项目经常半途而废。他们有那么多的好点子,可是非常多都流于空想。差点儿每个软件开发人员都有一个这种目录,里面非常多都是些还没完工的项目。而这些程序里有不少在它诞生初期真心是个超棒的点子。和这些人一样,我也有非常多好主意,有的甚至就是如今有些企业在用的。比方正决定着在 eBay 上还是在 Amazon 上做电子商务获利、做一个以业务为基础的社交网络(水管业、电子行业、软件开发...

weixin_30478619的博客 155

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

天赋差的程序员,难道就只能半途而废吗?

【优快云编者按】编程不易,且行且珍惜。在很多人看来,也许优秀的程序员靠的就是与生俱来的强大天赋,外加蜻蜓点水般的时间付出,就能够炼就算无遗漏的编码技能。那么果真是如此吗...

优快云资讯 1764
上一篇: POI HSSFColor 颜色索引对照表
下一篇: Eclipse Debug不为人知的秘密
码农先生
博客等级 码龄15年 52粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值