研发工程师必会的技能--我的学习计划
做为一名研发工程师,我以为得必会以下技能,方能从容立足于社会,从而立于不败之地,我称之为“七个一”工程:
会一种单片机,建议学习C8051F。
会一种Cortex-M型ARM处理器,建议学习STM32.
会一种能跑系统的ARM处理器,如三星的ARM11处理器。
会一种结构化语言,建议C语言,正统易学,嵌入式开发的最重要的语言。
会一种面向对象的语言,建议C++语言,正统的语言。
会一种软件架构,强烈推荐使用QT,一个不入window程序员法眼的东西,强大无比。
会一种操作系统,如LINUX,开源系统,十分伟大。
相关一些配套书如下:
单片机:C8051F单片机的PDF,例程。
ARM:STM32教程,北京航空航天大学出版社。
ARM11:友善之臂开发板的PDF最好,其它书皆是浮云。
C语言:相信大部分人都看过谈教授的书,还是看看外国人写的书吧,如C primer plus.
C++:那肯定就是<<C++ prime plus>>,<<C++ primer>>两本书了。
还有《C++ GUI QT4编程》。
操作系统:《现代操作系统》,红帽官方教程:《Redhat系统基础》和《Redhat系 统管理》。
如果真正看了这些书,不管是嵌入式还是计算机软件开发,做起来得心应手。
开发板:
没有开发板,学嵌入式就是一个玩笑,单片机的在网上找一款就行了,淘宝上有很 多C8051F的,
ARM的选用火牛的STM32就好,ARM11的选用友善之肩的6410就好,开发板上的 各种PDF是最好的教材,实用性很强。
技能综合应用:
嵌入式开发的核心在于软件开发,硬件虽然重要,如果不想做,市场上有的是成熟的产品开发板,主要精力就放在核心应用上,满足客户需求,给客户良好的体验才是最重要的。
嵌入式开发,特别是嵌入式LINUX和单片机程序的开发,C语言是主流的语言,学不好C语言,做嵌入式开发基本上很难,所以学习C语言,是为了开发嵌入式软件,对理解操作系统有益。
利用ARM11开发智能终端,如POS,ATM什么的,界面开发必须用QT,可以开发出有艺术感的界面程序。而QT是C++语言的一个类库,所以得学好C++,把核心算法和界面利用QT的信号和槽连接起来,开发出产品。
其实一句话,学好QT,嵌入式和计算机应用基本是通了,因为它能跨平台。
在软件开发过程中,包括嵌入式和计算机软件,必须会操作系统原理,如多线程等概念,经常在软件中利用的知识,非常重要,不懂操作系统原理,开发出的应用软件称不上好软件。
学习方法和学习态度:
必须有一个好学习态度,否则一事无成,最好的态度喜欢做这件事,热爱开发工作,只有这样才能有源源不断的动力。
好的学习方法,每天都要看几百行的程序,把例程在电脑上调调,读书破万巻,下笔如有神,还是有道理的。
看书的时候,把每个知识点看透,做笔记,不要看不完就过去,那个陶渊明说的好读书不求甚解,不要听了,他的意思是说总体把握时,不要看小细节,没有到这个地步时,要仔细学会每个细节。
最后,我希望与大家共同进步,与大学共同交流。
谢谢!
孙国栋写于济南。
2011年8月
转载于:https://blog.51cto.com/qtlinux/650306
研发工程师必会的技能--我的学习计划相关推荐
- AI研发工程师成长指南
AI研发工程师成长指南 本文为数据茶水间群友原创,经授权在本公众号发表. 关于作者:Japson.某人工智能公司AI平台研发工程师,专注于AI工程化及场景落地.持续学习中,期望与大家多多交流技术以及职 ...
- JAVA工程师必学技能,进阶涨薪的推进器!这份实战教程请收下
Netty 作为互联网中间件的基石,是 JAVA 工程师进阶为高级程序员必备的能力之一.也是目前是互联网中间件领域使用最广泛最核心的网络通信框架. Netty是一个高性能.异步事件驱动的NIO框架,它 ...
- 云计算开发教程:运维工程师必会技能--sar
今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:运维工程师必会技能–sar. SAR是系统活动报告(System Activity Report)英文单词的首字母缩写.正如它的名字所表示的那 ...
- 搜索研发工程师需要掌握的一些技能
文章目录 基础 语言 数据结构与算法 工程方面 搜索相关 搜索主要模块 电商搜索流程 分词相关 搜索召回 相似度算法 相关词推荐 排序相关 国美搜索 搜索算法工程师需要掌握的技能 基础 语言 大部分公 ...
- 视频教程-Java工程师必学系列课程之4--《Java Swing》视频课程-Java
Java工程师必学系列课程之4--<Java Swing>视频课程 某知名科技公司技术总监,10年以上大型J2EE项目的实战研发经验,参与并主持开发"内蒙古电力集团考试系统&qu ...
- Java Web研发工程师新手入门指南
本文简要介绍了作为一名Java Web研发工程师,需要具备的一些主要技能和常用的工具,有志于从事该工作的新手可以做一个参考. 一.基础工具篇 常用IDE:IntelliJ IDEA.Eclipse或者 ...
- 公开课 | 腾讯云高级研发工程师:朋友圈爆款背后的计算机视觉技术与应用
刚刚过去的五四青年节,你的朋友圈是否被这样的民国风照片刷屏?用户只需要在 H5 页面上提交自己的头像照片,就可以自动生成诸如此类风格的人脸比对照片,简洁操作的背后离不开计算机视觉技术和腾讯云技术的支持 ...
- Python开发工程师必知十大机器学习库
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单.易学.速度快.开源免费.可移植性.可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程 ...
- Linux 运维工程师的十个基本技能点
Linux 运维工程师的十个基本技能点 本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. ...
最新文章
- [翻译]一步步教你配置SQL SERVER合并复制(五)配置Publisher(上)
- nestjs CRUD
- Xcode生成的可执行文件在哪里
- 运行pythonp 提示:please select a valid interpreter(亲测)
- C# 发送电子邮件源码片段
- 论DATASNAP远程方法支持自定义对象作参数
- latex 错误: BibTeX: empty journal in Lv2021
- Silverlight使用WCF实现数据通信
- 计算机论文答辩2分钟演讲稿,关于毕业论文答辩演讲稿9篇
- 易网云授权php,网易云音乐热评api php源码
- 林书豪055-阿联德比
- 一天接收了131份前端面试简历......(面试总结)
- 单片机C51学习心得_02
- 模态综合医疗时间序列数据:REAL-VALUED (MEDICAL) TIME SERIES GENERATION WITH RECURRENT CONDITIONAL GANS
- 常用PC服务器阵列卡、硬盘健康监控
- 周杰伦讲给快手的“独家秘密”
- 阿里云 blink 相关错误码问题解决
- 构建一个JPEG解码器(2):文件结构
- 社交未死, 谷歌天才和他的区块链微信 | 人物志
- 你好,C++(40)7.1 一切指针都是纸老虎:彻底理解指针
热门文章
- 【云原生进阶之容器】第一章Docker核心技术1.1节——Docker综述
- Altium Designer学习心得(二)
- 药事管理学考试试题及答案
- 无尽算法之 唯一的福尔摩斯密码词
- ipa 修改服务器地址,动态更改服务器上的.ipa文件
- css中设置鼠标形状的函数,css怎样设置鼠标的形状
- linux网络测速qerf,最新可用linux/centos 7上网络测速|测试网速脚本
- 计算机知识二级竞赛流程,计算机知识竞赛方案.doc
- 实验二 读取和理解激光雷达数据
- java文件与流_Java文件与流