【Java进阶营】月薪10000+,一天的工作量只改5行代码,我也要当程序员

01

有次,客户反馈了一个紧急问题,要求下班前必须得修复。领导安排张工跟进这个问题,张工是一名资深软件工程师,张工接到任务,想重现该问题,结果发现并不是必现,于是定位到排查bug问题所在,费了九牛二虎之力之力,终于从上万行代码中定位到问题所在,最后张工修改了5行代码,编译运行,bug解决了,提交代码。这时已经是下午4点了。

张工舒了一口气,伸了一下懒腰,这时跟张工很要好的财务妹子过来了,找张工确认上次报销的事情,看见张工懒羊羊的。

“不是吧,你今天又只改这几行代码啊?”妹子问。

“是啊,今天的工作就处理这个,可花了不少心思”张工说,以为妹子会体谅。

“不是吧,一天改这5行代码,工作真的很轻松啊,你看看我,我今天都做了两张报表,连去茶水间倒杯开水都得一路小跑,还是当程序员好啊。互联网大佬马化腾、雷军、刘强东都是技术出身,看看我也要改行做程序员,怎么样?”

“刘强东是程序员出身?”

“是啊,刘强东在一次讲座上,说自己在校大三的时候,也就是1995年左右,他给别人写代码,一个晚上就能赚5万呢。”

张工一时竟无言以对。

程序员一天的工作量改5行代码,表面看似轻松,背后一直在超负荷运转,所隐含的艰辛不容易。有时候定位不到问题,不得不不断地调试,排查bug。冰心说:“成功的花儿,人们只惊羡它现时的美丽。当初它的芽儿浸透了奋斗的泪水,洒遍了牺牲的细雨。”不无道理。

02

多编写代码,不断地尝试

想要成为一名合格的程序员,毫无疑问,编码是不可避免,持续不断地编码,代码要达到一定的量。程序员是一个在实践中成长的职业。如果不加以实践,即使看再多的书,听再多的视频,也很难把知识掌握到透彻,到了真正做项目的时候,难免会遇到各种各样的问题。最好的方法,是通过上机调试,参与从设计到开发到测试到维护一整套的流程。

刚开始工作时,基础比较薄弱,要在工作中要学会寻找成就感,哪怕只是完成一个小小的功能,优化了一段代码,都是你辛勤付出的结果,是你能力提高的体现。记得刚参加工作的时候,第一次Excel一个导入导出的功能时,要验证Excel表格数据格式,当时就慌了,因为不知怎么做,于是午间休息时,上网查各种资料啊,终于把功能实现了。

注重编码规范

周期性的回顾自己,看看以前编写的代码,有哪些可以改善,这样能看出以前的自己与现在的自己这两者之间的差距。

类似这样的经历或许你也有过:

回头看看自己一年前编写的代码,惊讶地发现,哇哈,如此不规范的代码,是谁编写的?确定是我写的吗?我能写出这样惨目忍睹的代码?分分钟钟怀疑人生。

代码规范的重要性我们都知道,但要真正做好,还需要我们在实践中慢慢的累积,不断修炼。那些看似无用的东西要经过我们慢慢地累积由量变达到质变的时候,相信你能体会到其价值所在。

养成良好的代码规范不是为了别人,也不是为了公司,而是为了提高自己的编程修养,提高自己认识事物的能力。让自己编写的代码可维护性更好、可重用性和可扩展性更强。

规范的代码可以帮助快速调试程序,快速检查找到问题所在,节省时间。

多关注新技术

互联网时代,新技术层出不穷,技术的不断进步,会加速我们以前所掌握所熟悉的技术的过时。

学习一门新的技术,要通过实践。可以把它应用到工作中的项目,如果条件限制,也要尝试做。唯有实践,你的新技术才能理解得更为深刻。知道有那么一门技术,与实际使用过,其间的差异可不止一点。建议对于技术不宜贪多而不够深入。很多技术,我们都很有兴趣,对于刚兴起的技术,也紧紧跟随。但是,几乎都是蜻蜓点水、一知半解。回头想想,似乎什么都会一点,网站设计,数据库,移动开发、缓存分布式的等,但是,却没有核心竞争力,我能做的,大家都会做,而且,我也没有把握比别人做得更好。

重视沟通

职场里,有的员工在任务进展过程中不注意沟通,认为我只要最后把领导安排的任务完成了就算完事了,结果往往需要项目负责人或上级主管问起来时才想起来汇报进展;更糟糕的情况是即使在开发过程中出现了问题,也不敢主动沟通,而要等到别人问起来了才提出目前碰到的困难。这样会给别人造成极大的困扰和担心:如果我没有问,那么这个问题是不是就卡在这里?项目进度是不是就延期了。

编码只是程序员工作的一部分,团队之间的沟通也不容忽视。

职场上,对你的职场形象造成负面影响的其实并不是事情没有按期达成,因为有时候确实有一些因素会导致事情无法正常完成,而危害最大的是你没有及时沟通问题,造成问题的搁浅和发酵,最终造成的结果与预期不符;这会给团队带来不必要的麻烦:出现问题为什么不及早反馈沟通?

你遇到的问题,或者团队中已经有人解决了。因此,我们需要意识到定期沟通的机制对于跟进效果是一个重要的指标;那么如何搭建一个好的沟通机制呢?在这里给大家推荐一个SMART模型。

S代表的是Specific:沟通内容要具体

M代表的是Measurable:衡量指标要量化

A代表的是Achievable:目标制定要实际

R代表的是Relevant:个人的目标要与团队目标一致;团队的目标要与公司战略一致。

T代表的是Time:完成工作需要的时间,预计达成结果的时间

03

特别喜欢这样一句话,喷泉之所以漂亮是因为她有了压力;瀑布之所以壮观是因为她没有了退路;水之所以能穿石是因为永远在坚持。编程的工作很辛苦很累。有时候我也想放弃,不做了。可是想想,路是自己选择了,再怎么样也要走下去,如今想想,我还应该感谢做程序员的那段时光,编码工作虽然艰辛,但也让我学到了不少东西。

【END】

你可能感兴趣的:(Java,spring,spring,boot,java,架构,spring,cloud)