在一个小公司,天天 CRUD,程序员如何练级,不断提升自己?
在大公司,就是个螺丝钉,天天就是自己那一亩三分地,如何不断提升自己,不被淘汰?
第一步建立自己的学习实验室
在学习的过程中,看到的知识,一定要动手实践,自己搭建运行环境把程序跑起来,再写一些实践性质的验证程序,碰到 bug,慢慢调试、修复。只有这样,你学到的东西才能转换成你自己的,才能对编程这件事情有更清晰的认知。
然后,把实验室升级成工作室
实验室是给你做实验用的,只要你有想法,都要在实验室进行实验,验证自己的想法。
工作室和实验室有什么区别?实验室只是做做实验,工作室是要完成一个比较完整的功能的。
你可以做一个小的产品,让朋友或者其他用户来用。哪怕你做的产品很简单、界面不好看。
比如作为 Java 后端开发,你可以开发一个网站,我看很多人开发了求职网站、互联网商城等产品。
这个时候你可以组队,比如和一个前端同学一起完成。
完成这个产品的时候,你需要找一个主流的技术框架,比如后端使用 Spring Boot,前端使用 VUE。
你应该去尝试使用各种最前沿的,你可能没用过的技术和框架。举个例子:Spring Boot/DDD + JDK21 + MyBatis + Redis + Elasticsearch 8 + LogStash + Kibana + K8S + Docker。
基本功能完成之后,一定要做压力测试,这样你才知道自己的产品和市面上产品的差距,逼着自己对产品进行优化。
最后,把工作室升级为工厂
工作室和工厂有什么区别?工作室比较随意,用户可能基本上是自己的朋友。而工厂是有相关的行业标准的,是有一整套的规范和标准的。
正常来说,工作室的能力你都有的话,就可以去一般不错的技术工作任职,甚至去头部互联网公司了。
但是你一定要公司的核心部门或者参加公司的核心项目,在那里,你可以收获更多、更前沿的经验和技能。怎么判断部门是否公司的核心?根据你的部门是否贡献了公司的很大比例的收入即可,这是业务部门;如果是基础支撑部门,判断是否获得公司最多技术奖项即可。
同时,你需要不断深入技术,对软件开发的套路和各种 trade-off 以及各种解决的方案的优缺点非常熟悉。也要写出可维护、可扩展、可重用、可读性强的代码。
另外,我觉得最重要的一点是,需要走出去,和其他优秀的工程师一起讨论和工作。去参加行业分享会议,接触更多行业专家,学习更多的行业成功经验和踩坑经验。和他们聊天,结合自己的工作、经历去思考他们的经验对自己的启发和思考。
贯穿始终,输出倒逼输出
在我们学习、实践的过程中,可以把自己的学习过程、实践过程、踩坑过程分享出去,这样除了能积累自己的影响力,还能更好找的自己的同行者、追随者。甚至,大概率,你能做做成一个学习型 IP,以此开发出自己的副业。
以下几个点,请时刻谨记