如何看待软件工程师觉得学习算法没用?

人们可以集中精力研究计算机和程序设计语言,也可以把它们看作是用于设计和实现问题解决方案的工具。软件工程显然属于后一种情形,如图1-3所示。软件工程师的精力集中于把计算机作为问题求解的工具,而不是研究硬件设计或者算法的理论证明。软件工程师使用计算机的功能进行工作,并将其作为一般解决方案的一部分,而不是研究计算机本身的理论和结构。

软件工程项目往往涉及大量的人员,因此,软件工程师必须理解群体交互的动态性,以了解如何激发所有个人去追求一个共同的目标。他们必须从整体上考虑其技术对用户和社会的影响,并且他们在决策时可能要将人文及社会价值考虑进去。他们可能还要与和软件专家层次不同的、来自其他学科的专家进行交互。这些工作要求很强的交流技能、业务和推理技能。

同样,相比较于计算机科学,软件工程通常更具普遍性,更面向应用,涵盖的范围更广。计算机科学作为软件工程的核心,集中于数据、数据转换和算法,高级课程介绍特定应用领域的设计和编程技术。相比较之下,软件工程集中于构建软件产品。它考虑开发一个软件系统所涉及的所有活动(从初始的想法到最终的产品)。再者,软件工程设计概念往往集中于通用的设计原理、模式和标准,其高级的课程介绍适应于大型软件系统的设计和分析技术。

软件工程相关书籍

1、深入理解软件性能——一种动态视角

基于作者在软件性能优化领域丰富的经验,系统介绍了适用于多种环境的软件性能优化原则和技术,有助于读者理解复杂软件的动态,提高软件的可靠性,解决棘手的性能问题。

2、程序员的README

每名新入行的工程师在开始工作之前要阅读的书!10年+大型公司初级工程师指导经验的行业大咖教你如何开启职业生涯、扩展工作技能、应对糟糕管理,调整工作节奏!

3、好代码 ,坏代码

Google开发工程师从零讲解高质量代码,整合作者及团队多年的软件开发实践经验,通过50+条锦囊妙计、100+个案例,帮你轻松理解和掌握编程技能

4、领域驱动设计 软件核心复杂性应对之道 修订版

领域驱动设计(DDD)之父作品,众多声名显赫软件师鼎力推荐,深度剖析构建高质量复杂系统的核心技术。

5、重构:改善既有代码的设计(第2版)

重构20年,生动阐述重构原理和具体做法,普通程序员进阶到编程高手的修炼秘笈和代码整洁之道

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值