• 我能做软件工程师吗
21年品牌 40万+商家 超1.5亿件商品

我能做软件工程师吗

全新正版 极速发货

22.12 4.5折 49 全新

库存8件

广东广州
认证卖家担保交易快速发货售后保障

作者编者:丁丛丛//靳冉|责编:白华召|口述:韩磊//郄小虎//陈智峰//鲁鹏俊

出版社新星

ISBN9787513352079

出版时间2023-04

装帧平装

开本其他

定价49元

货号1202850793

上书时间2024-06-22

大智慧小美丽

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
韩磊:增强现实领域专家,新媒体和社区运营专家,技术图书作、译者。2001年创办CoDelphi.com网站;2003年加入全球最大中文IT社群CSDN,历任网络总监、副总经理、总编辑等职。2010年加入广东21世纪传媒集团,历任信息中心CTO、新媒体事业部总经理等职。现任AR龙头企业亮风台公司产研副总裁。拥有美国Borland公司“Delphi产品专家”、微软公司“最有价值专家(MVP)”及“腾讯云最具价值专家”称号。合著作品有《网络媒体教程》,合译作品有《BeginningC#Objects:概念到代码》,译有《梦断代码》《C#编程风格》《代码整洁之道》《Unix传奇》《匠艺整洁之道》等。
郄小虎:腾讯公司副总裁。前谷歌全球高级技术总监、谷歌中国研究院副院长、小红书CTO、滴滴出行副总裁。主导设计的系统包括GoogleAdWords、滴滴出行交易平台等,曾两次获得谷歌创始人奖。
陈智峰:谷歌大脑首席工程师。曾参与开发谷歌搜索和邮件系统使用的大规模分布式存储系统;近年来参与设计并实现了被广泛应用的机器学习开源系统TensorFlow,以及谷歌的新一代机器翻译系统和语音识别系统。
鲁鹏俊:前谷歌主任架构师(因QueST项目获谷歌创始人奖)。曾任百度高级总监、欢聚时代CTO、唯品会联席CTO。
编著者介绍丁丛丛:得到图书专职作者。
靳冉:软件工程师。

目录
序言

行业地图
软件工程师为什么如此热门14
软件工程师大多是什么样的人18
“35 岁现象”“996”是怎么回事 21
做软件工程师能赚多少钱,机会在哪里31
做软件工程师,底层驱动力是什么37
成为软件工程师,必须面对哪些挑战42
成为软件工程师,需要具备哪些条件49
成为软件工程师,可能面对哪些风险54
成为软件工程师,职业天花板有多高59
软件行业最具发展潜力的领域有哪些62

新手上路
入行前的准备
高中阶段,有哪些需要特别注意的问题68
大学阶段,如何为步入职场做好准备75
如何考量城市、平台、岗位,寻找合适的工作83
如何准备简历、笔试、面试,成为受欢迎的应聘者91

入行后的成长
入职初期很迷茫,如何快速进入新角色101
如何跟同事打交道,跟他们顺利协作111
如何练好基本功,写出好代码121
如何防范、发现、解决 bug131
如何在工作很忙的状态下高效学习144
如何判断自己要不要跳槽157

进阶通道
手艺上的精进
170如何分析需求,明确模糊不清的问题
175如何谋篇布局,做好程序设计 
187如何开展调研,找到最优技术方案
190如何控制风险,避免发布前后出现意外

分岔路的选择
198入行三五年,走管理路线,还是专家路线
203如何成为一名优秀的技术管理者
213如何成为一名优秀的技术专家 
218如何跟产品经理好好说话

高手修养
如何过难关
225解决复杂问题,需要哪些高阶能力
229攻克技术难题,有哪些值得借鉴的思路

如何做管理
235如何搭建一支有战斗力的团队
243如何推进技术团队之间的协作 
247如何推进技术团队和非技术团队的协作

如何思考底层问题
255如何找到思考问题的脚手架 
261如何把软件行业的思想运用于其他领域
266如何理解“技术是手段,而不是目的” 
268如何做出职业转型的重要决策 
274如何理解“利他就是利自己”

行业大神
丹尼斯·里奇:保持简洁273
林纳斯·托瓦兹:只是为了好玩276
吉多·范罗苏姆:允许不完美、保持开放278
玛格丽特·汉密尔顿:拯救美国登月计划281
杰夫·迪恩:开创分布式系统285
法布里斯·贝拉:一个人就是一支队伍288

行业清单
行业大事记293
行业黑话  300
推荐资料  302
致谢  322

内容摘要
如果你是一名大学生,正在犹豫要不要入行软件工程。但不知道它的真实面貌是什么,隐形的代价有哪些,怎么办?
如果你刚入行软件工程,起初,你感到新奇而陌生,但是有一肚子的问题不知道问谁;后来,你想快速成长,独当一面,但是不知道该修炼哪些关键能力,怎么办?
如果你想转行做软件工程师,眼看着奔三奔四。学习和培训的门槛高吗?怎样快速学习,让理论变成实践?你每天焦虑不安,怎么办?
别着急!问题的根源来自于选择背后的不确定性。这本书就是让软件工程行业的高手,从入门到进阶,手把手带你预演一遍这个职业,大大降低你职业规划的不安全感和不确定感。
本书第一部分行业地图,带你俯瞰软件工程师有什么特点;第二至四部分从新手到高手,带你预演完整的职业进阶之路,帮你看清挑战和成长分别是什么;第五部分行业大神,带你领略软件工程师行业顶端的风景。第六部分行业清单,给你梳理行业历史、黑话和学习资料,让你求职能够脱颖而出。

精彩内容
人工智能时代,软件工程师会被替代吗?
·韩磊2023年3月以来,以ChatGPT为代表的人工智能技术飞速发展,不断进化出新的“超能力”,比如通过回答人的问题撰写学术论文、列出采访提纲、输出需求文档、编写程序代码,等等。甚至有人说,人类正在迎来“百年未有之大变局”“第四次工业革命”。而且ChatGPT还在进化中,每回答一次人类的问题,它的能力就会变得更强一点。各行各业的人不得不开始思考:我的工作会被AI(人工智能)替代吗?
在我看来,一方面,大家的担忧很有道理。因为包括软件工程师在内,现代社会相当多涉及创意、创作性质的职业都会受到人工智能的挑战。另一方面,我觉得大家也不必太过担心。因为如果我们从历史的视角来看就会知道,所有新技术,都是为了让人们更高效地生产某种东西。
新技术不光淘汰了旧岗位,也创造了新岗位。比如,19世纪我们有了织布机,原来很多用手工织布的工人被淘汰,但更多使用机器织布的岗位诞生了。同样的道理,我觉得以ChatGPT为代表的人工智能给人类带来了更多参与创作的可能性。
为什么这么说?以前,很多创作工作,你不掌握基本技能就无法参与。拿画画来说,一个不会素描的人,你让他创作一幅打动人心的素描作品,这不太可能。尽管这个人极具艺术思维,头脑中也有相当绚丽的想象,他还是没办法将其转化为美术作品。但是现在,借助AI,他可以跳过基础技能的训练,让人工智能代为作画。实际上,作画所需的很多基础技能,比如使用笔刷的能力,除了少部分大师,大部分人都是机械式的操作。当这样的操作不再是门槛,很多天才就不会被挡在门外。
音乐领域也是如此。我听说有很棒的流行音乐作曲家根本不识谱,但他会把头脑里涌现出来的旋律哼唱出来,请别人记谱。现在有了AI,他不需要找任何人,AI可以连编曲一起帮他做完。
其实软件行业也一样。现在我们在应用商店下载的App,有很多是为了实现某个简单功能,比如翻译、剪辑视频等。这些功能很多人都想到了,但是由于没有编程能力,他们写不出代码、做不出程序。而有了像ChatGPT这样的工具,普通人也可以让AI生成代码。这样一来,大量的想法就会变成代码工具,变成生产力。基于这样的思路,我相信未来会是一个人类创作能力大爆发的时代。
但它也带来了负面问题。一批只提供简单功能的产品(或公司),以及一批只把目光聚焦于实现简单功能的软件工程师会面临巨大挑战。因为他们仰赖的底层技术已经不再是门槛。
先从产品的角度来看。很多做单一功能应用的公司正在面临挑战。比如有一类叫IFTTT(IfThisThenThat)的服务,可以串联各个网站。具体来说,假设你在微博发了一个帖子,用IFTTT服务就可以复制帖子内容,同步发送到Twitter(推特)。提供这种服务的公司应该很郁闷,因为未来普通人只要用自然语言把这样的需求告诉ChatGPT,就可以获得代码。再比如有一类做知识图谱的公司,为客户提供基于知识库的梳理和检索服务,这样的产品也会受到挑战。因为目前已经出现了ChatPDF这样的产品——你只要把PDF扔进去,AI就会替你总结,告诉你这个PDF讲的是什么。以后极有可能出现这样的服务——你问一个问题,AI从特定资料里找出,甚至组合出最合适的答案。还比如,视频剪辑类产品也面临挑战。过去我们使用视频剪辑工具,还需要进行有一定难度的操作。但目前已经有人做出工具——你只需要用语言描述,它就可以生成并剪辑视频,短视频、长视频都能做。所以,除非是非常高级的剪辑师,视频剪辑的门槛已经不复存在。
我还看到Unreal(一家做游戏引擎的公司)的一个视频。它可以用手机拍摄人的面部,生成非常逼真的3D表情模型。这是什么概念?既然面部表情可以生成,未来如果加上人的动作、背景、环境,是不是意味着我只要有好创意,创作出好剧本,就可以在家里用AI制作一部电影?
当然,不止上面列举的产品类型,社会上很多其他商业模式或服务模式都会受到AI的挑战。不过,既有生产方式遭遇挑战,并不代表生产产品或提供服务的公司一定会倒闭。这些公司也可以拥抱新时代,利用新技术提供更好的产品或服务。
看完了产品角度,我们切换到人的角度,看看软件工程师会受到什么影响。在我看来,那些只把目光聚焦于实现简单功能、机械性地写基础代码的软件工程师会面临巨大挑战。实际上,过去软件工程师一天的工作里,有相当一部分是机械性地写基础代码——复制工具库或网站上的代码片段,进行组合,加上自己的一部分能力,得到最终代码。像这样的工作以后没必要每个人再干一遍——极有可能AI会帮你实现。最近我试用了一个AI代码生成工具,发现当我把问题描述清楚以后,它生成的代码还是比较漂亮的。
既然写简单、基础代码的能力已经不再是软件工程师的门槛,那么门槛是什么呢?为了探索可能的答案,我们来看看目前AI还不能做什么。
第一,目前AI还不能一步到位地根据任意自然语言指令生成完美代码。虽然前面提到,普通人也有机会使用ChatGPT编程,但对大多数人来说,这件事仍然存在不小的挑战。例如,假设要做一个类似IFTTT的服务,软件工程师大概率比没有技术基础的人做得更快,因为他们指令下得更准。未来有竞争力的软件工程师,一定是可以用准确的指令和人工智能对话的人。
如何成为这样的人?关于这个问题,我看过一位叫倪爽的交互设计师发的帖子,很受启发。他把交互设计师分成了几个不同级别:最差级别:可以做设计,但没什么想法,靠拼拼凑凑完成。
中间级别:有一定经验,知道怎么设计,但不明白为什么这样设计。
最优级别:既知道怎么设计,也知道为什么这样设计。
其中最优级别,也就是能说清楚“为什么”的交互设计师,不会被人工智能取代。
软件工程师也一样。若要向人工智能下达更准确的指令,软件工程师必须知道“为什么”。这就要求你对用户需求,以及软件工程、软件技术的底层思维有相当程度的了解。
第二,目前AI仍然无法自主处理复杂的问题集。换句话说,目前AI比较擅长回答“相对独立的问题”;面对“复杂的问题集”,它的回答会相对模糊。打个比方,我们向AI提问100个相对独立的问题,它可以逐个回答,但如果要求它把100个问题组合成比较有机的系统,目前还很难实现。这时候就需要软件工程师把复杂的问题集抽象、拆解为一个个功能模块,这叫架构工作。
架构工作目前还不太能被AI取代,这是因为它涉及具体问题领域里的相关经验和知识。假设你要架构一个有超大访问量的网站服务系统,尽管ChatGPT会给你操作步骤,但由于你面对的问题,或者你的环境不太一样——有的环境是潮涌式访问,有的环境是长期的高访问量等——判断和选择的工作还是要你自己来做。也就是说,未来有竞争力的软件工程师需要具备优秀的架构和决策能力。
第三,目前AI无法生成以前不存在,或者无法用以前的手段组合而成的代码。举个例子,信息流这种展现形式目前已经不稀奇了,大家在短视频等平台上常常看到。但我们不妨想一想,第一次出现信息流概念的时候,你让谁去做?你让AI做,它也很难实现,因为它没有任何数据可以复用。
这件事对软件工程师的启示在于,一方面,我们要不断在实践中发现新问题,提出新想法。另一方面,我们要学会把AI作为伙伴,使用它、优化它、挖掘它的种种可能性。由于软件工程师本身从事跟计算机相关的工作,因此拥有得天独厚的条件与人工智能互动,来提出新想法、实现新连接、发现新机会。
如果说软件工程师以前是用手工纺织,那么现在我们面对的是水力驱动的纺织机,甚至电力驱动的纺织机。未来已来,所有软件工程师都得学会使用新一代的“纺织机”。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP