作为一个近7年的程序员来说,想说自己的能力多么牛X,那可真是有点儿自不量力。
孔子登东山而小鲁,登泰山而小天下。当一个人学得东西越多越迷茫,越不知从何下手。
一般一个程序员会经历以下几个阶段:
1.懵懂
带着不知前途为何物的书生,一头选了一个计算机相关的专业,听着老师讲大谈世界上第一台计算机ENIAC的由来,它是如何由几十个人共同操作才能使他工作的;听着老师讲计算机组成原理,知道计算机是由存储为中心的,直到现在还是似懂非懂;听着老师讲数据结构,如何寻找各种最优算法,如何众多的路径中找寻一条最短路径。
每一节课,都听得我热血沸腾,工作时却大多都用不上……
2.入门
带着工作的压力,领导的嘲弄,同事的鄙视,开始了第一份工作,所有的东西在你看来都那么的难,跟着同事去机房中,看着他熟练的用tail -f 查看着飞一般的日志从眼前略过,自己一行也没看到,同事就说知道了,原来是这里出问题了,不知道按了什么键,就关闭了日志运行窗口,心中大呼好神奇。
从最小的一个功能,开发了一两个月,才算是勉强上线,带着忐忑的心祈祷着不要出事……
3.笨鸟
渐渐的你也可以一个人开发出一个又一个的需求,总算是可以像那么回事儿了,却发现稍微难一点儿的东西,自己都要折腾好几天。好不容易学了一个IF2框架,却发现外面的工作都不用它,一年时间白费了,然后又开始学SSM,Spring MVC等到刚刚看了几个注解,学了个工作流,数据引擎,会了个F5,apache负载均衡,感觉自己牛X哄哄了。
带着自认为高超的技术出来面试,却发学你不会一点儿Spring boot,微服务的知识都找不到工作。
4.迷茫
工作了好几年,也知道了技术发展的日新月异,开始思考各种框架的演进,从Spring MVC->Spring boog->Spring Cloud,从单机到集群;从单数据库到读写分离,到分库分表;从数据库缓存到程序缓存,从单机redis到多redis;从冷部署到热部署,到灰度发布,热配置;掌握了一丢丢的Spring全家桶,却发现DDD领域驱动模型,K8S,云原生又来了;后来又发现程序员最好还要有点大数据知识。
写到这里我真想骂娘了,还有没有天理啊,工作以外,我几乎都在学习了,可还有那么多东西需要学!年龄一天天的增长,马上就支撑不起自己的才华了,该怎么办?
来自一个底层程序员的探讨,后续将知识点儿总结,学习路线归划一 一道来,道友们别走开,下期更精彩。