需要掌握的能力
1.自学能力
在软件开发或者完成项目的时候,基本上所有的知识都是课本上没学的,所以必须要有快速学习和掌握新知识的能力,
就像大二下学期我们研究过飞控的控制方法与代码,然而关于pid和飞控原理等,我们完全不知道,所以必须要自学。
2.查找资料能力
自学的过程中,找到一个好的技术手册或者博客进行跟进学习是很重要的,直接影响到自学的效果和效率,所以查找
资料也是一个很重要的能力。
3.团队合作的能力
我们往往需要解决的项目都是规模比较大的,靠一己之力是完不成的,所以要与人合作,要学会如何分配任务,然
后将任务耦合,要及时与队友分享自己的成果与遇到的问题,这样才能增加工作效率。
4.编程能力
编程能力是必须掌握的基础能力,包括掌握至少一种语言(c,c++等),而且必须要有自己的代码风格,必须按照
规范写。
5.其他能力
除了基本的能力,还要掌握一些包括,机电,机械原理,模电,等基础知识;主流的MCU,如ARM,AVR的基础架
构与框架也要了解。
采用何种学习和训练路径,达到岗位要求
就拿飞控软件开发来举例,首先通过查找关于飞控原理和pid原理的资料,自学关于飞控的相关知识,然后通过阅读
开源飞控的核心代码了解基本架构,然后通过实物测试或者软件模拟来测试自己的代码,不断地调试直到满足要求。
基于模型的设计流程的优缺点
软件团队有各种形式,适用于不同的人员和需求,大学里我所接触的模式大都是“主治医师模式”,下面就以它为例
谈谈利弊:
优点
在大学里大都是团队里一个或者两个比较有能力的人带着三五个啥都不会的人一起做项目,有能力的人主要做一些
技术方面的工作,比如做一个AGV小车,他们就主要负责小车的建模,控制代码的编写,而其他的人就主要负责如
材料的采购,小车的组装等,如果光让一个或者两个人来做的话,工作量会很大,不能再要求时间内完成。
缺点
整个项目做下来只有有能力的那几个人知道自己在做啥,啥都不会的做完一个项目下来还是啥都不会,自己的能力
得不到提高,也违背了加入团队做项目的初衷。