0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名软件工程师的必备素质是什么

工程师人生 来源:工程师吴畏 2019-07-17 17:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

朱志辉,高端JAVA 软件设计专家, 8年软件工作经验,IT专业人士。1997年加入亚信科技(中国)公司,任AIOBS计费系统产品经理。1998年加入Sun Microsys?鄄tems Inc. China Ltd.任系统工程师,负责金融和政府各种应用解决方案。参与设计建设了中国工商银行广州、深圳分行新兴业务整合和电子银行系统。现任达内科技(中国)有限公司首席技术官。他结合自己的经历,告诉我们——软件工程师成才之路。

今天,软件业已经成为人们羡慕的高薪行业。我国的软件企业达上万家,软件从业人员更是突破百万。软件业中的技术人员大都有一个明确的上升通道:编码员——程序员——高级程序员——软件工程师——项目经理——系统架构分析师。软件工程师是通道最关键的一环。

一个软件工程师的必备素质是什么呢?朱志辉认为:

一、具有良好的编程能力。编程能力直接决定了项目开发的效率。软件工程师至少精通一门编程语言,熟悉基本语法、技术特点和API(应用程序接口);二、具备认识和运用数据库的能力。信息以数据为中心,与数据库的交互是必不可少的;三、较强的英语阅读和写作能力;四、具有软件工程的概念。从项目需求分析开始到安装调试完毕,软件工程师必须清楚地理解和把握这些过程,并能胜任各种环节的具体工作。

对于想要成为软件工程师的从业者,朱志辉作了具体指导:

选择什么编程语言

编程语言那么多,一个人不可能学完所有,那么究竟该学哪些?朱志辉说,选择所学语言的关键在于两点:一是通用性,二是适用性。通用性是指该语言的使用范围较大,是完成工作的基础性工具。而且,通用性语言一般是编程人员都会的,拓展性很强,能够为学习其他语言奠定基础。c++、java等都属于通用性语言。“c++的通用性最好。”朱志辉解释说,“初学语言的人一定得学好c++,打好基础。”适用性是指该语言的大面积使用受到一定限制,其应用多偏向于某个方面,如汇编语言、html语言等。每个人对自己的定位不同,有些人想进行底层开发,有些人想做网站开发,有些人想做商业软件开发等等,最初选择语言时就应该考虑这些定位,选择比较适用的语言。

如何学习编程语言

“读程序、写程序是快速学习、掌握语言的不二法门。”朱志辉说。读程序要求熟悉一种语言的基本语法,这样能读懂别人程序的每一行意思,反过来加深对语法的理解。读程序也不能单纯地读,要真正做到“俯而读,仰而思”。这样就能发现别人的程序设计思想,为自己写程序打下基础。

学习语言的目的关键在于应用,因此,写程序是最终掌握语言的关键。写程序一定要依据自身能力循序渐进地写,开始的时候写一点功能简单的、篇幅短小的代码,力求简洁、完整,“麻雀虽小,但五脏俱全”,然后在此基础上进行扩充,一点一点添加功能,逐渐进入应用。比如,当你需要练习一种语言基于数据库的应用时,首要任务就是编写一定的程序,使数据完善地保存在数据库中;其次,你需要完成数据的增删改查;再次,你须学会按某个具体目的编写程序。这时,你已经成为一名软件工程师了。

一般来讲,程序员可以分为两种,一种是“游击队员”,他们可能对编程工具很熟,能力很强,编写的程序简洁高效,却缺乏规范和合作的观念;另一种程序员个人能力不一定很强,但程序较为规范,合作意识良好。第二种人更有可能成为软件工程师。

培养对行业的认知

软件工程师要就市场论技术,强调面向对象的分析与设计能力。毕竟,大多数软件设计师需要让计算机解决实际问题,因此,必须清楚地认识实际问题。IBM一份《中国银行业加入WTO的新纪元》白皮书显示,IBM做银行业咨询顾问的最终目的还是推销自己的整体解决方案,占领中国金融业软/硬件服务市场。IBM的行动告诉我们,要想让技术和产品介入某一行业,仅有大批专业技术人员还不够,还需要有对行业的认知和把握能力。

朱志辉以过去给银行做项目为例:最初天天听银行工作人员讲借方、贷方,他并不十分理解,用现实生活中的事例去“代”总是出错,直到有人说借方表现为资产减少,贷方表现为资产增加,他才真正明白。朱志辉说,事情很小,但这说明软件工程师一定要了解、使用行业语言,学习、掌握行业知识,真正理解所在行业,否则,只能一直是一个程序员。

熟练掌握英语

程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与编程高手交流、发布帮助请求同样离不开英文。

作为基础软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助。而且,软件行业的发展一日千里,编程工具软件的更新换代十分迅速,软件工程师总是需要在第一时间学习业界最流行、最先进的编程工具软件的使用方法。

通常,在一种软件刚刚面世的时候,软件工程师是不可能找到这种软件的中文使用说明或中文帮助文档的。如果软件工程师在软件工程专业英语方面达到了娴熟运用的水平,就可以浏览英文的文档、英文的帮助文件,在最短的时间内掌握最先进、效率最高的软件工具的使用方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件工程师
    +关注

    关注

    8

    文章

    243

    浏览量

    21679
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    你知道电子工程师,到底分几种吗?

    种,硬件工程师:他们擅长画原理图、选元器件、调板子,是电路的专家、产品项目的“总导演”!第二种,软件工程师:脑子里全是代码,天天跟驱动、算法打交道,芯片怎么跑,他们说了算。第三种,固件工程
    的头像 发表于 04-20 08:52 12次阅读
    你知道电子<b class='flag-5'>工程师</b>,到底分几种吗?

    如何成为一名高薪嵌入式工程师

    学嵌入式,也可以轻松入门。 如果你已经明确好,想要从事嵌入式开发,想要成为一名高薪的嵌入式工程师,那下面这几点建议请好好看看: 、夯实技术基础 ✅编程语言 C语言:嵌入式开发的核心语言,需
    发表于 04-09 09:03

    电子工程师设计要点与经验分享

    电子工程师设计要点与经验分享 作为一名资深电子工程师,在硬件设计开发领域摸爬滚打多年,积累了不少宝贵的经验和见解。今天就和大家分享些电子工程师
    的头像 发表于 02-03 11:10 308次阅读

    什么是BSP工程师

    、嵌入式系统 要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下: 嵌入式系统(Embedded System),是种嵌入机械或电气系统内部
    发表于 01-13 06:54

    电子工程师设计要点与经验分享

    电子工程师设计要点与经验分享 作为一名资深电子工程师,在多年的硬件设计开发工作中,积累了不少宝贵的经验和见解。下面就和大家分享些电子设计方面的关键要点和实际案例。 文件下载
    的头像 发表于 01-07 13:55 497次阅读

    工程师变身AI“指挥者”,吉利与阿里云的软件开发变革实验

    1975年,IBM工程师Fred Brooks在《人月神话》中提出软件工程的核心难题:随着系统规模和团队规模增长,复杂度会呈指数级上升。他的结论是, 软件工程“没有银弹”,没有单技术
    的头像 发表于 11-13 10:43 484次阅读
    <b class='flag-5'>工程师</b>变身AI“指挥者”,吉利与阿里云的<b class='flag-5'>软件</b>开发变革实验

    现场解决EMC干扰:专业认证工程师必备的应急指南

    深圳南柯电子|现场解决EMC干扰:专业认证工程师必备的应急指南
    的头像 发表于 09-03 09:53 1258次阅读

    作为一名PCB质检工程师,我为什么在用手持式面铜测试仪?

    在PCB行业,铜厚直是决定阻抗、散热与可靠性的关键指标。过去,工程师把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程师,如今,我更愿意把“实验室”揣进口袋——手持式面铜
    发表于 08-11 11:59

    润和软件稳居数字业务类解决方案市场第一名

    ”)凭借自身卓越的技术实力和创新能力,连续五年稳居数字业务类解决方案市场第一名;在细分领域:数字信贷系统解决方案子市场持续保持第一名,数字银行解决方案子市场跃升至第一名。同时,其在开放银行、交易银行、智能营销、智能风控、数据智能
    的头像 发表于 07-14 17:36 1465次阅读

    EMC电路设计工程师必备的EMC基础

    EMC电路设计工程师必备的EMC基础
    发表于 07-07 10:24 19次下载

    如何成为一名合格的KaihongOS南向驱动开发工程师

    如何成为一名合格的南向驱动开发工程师 1. 我需要具备哪些方面的知识? KaihongOS南向适配的方向分为:驱动开发、内核开发。根据适配方向划分,需要掌握的知识技能分别为: 驱动开发
    发表于 04-23 08:02

    如何成为一名合格的KaihongOS北向应用开发工程师

    如何成为一名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为
    发表于 04-23 06:46

    硬件工程师手册(全套)

    的性能价格比达至最优。 5、技术开放,资源共享,促进公司整体的技术提升。 §1.2.1 硬件工程师基本素质与技术 硬件工程师应掌握如下基本技能: 第、由需求分析至总体方案、详细设
    发表于 04-22 15:05