作为程序员,坚持不懈的学习,难道不累吗?

作为一名IT行业的从业人员,主要在从事产品研发及项目管理工作。所以我来探讨一下这个问题。

借用一句戏言“十年生死两茫茫,写程序、到天亮,千行代码BUG何处藏,纵使上线又怎样、朝令改、夕断肠”。作为一个程序员,真的要这么辛苦吗?他们日复一日这样工作真的不会觉得累吗?

互联网时代背景下,学习思维和学习方式需要改变了!

在传统的教育背景下,我们的知识来源只有学校、课本等等极少的方面。但是在互联网时代背景下,我们获取知识的途径在不断的增加,同时获取知识的范围也是在不断地扩大。没有学不会或者学不到的知识,只是你自己不去努力学习或者方法途径不对。所以,并不是程序员要坚持不懈的学习,而是想要获取更多的价值都要去学习。


互联网时代背景下,IT技术日新月异

技术革新的步伐正在疾速加快,软件行业的技术更新换代比较快,从事软件相关工作的人要时刻关注新技术的诞生和发展,以求紧跟技术潮流。

遇到新技术我会去了解,但不会把很大的精力放在这些技术上。有人说技术更新换代很快,我不觉得是这样想。虽然有不成熟的技术不断地涌出,但是成熟的技术,比如Unix、C、C++、TCP/IP、JAVA……,如果你着眼成熟的技术,其实并不多。


兴趣很重要

总之一句话——如果你没有兴趣,什么都是借口,如果你有兴趣了,什么都是好玩的。


如果我能长期地坚持去做一件事,一定是这件事带给我满足感,一定是这件事唤起了我内心深处最强烈的兴趣。




上周末,一个同事,转行去卖海鲜,店开张时请我去他店里吃饭,酒过三巡,他说:"真佩服你,写代码13年了,还这么有激情,是什么支撑你写下去的?"

听完,我没有回答,只是笑笑。心里在盘点着这几年有多少个兄弟离开了程序员这一行业,到别的行业谋生了。

工作第3年,和自己一起入职的一个同事,考进体制内;工作第4年,一个大学同学,自己开店卖水果;工作第6年,前同事,转行会计。

有人进来就有人离开,很正常。

那几个转行不当程序员的兄弟,都说,写代码太累,技术更新太快,要经常学习。

做为程序员,是什么让你坚持不懈的学习?难道不累吗?

到底是什么让我坚持不懈的学习呢?

我想起了大三时的计算机网络老师说的一句话:“同学们,看待一切问题都要向钱看,杀头的生意有人做,亏本的生意没人做。”

社会上90%以上的事情都和钱相关。

这句话深深的影响了我看待问题的方向。

出来工作后,遇到某些事情,看到某些问题,第一个反应就是向钱看。

1、初入职场

2006年,大学毕业后,到广州找工作,当时最大的三个招聘网站,中华英才网、智联招聘、51job。我在上面疯狂的投简历。面试了20多家公司,在快要弹尽粮绝的时候,收到一家小公司的offer,工资2800,试用期2000。

这个公司不到20人,成立不到2年,我加入一个做了2个月的项目,项目组一共4个人,这样的项目就是前后端一条龙服务。一个人负责几个模块,既要写前端,又要写后台,还负责表结构设计。

项目用的是当时最流行的ssh,struts1+spring2.0+hibernate,前端用jsp,当时还没有比较流行的前端框架数据库用oracle9i,当时只学过一点简单的java知识,还有按照网上的教程使用struts写了一些增删改查的功能,其他的一概不懂。只能一点一点的学。

大学里玩了四年,我格外珍惜这个工作机会,每天最早一个到公司,最晚一个离开,不懂就问同事,周末放假也去公司加班,主要是因为于的地方没有网络,在广州也没有什么朋友,去公司可以上网,吹空调,看代码。晚上下班回家后还要看一会技术方面的书才入睡。疯狂的学习struts等框架的使用。

付出总有回报,项目开发了快4个月,即将上线,但是因为使用开源框架,有个问题无法解决,影响到项目正常上线。除了修改源码,没有其他的办法。

这个任务落到了我身上,技术总监花一个早上时间教我怎么导入开源项目源码,怎么使用debug跟踪代码,从哪里开始跟踪。我花了1个星期的时间,弄清楚那个框架的代码结构,以及实现逻辑,定位到了问题所在,成功的把问题解决了。

那是晚上8点,我们都在加班解决项目上的问题,老板听到消息,激动的从办公室跑出来,当场掏出2000块钱当做奖励,还说年终奖多发一个月奖金。

你说是什么支撑我一直学习呢?

我想应该是钱吧!

2000元,对于一个月工资2800的我来说,感觉真的好多,给自己买了一双喜欢了很久的耐克鞋。现在我还记得当时的场景,感觉自己努力,持续学习可以带来金钱上的收益。

2、转架构

08年,在公司快2年了,陆续陆续也参与了3个项目的开发,自从上次修改了源码之后,老板和技术总监就刻意让我做一些架构方面的工作。

那时公司有一套自己的开发框架,一直在完善之中,遇到需要完善的功能,就把任务交给我。那时根本就不懂什么是架构,也不知道什么是设计模式,技术总监买了一本设计模式方面的书送给我,让我好好研读,特别是在看源码的时候,结合设计模式,看下大牛怎么使用设计模式写代码。

一天下班后,老板把我叫到他的办公室,技术总监也在里面,老板让我负责公司的框架开发,工资涨到6500。当时我的工资是5000。

公司发展挺快的,将近50人,40个程序员,5个项目同时开工。以前的框架已经无法满足要求。

在框架开发过程中,详细研读了struts,hibernate,spring的核心源码,例如struts是如何实现mvc的,和springMVC的实现有何不同,hibernate是如何实现一级二级缓存。

我也圆满完成老板交给的任务,09年离开公司时,工资涨到9000。

金钱,让我每天不停地学习。

一切向钱看,一点都不假,学习是很反人类的一件事情,我也想玩游戏,也想看电影、睡懒觉、出去旅游。没有金钱的回馈,学习也就失去了主要的动力。

想要更多钱,那就坚持学习吧。虽然很俗,但是我们本来就是俗人。

我不是富二代、不是官二代,只能靠自己,除了拼学习获取的技术,我真的想不出其他能让我过上好生活的方式了。

不管身处哪个行业,都是需要终身学习,学习伴随着我们的一生,随着出生,我们学习讲话、学习吃饭、学习走路、学习写字,直到我们死亡。

不管是刚当程序员,还是后面负责架构的开发,甚至是当项目经理带项目,金钱和学习一直相伴相随。所以,学习,就是为了涨工资,过上自己想要的生活。




程序员的确需要坚持不懈的学习。但仅就学习这件事,累不累因人而已


累不累取决于兴趣

能够坚持做程序员的有两类人:爱这行然后干这行的、干这行然后爱这行的。前者因为有兴趣进入行业,后者被诸如“高薪”等不全面的认识进入行业、但干着干着产生了兴趣。对于没有兴趣的人,我估计做程序员不会超过3年。

因为有兴趣,所以会主动学习、并且会从中获得乐趣。快乐是对付出最好的回报,所以不会累。

累不累取决于学习内容

一个优秀的程序员,应该懂得选择合适的学习内容的。最合适的学习内容应该是与当前的工作内容紧密相关、具有一定技术含量、具有通用性的内容,这会有这样几个好处:1)能够最快带来回报和价值,形成对自己的“正向反馈”;2)身处其中更容易理解,学习门槛低;3)有人可请教、有代码可参考,可充分借力。

比如,当前在做电商系统的业务逻辑模块,那么就应该去学习“秒杀”功能所涉及的技术。因为“秒杀”需要处理高并发、一致性等疑难问题,具有较高的技术含量,同时这些问题在软件领域具有极高的通用性。


学习这样的内容,会极大降低累的程度

累不累取决于学习方法

程序员采用的学习方法首先也是要遵循“把书读薄再读厚”的方法,但同时要紧密配合动手实践。在学习一门技术时,先抛开细节、将其原理机制搞清楚;接下来动手是搭建或实现这项技术;最后再去深入了解自己应该了解的细节

“注意,很多技术非常庞杂,所以要掌握关键细节而非面面俱到。”

比如,学习kafka,首先是了解消息订阅/发布的机制、应用场景等;接下来搭建kafka环境,实现一个订阅/发布的业务逻辑;最后,需要对kakfa为何具有那么高并发的数据存储、发送等机制进行深入解读。

简单地讲,就是:知其然、动手验证、知其所以然。这样的学习方法会有效降低每一步的学习门槛、及时带来“学习的成就感”,不累、不累、真不累:D


总结

对于本提问的答案,用一句话总结就是:对软件有兴趣、会选择学习内容、学习方法恰当就不会累;反之会累。


欢迎关注我、欢迎讨论!




累啊,怎么不累,但是不学怎么办吃什么,都是因为穷。建议是少去学各种层出不穷的新框架新平台,多学点基础,多看看以前大学时那些教材,基础是不会有太大变化的。




我的堂弟就是一个地地道道的理工科程序员,可以十分肯定的回答你,累,累的要命。为啥呢

第一,知识点更新快,需要不断的学习。

程序员这个行业,技术更新的特别快!可能你今天还在使用这个框架,明天这个框架就可能被其他新的框架所替代,如果不去学习新框架,迟早是要被淘汰的。

第二,代码很繁琐,需要花大量的时间去记忆。

我们都知道系统、软件都是程序员开发的,小的软件还好说,较为复杂的软件,一 般需要数十种甚至上百种的源代码的参与,密密麻麻,相当难记忆,所以说需要花掉大部分的时间跟经历去记忆,为了方便以后的编程。

第三,工作时间不规律

一个完整开发流程需要哪些工序呢,

提交测试:前端,服务端,数据,算法准备就绪。

测试员测试,提BUG。

程序员修改bug,责任到人。

所以bug改完,测试员验收,bug全部关闭。

功能上线 - 产品验收。

计划内如果你的进度delay,会影响别人,这也是为什么会加班加点。

第四,压力大

既然这么累为啥还要做呢?

第一,个人兴趣爱好

世界是丰富多彩的,人的兴趣也是多种多样的,有句话说的那样“累并快乐着”,有些快乐你是无法体会的。

第二,生活压力

程序员一般都是男士来做,因为需要承担家庭的重任,即便很累也要咬牙坚持,为了给妻儿一个温暖的家

第三,高工资的诱惑

程序员一般工资都是比较高的,既然学习了这么技术工资又那么高,再累也要坚持去做啊




少壮不努力,长大写程序。 作为程序员,坚持不懈的学习,当然累了,但是没办法啊,不学习就得被淘汰,学习也未必不被淘汰。

吃上程序员这口饭,就得一直学,因为这个行业技术更新迭代太快,累又有啥办法,男怕入错行女怕嫁错郎,不爱学习的人,入了程序员的行,那就算你倒霉喽。

我小的时候,老师教育我们要好好学习,否则你长大了就得出大力,现在我教育小朋友们,你要好好学习,否则就得学一辈子习。




作为一名从业多年的程序员,我来回答一下这个问题。

首先,由于软件开发领域的技术迭代速度比较快,所以程序员的学习压力确实比较大,也确实有不少程序员由于知识结构逐渐陈旧而退出程序开发领域。对于程序员来说,坚持不懈地学习并不是不累,而是一种行业特征。

对于程序员来说,要想降低知识更新带来的学习压力,可以通过以下几个方式来解决:

第一:根据岗位任务来安排学习内容。程序员通过岗位任务来组织学习内容会更容易一些,一方面岗位任务的执行往往有丰富的资源支撑,另一方面通过岗位任务来学习相关知识会更加系统,也能够有所深入。按照历史经验来看,勇于承担新任务的程序员往往会有更快的成长速度,也会累积更多的知识。

第二:不断提升岗位级别。岗位级别对于知识的学习也有非常积极的影响,如果程序员能够不断提升自身的岗位级别,那么接触新知识的渠道也会变多,学习难度也会在一定程度上得到下降。所以,程序员如果想在技术领域走得更远,一定要注重岗位级别的提升。

第三:重视交流。交流是程序员降低学习难度的一个重要渠道,交流的过程也是学习的过程,所以程序员应该重视与行业技术专家的交流,尤其要重视最新的技术解决方案。对于程序员来说,有时候一次有效的交流就能够在很大程度上提升自己的工作效率。

最后,由于互联网领域的大厂往往具有较强的资源整合能力,所以程序员在大厂发展往往会有更多的学习机会,这对于延长自身的职业生命周期,有非常积极的影响。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!




还是比较累的。

我大学学了四年Java,工作后开始用PHP写代码,一门新的语言学起来倒还好,也就是几天的时间,过过语法,看看示例,就可以上手。我PHP自己看了一两周语法,就开始实际项目中用了,这还没体会到有啥累的。

然后这么过了一段时间,总觉得对语言了解太少,只停留在用的层面,就打算多深入了解下,这时候才是累的时候,一门语言要想精通,并不是件容易的事,还包括相对应的各种框架。源码读得都让人想吐,何止是累,直接要劝退的节奏。

过了一两年,PHP了解得差不多了,又开始用Go做开发,又是一个痛苦的过程,语法、各种原理、对应各种包、框架,想想就累。

这还是最基本的换开发语言需要学习的东西,实际上其实还有更多的东西需要学习,新出的一些框架,个人提升的东西,零零散散得很多。

所以坚持学习累不累,肯定累,也是没办法的事情,这个行业迭代太快了,知识更新的频率很迅速,不学习,老底子总有不够用的时候,为了不被淘汰,只能不断的学习,不断的接受新知识,丰富自己的知识体系,才能避免过早的淘汰。




如果单论学习本身的话,那肯定累啊;不累还叫学习吗。

所谓学习,乃是学习新东西,然后不断练习;每出一项新技术,或者用到了自己不会的技术,都需要去学习,或主动,或被动,学习累是必然的,因为学习本身就不是一件不容易的事,尤其是坚持不懈的学习。



再者,程序员这个职业之所以能坚持学习,有两方面原因:

  1. 兴趣使然,很多程序员很热衷于学习,学习各种新技术,学习各种编程语言;
  2. 业务或者环境驱动,就是工作中用到了,自己又不太会;或者遇到问题了,想要引入新技术解决问题,都需要去学习;

在学生时代,学习会是一个比较系统的过程,每一个知识点都会全面的学习,所以对知识点会有一个全盘的掌握。



但在工作中,就会有所不同,没有那么多的时间和精力去全面学习一项技能或者指点,普遍情况都是因为要解决问题而去学习,针对的是特定的场景和业务。

最后,学习也要掌握方式方法,带着问题,或者带着目标去学习,一定要清楚自己是因为什么要学习,切勿盲目跟风,啥都学,没有目的性;感觉什么都学了,又好像什么都没学,猴子掰玉米,最后只能是一场空。




最近华为出了一件事情,那就是有些员工每月加班160个小时,这是个什么概念,要知道在华为,每天在公司,扣除中午休息的2个小时,晚饭的1个小时,一天如果要满足8个小时工作时间,要在公司待11个小时,这160个小时,假如分摊到每周22个工作日,一天接近20个小时在公司度过。

这个事情在网上广泛地引起讨论,有些人强烈谴责血汗工厂,有的人则是感叹现在的年轻人吃不了苦。很多人,每天工作工作时间也是10多个小时,却每个月领着三四千的工作,而华为的员工,最少工资还高一点。我有一个朋友,也是在华为工作,虽然工作很忙,但是在工作之余,他还能保持学习,这是令我非常敬佩的。今天跟他一起吃饭,谈到华为加班这个事情,其实他并没有特别大的抱怨,在他看来,对于他这种从村里面走出来的孩子,还不容易在大城市稳定下来,真的要感谢华为这样的公司,虽然工作很忙,但是看在钱的份上,他觉得还是很开心的。选择一份朝九晚五的工作,虽然看起来很安逸,但对于他这种农村来的孩子,却看不出多少希望,一没人脉,二没本钱,根本没办法找到好的副业,还不如给多点钱在公司加班呢。即便每天非常繁忙,但他还是在每天休息之余,周末坚持学习,在他看来,程序员坚持学习是非常重要的。首先,程序员的黄金时间非常地短,在国内,可能35岁之后,就很难再继续发展了。所以,趁着年轻,多积累点资本,多学点东西,让自己快速成长,工资提升上去才是硬道理。虽然看起来程序员有点吃青春饭了,但是,像教师、律师、医生这样的行业,虽然越老越吃香,但是在年轻的时候,同样付出了非常多的努力,但是付出与回报却不成正比。如果这么想,吃青春饭其实并不是坏事情,重要的是吃青春饭的时候,要记得付出,记得努力。

其次,程序员是个竞争非常激烈的行业,毕竟程序员这个职业的历史,也就几十年,不断有新的人才涌入,不断有新的技术出现,时代的变化,日新月异。只有跟上时代的步伐,才能够不被淘汰,有时候人们会说,35岁的程序员就容易被淘汰,很大程度上,并不是因为老了,加不动班了,而是技术不行了,没有学会到更新的技术。像今天,如果你写Java,还不会Spring,写前端,还不会VUE,React这些框架,那么,你说不被裁员,裁谁呢?所以说,程序员年轻的时候,还是要让自己多动起来,不要埋怨工作的辛苦,并且保持不断的学习,才可以让自己避免陷于中年危机。

展开阅读全文

页面更新:2024-04-16

标签:坚持不懈   程序员   华为   框架   岗位   工资   兴趣   代码   项目   知识   内容   行业   工作   技术   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top