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

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

很多程序员的项目常常半途而废。他们有那么多的好点子,但是很多都流于空想。几乎每一个软件开发者都有一个这样的文件夹,里面很多都是些还没完工的项目,而这些程序里有不少在它诞生初期真心是个超棒的点子。和这些人一样,我也有很多好主意,有的甚至就是现在有些企业在用的。比如正决定着在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
【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程 本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。 阅读详情

相关推荐

Windows Server 2019整机备份与异机还原实战:从虚拟机到物理机的完整迁移指南

本文详细介绍了Windows Server 2019整机备份与异机还原的实战操作,涵盖从虚拟机到物理机的完整迁移流程。通过环境准备、备份策略设计、具体操作步骤及迁移后优化等内容,帮助用户实现系统环境的无缝迁移,特别适用于服务器硬件升级、数据中心迁移等场景。

weixin_30555125的博客 133

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

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

m0_57236802的博客 646

运放 + MOS管构成的恒流电路分析及实用环境器件参数选择

恒流电路

五花带点肉 2万+

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

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

weixin_33744141的博客 269

VL53L0X测距不准?手把手教你做RefSPAD校准与环境补偿(附Arduino/STM32代码)

本文详细解析了VL53L0X激光测距传感器精度不足的原因,并提供了RefSPAD校准与环境补偿的完整解决方案。通过Arduino和STM32代码示例,手把手教你实现毫米级测距稳定性,适用于机器人避障、工业检测等场景。

weixin_28744423的博客 257

深入LSM6DSL的FIFO连续模式:基于STM32和MEMS库的数据流高效处理指南

本文深入探讨了LSM6DSL的FIFO连续模式,结合STM32硬件平台和ST官方MEMS库,提供了高效的数据流处理方案。通过优化I2C通信时序、中断驱动设计以及动态ODR调整,实现低功耗数据采集与处理,显著提升嵌入式传感器应用的性能和续航能力。

weixin_30387799的博客 350

开发岗没出路?四条转型路线与实操避坑指南

在技术行业演进中,工程师的价值不再局限于编码实现,而是转向系统设计、架构决策与业务融合。随着市场需求结构性调整,单纯CRUD型岗位收缩,高门槛的架构、稳定性、安全方向反而持续吸纳人才。技术能力的价值在于解决复杂问题,而非堆叠API调用。从技术主航道深耕到业务交叉地带,再到独立开发与知识输出,开发者可通过项目设计、内部转岗、行业社区互动等低成本方式验证新路径。本文梳理开发岗转型的可行方向、面试要求变化与常见误区,帮助处于职业瓶颈期的工程师重新定位自身优势,找到可持续增长的技术职业路线。

weixin_33178839的博客 258

Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0705)

Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,Pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。

ZhiYilang的博客 2349

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

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

m0_61562916的博客 1608

【CVPR 2025】低光增强HVI论文精读与源码复现---part1 论文网络精读

【CVPR 2025】本文参考论文HVI: A New Color Space for Low-light Image Enhancement part1 在文章中对论文核心网络与原理展开详细解释 part2 对论文公开代码的arch网络与其他核心部分展开详细解释

BOB_BOB_BOB_的博客 3267

Python 爬虫实战:去哪儿网机票价格爬取与出行比价分析

本文介绍了一个基于Python的机票价格监控系统,通过爬取去哪儿网数据实现多航线查询与智能比价。系统采用requests+BeautifulSoup+selenium技术栈,具备以下功能: 实时查询指定航线价格 历史价格追踪与分析 最低价推荐与价格预警 数据可视化展示 文章详细解析了去哪儿网的页面结构和反爬机制,提供了Selenium浏览器的完整配置方案,并实现了一个可稳定运行的机票采集爬虫。该系统能帮助用户掌握价格波动规律,选择最优购票时机,每年可节省可观的出行成本。

u014481728的博客 672

程序员的难题:学了就忘?

首先我给出出现这种情况的原因,然后再逐一进行说明: 知识没有用起来 没有及时复习 只有输入没有输出 其实产生“学了就忘”的情况就是因为这三个原因,解决掉这三个问题可以有效帮助你减少“学了就忘”的情况,这三个原因可不是我随口说说而已,而是经过我的不断试错验证总结 得出的结论,接下来我们就这三个问题进行探讨一下。 首先就是第一个:知识没有用起来 在如今这个碎片化的时代 ,各种信息真的是太多了,我...

qianduanshuo的博客 1979

PhotovoltaicPanelCleanlinessDetector:基于YOLOv8的光伏板清洁状态监测系统

data.yamlyaml复制编辑names:0: clean1: dust3: leaves4: shadow✅ 高精度污染识别✅ 具备实时检测与UI展示✅ 可本地化部署应用未来方向增加污染程度分级(轻度、中度、严重)加入时间序列分析(污染变化趋势预测)无人机集成巡检模块。

YOLO 276

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

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

php教程 477

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

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

weixin_39641738的博客 253

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

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

weixin_30478619的博客 155

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

无边热爱,来日方长 780
上一篇: 关于Devexpress 12.1.x.x如何汉化
下一篇: 批处理dos下获取当前路径命令
我心V飞翔
博客等级 码龄16年 55粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值