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

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

3天内不再提示

程序员枯燥的编程生活

工程师人生 来源:wv 作者:简书网 2019-09-19 15:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天我们来聊一聊程序员枯燥的编程生活,相对于其他行业来说,编程这件事肯定是枯燥的,即使是对编程非常有兴趣的同学和朋友也会如此,我为什么这么说呢?大家可以不看下文,在这里停顿思考一下。

实事求是的说,作为一个开发者,一个程序员,我相信大多数人干同一份工作的时间基本上不会超过两年,换句话说就是:一个程序员在同一家公司干同一份工作超过两年的很少。

很多人说,程序员是一个跳槽比较频繁的职业,每一次的跳槽都会使工资大幅度甚至成倍的增长,所以这时候就会有很多人跳出来说:程序员跳槽的目的很简单,就是因为想涨工资了。在这里,我想说:我并不否认,确实有很多开发者和程序员跳槽是为了涨工资,但是我相信作为一个有责任,有志向的程序员,跳槽中最大的目的并非涨薪,而是换一个更好的环境,更好的成长平台和发展空间,涨薪只不过是跳槽过程中附带的价值。

聊到这里,你们可能会说:你是不是跑题了?今天不是聊枯燥的编程生活,以及如何改变这种现状吗?其实这是有关联的,而且有时候可能关联还是很大的。我先卖个关子,一会再说其中的关系,在这里你们也可以停顿思考一下,到底是什么关系?好,回到正题上来说:程序员的编程生活为什么很枯燥,或者换句话说:是什么导致程序员的编程很枯燥的?

其实原因无非就是以下这几种:

同一个环境,同一种技术

什么意思?跟同一个世界,同一个梦想不同的是,你在一个公司待久了,使用你所知的一种技术,重复的干着一个项目,你说时间久了,是不是很无聊呢?如果在一个公司做一个项目,长达一年,在这一年里,你仅仅是用你所知的技术一步一步的去实现,学不到新的技术和知识,技能得不到提高?这时候,无聊自然就会随之而来,悄无声息。可能对于公司来说,这是有意义的工作,但是对你来说:这是重复的,机械的搬砖。

粘贴复制……

其实和上边道理差不多。工作每天都是从网上粘贴复制,项目就是这样被垒起来的。很多人离开了网络,基本上就丧失了百分之八十的编程能力,而剩余的那百分之二十还是抄书。很多程序员编程不思考,而是简单的粘贴复制。

当然,聪明点的程序员还是会封装的,自己就会把一些常用的工具类,一些方法,一些控件进行封装,留着以后备用。在公司开发完 A 项目,然后开发 B 项目的时候,就会很简单,把自己封装的东西拿过来直接用,这样机械的复用或者粘贴复制是不是很无聊呢?答案是肯定的。

重复的迭代和维护,以及修改 Bug

其实当一个项目进入测试阶段以及后期维护和迭代阶段的时候,开发人员基本上百分之九十的工作任务就是在修复 Bug ,而不是在研发新功能,学习和使用新技术。天天在维护和更新迭代这个项目的时候,其实工作是很乏味的。

没有思想的程序员

其实很多时候,程序员是没有话语权的,尤其是在小的创业公司,因为老板基本上就是产品经理,需求说让你做什么,你就得做什么?让你去实现什么,你就得实现什么。不会让你参与到产品的讨论当中来的,当然,如果老板让你参加,估计由于产品经理是老板,你也没有什么话语权和发言权。

再这样一个没有个人思想和独立思考的开发环境中,你是不是很无聊呢?只是机械的去实现老板想法的一个工具?是的,你就是一个工具,这种现状那又该如何改变呢?

你们感觉还有哪些让程序员编程无聊的原因呢?

既然,有原因了,那就得想解决办法,而不是选择逃避。我们该如何改变这种编程无聊的状态呢?

如何解决编程无聊的状态

首先,面对环境的限制,技术的瓶颈,其实我们应该想的是如何实现自我的需求和改变,而不是通过逃避和跳槽,其实你应该知道,不管你怎么跳槽,你都会将要面临这种无聊的状态,除非你这一辈子都在跳槽中度过。你试想一下:你今天跳槽了了另外一个公司,解决当时的无聊状态,学到了新东西,可是在新公司待了一段时间,又发展受限,技术又遇到瓶颈该怎么办?还跳槽,一直跳槽?

遇到问题,首先想到的应该是解决办法,而不是用跳槽的方式来逃避。比如:我们可以尝试轮岗,让前端去学习后台,后台来学习前端,大家互相帮忙,一起交流学习,是不是能够解决你这种无聊呢?还比如:公司的一群小伙伴,可以一起尝试着去创造和维护一个开源项目,再或者长期举办一些技术分享,拓展视野。其实从本质上讲要学会利用公司资源来改变无聊的现状,当然公司也应该在实现自己利益的前提下,还要关注和满足员工自己自我需求的实现才行。

其次,不要整天想着粘贴和复制,应该自己学习思考和学习,尤其是编程的思想和原理,平时多看,多读一些项目的源码,系统源码,看看高手是如何实现这个功能的,学会其中的思想和原理,不要仅仅从网上找到相关工具类或者开源项目就什么都不想,什么都不管,直接感觉能用就行。这样从本质上解决不了你自身的任何问题,当然,这确实让你实现项目功能,但是哪有如何呢?又不是你的。

再次,维护和迭代,以及修改 Bug ,不管你跳槽到哪家公司,这都是避免不了的,你感觉天天修改 Bug 和维护项目很无聊,那该如何改变这个现状呢?

不要出现 Bug 就暴力的去堵,很多程序员解决 Bug 的方式就是暴力解决法,举个例子:比如报了空指针异常,他们就会在报空指针异常的地方做不为空的判断,这也太暴力了,宜疏不宜堵。你应该找到报空指针的真正原因,看看有没有更好的,更合适的解决方式,这样可能就会一下子解决很多地方的相同的 Bug 。

还可以尝试着想着办法,如何优化一段代码,可能是不是有更好的方式可以提高性能,加入你的代码性能提高1秒的速度,你可能就会很高兴,就感觉很有成就感,这样就不会很枯燥和无聊了,反而很高兴。

在 code review 的时候,可以项目的人之间相互 code review ,这样大家可以互相来找茬,既能够学到对方的编程的方法和方式,还能够把代码共同维护好,何乐而不为呢?

最后,关于没有思想的程序员来说,这个其实是公司文化的一部分,当然可能跟公司太小有关,其实不管产品经理听不听你的,你都可以尝试着大胆说出自己的想法和看法,有时候,老板并不是专横,而是由于你们不敢说,认为老板专横。如果你的想法更好,我不相信你老板傻到还在坚持自己?当然,我并否认有这样傻的老板。总之,要鼓励讨论的公司企业文化,要大胆说出自己想法。说不定,有一天,你们老板由于没有听你的,而感到后悔,这可能也是你的成就感。

最后的最后,我想说:公司环境,还有技术瓶颈,还有一些导致无聊的原因其实那都是外部原因,本质上遇到这些问题,解决的最后的方式是从自己身上找到解决方法,而不是逃避和抱怨。

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

    关注

    4

    文章

    955

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    编程序段的定义介绍

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

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

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

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

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

    计算机网络排错思路总结

    明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。
    的头像 发表于 04-01 17:32 647次阅读
    计算机网络排错思路总结

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

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

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

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

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

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

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

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

    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>手册