技术成长是很多同学面临的问题。有些工作几年的同学,无论是公司业务原因还是个人原因,都会遇到成长瓶颈,感觉自己进步缓慢。原因是感觉自己的技术水平没有长高。或者一些刚工作很久的同学,正在找工作的同学,都想在好的环境下工作,提升自己的能力。如果你有一个好的平台,你可能做一个小功能,就会被几十亿用户使用。做一个新产品,如果从主线产品上引入一点流量,可能会有几十万、几百万的访问量。你不仅要开发功能,还要考虑性能问题,能支持多少访问,是否需要水平扩展,是否需要负载均衡等等。每次遇到新问题、新挑战,我们都能不断成长。如果没有这样的平台,你公司的产品可能运营一两年后也只有几千、一万用户,可能连遇到一些技术问题的机会都没有。用户量没增加,业务不复杂,什么分库分表,读写分离,负载均衡,分布式设计等等跟你没关系,因为公司的产品还没有发展到那个程度。偶尔听到一些二线城市的朋友说:“做技术,留在北上广,不要回来,小城市的项目不养人,做事没有挑战。”用户少,都是CRUD,时间长了,人就没用了。这是外在的原因,不得不承认一个好的平台对于一个人的发展来说是非常重要的,不管是什么职业。我个人对技术改进有一些看法。我们在高中物理中学过“匀速直线运动”。他的公式是这样的:这个公式我们都学过,S是位移,V0是瞬时速度,a是加速度,t是时间。在技??术成长的路上,S是你的技术能力,V0是你学习技术的热情,a是你技术成长的加速度,t是时间。你的技术能力有多大,不是取决于你一时的热情,而是取决于你成长的速度和时间。很容易理解,如果你不断学习,随着时间的推移,你肯定会比以前更有能力。a是我认为最重要的项目。它指的是技术增长的加速。它由两部分组成:您所在的平台。正如我前面提到的,一个好的平台非常重要。个人学习当你同时满足这两点时,你能比同时期的其他人学到很多东西。然而,并不是每个人都会有一个好的平台。毕竟BAT招那么多人,明星互联网公司就那么多,不是每个人都能进的大的。当你不能保证你的第一个项目时,你只能想办法让你的第二个项目足够好。这样一来,你整个A能力就不会比别人小多少。如何通过个人学习提升自己?我们都知道我们必须学以致用。如果我们不使用我们所学的东西,我们会在一段时间后忘记它。如果平时经常写PHP,突然因为工作原因写了Golang,回来写PHP的时候,发现手是生的,写的没有以前那么流畅了。你看过《高性能MySQL》、《Unix网络编程》和?。你不去实践,你就很难理解得更深。但是如果你的环境不涉及这些东西怎么办呢?您是编写业务层代码的人。你们公司的产品用户不多,根本用不上。你只是一个做网站的小外包公司,功能需求可以用。.我不认为这些是你追求更深层次技术的借口。也许你现在不需要它,但总有一天你会的。只是您的操作方式可能存在一些问题。你需要从手头的工作开始。如果你是写业务层的API,你每天的工作就是按套路写代码,按照一定的规则,一条一条的写。也许你可以试着让自己停止做这种重复性的体力劳动。能不能写个程序,让程序自己生成API,每次只需要做一些简单的配置。这样可以腾出时间去做您感兴趣的事情并学习新知识。你的领导发现后,你也将有机会做更多有趣的事情。同样,你也可以通过阅读你所使用的框架的源代码来了解别人的设计思路。如果你觉得有什么地方不对或者不够好,你能不能给作者提交一个Issue或PR。你知道他们的master进程是怎么管理Apache、Nginx、fpm的worker进程的吗?他们如何接收请求?你了解select和epoll吗?你平时开发解决的一些特殊场景,比如加解密、支付接口调用、Excel导出、绘图等,能不能单独做一个库开源出来和大家交流学习?你有博客吗?还是坚持写博客?也许我们在做一些表面上很无聊的事情,这些事情不能帮助我们成长,但是我们要有极客精神,要用极客的方式来释放我们的劳动力,要乐于分享和学习,要能够从简单的事物中发现它的本质。大部分工作都是重复枯燥的,不同层次的感受都是一样的。每次设计功能时,您都知道如何支持并发并使其高可用。重复这一套类似的东西,你也会觉得无聊。我们不断在这份枯燥的工作中寻找有趣的东西,这是有价值的。我根据和队友聊天的感悟即兴写的。希望对您有所帮助。
