本来想写点技术文. 哈哈, 今天有点灵感, 就写写 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 小细节不说了
自然套路不会仅此...
沟通, 组织看人, 有些人天生不喜欢. 尤其程序员, 所以这个仁者见仁智者见智吧.
大家周末愉快.
来源: https://segmentfault.com/a/1190000020295073