0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编程25年后,现实将我打回菜鸟程序员的起点

电子工程师 来源:lq 2019-02-11 10:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在从事了 25 年的编程工作后,我却发现自己没有什么具体的东西可以展示给大家。我需要克服完美主义思想和对被批评的恐惧,向大家展示真实的自己。

下面和大家分享下我的故事:

2019 年 1 月 13 日这一天,我满了 36 岁,这意味着我正式从事编程工作已有 25 年。

在这 25 年间,我尽心尽力地工作,却发现除了编程技能外,我没有什么可以展示给大家的成果。

这些年我所做的,要么是作为一个雇员为企业开发项目,要么兼职为客户开发一些网站,而这些网站/项目中的大部分都已经下线了。

在无数次的自我反省中,我问自己,为什么我没有什么成果可以展示给大家?根源在哪里?

完美主义怪圈

我的第一次反省源于一个好友要我帮他学习网站编程,某天晚上我接到他的电话,他兴奋地说:“嘿,快看看我的网站!我搞定了!”

他买了一个域名,一个 WordPress 模板和一些便宜的托管主机。他把这些设置好,并把准备好的内容放上去,然后就上线了。

他的网站看起来不错。因为我更喜欢使用 PHP 或 Node 来构建完整的 App,所以我不喜欢用 WordPress。但他不知道怎样编程,所以 WordPress 是他最好的选择。

在我教了他一些基础知识后,他在一个星期内就做出来一个看上去不错的网站,这让我有点嫉妒。

我不是嫉妒他的技能,因为我知道他掌握的是任何人在一两天的时间就能学到的基础知识。

然而,他只用了一周时间就完成了这个项目 90% 的工作。

在这么短的时间内,他做出来了一个看得见的产品!

他是怎么做到的?!他是如何克服在网站还未完善时就发布的恐惧的?他怎么想到为网站创建这些内容的?他是如何做到不过度设计,保持专注,进入编程这个奇异的世界的(对他来说)?

我必须承认这一点,我意识到我生活在自我技能怀疑以及对他人批评的恐惧中。当涉及到我的个人项目时,我会陷入完美主义的怪圈,所以一旦我开始一个项目,就会投入无穷多的时间,穷尽所能来让它成为我能做到的最完美的应用,但结果往往是半途而废。

我唯一一次 100% 完成的个人项目,是因为有一个老板会为我付报酬。其它的个人项目我都只完成了 50%~90%,或者是感到无聊放弃了,或者是干脆忘记继续做下去。

我深知我的本职工作做得很好——每天都在学习,承担并完成了大量的项目。我在这个领域干了 15 年多了,与一些最好的开发人员一起工作,甚至有能力挑战他们。

我开发过的软件和应用能带来数百万美元的收入,拥有数十万用户。我的存在让这些软件和应用变得非常安全可靠。

开始改变

那我为什么要纠结我的个人项目呢?听起来有点像人格分裂。

我意识到我需要回到我刚开始工作的时候。"K.I.S.S", Keep it Simple and Stupid!

我也开始更加关注开发社交圈。我加入了几个小组。其中之一是一个初学者小组,让我能够像一个菜鸟程序员一样重新思考。

我注意到有些菜鸟程序员只有几个月的开发经验,但他们都敢于提供一些建议,甚至一些全日制课程。我更震惊的是很多人不但感兴趣,而且还感谢他们。他们的追随者不断增多。

对我来说,这太令人震惊了。他们是如何做到这一点的?当人们几乎不知道他们过往经历的时候,怎么会重视他们的建议呢?

我猜我可能一直没有意识一点,好多人只是在寻找比他们多了解一点点的人。他们不在乎那个人是否比他们多学了 25 年或 25 分钟,他们只关心是否能从这个人身上学到一点点,并希望与其维系一条沟通渠道。

很快我就发现,我只发布了一些文章就已经有了很多“粉丝”。看来我要克服的阻碍来自我自身。

所以今年我要强迫自己做出改变,我决定采取下面的一些小步骤:

首先,我考虑了一下我的现状,由于我在外面接了一些私人项目,如果再去完成所有的个人项目,那会让我压力太大。(这些年我一直都有一份全职工作,但在大部分时间里,我会接一些私人项目来做。)

我作了个决定,如果我在一件事上赚的钱不足以让我的生活方式有大的提升,那就不值得我花时间。

我一直在想这个问题。如果我接的私人项目挣不到我全职工作收入的 50%,那我就不应该这样接私人项目。

所以我放弃了这些私人项目,由此而来的压力释放是惊人的——我不需要为更多的客户负责了。我只需要应付一份普通的工作、我的家庭和我的个人项目!

我做的第二件事,是强迫自己构建一个快速的个人项目,无论我对它感觉有多糟糕,都要马上发布它。

我也这么做了!你可以在https://gidgitz.com上查看。

我的下一个目标是继续向该站点添加功能。学习一些新的框架、包和设置,我会很快掌握,并在将来的项目中使用。

一开始很顺利,但是后来我在重构上被堵了 3 个月。3 个月过去后,每天我都兴奋地为新的 API 后端编程。

故态复萌

三个月前,我又重蹈覆辙,再次把每件事过度复杂化,且力求尽善尽美,做好的功能我又不想发布了,因为我的完美主义的强迫症又犯了。

当我意识到我又一次让自己陷入同样的困境时,我强迫自己改变,拿掉没有完成的功能,将已完成的部分发布出去。

我做到了!感觉很棒。虽然新功能不多,但都已经上线运行。这可能不是我最终想要的,今后还需要添加无数的改进。但至少这一次我做到了,毋庸置疑,上线这些新功能肯定比让它们静静躺在我的笔记本电脑里无人关注要好。

我必须努力克服我的旧习惯,直面对别人批评的恐惧,要认识到即使没有人喜欢它,至少它可以被人看到。我一开始要做的不是使它完美,而是要使其“可见”,然后得到反馈并加以改进。

我的下一步是完成后端 API 设置,每隔几周发布一次小的更新,直到我对这个项目感到满意。 到那时就是开始下一个个人项目的时候了。

除此之外,我还打算向人们展示我的新想法,把旧项目拿出来展示给别人看。

这是一个学习过程,在走过了 25 年的编程旅程后,我感觉现在才刚刚开始。

Ta 说

读完这个故事,不少评论慨叹同感良多,也同时发表了对作者某些观点的看法:

Tyler Smith:

对此我也深有体会。两年前我辞掉了工作,成为了一名网站开发人员,因为我有几个个人项目要构建。事实上,我应该足够胜任开发人员这个工作,因为我可以在成为开发人员后的 10 个月内做出一个可接受的版本,但有两件事总是让我停步不前:

1. 新奇事物综合征:我总是想用最好的平台来完成这个项目,所以我从 Wordpress 转到 Laravel,再转到 Django,然后开始学习 Serverless。这是一次很好的学习历程,但我什么也没做出来。

2. 我想要的功能远远超过我的个人能力。

我被困了一年没有上线任何东西。

拯救我的是一堆关于最小可行产品(也称为 MVP)的文章,同时也是厌倦了什么都做不出。我把我的抱负从 10 个功能降到 1 个功能,并在 14 天内在 WordPress 上建立了一个可运行的网站。这个站点在 WordPress 中并不出众,目前为止还没有人访问过该站点,不过可扩展性倒是也完全没问题了。

在过去的两周里,我一直在尝试推广我认为非常酷的东西,尽管代码库有点乱,但我对它非常满意,而且没有人关心代码。

祝你和你的项目好运!如果你多关注代码的发布,你会做得很好!

Eric Ochoa

我喜欢这部分:“…他们不在乎那个人是否比他们多学了 25 年或 25 分钟,他们只关心是否能从这个人身上学到一点点,并希望与维系一条和他沟通的渠道。”

我常常觉得在我对任何问题发表任何看法时,我必须先成为这个问题的专家。但事实是,通过分享你已经掌握的任何知识,都可以帮助很多人(包括你自己)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2153

    浏览量

    66244
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96766
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30786

原文标题:编程25年后,现实将我打回菜鸟程序员的起点

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    编程序段的定义介绍

    已经由操作系统自动设置为代码段的段基址,数据段的段基址则需要程序员手动装入DS中; ASSUME伪指令用于指定每一个数据段所对应的段基址寄存器。如上面的代码中CODE段的段基址寄存器为CS,DATA段
    发表于 11-21 08:19

    软通国际亮相2025沙中开源与AI科技峰会

    202511月11日,由沙特程序员协会(parmg)主办的"2025沙中开源与AI科技峰会"在利雅得盛大启幕。
    的头像 发表于 11-14 17:45 1284次阅读

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 436次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 479次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    无法在调试中连接到PSOC4怎么解决?

    您好,我有一块使用 PSOC4 CY8C4013SXI-410 制作的小板。非常简单的设备,它只有三个 GPIO 引脚并通过 5 引脚 SWD 进行编程。我遇到的问题是程序员能够看到该设备但无法对其进行编程
    发表于 07-22 06:02

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容
    发表于 06-03 16:10

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    如何在 树莓派 上编写和运行 C 语言程序

    ,一本很好的书是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。这本书对经验丰富的程序员和想学习C语
    的头像 发表于 03-25 09:28 941次阅读
    如何在 树莓派 上编写和运行 C 语言<b class='flag-5'>程序</b>?

    零基础入门:如何在树莓派上编写和运行Python程序

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1528次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Code
    的头像 发表于 01-09 11:16 960次阅读

    Triton编译器与GPU编程的结合应用

    优化,以及生成高效的并行执行计划。 GPU编程的挑战 GPU编程面临的主要挑战包括: 编程复杂性 :GPU编程需要对硬件架构有深入的理解,包括线程、块和网格的概念。 内存管理 :GPU
    的头像 发表于 12-25 09:13 1318次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    BQ78412应用程序编程接口

    电子发烧友网站提供《BQ78412应用程序编程接口.pdf》资料免费下载
    发表于 12-18 14:46 0次下载
    BQ78412应用<b class='flag-5'>程序</b><b class='flag-5'>编程</b>接口

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册