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

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

3天内不再提示

软件工程师应该怎样培养

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

扫码添加小助手

加入工程师交流群

软件工程师应该算是稀缺人才了,会编程的人一抓一筐,可是会做软件的人就不那么多了,而软件工程师更是这些人中的凤毛麟角。软件工程师的培养是有难度的,而且这个培养过程没有章法可循,更重要的是培养出的产品的合格率比较低,因为我们培养出的大部分人都将成为码农,而码农显然是与软件工程师有较大差距的。几篇文章也在谈论软件工程师培养的困难和软件工程这个学科本身面临的问题,我总结一下几篇文章的主要内容,即为对于软件工程师的培养还没有形成一个很好的体系与方法,而软件工程不等于计算机科学所提出的观点正是这一大问题的子问题,就是我们着重于培养软件工程师的计算机方面相关素养而忽略了其它,归根结底还是因为没有很好的培养体系,不知道如何培养所致,所以我把它归为主要内容的子问题。

那我们先来看看子问题,我觉得这个问题是普遍存在的,如果说有解决办法的话,我认为需要让计算机系毕业的同学继续深造,在文科专业深造,或者,让学文科的人来编程。第一种办法周期太长,恐怕计算机系的同学不愿意干也干不了,这纯粹属于赶鸭子上架,让计算机系这种典型的工科男学习文科,还不如把我们杀了来的痛快是吧;第二种方法,显然不可行,不是我有对文科的偏见,毕竟术业有专攻,文科的人很难理会计算机的本质,让他们学个C语言还行,到计算机组成原理就不太吃得消了,到了编译原理的话恐怕得有一半人跳楼,然后剩下一半人回家。所以,这两个方法均不行。软件工程这个活真不是什么好活,一边是计算机,一边是人,明明软件工程师是人,可是非得把他们变成人和计算机的纽带,这个要求就高了,一边他得懂计算机,一边他得懂人。所以好的软件工程师为什么这么难就可以理解了,我们真的没有办法培养这样的人才吗?我觉着还是有的,我们在课余是否可以培养一些人文素养,其实不要求我们专门去一心一意做这件事,这件事只要穿插在日常的计算机相关课程中间就好,比如学一些沟通,比如学一些经济,不需要十分深入,只要了解大概就好,不需要把我们带入这些相关领域的大门,只需要让我们在大门口往里一窥就好。而现在学校的培养在这方面是很欠缺的,不说开设专门的课了,就连全校性的关于人文的大讲座都很少,关注一下学校的讲座信息,不是关于出国考研,就是关于就业的,要不然就是几个有头脑的码农不小心变成了高富帅的成功经历(比如李彦宏),可这有什么用,我们毕竟不是他们,他们的成功是不可复制的。软件是人写的,这些人正是软件工程师,试想写软件的工程师都不能了解客户的需求,不能与客户有效沟通,他们可以写出客户需要的软件吗?一旦软件写出的软件和客户需要的软件差别过大,无论这个软件运行多流畅、bug再少、算法再好,这些又有什么意义呢?我们做软件的最根本的目的不正是要能解决需求问题吗?至于其它的,只是在这个继承上的点缀而已。就好比是顾客想买一斤水果,可你递给顾客一碗佛跳墙,你说,这是国宴里的招牌菜,他,他接不接受还真难说,这个例子有待完善。以上我想说明沟通很重要,能想人所想也很重要。毕竟做软件不是写C语言作业,需求就那些,也不用顾及界面友好等等,软件是解决问题的,而且很大一部分软件解决的问题不在计算机领域内,这就要懂相关领域的知识并且能在给领域为客户着想,比如做财务报表,本来需要做一些假账,结果做成了真帐,出了这种事顾客只会责怪软件工程师,而不会承认自己的错误,有些东西就是不言而喻的,但对于天天coding的程序猿来说,还真未必知道。其实这也不能全怪工程师,毕竟你让人家一边搞技术一边搞人事,这很难的,要怪只能怪我们这是中国,谁让中国人说话只说三分,剩下七分要靠猜呢?

关于总问题,上面篇幅也涵盖了一些内容,关于把计算机人员当成板砖哥一样的培养,不对,是建筑设计师,这是个新颖的想法,这两个职业确实有很多共同之处。有一篇文章也举了一些例子来说明它们的共同之处,但我认为有几个比较大的区别还是需要考虑的:1、建筑师只管规划图纸,至于建设过程的细节问题可以不予考虑,而且少了很多人事上的担忧,比如说需求比较明确,设计的是学校宿舍就要有配套的浴室和开水房,设计的是商场就要有逃生避难场所,很多需求是硬性的也是相同的,需求的种类有限,更进一步,这些需求是在大框架下小的需求,和大框架可以毫无关系,比如过道中安排椅子等,这就表明考虑具体需求的人和建筑设计师可以是不同的人;反观软件工程师,就比较苦逼了,他们需要考虑的事情很多,而且各种各样的软件工作的领域跨度很大,更要命的是细节上的考虑是和通盘考虑糅合在一起的,如果不考虑周全,一个细节上的改变就可能引起程序很大的改动,这也就是说一切事情必须自己搞定,没有除了工程师的人可以代替你完成任务。2、就是这两个体系的差别了,建筑业已经形成了培养工程师的教学体系,所以才可以有导师带领来更好的实践它,而软件工程就没有这样完备的并且有效的培养体系,不同的老师带出的软件工程师可以是长得不一样的。在知识传承过程中没有形成教学体系的一个典型的行业就是算命,同一个老师带出的学生,领悟多少就是自己的事了,不同老师带出的学生那更是千差万别,如果让他们给同一个人算命,肯定每个人又不同的答案。不过软件工程还没有沦落到这个地步,否则这些软件工程师也就都到街边自己打个什么半仙的横幅摆摊去了。至于其他的区别,我现在还没想到。有区别但也不是说这种思路行不通,只要有共性就必然有行得通的地方,老师可以在实战中教会学生领悟需求的能力、沟通的能力等等。

综上,培养软件工程师是个体力活加技术活,不过我们也不能操之过急,毕竟中医都传承了几千年了,到现在也是没弄明白什么是冷啊热啊,什么气啊虚啊的,不是照样一代传一代,照样治病吗?

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

    关注

    8

    文章

    243

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汇川技术探讨新质生产力下的未来工程师培养路径

    当智能制造浪潮加速重构全球产业竞争格局,一场聚焦未来工程师培养体系的对话在苏州展开——2025年8月9日,第二届“汇川杯”全国智能自动化创新大赛落幕之际,“破界·融合·创新——新质生产力下的未来工程师
    的头像 发表于 08-14 13:52 ?114次阅读

    深开鸿与深信大联合培养的首批开源鸿蒙工程师完成KCA认证考试

    近日,深开鸿与深圳信息职业技术大学(以下简称“深信大”)联合培养的首批38名“开源鸿蒙工程师”顺利完成“KCA-应用开发工程师”认证考试,标志着校企合作的“双主体”育人模式培养开源鸿蒙
    的头像 发表于 07-01 15:36 ?528次阅读
    深开鸿与深信大联合<b class='flag-5'>培养</b>的首批开源鸿蒙<b class='flag-5'>工程师</b>完成KCA认证考试

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    工程师经验分享:社区之星 赵云 沉着稳定才能做好技术

    控制算法理论和实践有过推导和大量的研发调试经验。 ? 工作经历: 华为技术有限公司---芯片验证工程师 上海问问网络科技有限公司---电机驱动软件工程师 ? ? ? 社区访谈: 社区小助手:可以分享一下您的学习、工作经历吗,您是怎样
    的头像 发表于 04-15 15:58 ?561次阅读
    <b class='flag-5'>工程师</b>经验分享:社区之星  赵云 沉着稳定才能做好技术

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    一招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19

    特斯拉招募软件工程师强化无人驾驶与机器人远程操作

    近日,据外媒最新报道,特斯拉正紧锣密鼓地招募软件工程师团队,旨在加强其无人驾驶出租车及Optimus机器人的远程操作能力。这一举措标志着特斯拉在推动自动驾驶与人工智能领域迈出了重要一步。 特斯拉此次
    的头像 发表于 11-27 10:26 ?1090次阅读

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,还需要与软件工程师、硬件工程师紧密合作,对整个系统进行集成和测试。 总的来说,FPGA 算法工程师着重于算法优化,FPGA 逻辑工程师专注于逻辑设计,FPGA 原型验证
    发表于 09-23 18:26