程序员|程序员最重要的能力是什么?( 二 )


这就是我眼中程序员最重要的能力与我的经历 。
02 - 淘系技术部 - 宝澜 在我的角度看 , 不同阶段不同场景都会产生问题 , 他们分别对应不同的能力 , 需要分析问题根本原因并通过不同手段解决 , 更考验人的综合能力 。
作为程序员 , 你认为最重要的能力是什么?
新手刚入门时 , 需要掌握写代码的能力 , 熟悉工作后 , 我们不能仅仅满足于是代码的搬运工 , 还需要具有深入分析问题和精准解决问题的能力 。 这个能力不是纵向某一个领域 , 更类似于思考问题的方式 。
在项目合作、业务沟通、个人成长、人际交往、绩效考核各类场景 , 我们都会遇到一个共有的名词”问题“ , 由于“问题”产生的背景、原因和影响都不同 , 如何分析问题个根本原因并通过各种手段去解决它 , 非常考验我们个人的综合素养和能力 。
为什么你会认为这个能力是最重要的?
掌握了这份能力 , (你就是勇敢牛牛 , 不怕困难!)即使以后不是程序员 , 对我们其他的职业发展方向也会有很多帮助 。
你通过什么事情认识到这点?
【程序员|程序员最重要的能力是什么?】总结工作中的规律并将这类经验抽象化 。
生活中的任何事物都有其生命周期 , 无论是食物、工作还是代码 , 都存在开始 , 发展 , 结束的过程 。
而影响我们发展的周期和发展趋势中 , 最重要的影响因素就是“问题” , 我们能否发现阻碍我们发展的“问题” , 寻找产生的原因并修复它 , 决定了我们这个函数是正趋势还是负趋势 。
你现在是否拥有这样的能力?如果没有 , 你是怎么学习调整的?
现在我个人还不完全具备这种能力 , 因为这个能力它是伴随着我们对“未知”的深入了解才逐渐增强的 。
当我们在一个工作中遇到了困难 , 没办法突破时 , 其实往往是因为我们对它的不了解或者是我们对未知事物的恐惧 , 能我们为了发现这个“问题”寻找解决这个问题的“方法”时 , 就需要不断学习学习学习 , 俗话说“知己知彼百战百胜” , 了解对手 , 才有机会战胜对手 , 才能找到对手的“痛点”和“软肋” , 而学习的过程 , 就是我们寻找问题产生原因的过程 , 找到\"软肋\" , 就是我们找到解决方法的过程 。 一般我会通过这样一个流程去提升:
分析



















认清问题:先好好审题再答卷 , 不要停留在“表面” 解决 寻找已有方案:先看别人怎么解决 , 如果没有 , 寻找问题之间的共性并关联起来 , 产出自己的解决方案; 拆解问题:大矛盾自己一个人解决不了 , 就将其拆解 , 分清主次 , 或者寻找能帮助解决问题的人; 平时多积累经验 , 学习别人的思维方式; 03 - 淘系技术部 - 柳千 于我而言 , 最重要的能力是「好奇心」 , 或者换个词叫「求知欲」、也可以叫「探索精神」 。保持好奇心 我是一个充满好奇心的人 , 我喜欢问为什么?在我五年多的职业生涯中 , 有接近 2/3 时间在做 Cloud IDE 相关的工作 , 可以说正是好奇心驱使我做了这么多年 , 以至于有段时间完全忘记了自己本职是一名「前端工程师」 。 记得那个著名的前端面试题吗?—— 从输入 URL 到页面展示到底发生了什么?我想知道从按下「.」符号到 IDE 弹出提示框之间到底发生了什么? 为什么 VS Code 相比同类技术栈的产品这么快?Refactor 是如何实现的?当你尝试自己去解答某个问题时 , 一定是将这个问题拆解为很多个小问题 , 一步一步深入下去 , 最后再找到答案 。 重复这个过程很多次会不断的锻炼你的思维模式 , 也一定会学习到优秀的架构设计、更好的源码阅读与调试技巧、性能优化技巧等等...软件行业每一个看起来很小的点 , 深入下去都包含着非常复杂的背景和设计 。 可能有人会问为什么我一个「前端工程师」要了解这些东西 , 前端不是应该只关心切图画网页吗?还是那句老话 , 我先是一个工程师 , 然后才是前端工程师 。不设限 前端只是软件开发领域中很小的一部分 , 如果我只是习惯性的将自己的思维限制在「前端」这个领域 , 那么很难获得真正的成长 。 保持对其他领域的好奇心与求知欲 , 不要给自己太多诸如「xxx 工程师不需要知道这些」的限制 。 前端程序员可以了解游戏领域的知识吗?后端程序员可以了解音视频处理吗?客户端程序员需要了解高并发、容器化吗?如果你只需要一技傍身来解决生存问题 , 那基本是不需要的 。 但我还是建议对自己感兴趣的事物保持好奇心 , 勇于探索各种不了解的领域 , 在这个过程中不断吸收新的知识、技能 , 也许收获会比单纯得到一个问题的答案更多 。 放大到程序员这个职业也是一样 , 不要将自己陷入程序员的思维定式中 , 觉得「程序员应该xxx , 不应该xxxx」 。 我认识的许多优秀的工程师涉猎非常广泛 , 摄影、健身、游戏、B 站 Up 主、视觉设计 。 我也认识几个优秀的设计师能写一手代码、画 PRD 。 虽说隔行如隔山 , 但我相信程序员的学习能力都不会太差 , 适当的接触其他领域给自己带来的是全方位的成长 。04 - 淘系技术部 - 福豆 信息技术行业的发展日新月异 , 每天都会出现新内容 , 一直保持学习的状态非常重要 。保有好奇心的重要性 信息技术区别于传统行业 , 发展很快 , 新技术日新月异 , 昨天是传统的统计学习 , 今天就是深度学习 , 明天可能就是量子计算 。在这个“长江后浪推前浪”的大潮中 , 保持对新事物的好奇心和探索就显得尤为重要 。好奇心可以让我们主动接触新技术 , 而不是被迫的后知后觉 , 可以让我们的日常工作变为自身的兴趣 , 而不会觉得工作是个负担 , 只为了完成绩效 , 同样好奇心也可以让我们的工作做的更加出色 , 不仅仅满足于完成和结束 。在我长期学习和工作中 , 逐渐感觉一直保持对新事物的兴趣可以让我忘掉加班加点的疲劳 , 觉得一天的思考让自己在项目或者业务上迈出了一小步 , 会觉得比较有成就感 , 在一步步推动一件事情发展 。比如以前完成第一个研究课题 , 又或者刚开始工作时接触第一个比较有挑战性的项目时 , 可以直接参考的解决方案都屈指可数 , 要把一个方案落地或者完善成论文都不是一蹴而就的 。 在这个过程中 , 我遇到过许多想放弃的时刻 , 明明有更稳健、风险更小的任务 , 为什么我要偏偏走上这条路 , 也成了每天反问自己的问题 。 幸运的是 , 我仍然保持着本科学生时代对知识的好奇 , 想想自己在这个探索的过程中还可以满足自己的兴趣 , 能够提升自己解决问题的能力 , 并不是仅仅为了完成任务 , 从而让自己在困难的时候坚持了下去 , 也在项目的后期更加专注解决问题本身带来的喜悦感和成就感 , 而不是关注功利性的东西 , 进而最后让自己满意的看到努力的结果 。保持好奇心可以使工作和生活处于一个良性循环的过程 , 将自己的工作转变为探索未知的兴趣 , 融入自己的生活一部分 , 也同时让好好工作真正为生活服务 。此外 , 基于好奇心促成项目的成功 , 让我对于未来的业务或者项目更加有自信 , 对后面的新事情更加有激情 , 不疲倦 。每天不忘学习新技术 , 一点一点积累 , 也不会被落伍 , 让大脑时刻进步 , 掌握学习学习的方法而不仅是完成一项任务 。结语 如上 , 没有永恒最重要的能力 , 只有对于不同阶段来说相对更重要的能力 。 保持好奇心 , 保持学习的状态 , 去面对不同阶段的不同挑战吧 。原文链接:http://click.aliyun.com/m/1000298233/ 本文为阿里云原创内容 , 未经允许不得转载 。