>>分享IT从业人员的工作经验、生活感悟,心得 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22592 个阅读者 刷新本主题
 * 贴子主题:  程序员该如何改变枯燥的编程生活? 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-04-04 06:57:19     消息  查看  搜索  好友  邮件  复制  引用

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

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

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

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

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

同一个环境,同一种技术

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

粘贴复制……

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

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

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

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

没有思想的程序员

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

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

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

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

如何解决编程无聊的状态

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

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

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

再次,维护和迭代,以及修改 Bug ,不管你跳槽到哪家公司,这都是避免不了的,你感觉天天修改 Bug 和维护项目很无聊,那该如何改变这个现状呢?
1.不要出现 Bug 就暴力的去堵,很多程序员解决 Bug 的方式就是暴力解决法,举个例子:比如报了空指针异常,他们就会在报空指针异常的地方做不为空的判断,这也太暴力了,宜疏不宜堵。你应该找到报空指针的真正原因,看看有没有更好的,更合适的解决方式,这样可能就会一下子解决很多地方的相同的 Bug 。
2.还可以尝试着想着办法,如何优化一段代码,可能是不是有更好的方式可以提高性能,加入你的代码性能提高1秒的速度,你可能就会很高兴,就感觉很有成就感,这样就不会很枯燥和无聊了,反而很高兴。
3.在 code review 的时候,可以项目的人之间相互 code review ,这样大家可以互相来找茬,既能够学到对方的编程的方法和方式,还能够把代码共同维护好,何乐而不为呢?

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

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



程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->类的生命周期
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->立即检索和延迟检索策略
  Java网络编程-->客户端协议处理框架
  精通Spring-->绑定表单
  Vue3开发-->Vue Router路由管理器
  用心去欣赏美
  阿里面试经历及总结(数据研发、Java研发方向)
  程序员认识,风雨十年-从大学到技术专家,我做了啥?
  如何写一份程序员爱看的文档需求
  支付宝核心工程师谈如何成为一名优秀的程序员?
  我的技术之旅
  程序员入职的锦囊妙计-写给即将就业和已就业的学员
  程序员技术面试与HR谈薪资技巧的一些经验心得
  作为面试官,我是如何甄别包装过的应聘者真实水平
  记录一个屌丝IT男的职场故事经历
  也谈谈初创公司的技术团队建设
  以退为进的妙用
  无人驾驶真的能缓解交通吗
  邀您一起来写书(孙卫琴)
  一次心地风光之旅
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。