每月IT摘录201805

摘录自互联网的前辈心得:

一、技术:
0.精通一个淘汰的技术对你没有任何价值。学习的精力有限,更应该花在值得学的技术上。
比如网络、操作系统、数据结构、算法
1.工作要有定力,更多的应该是关心问题如何更有效地解决,而解决技术细节也比普通人更高效,写出来的代码更简洁。
说白了,就是找百度谷歌,也比别人找的快,定位的准,知道自己要解决什么,而且有大体的正确的思路,绕开以前走过的弯路。
2.学技术应该学习一项技术最核心的东西,比如学JAVA应该重点学习垃圾回收机制,JAVA类加载机制等,J2EE开发重点要学习HTTP和TCP协议。
3.了解整个系统才是硬道理。用什么管理jar包,需要选什么框架,数据库选用哪种,缓存选用那类,再了解java语言在JVM内部是怎么执行的,如何进行各种优化,提高性能等等。
4.搞技术就是路漫长,慢慢学吧。
5.技术就是为了产品服务的。
6.为什么大神们学习新技术的效率那么高呢?因为他们基础扎实,懂得原理,有编程思想,能够通过源码了解内部结构。
7.一个项目完整流程,从项目立项、需求评审、可行性分析、系统设计分析、开发自测、测试、验证到最后的上线

8.对于进入公司的技术型工程师来说,一般也可以分化为两种方向,第一种是业务方向的工程师,就是要开发业务逻辑的程序猿,主要负责写一些业务上的代码,完成产品和业务方的需求,当然这中间也会运用到各种各样的技术,但是是用技术去解决业务场景下所碰到的问题;当然也有另一种是研究中间件的工程师,专门研发一些工具给业务的开发工程师,他们会在更专业、更抽象的角度去解决目前开发所碰到的问题。当然后者的要求可能会比前者高一些,但不意味着这两者之间有高低之分

9.在工作中遇到新的陌生的技术、概念或者组件,不要只想着自己不会,多了解多应用,技术才会有所提高。

10.大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,建议是分开。

对于后端java工程师:
把精力放在java基础,设计模式,jvm原理,spring+springmvc原理及源码,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构(dubbo,dubbox,spring cloud),弹性计算架构,微服务架构(springboot+zookeeper+docker+jenkins),java性能优化,以及相关的项目管理等等。
后端追求的是:三高(高并发,高可用,高性能),安全,存储,业务等等。
对于前端工程师:
把精力放在html5,css3,jquery,angularjs,bootstrap,reactjs,vuejs,webpack,less/sass,gulp,nodejs,Google V8引擎,javascript多线程,模块化,面向切面编程,设计模式,浏览器兼容性,性能优化等等。
前端追求的是:页面表现,速度流畅,兼容性,用户体验等等。
术业有专攻,这样你的核心竞争力才会越来越高,正所谓你往生活中投入什么,生活就会反馈给你什么。并且两端的发展都越来越高深,你想什么都会,那你毕竟什么都不精。
通过将team分成前后端team,让两边的工程师更加专注各自的领域,独立治理,然后构建出一个全栈式的精益求精的team。

二、工作:

0.工作年龄不代表工作能力,任何技术工种都有干了很久技术很差的人。
1.最主要是氛围、环境。一群志同道合的人一起交流讨论,方能事半功倍。

2.专注于最终的目标,不要为了修灯泡而造汽车。

3.有些互联网公司实行 996 制度,早上 9 点干到晚上 9 点,一周 6 天,这是非常大的工作强度。

三、思维:

1.程序员必须要有产品思维,就是从用户的角度去想,要从产品经理的角度去想,产品为什么要做这个功能,做成什么样子,怎么让用户使用简单,如果有产品思维,这个程序员就上了一个台阶

2.有些数据可能需要特殊处理。先处理一般的情况,然后处理特殊情况。
四、生活:

五、家庭:
0.谈恋爱是两个人的事,而结婚是两个家庭的事。

原文地址:https://www.cnblogs.com/expiator/p/7648343.html