作为一名程序员,曾经对技术很痴迷,认为技术是第一。确实,刚开始工作时技术能力是需要的,你需要技术能力去当牛马才能干活。后来进入大厂后我观察那些管理人员,才知道技术不是上升通道,只有产出达标,超出预期你才能成长。如果你是做业务的,你所需要的能力就是熟练使用公司里的技术赋能业务,达到这样的条件就可以了。为什么?从利益角度看,公司招你是为了什么,为了干活,你得有产出,产生效益才行。从上到下我们来捋一下,比如硬件,你不会去研究硬件的改进,有对应的人去研究改进,你需要的时候理解原理看,根据应用场景去使用它。再比如基础架构,比如说操作系统,数据库,网络,这些也是一样,你只需要去了解它,应用它就好了,你如果想去改进它,你要做的比现有的最流行的要好或者更加实惠,否则没有任何意义。再到编程语言,你不会去优化编译器,这些都是基础架构的同学需要去做的事情,你要做的永远是应用层的事情。比如如何更好的利用工具达成目标,熟练掌握就可以了。我们要学习的包括
- 编程语言:原理,设计模式,类库,框架,代码设计
- 系统:计算机原理,操作系统,网络协议,数据库
- 中间件:消息队列,缓存,网络,代理
- 理论知识:算法和数据结构,系统架构,分布式
再想想,人们为什么要发明这种技术呢?肯定是有一定目的的。机器自动化代替了人工,生产力工具能大大提升效率,从而降低生产成本。程序员常用的工具
- git工具
- linux工具(常用的命令)
- IDE工具(pycharm,goland)
- 编程语言(go语言,python语言)
- 框架使用(web框架,rpc框架,orm框架)
- sql工具
- postman
- charles
我会收集使用这些工具并进行分享
另外,工具的最大作用就是要学会降本增效。
在公司里大家都是演员,大家都有自己的利益,要为了自己的利益做事,做事有记录,要有产出,需要跟老板汇报,不要被同事抢功劳。要有自己的目标,自己和公司共同成长才是最佳解决方案。
如何才是真正的有效成长,你做的事需要有清晰的目标,围绕这个目标有哪些解决方案,如何正确实施这些解决方案,这才能真正体现你的成长。