1 软件工程 一 发展领域 互联网和物联网, 软件, 通信和电子等相关企业以及各大企业信息 ( 资讯中 心, 研发中心, 网络中心 ) 二 相关岗位 ( 一 )Web 前端研发工程师 1 工作内容 (1) 相关产品 Web 前端研发 (2) 产品易用性改进和界面技术优化 (3)Web 前沿技术研究和新技术调研 2 岗位要求 (1) 精通 JavaScript Ajax 等 Web 开发技术 (2) 熟悉网页编写工具 精通 HTML/XHTML CSS 等网页制作技术, 熟 悉页面架构和布局 (3) 熟悉 W3C 标准, 对表现与数据分离 Web 语义化等有深刻理解
2 进取心 (4) 对互联网产品和 Web 技术有强烈兴趣, 有优秀的学习能力和强烈的 能力 (5) 具有良好的沟通能力和团队合作精神 优秀的分析问题和解决问题的 3 职业发展路径 :Web 前端研发工程师 项目组长 项目经理 部门主管 4 学生时期 : 在学生时期了解各个 WEB 前端语言和脚本语言, 如 HTML HTML5, 脚本语言如 JSP PHP ASP.NET 等, 设计方面了解配色和不同的页面设计方案, 作为技术人员要精通表单 DIV+CSS AJAX,JS 等技术 对于脚本语言的学习态度是了解各个脚本语言的特性, 并精通其中一个 ( 二 ) 数据库研发工程师 1 工作内容 : (1) 负责数据库的设计和研发, 开发数据库引擎, 新功能 间层 (2) 负责数据库相关架构组件设计和研发, 开发分布式数据库 数据库中 (3) 参与数据库生产环境的问题优化和解决 2 岗位要求 :
3 (1) 精通 linux 环境下 c/c++ 编程 (2) 掌握数据库基本原理和知识, 熟悉 SQL 语法规则和特点 (3) 掌握基本的数据结构和算法知识 (4) 掌握基本的网络编程知识, 熟悉多线程编程及其技巧 (5) 有强烈的上进心和求知欲, 善于学习新事物, 对技术充满激情 (6) 具有较强的团队合作能力, 勇于面对挑战性问题 3 职业发展路径 : 数据库开发工程师 项目组长 项目经理 4 学生时期 : 本科阶段需要学习好数据库原理,SQL, 高数, 离散数学等 方面的知识 ( 三 ) 操作系统工程师 1 工作内容 工作 ; (1) 负责操作系统内核 工具链及相关应用的设计 编码 调试 测试等 (2) 负责虚拟化软件相关的设计 编码 调试 测试等工作 ; (3) 参与以上对应软件项目相关质量活动, 确保设计 实现 测试工作按 时保质完成
4 2 岗位要求 (1) 专业及方向 : 计算机体系结构 操作系统 计算机并行计算 编译器 数据库专业优先, 熟悉 C makefile bash 等 Linux 上的必备技能 ; (2) 熟悉 C/C++ 语言 / 底层驱动软件编程, 熟悉 TCP/IP 协议 Internet 网络的基本知识 ; (3) 对操作系统的开源代码有一定基础, 有相关开发项目经历的优先 ; (4) 能够熟练阅读和理解英文资料 ; 3 职业发展路径 : 操作系统工程师 项目组长 项目经理 4 学生时期 : 在学生时期注意学习操作系统原理和计算机组成原理等相关 课程, 注意理解原理和编程实践 ( 四 ) 软件测试工程师 1 工作内容 (1) 负责产品可测试性 可维修性需求分析 归纳, 完善设计基线, 提升 产品的可测性设计能力 ; (2) 参与产品开发过程评审, 验证及优化可测性 可维修性需求实现情况 ; (3) 负责产品测试方案的拟制 测试系统的开发及验证 2 岗位要求
5 (1) 具备软件测试实践经验, 应用过常规软件测试方法及常见工具 ; (2) 具备设计测试用例的能力 ; (3) 良好的沟通能力 ; (4) 熟练阅读和理解英文资料 3 职业发展路径 : 软件测试工程师 项目组长 项目经理 4 学生时期 : 在学生时期不但要学好计算机专业的相关的基础知识, 同时要了 解软件测试领域的相关动向, 精通软件测试的基本知识和基本方法 tips: 其实单就就业的岗位名称来说, 软件工程专业的就业远远不止这么几个职位, 原因来 说就是在计算机领域有太多细化工作, 任何一个方面的工作都需要长时间的研究学习, 但是大方 面来划分的话无非分为前端 后台 系统, 数据库 测试等 就选择职业来说, 在大学里所学 的基本知识是通识性课程, 所以只要学好基础知识, 就业所选的任何职业就可以游刃有余 在面试时, 企业一般会考察数据库 计算机网络 操作系统等课程的相关知识, 这些都是 基础知识, 一般在大三的时候开展这些课程, 同学们应该多多重视这些课程的学习 三 相关行业知名企业 1 互联网公司 : 腾讯 百度 阿里巴巴 新浪 搜狐 网易 2 通信设备制造商 : 华为 中兴 思科 朗讯 爱立信
6 3 知名企业 IT 或软件开发中心 : 用友软件 金蝶软件 花旗软件, 招商 银行开发中心 建设银行开发中心 四 行业平均薪酬 应届毕业生平均起薪 :6W~20W tips: 毕业生起薪根据就业单位行业 地理位置 岗位 个人学历 能力等具体条件的 不同而异 五 求职及实习信息资源 1 厦门大学毕业生就业指导中心 :http://121.192.190.112/default.asp 2 应届生求职网 :http://www,yingjiesheng,com/ 3 大街网 :http://www.dajie.com/ 4 智联招聘 :http://www.zhaopin.com/ 5 人人校招 :http://www.zhichang.renren.com/ 6 厦大人才网 :http://www.xmrs.gov.cn/ tips: 很多企业在学校举行招聘会或宣讲会, 相关信息在厦门大学毕业生就业指导中心上面 都有相关信息 感兴趣的同学要及时关注, 以免错失良机 另外, 还可以向老师寻求就业建议和 推荐等
7 六 能力要求 ( 一 ) 专业知识 1 计算机类 :C/C++ JAVA C# 等编程语言, 数据库原理 操作系统原 理 计算机网络 编译原理等软件工程专业辅助学科, 软件工程, 需求分析等软 件开发必备知识 2 数学类 : 微积分 / 高等数学 线性代数 概率统计等 ( 二 ) 素质能力 1 良好的专业基础知识 2 快速的学习能力 3 良好的沟通组织能力 4 良好的团队合作能力 5 良好的英文阅读能力 七 主要赛事 1 ACM 国际大学生程序设计竞赛 2 google 编程挑战赛 3 百度编程马拉松
8 4 腾讯编程马拉松 5 花旗杯金融创新应用大赛 6 中国软件杯 7 英特尔全国大学生软件创新大赛 tips: 除了以上大型互联网公司举办的赛事之外, 各省和各大高校也会举办不同形式的软 件编程大赛如 C 语言积分赛 程序设计大赛等 八 相关资料推荐 ( 一 ) 思想类读物 : 1. 通灵芯片 : 计算机运作的简单原理 2. 逻辑的引擎 3. 编程珠玑 4. 计算机科学概论 5. Unix 编程艺术 ( 二 ) 基础课程类读物 : 1. The C Programming Language 2. 操作系统 : 精髓与设计原理
9 3. 数据结构基础 4. 算法分析与设计基础 5. 数据库系统概念 6. 程序设计实践 ( 三 ) 技术类书籍 1. 深入理解计算机系统 2. Writing solid code 3. Thinking in Java 4. 设计模式 可复用面向对象软件的基础 5. 实现模式 6. 重构 : 改善既有代码的设计 7. Test Driven Development: By Example 8. MYSQL 必知必会 9. 正则表达式必知必会 ( 四 ) 软件开发的可选读物 : 1. 软件工艺
10 2. 人月神话 3. 黑客与画家 4. Coders at work --- Reflections on the Craft of Programming tips: 软件工程专业的学习内容虽然不局限于课本, 但是对于计算机基础知识的的理解和学 习是相当重要的, 是学习新技术的基础, 同时软件工程专业需要很高的学习能力, 能够快速的学 习新的技术 软件学院的同学不应该止步于课堂上的知识, 应该多做项目 多阅读课外的专业书籍 毕竟 这个行业是高速发展的, 不紧跟时代, 就很容易被淘汰 九 经验浅谈 就软件工程专业来说, 我觉得有两个方面的东西特别重要, 一是重基础, 二是多动手 首先就基础来说学计算机方面的同学特别容易好高骛远, 手高眼底, C 语言还没学懂, 就一心想学 JAVA C# 等高级语言, 以为做出了界面就很了不起 同时却忽略了基础知识的学习, 要知道无论以后就职于任何方向, 扎实的基础知识是学习新技术的基本保障, 良好的学习能力也是在大学快速的学习过程中慢慢养成的 第二个就是多动手, 有些同学自以为看完书以为什么都会了, 很少亲自敲代码, 软件工程从来都不是拿笔写出来的东西, 从来都是计算机跑出来的东西, 也许可以把技术说的天花乱坠但上机连基本的排序算法都写不出来, 这种人大有人在, 所以多多动手对编程的提高有很大的帮助
11 软件学院毕业生 ( 就职于华为 ) 1 扎实的基础知识 ; 2 很强的解决问题的能力 ; 3 熟练的编程调试能力 ; 4 创新能力 ; 5 团队合作能力 ; 6 持续的自学能力 ; 7 好奇心 李开复对编程学习的七个建议 十 小贴士 企业在信息化的大潮中, 对软件工程专业的学生需求相对旺盛, 对同学们来说找到工作也许不是什么难事, 但是找到好工作, 找到心仪的工作就没有那么简单了, 所以在求职的过程中, 扎实的基础知识和对面试企业的了解并为之做的准备至关重要 这个行业一直盛传加班熬夜是常态, 但是据学长学姐们经验来说, 加班和熬夜是有的, 但是有多严重, 要根据不同企业来单独评论, 同时他们指出, 由于相当一部分编程人员, 由于效率问题导致工作不能按时完成工作, 才至于加班, 所以学好基础知识和快速的学习能力至关重要
12