5

闲言碎语——第三期

 3 years ago
source link: https://blog.csdn.net/eclipsexys/article/details/115912089
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

看来大家都比较喜欢这个系列,比正儿八经的技术干货看的还多,那么好吧,继续第三期。

高效工程师的开发流程

经常有人问,一个初级工程师,一个高级工程师,究竟差别在哪里?

那当然是工资高低了。

那么为什么高级工程师能拿高工资呢?我们来看下下面两种工程师的开发流程,如有雷同,纯属巧合。

初级工程师:拿到需求——百度——Copy—Coding—Debug

高级工程师:拿到需求——拆解需求点——设计架构——Coding——Debug

其实差了什么呢?就是一个思考的过程,一个高级工程师,就高级在可以把需求拆解为架构,而不是根据需求去搜索网上的Demo。我遇到的很多初级开发,大多都是拿到需求后,看到需求里面要做什么,就先去网上搜索对应的Demo,然后Down下来改一改功能,大喊一声,牛逼。而高级工程师,首先是思考怎么去设计这个架构,来承载这个需求,同时考虑多方面的影响,比如可拓展性,复用性,性能等等方面,最后再去Coding,当然,高级工程师一定也不是全能的,所以肯定也会有知识盲区,所以百度Google肯定也是要的,但是当你有了一个整体的架构蓝图,剩下的就是往里面填充技术点了。

由此可见,永远不要停止思考,这是最值钱的东西。

作为程序员,思考不仅仅是停留在架构的层面,这会阻碍你的视野,你需要多思考整个业务流程、平台,多思考不同的角色所思考的东西,例如产品、测试等等,有时候在你看来理所应当的东西,在其他人看来,可能会完全不同,也是投入产出比,也许是线上风险,也许是用户体验等等,所以,保持谦逊的心态,思考、思考,再思考。

思考比努力更重要。

再扯的多一点,我们为什么要学数学、学物理?这其实就是培养一个人的逻辑能力,思考能力的重要方式,我们学这些并不是一定要掌握拉格朗日函数、掌握麦克斯韦方程组,而是在学习这些的过程中,培养起思考的能力,感兴趣的朋友可以参考我之前写的一篇文章

程序员与跨界

永远不要拒绝与程序开发无关的东西。

程序员虽然是一门技术性很强的科学,但是,一个好的程序员并不是只会写代码的,相反的,有很多爱好会让你的程序开发变得更加优秀,举个例子,我认识一个朋友,写自定义View非常之牛逼,可以从手写各种非常酷炫的特效而且能给你讲解的非常清晰,而他的爱好,竟然就是绘画,甚至他的主业曾经是一名设计师,而后才转行写代码,从他的绘画学习过程中,他可以比一般的程序员更好的理解绘图的本质,从而做起自定义View来就更加得心应手了。

再说一个朋友,曾经是程序员,没错,后来转行做了产品,试想,一个真正懂技术的产品,是一个多么可怕的存在,这个需求要多久?5天;我觉得2天够了;要么你上?我上就我上,2天搞定。当然举这个例子有点不恰当哈,毕竟不是劝人转行,只不过这也体现了其实知识之间是没有边界的,多个手艺多条路,技多不压身,这些都告诉我们,很多你看上去是跨界的技术,实际上能对你的编程功底有很大的提高,特别是设计能力和产品思维,这些对一个程序员的成长是非常有帮助的。

技术是手段,而不是目的

程序员引以为傲的技术,在外人眼中看来可能根本不值一提。

技术,是实现目的的手段,但是实现目的并非只有一个技术手段。

有时候产品说,我要做一个feed流,设计说,这个feed流上面的所有东西都要是可以配置的,而且能够随心所欲的组合,开发说,好的,我们需要搭建一个Feed管理后台,支持可视化设计Feed样式,移动端设计元素组件并更加语法规则进行组装,后端解析并动态生成Feed流数据,移动端进行解析和渲染,很牛B的一套架构,我们正好可以用上DSL解析、动态模板、可视化平台架构能很多新技术,毛估估30人日吧。

但是,产品真的是想要这样一套完善、复杂的系统吗?

其实这时候开发应该帮助产品更加深入的明确需求,他想要的究竟是什么,为了这个目的,是否真的需要这样一套非常完善的平台,有时候聊着聊着,这个需求可能就没了,不战而屈人之兵,这才是写需求的最高境界。

客户:我要一艘万吨巨轮

我:你要干嘛

客户:我要过河

我:河有多宽

客户:不到一米

我:要不你站好,我助你一脚之力

费曼学习法

我在之前的文章中,曾经总结过自己的学习方法,不过最近才了解到,我的这套学习方法,竟然还有个非常牛B的名字——费曼学习法,我之前的总结是基于我自己的理解而给出的,不过再了解了完整的费曼学习法之后,我才知道这其实就是土八路和正规军的差别。

37fffd8f3cf17f01509a01992f93e6e8.png img

上面这张图,就是一个标准的费曼学习法的过程,其实和我之前的介绍基本一致,当我们要学习一个知识点的时候,首先需要对知识点全貌进行一个掌握,然后形成博客、视频等产出,这就是我最早写博客,录教学视频的原因,这在过程中,你肯定还会遇到新的问题,然后继续学习、分享,循环这样一个过程,最终更全面的掌握知识,最终触类旁通,举一反三,这与我的学习经历不谋而合,经过我的验证,推荐给大家,相信一定会对大家有所帮助。

向大家推荐下我的网站 https://xuyisheng.top/  点击原文一键直达

专注 Android-Kotlin-Flutter 欢迎大家访问


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK