软件工程师的基本素养
目录
1.1 计算机基础能力
计算机基础能力包括计算机软件工作的基本原理和计算机的操作能力。
熟悉计算机操作系统工作过程,例如,要知道计算机操作系统是如何分配内存资源、调度作业、控制输入输出设备等;
了解计算机程序工作过程,例如,怎么告诉计算机要做哪些事、按什么步骤去做。
过硬的计算机操作能力是软件工程师的基本功,例如,对计算机的相关知识有基本的了解,包括软硬件、操作系统、常用键的功能等。
1 硬技能
1.2 掌握一门编程语言
PC端常用的C/C++、C#和Java、PHP语言,移动端常用的Object C、HTML 5,熟悉基本语法、作业调度过程、资源分配过程,这是成为一个软件工程师的前提和要求。
1.3 熟悉计算机数据存储过程
在软件工作的过程中,要产生一定的数据输出,如何管理这些数据也是软件工程师必须掌握的知识。数据输出可以是一个文本文件,也可以是Excel文件,还可以是其他存储格式的文件。通常我们都要通过数据库软件去管理这些输出的数据。与数据库的交互在所有软件中都是必不可少的,因此了解数据库操作和编程是软件工程师需要具备的基本素质之一。
1.4 较强的英语
程序世界的主导语言是英文,因此编写程序开发文档和开发工具帮助文件都离不开英文,了解业界的最新动向、阅读技术文章也离不开英文,与世界各地编程高手交流、发布帮助请求同样离不开英文。作为软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助。
1.5 软件开发及测试环境搭建能力
搭建良好的软件开发与测试环境是软件工程师需要具备的专业技能,也是完成开发与测试任务的保证。测试环境大体可分为硬件环境和软件环境,硬件环境包括必需的PC、服务器、设备、网线、分配器等设备;软件环境包括操作系统、数据库、被测试软件、共存软件等;特殊条件下还要考虑网络环境,例如网络带宽、IP地址设置等。
1.6 熟悉软件测试基本理论
在软件投入生产前,必须经过一个过程,就是测试,只要有开发,就会有测试。软件工程师不一定要做程序测试,但要熟悉软件测试过程,要能在接到测试工程师测试Bug后准确定位程序问题所在,这就注定了软件测试在软件开发过程中是不可或缺的,因此精通软件测试的基本理论以及工作任务是软件工程师必备的基本素养和技能。常用的软件测试技术包括黑盒测试、白盒测试等。