考研学硬件还是软件?

尹帅尹帅最佳答案最佳答案

这个问题很难简单给出一个“标准答案”,因为决定你选择哪一边的并不是你的专业本身(虽然有时候确实需要一些专业的背景),而是你在本科期间的学习和经历是否让你有了这样的兴趣方向,或者说,你是否对其中某一方面比较感兴趣或者擅长。 如果你本科期间修过单片机的课程,并且做过了一定的项目(哪怕是一些简单的小项目),那么你可以尝试去了解一下嵌入式软件开发(ARM芯片+开源操作系统),当然你也可以去尝试了解一下FPGA/DSPPC这些硬件方面的东西;如果你的本科专业跟计算机没什么关系的话,那么你大概率会倾向于选择软工这个方向... 所以归根结底,你要先了解自己,问问自己为什么会在乎这个专业到底是偏向软件还是硬件,然后结合自己的专业和兴趣再做决定也不晚。 如果题主只是单纯觉得软工薪资更高、前景更好而不知道从何下手的话,可以看看我写的这篇文章,里面有很多关于软件工程师的入门建议,或许对你有帮助~ 一、软件工程师的工作内容是什么? 二、哪些职业与软件工程息息相关? 三、什么样的人适合学习软件工程? 四、如何成为一名合格的软件工程师呢? 五、现在开始准备来得及吗?

一、软件工程师的工作内容是什么? 在正式踏入这个领域之前,你需要知道软件工程师的主要工作内容都有哪些。 一般来说,软件开发工程师在入职之后主要需要做以下几件事情:

1.需求分析 简单来说就是公司需要开发什么产品,产品的具体功能、性能、以及运行效率都是需要由开发人员来决定的。不过对于初级程序员来说,他们不需要参与整个需求的讨论过程,只需要根据业务分析师给出的文档进行开发就好。

2.设计并实现算法 这个阶段就需要用到编程语言的基础知识了,比如数据类型、变量、函数等。当所有需要的功能、流程都设计完成之后,就可以开始一步步把代码写了出来。 这里有个小技巧,那就是在设计代码的时候最好能够抽象出公共的部分,然后把它们单独拿出来重新封装,这样不但方便以后修改,而且还便于其他人理解。在编写函数和类的过程当中要注意方法命名,最好是能让别人通过这个方法名就大致了解其用途。

3.实现交互 上面说的那些主要是前端部分,而到了这一步,就要开始考虑后端了。比如说用户点击某个按钮时,前端的逻辑已经完成了,但是还要再调用后台的逻辑才能最终实现效果,这个过程就叫做实现交互。在这个过程当中会涉及到网络编程相关的内容(也就是大家常常听说但又不怎么熟悉的IO模型),还有数据库的操作等等。

4.测试和维护 任何一个合格的产品都需要经过严格的测试才行,而且越复杂的功能所需要花费的时间和精力也就越多。最后,还需要有人在日常的维护过程中不断修复BUG,保证软件的正常运转。

二、哪些职业与软件工程息息相关? 除了程序员之外,还有很多跟软件工程息息相关的职位,下面我会按照岗位的重要性依次介绍给各位~

1.产品经理 产品经理是负责产品整个生命周期的人,从最初的idea到最后的落地都要由他来进行。可以说他的地位是非常重要的! 作为一个产品经理,不仅要熟悉自己的产品,还得掌握市面上主流竞品的相关技能,除此之外他还得懂一点运营,因为在产品正式上线后的很长一段时间内,他都得负责产品的日常推广工作。

2.UI设计师 UI设计的全称是User Interface Design,直白的说就是指界面的设计。由于每个人的审美不同,每个界面都应该有不同的风格,这样才能做到让用户眼前一亮的效果。所以好的UI是需要设计师花很长时间去琢磨、去验证、去反复修改出来的结果。因此UI设计师的收入也是非常可观的。 但是如果仅仅只会PS的话还是远远不够的,毕竟现在很多工具都能实现自动生成图层的效果,想要成为出色的UI设计师,还得学会AE、AI等一些常用的矢量图形制作软件才行哦。

3.架构师 因为目前大部分的互联网公司使用的技术栈都比较流行,再加上很多企业并没有专门的人才去做架构上的规划,导致很多项目在发展的过程中就会出现各种各样的问题,严重影响项目的迭代速度。 所以一个好的架构师不仅能解决当前遇到的问题,而且还能提前预判未来可能出现的状况,从而避免这些问题影响到整个项目的进度。

4.测试工程师 测试可以说是产品生命周期中非常重要的一环了,尤其是在如今这个“产品即服务”的时代里,如果没有足够的测试覆盖,那么产品的质量就会很容易出现问题。所以一个好的测试工程师不光要能发现当前存在的问题,同时他还能在很大程度上提高产品的性能以及稳定性。

5.运维工程师 随着业务的不断发展,系统也会变得越来越臃肿,随之而来的各种问题也越来越多。为了处理这些层出不穷的问题,通常都会单独成立一支团队来做,而这个团队的职责就是维持系统的正常运行。所以说,运维工程师的存在是非常必要的。

三、什么样的人适合学习软件工程? 有很多人会觉得只要自己有足够的钱就能学好一门技术,但实际上却并非如此。俗话说得好,兴趣是最好的老师。只有真正喜欢这门学科你才能主动去了解它,进而才能学好它。 所以我认为,在选择进入软件工程专业之前首先应该想想自己对什么比较感兴趣,然后再根据自己的

党文俊党文俊优质答主

作为计算机专业出身,可以明确告诉你,不要学编程! 本人是本科学习通信工程(电子信息方向)的,研究生学习的计算机科学与技术。 我现在从事的工作主要是算法类(机器学习/推荐系统/优化算法等),而不是传统的开发或者测试工作。我硕士时学的是操作系统,嵌入式相关的课程以及网络编程的课程也是自学学完的,目前就职的公司对于我的技术也还算认可。

我现在觉得最实用的就是数据结构、操作系统、编译原理这三门课了,因为无论是做计算机应用也好,还是搞研究都是用的到的学科基础。当然其他科目也很重要,比如数据库系统、计算机组成原理这些也是必须掌握的,但是我觉得最重要的三门就够你用了。至于你说的考哪个学校,这得看你将来想往哪方面发展,如果打算读研的话建议报考985高校,就业上会占些优势。

我来回答
请发表正能量的言论,文明评论!