为了账号安全,请及时绑定邮箱和手机立即绑定

不要做程序员,要做软件工程师

有件事我要先说清楚:会编程并不意味着你就是软件工程师。这是一个残酷的事实,但近年来这一点变得特别明显,尤其是在科技行业经历了裁员潮、经济波动和期望值变化的这几年。

写代码是程序员的工作。而软件工程师的工作则是解决问题。如果你仅仅是在写代码,你就是可替代的。但是如果你在设计系统、理解权衡以及思考整体,你正在构建的是不容易被自动化或外包的。

所以,有什么不同之处呢,为什么你又要去关心呢?让我们来分解一下。

...

编程 vs. 软件开发

编程就是写代码让某件事情运作起来。软件工程则是设计能够有效且可持续解决问题的系统。这就像搭乐高和设计摩天大楼的区别。一个有趣且快速,另一个则需要计划、协作和理解复杂系统。

在过去的几年里,我看到了当公司只重视程序员技能会发生什么。当科技繁荣减缓,随之而来的裁员开始时,被裁掉的不是那些能建立稳健、可扩展解决方案的工程师,而是那些只能机械地遵循指令、批量生产代码的那些人。

这个行业不仅需要写代码的人,更需要能解决问题的人。如果你想在这个行业中出类拔萃,你就不能只关注语法,而要开始思考整个系统架构。

此处省略了内容

为什么你需要升级了?

技术领域已经改变了。这就是为什么说不要仅仅满足于“程序员”这个标签,而是要瞄准更高的职业目标至关重要。

1. 目前就业市场已经很满了

掌握 JavaScript 或 Python 就能保证找到工作的日子已经过去了。训练营培养了大量的初级开发者,他们可以编写基本的 CRUD 应用。如果你的技能还停留在这种水平,你将面对的是一个竞争激烈且残酷的市场。

公司正在寻找那些懂架构和可扩展性,并能在时间、成本和复杂性之间做出权衡的工程师。这些技能不是从教程中得来的,而是通过像工程师那样思考得来。

2. 自动化正悄悄渗入

你见过GitHub Copilot和ChatGPT这样的AI工具能干嘛吗?它们可以写模板代码,修复程序漏洞,甚至开发简单的应用。程序员的基本编码工作正变得自动化。

但问题是:AI 不能(目前不能)设计复杂系统、做出判断或理解用户需求。这就是工程师们擅长的地方。

3. 公司正在省钱

当预算紧张时,公司会寻求提高效率。他们不希望仅仅是一个只会写代码的人,而是希望找到能理解业务问题的人,这个人能够设计出聪明的解决方案,并能与各方合作,交付真正价值。工程师们能提供这种全方位的视角。

……

如何从程序员转型为软件工程师

这不仅仅是编写更多的代码——更在于思维方式的改变。以下是一些方法让你实现转变:

1. 学习软件设计的基础

了解诸如SOLID、DRY(不要重复自己)和YAGNI(你可能不需要它)这样的基本原则。学习如何将问题分解成模块化且容易维护的解决方案。

像《清洁编码》这样的书是罗伯特·C·马丁写的,以及《设计数据密集型系统》是马特因·克伦佩尔写的,这些都是必读书籍。

……

2. 精通系统设计:

如果你想当一名软件工程师,你就得会设计系统。这可不光是写代码,更是要创建可扩展且容错的架构。

了解关于:

  • 负载均衡与缓存技术。
  • 数据库设计与索引优化。
  • 分布式系统与微服务架构。

系统设计面试出了名的难,但准备这些面试不仅能教会你许多种求职之外的技能。


3. 理解业务情况

这听起来可能有点无聊,但请听我说:最好的工程师不仅仅知道怎样建造某样东西,更重要的是知道为什么要建造它。学会思考用户的需求、项目的预算和时间线。你可以思考类似的问题:

  • 这个功能对用户有什么影响吗?
  • 有没有更简单的方法来解决这个问题?
  • 我们怎么才能既快又好地完成呢?

当你理解了业务,你不仅仅是工程师,你还是一个值得信赖的顾问。


4. 习惯协作

工程是一个团队合作的领域。你将与产品经理、设计师和其他开发人员合作。学会清晰地沟通,给予并接受反馈,以及记录你的工作进展。

这不仅是要写出好代码,还要确保代码能被团队成员理解、维护和扩展。


5. 保持好奇心

最好的工程师总是不断学习。探索新的工具、框架和技术范式。尝试使用如 Rust、Kubernetes 或 GraphQL 这样的技术。技术世界变化迅速,保持好奇心会让你更加灵活。


要不要学编代码?

当然!编码是我们所有工作的基础。但是如果你想建立一个持久的职业生涯,不要只满足于编码。学会批判性地思考问题,解决实际问题,设计系统架构。

成为一位软件工程师意味着将技术技能与创造力、协作和战略性思考相结合。这不仅需要你付出努力,这条路虽然不轻松,但它会让你在这个不断变化的行业中保持重要性和不可或缺性。


最后的感想

不要让自己仅仅成为一个普通的程序员。目标要更高,不要局限于编程。学会用工程师的思维方式。专注于构建系统,而不仅仅是写代码。行业在变化,但这不是坏事,反而是成长的好机会。

你觉得呢?你是不是想不再局限于编程了?评论区见!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消