看google和microsoft的招聘,什么是新一代软件工程师的要求!
首先第一条就是重点院校,很显然这条过不去,这个就像人的身高一样!不过,我认为这个不是必要条件,如果以这个标准来衡量的化,google和microsoft会错过很多人才。
第二条是流畅的英语能力,这个需要环境和时间来磨练,更重要的是个人的毅力,我想你应该可以达到。
第三条必须精通至少一种操作系统,unix/linux or windows ... ..., 软件的基础是平台,而现代的操作系统就是这样的平台,所以这个是必要条件,一般人可以通过时间和毅力,还需要聪明才智才能达到,这条我想你也应该可以达到。
第四条c/c++语言能力,这是一条必要条件,如果你是一个软件工程师,你不可能不会,也不应该不会c/c++,可能程度不同,这条我已经基本达到。
第五条不仅要了解系统的内部,还要了解系统的应用,至少会使用一种脚本语言,如shell, python, javescript ... ...。一个现代的软件工程师不应当只懂底层的,更应该懂应用(高级应用),这条需要时间和精力来达到,我想你可以达到。
第六条算法,软件开发的基础也是灵魂,必要条件。没有脱离算法的软件,这里就关系的了你对c的掌握,大部分高效的算法都是用c来实现的,如果你写的软件没用到任何算法,只能证明你是一个不合格的软件工程师,算法使得软件运行更有效率。这条也是靠时间,实践还有一点点天赋才能达到的,我想你应该可以。
第七条架构设计,不懂架构的软件工程师顶多可以算是一个coder,作为一个现代的软件工程师至少需要知道什么是系统设计,模式设计,并能进行基本的运用,这条我已经基本达到。
第八条测试,不是只有测试工程师才需要知道如何去测试,一个现代的软件工程师更需要知道基本的测试知识,这样才能保证你的程序对系统有价值,这条可以通过学习和交流来达到。
第九条数据存储,现代的软件没有不需要数据存储的,数据存储在文件,数据库或是其他载体,一个现代的软件工程师需要熟练的运用数据存储,最好的就是精通sql。这条我想通过一段时间的磨练你应该可以达到。
第二条是流畅的英语能力,这个需要环境和时间来磨练,更重要的是个人的毅力,我想你应该可以达到。
第三条必须精通至少一种操作系统,unix/linux or windows ... ..., 软件的基础是平台,而现代的操作系统就是这样的平台,所以这个是必要条件,一般人可以通过时间和毅力,还需要聪明才智才能达到,这条我想你也应该可以达到。
第四条c/c++语言能力,这是一条必要条件,如果你是一个软件工程师,你不可能不会,也不应该不会c/c++,可能程度不同,这条我已经基本达到。
第五条不仅要了解系统的内部,还要了解系统的应用,至少会使用一种脚本语言,如shell, python, javescript ... ...。一个现代的软件工程师不应当只懂底层的,更应该懂应用(高级应用),这条需要时间和精力来达到,我想你可以达到。
第六条算法,软件开发的基础也是灵魂,必要条件。没有脱离算法的软件,这里就关系的了你对c的掌握,大部分高效的算法都是用c来实现的,如果你写的软件没用到任何算法,只能证明你是一个不合格的软件工程师,算法使得软件运行更有效率。这条也是靠时间,实践还有一点点天赋才能达到的,我想你应该可以。
第七条架构设计,不懂架构的软件工程师顶多可以算是一个coder,作为一个现代的软件工程师至少需要知道什么是系统设计,模式设计,并能进行基本的运用,这条我已经基本达到。
第八条测试,不是只有测试工程师才需要知道如何去测试,一个现代的软件工程师更需要知道基本的测试知识,这样才能保证你的程序对系统有价值,这条可以通过学习和交流来达到。
第九条数据存储,现代的软件没有不需要数据存储的,数据存储在文件,数据库或是其他载体,一个现代的软件工程师需要熟练的运用数据存储,最好的就是精通sql。这条我想通过一段时间的磨练你应该可以达到。
将想法付诸于实践,借此来影响他人是一个人存在的真正价值