起床之后发现昨天整理的拿offer那篇 复盘一下后端工程师是如何在一个晚上拿下腾讯T4大佬的 真的火了,而且还上了首页推荐。
搞得我这篇压力有点大呀,可千万不能水了!
感受
入职一个月我和腾讯T4大佬都学到了什么呢?
首先抛出我的感受:
这个跳槽是完全正确的!虽然很累且充满挑战。
非常担心这篇水了,还是坚持撸起来吧。
进步最大的还是设计思想和编程习惯的改变。
真正的价值
我和大佬都认为编程语言本身不难,不管学习什么新语言,对一个已经入门的程序员来讲,可能再学习2个月左右,就能熟练掌握语言的使用了。
编程语言是工具,是武器,是实现方式;而程序员自己的思想和经验才是真正的劳动力,是内功,是价值所在。
真正区分程序员好坏的不只是对编程语言(工具)的熟悉程度,更多的是设计思想、和业务的契合程度、可扩展性、是否真的考虑到了问题所在。
同样一个首页列表展示的需求,在不同流量量级面前是需要不同的解决策略的。DB和Cache怎么配合使用、如何约定翻页规则、前后端如何做缓存、缓存更新机制是什么、等等,不一而足。
担心这篇文章会水的一个原因是,我不打算去写具体的代码,又想给大家呈现出我想表达的意思。我担心自己还没有这个写作能力,硬着头皮上吧~
我的改变
下面简单说几个改变编程思想的场景
-
定义好数据结构体:我们的业务有接口数据,也有需要给客户端直接推送的数据。首先定义好了结构体,并且结构体中有2类字段,一类是userid、timestamp等固定字段;一类是extra字段,所有可扩展的字段都根据业务场景添加到extra中。
-
量力而行:新项目有弹幕的需求,我马上想到的是我之前有使用PHP的swoole框架搭建过websocket,实现过web端的弹幕功能。但是这个提议马上被领导否定了。原因是:当用户量级少的时候可以自己实现,但是当流量起来后服务很难保证稳定性。万一出了问题,是灾难级的。最终我们选择了腾讯云成熟的IM解决方案。
-
找到问题关键:我之前的习惯是拿到需求之后,每个页面过一遍需求,想想解决办法。我的思路基本上是根据需求文档或者产品原型来的。像写流水账文章一样写代码。但是大佬的风格是,拿到需求之后,尽可能的抽象。把核心业务梳理出来,前期不会严格按照产品文档去写代码的。大佬会根据核心需求把业务服务层代码抽取出来,尽量解耦,然后再梳理产品原型,根据原型去写接口,调用或者复用他抽象好的业务服务层代码。
-
大胆尝试,不怕犯错:这个前提条件是在开发过程中,可千万不能在生产环境大胆尝试,一定要避免给生产环境带来影响 。在开发过程中只有不断尝试,才能不断进步,如果一直使用自己熟悉的技术点,大概率是故步自封,难以进步的。不给自己设置天花板,也没有谁是权威的问题,大胆尝试。大佬给我的解决方案也不一定是最优的。我会在推进项目的过程中不断的优化业务逻辑,发现不合理的会主动和领导及产品经理沟通。
总结
跟对人,做对事,脚踏实地,不断学习、反思、沉淀、总结。
相关推荐
推荐大家阅读这篇文章的前传:复盘一下后端工程师是如何在一个晚上拿下腾讯T4大佬的
最后
感谢阅读,欢迎大家三连:点赞、收藏、投币(关注)!!!