Skip to content

四火的唠叨

一个纯正程序员的啰嗦

Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接
Menu

软件工程师成长的一个误区

Posted on 05/08/202205/08/2022 by 四火

挺久时间没有更新了,最近脑海中有几个化为文字的想法,但是都比较散,也就没有落笔。不过忽然有一个念头冒了出来,就是这些想法里面,有几个其实都是关于软件工程师成长的一个 “误区”。可以说,从 2008 年步入职场以来,这个误区导致的坑,或早或晚我踩过不少,我觉得把它们总结一下,写出来,兴许能给一些朋友们带来一点帮助。

“我对技术感兴趣,我只想做技术,走技术路线。”

这句话是不是很听过呢?请不要误会,这句话本身没有问题,但是说出这句话的软件工程师中,十有八九有一个误区,就是高估了技术本身在个人职业生涯中,起作用的占比。而我,曾经是其中之一。

我多次听到来自家长这样的评论,说是他/她的孩子不善言辞,缺乏沟通技巧,然而罗辑思维缜密,对于软件技术充满热情,想做一个出色的程序员。

我觉得,这样的言论,既对又不对。对的是,如果刚踏入职场,相当一个优秀的程序员,我觉得上述的优缺点,都很 “契合”,或者说,也许只需要学好技术,把确定的任务做完、做好,就能找得到工作的褒奖,就能胜任岗位。但是,随着你继续在职业生涯的道路上向上突破,基本坚定地走着技术通道(譬如我),上述能力的缺失,而造成的 “短板效应”,会越来越明显。

个中的原因,其实并不难理解。软件工程师,不是搞学术,而是搞工程,而工程能力,是一个非常复杂的多面体。比如提到的沟通合作的能力,是根本就绕不过去的。职场这些年来,我已经无数次看到那些所谓的技术 “牛人”,有着优秀的独立问题分析与解决的技能,却总是在贡献与晋升方面迟人一步,甚至多年过去,也难以在职业生涯的路线上,迈入更高的台阶。

除了沟通,再举一个例子,管理能力。我知道很多铁了心要做技术的程序员,也包括曾经的我在内,是对 “管理” 这个词有着不由自主的排斥。总对公司那些技术优秀的工程师,却 “转管理” 嗤之以鼻。某些总失偏颇的媒体也报道,“国外”(他们口中,中国以外的世界仿佛没有太大的分别,统一以 “国外” 概括之)五十岁的工程师还在写代码,六十岁的程序员还在发光发热……我理解这样的想法,但是这里被忽略掉的一个事实是,即便在那样技术通道被极大地保护的环境里,即便继续走坚持技术路线,坚持写代码,随着职位的升高,管理的工作就是不可避免地越来越多的,这是软件之所以为 “工程”、而非 “工学” 的一个特性。

换言之,“沟通” 也好,“管理” 也罢,即便对于技术人来说,也都是逃不掉的。你要跨团队合作,你要带着一票人一起攻克项目,团队能达成的事情,在重要性上往往要盖过自己在努力啃着的特定的问题。

当然,工程这个多面体中,除了 “硬技术”,必备的 “软能力” 有很多,我只是拿这两个方面举了例子。那么,再说一条我认为比较重要的能力吧——对于实际问题、模糊问题的挖掘和剖析能力。

事实上,这一条也是我参与的软件工程师面试中,非常重要的一条考察项。实际问题总是模糊的,先要把问题搞清楚,抽象成一个软件可解的问题,再使用各种软件的工具(代码)来解决问题。

你看,这里面有两个步骤,而在我们所熟悉的教育体系中,后者被极大地强化——算法、数据结构、库、平台……这些涉及的技能领域,都在后者这个 “解决一个已经经过抽象了的问题” 上面;而对于前一步骤的学习,往往是不足的。

什么才是 “模糊的实际问题”?随便举个例子:

我们公司内部有大约 100 个服务(service),提供不同的功能,分别由不同团队维护。现在需要你带领一个小团队,来设计实现一套监控系统,统一监控管理这些服务的健康状况。你打算怎么做?

这就是一个非常模糊的实际问题,不是一个算法问题,也不是一个传统意义上的系统设计问题。但这是一个真正的、实际的 “软件问题”。

最后,我想说的是。日常的工作中,也许我们一猛子下去扎得很深,但是我们还是需要时不时地跳出每天琐碎的条条框框,站高一点审视一下,自己在职业生涯路线中的位置,尽量带着技术人的决心和热情,但不要带着技术人的封闭与迂腐。

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

×Scan to share with WeChat

你可能也喜欢看:

  1. 扒一扒知乎上的帖子——“为什么有些大公司技术弱爆了?”
  2. 谈谈对程序员的培养
  3. 有趣还是无趣?
  4. 写在华中科技大学招聘结束之时
  5. 历史,科学,还有艺术

2 thoughts on “软件工程师成长的一个误区”

  1. 凯瑞 says:
    03/18/2023 at 3:01 AM

    对于模糊的实际问题解决,有什么道道可以遵循吗? 或者说有哪些方面可以提升自己的能力,或者有没有专门研究这方面的学科和结论,有什么的推荐的吗

    Reply
  2. 胡涂说 says:
    05/09/2022 at 8:00 AM

    不给自己设限。

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

订阅·联系

四火,啰嗦的程序员一枚,现居西雅图

Amazon Google Groovy Hadoop Haskell Java JavaScript LeetCode Oracle Python Spark 互联网 前端 华为 历史 同步 团队 图解笔记 基础设施 工作 工作流 工具 工程师 应用系统 异步 微博 思考 技术 数据库 曼联 测试 生活 程序员 管理 系统设计 缓存 编码 编程范型 英语 西雅图 设计 评审 问题 面试 项目

分类

  • Algorithm and Data Structure (30)
  • Concurrency and Asynchronization (6)
  • System Architecture and Design (43)
  • Distributed System (18)
  • Tools Frameworks and Libs (13)
  • Storage and Data Access (8)
  • Front-end Development (33)
  • Programming Languages and Paradigms (55)
  • Testing and Quality Assurance (4)
  • Network and Communication (6)
  • Authentication and Authorization (6)
  • Automation and Operation Excellence (13)
  • Big Data and Machine Learning (5)
  • Product Design (7)
  • Hiring and Interviews (14)
  • Project and Team Management (14)
  • Engineering Culture (17)
  • Critical Thinking (25)
  • Career Growth (57)
  • Life Experience and Thoughts (45)

推荐文章

  • 谈谈分布式锁
  • 常见分布式系统设计图解(汇总)
  • 系统设计中的快速估算技巧
  • 从链表存在环的问题说起
  • 技术面试中,什么样的问题才是好问题?
  • 从物理时钟到逻辑时钟
  • 近期面试观摩的一些思考
  • RSA 背后的算法
  • 谈谈 Ops(汇总 + 最终篇):工具和实践
  • 不要让业务牵着鼻子走
  • 倔强的程序员
  • 谈谈微信的信息流
  • 评审的艺术——谈谈现实中的代码评审
  • Blog 安全问题小记
  • 求第 K 个数的问题
  • 一些前端框架的比较(下)——Ember.js 和 React
  • 一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js
  • 工作流系统的设计
  • Spark 的性能调优
  • “残酷” 的事实
  • 七年工作,几个故事
  • 从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
  • 一道随机数题目的求解
  • 层次
  • Dynamo 的实现技术和去中心化
  • 也谈谈全栈工程师
  • 多重继承的演变
  • 编程范型:工具的选择
  • GWT 初体验
  • java.util.concurrent 并发包诸类概览
  • 从 DCL 的对象安全发布谈起
  • 不同团队的困惑
  • 不适合 Hadoop 解决的问题
  • 留心那些潜在的系统设计问题
  • 再谈大楼扔鸡蛋的问题
  • 几种华丽无比的开发方式
  • 我眼中的工程师文化
  • 观点的碰撞
  • 谈谈盗版软件问题
  • 对几个软件开发传统观点的质疑和反驳
  • MVC 框架的映射和解耦
  • 编程的未来
  • DAO 的演进
  • 致那些自嘲码农的苦逼程序员
  • Java 多线程发展简史
  • 珍爱生命,远离微博
  • 网站性能优化的三重境界
  • OSCache 框架源码解析
  • “ 你不适合做程序员”
  • 画圆画方的故事

近期评论

  • + 1.943624 BTC.NEXT - https://graph.org/Ticket--58146-05-02?hs=9a9c6f8dfe3cdbe0074006e3e640b19b& on 所有文章
  • Anonymous on 闲聊投资:亲自体验和护城河
  • 四火 on 关于近期求职的近况和思考
  • YC on 关于近期求职的近况和思考
  • mafulong on 常见分布式基础设施系统设计图解(四):分布式工作流系统
  • 四火 on 常见分布式基础设施系统设计图解(八):分布式键值存储系统
  • Anonymous on 我裸辞了
  • https://umlcn.com on 资源链接
  • Anonymous on 我裸辞了
  • Dylan on 我裸辞了
© 2025 四火的唠叨 | Powered by Minimalist Blog WordPress Theme