辛辛苦苦读个大学或者研究生谁不想每天早九晚五呢?谁不想天天坐办公室呢?
普通本科机械设计制造及其自动化专业,本科期间参加过高数、数学建模、机器人、数控、无碳小车等科创比赛,用Matlab编程结合虚功原理以及微分方程做过复杂机构的运动学和动力学分析并发表中文核心paper。本科毕业找工作面临的是和大多数机械专业的小伙伴儿一样的问题,普通本科机械专业找工作时非常困难的,而且待遇真的非常感人。结构工程师不想做,工艺工程师需要进工厂,设备工程师又感觉没有技术含量,排除一下传统机械职位真的不想做。于是拼尽全力考上985研究生,后面会讲应届生是转型的最佳时机,如果不希望从事传统机械的职位尽量不要委曲求全,那样后续转型非常痛苦也异常艰难。现在不同于前找工作,之后互联网飞速发展,职业需要有面向未来的设想,现在的市场主流技术未必是目前大一小伙伴儿毕业后的主流技术。
先分析行业现状,然后分析前沿技术,接着在分析一些编程语言学习的问题,最后简单聊聊传统机械职位的薪资待遇。 />
1、几乎每个工科学校都有机械专业,而且机械专业90%以上都是男生,机械专业面临的不仅是就业,还有怎么寻找另一伴儿,机械专业【找另一伴儿】比找工作还要难很多。
机械专业到底如何,先从大学学的内容分析一下。回想一下大学四年看学了什么东西,数电逻辑化简不会,单片机没写过程序搞不懂寄存器搞不懂中断,自动控制原理搞不懂传递函数,信号与系统搞不懂快速傅里叶变换算法,编程没写过几行程序,最大骄傲莫过于手绘了几百张图。 />
2、机械行业现在和未来是什么样子,目前的学习知识是否能够适应职场的要求,带着问题去深入了解这个专业到底怎么样是较为科学的方法。
不仅是制造业在发展,制造业发展的同时也是推动社会发展,社会的发展产生新的需求,反作用于制造业促进制造业的变革。目前智能手机、智能电视、5G技术、大数据等等新兴技术逐步在社会中开展应用,购物平台的自动推荐系统,城市的智慧大脑,快捷的移动支付等等。这些都在昭示着我们已经进入了信息社会/社会4.0时代,但未来社会的走向在哪里呢?社会5.0,。 />社会的变迁与工业革命进程
社会5.0包含智慧城市、智慧医疗、智慧交通、智慧建筑、智慧家居等等,生活变得更加便捷,新兴技术的大规模应用也将催生非常多的技术、运营等职位。 />社会5.0的使能技术
技术的应用往往是在一个方面成熟之后开始迁移到其他领域,比如大数据、机器学习等人工智能相关技术最成熟的应用领域莫过于新闻根据用户喜好的定向推送、购物网站根据用户的购物习惯的自动推荐相关性产品等等。深度学习也是在AlphaGo与职业九段棋手李世石PK获胜之后才再次进入人们的视野,其实AI已经经历了三次浪潮。深度学习在围棋领域大火之后,学术界开始探索深度学习在故障诊断、刀具寿命预测、图片修复、自然语言处理、智慧医疗等领域的应用。在人工智能再次火热的时候,正值工业4.0时代,于是大家都开始设想基于大数据、工业物联网、视觉、机器学习、5G、机器人等前沿技术构建面向工业4.0的智能制造系统/智能工厂。 />面向工业4.0的智能工厂框架
了解制造业的发展不仅仅需要从技术角度,也需要从社会发展的角度,比如以前大家都喜欢去商场买东西,久而久之很多东西千篇一律完全没有了新鲜感,正值3D打印技术和创客概念比较火的时候,有非常多的创客投入3D打印领域,瞄准的不是传统的批量生产而是个性化定制化,也是云制造的雏形,云制造的概念就是制造资源服务化,目前的3D打印就是在线下单系统实时计算价格,订单成交之后一般48小时内可以交货。3D打印的快速发展对传统的模具市场造成巨大打击,很多做无人机、机器人等智能硬件的创业公司没有能力开模,一般都是用3D打印完成产品的快速验证与迭代,这是模具时代不能想象的速度。 />制造业的发展趋势(手工-大规模生产-大规模个性化定制化)
/>面向工业4.0的智能制造系统参考架构
/>数字孪生制造模式
/>智能工厂架构
3、前沿的自动驾驶、人工智能、大数据、边缘计算、云计算等等,这些前沿技术在推动行业变化的同时也在推动城市向智慧化方向发展。主动了解前沿技术,学习不分学历也不分年龄,有想法有能力就会找到志同道合的小伙伴儿。知乎视频?
/>自动驾驶汽车的架构 />面向智慧城市的自动驾驶框架 />自动驾驶的未来市场 />智慧城市参考架构 />人工智能发展的三次浪潮
深度学习和机器学习到底什么区别呢?可以简单地理解为深度学习的网络更复杂层次更多,需要人为的干预越来越少。 />机器学习与深度学习的区别
不管是机器学习、深度学习、大数据还是机器人或自动驾驶等等,这些前沿技术的背后有贝叶斯、概率论、线性代数、统计学习、微积分、凸优化等等非常多的数学知识,即便是现在做机器学习开发的小伙伴儿,就遇到过一些只会调package,问一下几种梯度下降方法完全答不出来,再问一下简单的范数也完全解释不清楚。 />机器学习需要的数学知识
下图就是机器学习中常用的反向传播技术,需要用到矩阵、矩阵求导、梯度、链式法则、卷积等等高等数学知识。 />机器学习中的后向传播算法
移动机器中的SLAM算法经常用的滤波器有粒子滤波器和卡尔曼滤波器,在学习线性代数、高等数学、概率论等数学知识前如果知道数学竟然有这么大的应用,那还能没有动力吗?这些公式如果线性代数和高等数学不好的话,学起来是非常吃力的。 />机器人SLAM算法中常用的卡尔曼滤波算法
4、如何面向未来的职业发展和市场对人才的要求进行私人订制大学规划,大学规划类似3D打印个性化定制化的制造服务,每个人基础、性格、人脉资源、家庭环境、兴趣爱好等等都是决定未来走向的因素,定制化的大学规划就需要多了解行业发展,以及科研等,全方位的了解未来才能制定最佳的大学规划。 />常见3D打印制造工艺
长尾理论来源于经济学,但在制造业中也开始凸显其重要性,比如3D打印就是长尾制造模式的范例。仔细分析,教育、消费品、搜索等都有长尾效应,如何利用长尾效应实现利益最大化是非常值得研究的问题。还是以3D打印为例,常见工艺有FDM、SLA、SLS等等,一般在实验室见到的简易3D打印机是FDM工艺,这种工艺商用很少,商用一般是SLS和SLA,商用3D打印机一次可以打印几百上千个零件。虽然是个性化的制造,订单量非常大的时候,不同客户的订单可以拼单放在一台设备上打印。 /> />教育领域的长尾效应 />消费品领域的长尾效应 />搜索习惯的长尾效应
5、Python、Matlab、Java、C++等编程语言的区别和学习我是毕业自学C++转型工业方面软件的,如果需要可以看一下转型历程。/p/100001876?
编程语言的选择不要过于纠结,在学校期间学哪个都可以,主要的是解决问题的能力、方法和思路。比如做数学建模,那大多数都是选择Matlab,如果学单片机都是用C/C++。如果毕业想做纯IT的开发,比如互联网后端开发,那学Java非常不错。总而言之,结合自己的兴趣和职业规划,选择主流的编程语言即可。 />主流编程语言排行榜
C++与Java最大的区别有两点,一是C++有让大家抓头发的指针而Java有垃圾回收机制,二是C++在不同的平台运行需要重新编译而Java运行在虚拟机上可以跨平台。 />C++与Java的区别
在C++、Java和Python中,最简单的就是Python,Python是面向编程初学者的语言,缺点就是程序比较自由管理起来比较头疼。 />Python与Java的区别
Python之所以这么火,就是借助于机器学习和深度学习的东风,Python和Matlab非常像,都是脚本语言。科研人员非常喜欢用Python和Matlab,这两个编程语言可以快速的验证自己的Idea,比如机械原理中的机构运动学分析,写个程序很快可以验证自己的公式和想法是否正确。目前的工作虽然是用C++开发,但开发的过程中如果遇到新的算法需要验证,首选的依然是Python或Matlab验证,Matlab验证一个算法1-2小时就可以了,如果用C++一天都未必够。我用Matlab编程做的槽轮机构动画和运动学分析,每一个线条都是利用编程,旋转运动也是基于矩阵运算实现,简单的一个机构运动学分析可以用到非常多的数学知识,这也是学习编程积累成就感的方法。编程就是要解决问题的,简单的看书敲代码学习的积极性很容易消磨殆尽。机械专业也可以用Matlab设计无碳小车的机构,如果做得有创新点发paper是完全有可能的事情。我就是做机械原理课程设计的时候发了一篇中文核心paper,用Matlab编程、虚功原理、微分方程等知识做一个复杂机构的运动学和动力学分析。/p/141595120? />Python的应用领域
C/C++的特点就是可以操作内存和寄存器,比如用单片机开发直接可以控制IO口的输出电平高低,在嵌入式、智能硬件中应用比较多。C/C++经常用在对性能要求非常苛刻的领域比如数据库软件MySQL就是基于C++开发,3D游戏经常用的物理模型碰撞检测库Bullet physics也是基于C++开发,3D游戏和动画制作的Maya也是基于C++开发。这些三维软件需要用到非常多的微分几何、线性代数、高等数学、计算机图形算法等等,这些算法非常耗时对性能要求苛刻,常用的矩阵运算库eigen是基于C/C++开发的,信号处理领域经常用的快速傅里叶变换算法库FFTW也是基于C/C++开发,FFTW是MIT开发的,名字非常霸气,英文全称是"Fastest Fourier Transform in the West.",我们什么时候搞一个快速傅里叶变换算法库FFTE,英文全称"Fastest Fourier Transform in the East." />C++的特点及应用领域
Java主要是在小程序、企业软件、手机app等领域应用最多,Java的优点就是跨平台,一份代码在windows上可以运行,在Linux系统同样运行,与C++相比Java还有一个巨大的优点就是有垃圾回收机制,而C++主要是程序员管理内存,经常用普通指针和智能指针。Java不仅比C++容易学,而且市场需求量也比C++大,Java开发要比C++成长快很多,Java开发有非常多的成熟框架比如Spring boot,6个月的培训就可以做出像模像样的软件了。 />java的应用领域
目前Java开发中比较流行的是微服务架构,了解一下相关技术面试的时候是一个非常好的加分项。知乎视频?
6、机械等非科班转型软件缺什么?
一是项目经验,二是计算机基础知识,我转型C++工业软件的时候刷了500多道算法题。如果自制力不是很好,报班学习是最快的方法。如果是机械本科,考个985或211的研究生也是实现转型非常靠谱的方法。需要特别强调的是,应届生身份对于转型非常重要,如果决定转型,那就尽量不要找个其他工作将就着,这会打打影响转型的成功率。工作中面试别人的时候,对于工作经验低于3年的,项目经验一般也不是很丰富,评估他是否喜欢软件开发以及是否把软件作为一个职业方向时,一般会重点考察数据结构与算法和数据库。当然如果做机器人等方向还会考察TCP/IP协议、操作系统等知识。知乎视频?PS:校招转型最容易,如果转型一定要抓住校招的机会。还有一条转型路线就是考研,考研不一定是跨考,能力不突出的或者喜欢保守的,比如我非常保守就选择考985机械,最后是做智能优化算法方向,对于转型也是不错的选择。当然现在机械、机电和车辆等机械相关专业也有做自动驾驶、机器人、视觉、深度学习等前沿技术的,能找到这方面的导师也是可以轻松实现转型。
考研不要盲目跨考当炮灰,我考研,当时人数170万,考研人数340万,不用想还会大幅增加。
7、了解读研做科研究竟是做什么的?下面这篇文章全面地介绍了科研、paper以及科研需要什么能力,搞清楚科研需要什么能力,就知道科研和paper的真面目了,对于本科需要学习什么知识就非常清楚了。我考研的时候就是觉得不好找工作,考研提升学历,成绩考得老高了,380+,但研一就遭受了小镇做题家经常遇到的当头一棒,科研与做题的脑回路完全不同。科研需要自己search文献,自己判断这个方向是否可行,这个Idea是否可行,判断失误是常态,实验不符合预期是常态,paper被拒也是常态。即将读研,求问前辈有什么研究生安利的软件 APP 或者阅读文献用的等一系列提高效率的东西吗!??知乎视频?
8、传统机械的职位要求和薪资
结构工程师想拿15K等高薪的只能去华为、OPPO、VIVO和大疆等大厂,一般的公司很难给那么高薪资。找工作的时候深圳结构工程师给研究生的待遇一般是10k左右,当然深圳也有很多给6K的。薪资待遇和职位要求去主流的求职app上查一下基本上可以确定一个合理的区间,职位要求一般也就是钣金、注塑模具等相关产品的结构设计经验,软件方面就要求Pro/E、Solidworks、CATIA、UG等等。 /> />