28 | 软件工程师的核心竞争力是什么?(下)
该思维导图由 AI 生成,仅供参考
如何提升学习能力?
- 深入了解
- 翻译
- 解释
- 总结
软件工程师的核心竞争力在于学习能力、解决问题的能力和影响力。要提升这些核心竞争力,首先需要构建自己的知识体系,深耕一个技术领域,建立起最初的知识体系,然后逐步横向拓展到相近的领域。快速掌握新技术的秘籍就是构建属于自己的知识体系,让在学习新知识时能借用已有的知识,加快学习速度。解决问题的能力需要形成自己的一套解决问题的方法论,包括明确问题、拆分和定位问题、提出解决方案并总结。提升影响力可以通过在某个领域做出足够牛的成绩、做事情超出预期、帮助其他人和分享来实现。软件工程师的核心竞争力体现在学习能力、解决问题能力和影响力三个方面,需要在这些方面不断提升,形成自己的核心竞争力。
《软件工程之美》,新⼈⾸单¥59
全部留言(13)
- 最新
- 精选
- 易林林提升技能方面的核心竞争力,除了提升思维能力,还要加强基础技能的知识储备,不能去学一些表面能解决问题的知识散点。 拿组件库、框架来说,在面试的时候,一旦问到组件、框架相关的计算机基础知识,怎么实现的,原理是什么,用了哪些设计模式,经常得到些似是而非的答案,更有愠怒的面试者说:我会用就行,那些东西在写程序的时候用不到。对于这样的面试者我的定级是“码农”(我很反感这样的称呼,但实力不允许的情况下只能这么称呼),因为“码农”不需要过多的思考和创造力,只需要按规矩流水线操作就行。 IT行业流传着这样一句话:面试造飞机,工作拧螺丝。偶尔听身边的程序开发人员提到这句话的时候,都是浓浓的不屑和抱怨,还有受侮辱的委屈。在我看来,这样的人只有拧螺丝的本事和认知,没有造飞机的理想和目标,眼界和格局的限制,已经决定了今后的高度和成就。 对此,IT行业的技术从业人员不应该忽视计算机基础知识的培养和储备,去了解一些本质上、核心上的东西,比如:计算机组成原理、计算机网络、操作系统、编译原理、数据结构与算法等等比较内在的东西,了解和熟悉了这些东西后,无论计算机上层建筑更新换代如何迅速,都无法将你甩出到行业的边缘或者淘汰的边缘,所谓的学不完、35岁的限制也就不攻自破了。 当然,发现问题、分析问题、解决问题的能力会水涨船高,学习能力的提升自然也不在话下。曾经有一位领导这样跟我说过:技术人员需要的是静心沉淀,不是努力浮华。
作者回复: 👍感谢分享,节日愉快
2019-05-02230 - hua168基础不牢,地动山摇 我发现很多人,基础都没学好,更别谈什么深耕了…… 比如基础的基础是自学能力,很多人都不具备自学的能力,所以他们连自学都没学好。 比如很多人想学习运维问我要资料,我就想让他学网络开始,给他一本CCNA学习指南,过几天问我,问他有什么疑问吗?他说没有疑问,根据我的经验,那肯定没学好。我问了他,我就出一道题问他,他都没办法回答出来。 有些人回答的更无语,Ta说书上没说😰, 然后我就很无奈回答“如果书上都有直接答案了,我这样问会不会觉得我很傻?” 后来我才发现,他们学习都从来不会体会作者的思想,都不会去了解原理上的东西。 还有人问我:这本书600多页,我看完了前面后面忘了怎么办? 我:如果你能了解作者的表达意思、思想并用自己的语言去表达出来,那肯定是不会忘记的。 一个没有自己独立思想的人就像一个木偶, 如果一个木偶有了思想,那就是比诺曹😄 最后我都建议他们做一个有灵魂的人😄
作者回复: 👍很好的总结。 书看一遍肯定记不住,得经常翻才行,看完得思考,思考完了还得实践,实践完了还得总结思考,最后才能变成自己的知识。
2019-05-02216 - calvins看的越多,学的越多,越发觉得自己太菜!还是基础太差的缘故
作者回复: 参考“邓宁-克鲁格心理效应”的图,你这已经进入“开悟之坡”了:)
2020-01-067 - 纯洁的憎恶提高学习能力,用知识体系对抗复杂多变的问题。提高解决问题能力,明确问题,拆分与定位问题,提出解决方案并总结。塑造影响力,深耕业务能力成为专家,做事超出预期,尽可能多的输出价值,分享是施加影响力的有效途径。 我很早就知道知识体系的重要性,我也比较重视构建知识体系,但并没有什么亲测有效的方法,且对知识体系是个什么样的存在缺乏体感认识。可能还是学得太浅,用的太少。
作者回复: 方法不是最主要的,最多让你学习提升一点速度。关键还是坚持,多练习多实践。 从知识转变成技能,一定需要通过反复的刻意的练习,才能形成条件反射,最终掌握。没有任何学习方法能替代练习,最多有像催化剂,可以加速练习效果的学习方法。 还有就是对技术的学习,不能太依赖于工作上的输入,工作上如果项目好用户多,那还是很有挑战的,但大多数时候没有那么多挑战,可能就是个增删改查,那么几年的工作经验可能只是简单的重复,不能达到刻意练习的效果。那还是要在工作之外寻找一些练习的途径,比如上次我建议的:自己做一点项目、参与一些开源项目。 要想对知识体系有体感认识,还是建议先在一个领域有深度,有一棵树了才能想像出来森林是什么样子的,不然只能看到一片灌木丛。这过程难免要踩很多的坑,经历很多次的失败和挫折,反复的思考、总结和重试。
2019-05-106 - 果然如此1.技术方面 后端.net、扩展到java,前端jquery扩展到vue、小程序等,大数据solr扩展到es、mongodb、redis、rabbitMQ等; 2.产品 3.沟通 4.项目管理 5.团队管理 6.影响力 超出预期帮助同事 与同事搞好关系 乐于分享
作者回复: 👍感谢分享
2019-05-073 - 感谢大佬分享经验,听君一席言,胜读十年书
作者回复: 🤝有收获就好!
2019-06-182 - Gao老师所讲排查生产问题的案例,首先回滚版本,再看日志。这会引发更多的系统功能不可用吧,两个版本之间的功能差异尚不清楚就直接回滚,系统风险是否被进一步扩大?
作者回复: 这个确实要具体情况具体看,因为我日常的系统上线,都会有回滚方案,回滚也是自动化的很方便。有些跟数据库相关的如果数据库结构发生变化又产生了新数据,确实没法直接回滚。 这是我没讲清楚,这里可以作为一个参考即可。
2019-05-052 - hua168所说的T型人才,一专多能,先一专后多能? IT运维和开发基本上都需要学网络、linux、编程、数据库、一些安全知识吧,之前侧重点不同… 开发注重编程和数据库 因为注重服务器管理、编程实现自动化,开发运维工具,平台
作者回复: 这篇主要还是讲的构建知识体系,只是构建知识体系也要先专注才行。
2019-05-022 - garyhimself作为一名运维人员讲一下我对IT知识体系的认知: 1.IT基础能力,如linux,网络,这部分能力是平时debug问题的基础,学扎实了对于平时分析故障,性能问题有很大帮助。 2.编程能力,包括前端和后端还有脚本,脚本语言shell是必须掌握的,python也很有用可以实现一些shell写起来很费力的脚本,后端高级语言最好掌握python,golang还有java,目前市面上大部分的应用还都是基于java构建的学习java相关的生态如spring boot,jvm,运维人员主要运维的程序还是以java为主。再学习一下python的flask框架可以帮忙运维人员自己去构建一个运维工具网站,这个时候就需要一些前端的知识如vue,快速帮运维人员完成运维工具网站页面的实现,完成工具开发的闭环。 3.容器云的能力,包括docker,kubernetes,以及各大公有云厂商的云平台:AWS, 阿里云。 4.中间件运维的能力,包括数据库,缓存,消息队列 5.安全方面的能力,比如加解密,证书的工作原理,Oauth2.0的原理,怎么辨别和防范一些攻击。 6.DevOps方面的能力,CI/CD工具,代码质量管理工具,制品仓库工具的运维。 7.测试方面,基本的测试概念,性能测试的知识。 8.领域知识,如果是银行的运维得懂相关银行领域业务知识。 9.production support的知识,故障管理,问题管理,发布管理。 10.软技能,如何做技术演讲,如何写高质量的胶片,如何组织站会, retro等2022-06-031
- ifelse只有一个领域的知识你真正吃透,才能有效地共享到其他领域,构成一个知识领域的森林。--记下来2022-07-01