Skip to Content
软件工程基础
book

软件工程基础

by Nathaniel Schutta, Dan Vega
October 2025
Beginner to intermediate
392 pages
3h 56m
Chinese
O'Reilly Media, Inc.
Content preview from 软件工程基础

第一章 程序员 到工程师

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

基础技能的学习过程总是枯燥乏味,如今它们似乎已然过时。若存在成为专家的捷径,或许确实如此。但通往精通之路,必须立足于扎实的事实基础。

伊桑·莫利克,《协同智能》(Portfolio出版社,2024年)

成为软件工程师需要掌握多领域广泛的技能。理解客户的真实需求,将需求转化为可维护的代码,编写测试确保软件按预期运行,创建有效的用户界面,设计软件架构,处理数据,实现代码部署。若想在软件实践领域发展职业生涯,你必须超越单纯编写代码的范畴,全面掌握软件工程的精髓。

要从程序员蜕变为工程师 ,你需要精通软件开发生命周期(SDLC)的核心技能,掌握高效工作方法,勇于承认知识盲区,并探索弥补这些缺口的途径。本章将为你提供入门指南与实践建议。你将了解成为工程师的多元路径,以及这些路径常忽略的关键知识。本章最终将提供历经实践淬炼的建议,助你在从程序员到工程师的征途中扫清障碍。

但首先,让我们探讨软件工程师的本质 。

工程师的别称

软件领域充斥着多重含义(常被挪用)的术语,留下了大量模糊空间。若让五位软件从业者定义某个词汇,你很可能得到至少五种答案。最初"计算机"指代执行计算的人类。如今你常听到程序员、编码员、开发者和软件工程师等称谓。它们是同义词吗?

并非如此。 程序员或 编码者通常指专注于生成代码这项单一任务的人员。1这类人员通常精通特定编程语言和/或框架,但未必理解完整的软件开发生命周期(SDLC)。虽然许多人从程序员起步,但晋升之路需要超越单纯修复漏洞或实现零散功能的范畴。

开发人员通常对软件交付的全局流程有更深入的理解。他们通常精通多种语言和框架,并在多个业务领域积累经验。相较于程序员或编码员,他们往往更具资历,开始探索软件开发生命周期的更多环节,并可能担任经验较少团队成员的导师或搭档。

但要进入软件工程领域,你必须将工程化思维贯穿整个软件开发生命周期。作为软件工程师,精通编码是基本要求,更需具备对可扩展性、可靠性、效率和安全性的系统性思考。你已超越对算法与设计的浅层理解,不仅掌握规则,更懂得何时该灵活变通,甚至何时必须打破常规。当今生产环境中最复杂关键的系统,都由软件工程师负责维护。

编程训练营和大学通常侧重于机械化的编码技能,培养精通编程的人员。他们造就的是开发者或程序员。这是软件职业生涯的起点。但若想脱颖而出、获得晋升、参与最有趣的项目,你必须超越单纯的编码能力。

软件的价值远不止于创建语法正确的程序。当今成功的软件工程师所需掌握的知识体系,已超越单一编程语言的学习范畴——你必须精通软件产品的完整生命周期。本书正是你在这段旅程中的指南,旨在揭示那些你尚未察觉的未知领域 。

基础至关重要

基础至关重要。职业运动员将大部分时间投入到初学时掌握的技能上:高尔夫球手专注站姿、握杆与瞄准;篮球运动员钻研上篮、传球和罚球。他们投入在精彩集锦中的花哨动作上的时间远不及基础训练。尽管基础训练看似乏味,但若没有扎实根基,他们永远无法登顶职业巅峰。

如同所有职业领域,软件开发同样存在不可或缺的底层原则。请务必花时间掌握这些原则。职业生涯中,你将主要处理现有代码;快速理解他人编写的代码并掌握新代码库至关重要。陌生代码库可能令人望而生畏,但你必须学会应对模糊性。即使经过数月研读,你仍无法洞悉代码库的每个细节,而修改代码时也无需事先理解全部内容。

虽然你可能掌握编码基础,但未必懂得如何编写能为后续接手者简化工作的代码。技术同样日新月异,你必须具备持续学习的能力。许多程序员沉迷于追逐最新技术或语言特性,却忽视了那些能助你晋升的永不过时的软技能。基础知识或许不如新潮技术引人注目,但它们决定着职业生涯是停滞不前,还是获得更广阔的发展空间与更重要的职责。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

基于Python的DevOps

基于Python的DevOps

Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu

Publisher Resources

ISBN: 0642572274962