小弟是泥瓦匠@https://bysocket.com

本来想写点技术文。哈哈,今天有点灵感,就写写 Java 5 年来的成长感悟,大致包括下面几点:

  • 学技术的心态
  • 学技术的学法
  • 工作的心态
  • 工作的硬技能
  • 工作的软实力

学技术的心态

大一搞 ACM ,一直搞了 3 年左右。还有大一下半学期加入叶老导师的曦点工作室,从让我选择 Java 还是 C# 开始(当时都不认识这两个语言,只知道 C 与 C++),一路 Java 黑到现在。一路上历程:

  • 实验室 3 年左右(B2P金融平台 5imao.com)
  • 杭州恒生电子研发中心半年多(组件化J2EE框架 - TinyFramework www.tinygroup.org)
  • 杭州有赞商品服务化中心 1 年多
  • 哦 特赞
  • 又回有赞

我这不是说我在炫耀自己的经历,生来渺小。我的经历算什么,在未来看前面,都是狗屁不如罢了。

回到主题:学技术的心态,我曾经也是个性子很急,很想马上有产出的一个人。但是技术这东西,恰恰不是,那我曾经是咋样的呢?大学的我,经常装逼跑去图书馆借书,一借 Java 从底层到框架都借来,东看看西看看没啥软用。也没长进多少,回想一下,对年轻人来说,沉下心,一页一页啃书确实难啊。这个急于求成的社会风气,你说呢?

但是这并不是借口。实验室 3 年,更多的是复杂业务的开发,但最后一年,我反复的迷茫。现在想想那年,仿佛提早在经历现在刚毕业 1 年左右的技术小伙伴的迷茫期。迷茫能咋办?最近在看鬼脚七的书《没事别随便思考人生》写到,

「看书、网络、与人沟通,这三种方法是我觉得获取知识最快的途径。」

恩,我也是这样想到,看书没能解惑。那就问 谷歌,百度,知乎。至少那些大 V 回答会让我心静点,不那么浮躁。在搜索答案中,我明白一个现在还受用的想法

「任何事情,你想了解清楚。千方百计,花时间去了解,至少不会一窍不通。」

注意千方百计吧。后来还有个想法也诞生:

「跟着你的偶像去学,只要你想做的,坚持下去花时间,至少不会没有收获」

好了,我去找我的偶像,后面遇到了我的师傅(https://my.oschina.net/ldcsaa),千方百计地让人家做我师傅(自然做了很多苦力,翻译技术文,维护代码,维护框架等等)。师傅的好处,每一两个月迷茫,就可以找他。他忙的时候,不会及时回复,但是会回复你很真实的话

「沉下心,一页一页啃书」

对就这样,路漫漫其修远兮,吾将上下而求索

心态就是这样慢慢成长,撸代码不必多说,百分之99的汗水和百分之1的灵感。没鲁哪来的大牛。

学技术的学法

说完心态,做事有做事的方法。这是我的学法,你可以借鉴,但不需要复制。做最真实的自己,做最适合你的技术学法。
有时候,你不知道自己的学法,可以尝试下,试错后,坚持后,才会知道真正适合自己的方法。

  • 我比较喜欢做计划

虽然计划赶不上变化,但还是推崇 listful thinking + listful plans 。列清单任务,学习任务一样,然后完成会有成就感

  • 我比较喜欢模块化学习

学的杂,好。学的深,更好。那广度要有,深度不可少。所以模块学习比较好。比如 JDK 我从学 集合框架到其数据结构源码、然后 IO 、然后 网络通信.... 比如 HTTP 模块,然后 Servlet & JSP 然后 Spring IOC AOP 然后 Spring MVC。。。
模块化学习,让人不会摸不到头脑。自然选择哪个模块非常重要,其中肯定有试错,及时调整即可

  • 学会分享

每个人都有总结知识,谢谢曦点学长带我在博客园写文章。后来两个字,坚持。博客的坚持带给我很多好东西,首要的是如果没写博客我也不会写这些东西。

总结知识,会让你觉得知识更好全面,更要授予大众。你会好好总结,总结给自己,顺便总结给别人。帮助别人总是开心的。

分享总结的知识,还会认识很多人。Vamei学长(他博客:http://www.cnblogs.com/vamei/)告诉我的一句话:

「而很多时候,所谓的选择都是虚的,那是因为没有出现最好的那个选择。而没有出现最好的选择,是因为你还没有强大到吸引来那个最好的。」

继续听点雷子的民谣,我就安静地感概感概。这里继续讲讲工作。

工作的心态

心态,是什么?

最近在读《商业模式全史》,书上有句话这样的:

「服务,就是给对方带来积极的影响」

那心态,可以说是给自己带来的影响。心态么,自己的。工作的心态,就是工作时给自己带来的影响。

工作时

很多像我一样的人,租不起市中心。所以上下班各一个小时路上,然为了 8 小时工作。开开小差,也就是 6 个小时在工作上。但一天出去工作的 10 个小时,为了工作吗?白天也就 12 小时。不要说,你白天不想工作,拿到晚上,那会死的。所以工作就是占据了你睡觉以外的生活的所有,这是工作时。

工作中

工作中实习生,有师兄,到出bug,解决问题,到当了师兄,管理项目...大致技术分两条路,走纯技术 技术专家 ,这块你说的算。走技术管理路,你需要管理能力,管项目。体验中,积累了一些心态

「job is job」

工作只是工作,对的。所以做好你应该做的事情,别贪婪,忘了把自己该做的做好。这时候想到了特赞公司 tezign.com 某领导说过

「简单的概括,就是开心 → 交心 → 关心 → 同心。」

首先开心很重要,加不加班只是形式。主要还是小伙伴们一起工作,开心又能学到东西。然后和你的师兄,和你的 Leader 交心,彼此关心同事一些工作事,然后技术同心。

其实心态很简单,看山是山,看水是水。自己看着办,但有个很现实的,

「你的上级老板真的很重要哦」

工作的硬技能

在学校,在恒生实习,较真要强是回忆中。有好有坏,凡事有两面。毕竟工作和实验室不一样,更近地正规化,更近地流程化。你以为这样会更好,先听取已有的,学习已有的吧。建议是好的,但的看实际。

「硬技能,多半是熟能生巧,加点巧计」

  • 孰能生巧的 Javaer,需要懂

计算机基础:(包括 Network、OS 这些),

  • Java EE:核心语法,JDK 9 可以学学了,并发、IO 、RPC,还有一些框架的使用,Spring / Boot / Hibernate / MyBatis / ,还有些开源项目 ES / ZK / Quartz / MQ 等、
  • 数据库:MySQL 、Redis
  • 微服务:docker、APIdoc
  • 设计模式、一些第三方服务的开发、运行环境、日常还有很多软件的使用。

其实都有 API ,都有文档。更多的是孰能生巧,更多的是如何查阅资料,如何解决在工作中需要解决的问题。恩 debug 是个好工具。
巧计是什么,三步走:

「API 文档、Google 和问高人」

千万别做伸手党,必须自己思考后去获取知识。硬技能,还是回到上一篇如何学习技术。

工作的软实力

同样重要的是软实力:包括为人处事、包括项目管理、包括沟通力、组织能力等

项目管理

我管理过最差的项目,我这辈子都记得。千万,千万不能催别人。那时候,我开发好后端,我催其他人。导致你懂的,这个项目很尴尬。那怎么不催人,让人家把项目完成更快更好呢?

「夸人,鼓励人,突出人在那个项目的重要性」

你管理的项目是大家的,所以当年你管理项目的时候。考虑每个人的重要性,在项目会议中适当赞许哦....balbala 小细节不说了
自然套路不会仅此...

沟通,组织看人,有些人天生不喜欢。尤其程序员,所以这个仁者见仁智者见智吧。
大家周末愉快。

03-05 19:45