一个大二学生有关如何成为一名软件工程师的疑问及答复
最近,一个大二学生在微信上与我交流,提出了以下问题:
我是学软件工程的,但是对其发展方向并不明了,至今只学了c和java 没有学c++,老师只是上课,其他都是自己去了解的,想知道如何才能成为一名软件工程师等等这些。
我的答复如下:
你好!
对于你的描述,我感同身受。在大学里面,老师只会将基本的专业知识教给你,而学得如何,只有靠每个学生自己去领悟和钻研。同时,相对工作岗位的要求,我们在大学里面学到的东西是非常简单的。我们不能期望在学校里面就把以后要用的东西全部学会。为啥要提倡“终身学习”呢?就是因为学习是伴随一个人一生的事情。
在回答你“如何才能成为一名软件工程师”的问题之前,我想简单说一下软件工程师都要做哪些事情。一般而言,软件工程师做的事可以分为两大类:第一类是开发工作,第二类是维护工作。
对于开发工作,主要包括以下方面:
(1) 编写软件代码,实现软件的功能。这是大家最为熟知的。
(2) 在编写代码之前,我们会评审软件需求(也就是看自己到底要做什么事,是否做得出来),并编写软件的详细设计文档和单元/集成测试方案文档。等这些文档评审通过之后,再开始编写程序代码。
(3) 对编写完成之后的程序进行自测(包括单元测试和集成测试),自测通过之后发起对程序的同行评审流程,等评审、修改且自测通过之后再提交程序版本,供后续测试人员进行系统测试。
(4) 在提交程序版本之前,还要完善相关的研发文档,包括对之前的详细设计及测试方案文档进行修改,及新编写测试报告等。
对于维护工作,主要包括以下方面:
(1) 解决测试人员在系统测试过程中所发现的问题,即修复程序的bug。
(2) 解决客户反馈回来的软件问题,即解决现场问题。
(3) 如果在原有软件版本的基础之上出现了新需求,那么还要制作发往现场安装的软件升级包。
从以上软件工程师做的事情可以看到,一个软件工程师需要具备以下能力:
(1) 硬能力。包括:专业能力(学校里面的课程主要是培养这个)、业务能力(包括编写代码和文档的能力等)等。
(2) 软能力:包括:分析解决问题的能力、与人沟通交流的能力、承受压力的能力、自我调节的能力等。
如果你想在成为一名软件工程师,那么你就要在学校里面注意培养以上两种能力。具体而言,你可以多动手编写程序、适当做一些难度适中的项目、参加一些社团活动、利用假期到单位实习等。具体的路如何走,每个人都是不一样的,你自己要制定好学习计划,要利用好在校的每一天来提高自己。
我的以上意见,请参考。希望你把握好在校的每一个学习机会,顺利毕业,并找到满意的工作。再次感谢你对我的信任,请继续关注本人博客。
周兆熊
2015年2月13日
建议继续学习:
- 开发与研发 (阅读:10652)
- 程序员和工程师有什么不一样? (阅读:6572)
- facebook 的工程师文化 (阅读:6238)
- 谈谈在校程序员技能培养 (阅读:5816)
- 2015中国程序员生存报告,请勿对号入座 (阅读:5066)
- 一个程序员的血泪史 (阅读:4932)
- PM与工程师 (阅读:2897)
- 浅谈技术工程师的进步 (阅读:2607)
- 事关“工程师思维” (阅读:2444)
- PM与工程师・续 (阅读:2436)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:周兆熊 来源: 周兆熊的博客
- 标签: 学生 工程师
- 发布时间:2015-02-14 14:03:34
- [55] Oracle MTS模式下 进程地址与会话信
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] 如何拿下简短的域名
- [52] Go Reflect 性能
- [51] android 开发入门
- [51] 图书馆的世界纪录
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 【社会化设计】自我(self)部分――欢迎区
- [40] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑