摘要:我的19岁,很累。这一年在程序员的圈子里流行着996ICU的说法,但是这一年的我却过着8107的生活,每天早上8点到实验室,晚上10点离开,一周工作7天。并没有人强迫我这么做,但是我相信“强迫自己优秀,然后骄傲的生活”。
第1章 我的电赛经历在此说明,此文的写作时间始于2019年7月30日,此文并不是一个胜利者的经验分享会,而是为了纪念自己两年的付出及这两年的嵌入式开发。同时我想如果仅仅写自己的经历,那么一定没有人愿意阅读,为了使这篇文章的受众面更广一些,而第二部分是有关STM32单片机的分享,在第三部分则是我在这一年电赛经历的记录,最后的内容是我对大学不可回避的一些议题的讨论。总的来说这篇文章的前半部分是纪念我的奋斗岁月,而中间部分则是希望经验的传承,后半部分则是胡说八道。
1.1 热血、迷茫
提到我的大一生活,我想到的就是热血与迷茫。之所以迷茫是因为对未来的一无所知,之所以热血是因为想要摆脱迷茫,剥开云雾见青天。导致这种状态的原因有两类:
1、学校方面。开学过后学院组织了许多的经验分享会,所有的经验分享会大都是围绕着一个主题——"保研、考研"。但是刚入学的我,对老师、学长提供保研相关的数据并不太理解。那么我就迷茫了,保研的条件是什么?考研又是怎么一回事呢?……为此也立下了很多热血的flag,我要努力保研!我要保去华科!……
“每个人的大学生活开始都是迷茫的,但是要尽快走出这段迷茫
”
2、慕课方面。在课余生活经常看一些慕课,不可避免的接触到一些培训机构,他们大多宣传是的一些“读书无用论”,鼓吹“技术至上”。我因此迷茫,考研还是就业?学习什么技术?现在看来这对我既有利更有害,“利”在我提前接触到了一些企业更想要我们学习的技术(比如Java),“弊”在使自己忽略了基础学科的学习。
“企业看中的不是你的专业,而是你的专长
”
以上两句引言,如有错误,欢迎指正,如帮助到你,不胜荣幸!
我想这一年我的电赛准备之路,也是热血与迷茫的。先说说热血,在大一上的学期末,自己并没有着急回家,选择留下来参加某校外机构的培训班,开始接触STC51单片机,大一下开学后每周六也去上相关课程。并在学期末有幸通过了学院实验室的招新考试,同时参加了实验室的暑假培训,培训的第一阶段从放假后到7月底,培训的第二阶段则是8月中旬开始的STM32相关的培训,虽然在此期间并没有掌握好STM32单片机,但是也为其学习开了个头。而迷茫在于,自己知道自己在准备电赛,但是电赛题目类型、题目的种类则是一无所知的。
1.2 自负、努力
对大二上学期我的评价是一个贬义词,一个褒义词。正如之前所说的我的学习受到了培训机构的影响,在我之学到了一些皮毛时,我却沾沾自喜,说了一些不该说的话,做了一些不该做的事,现在看来当时的我是自负且幼稚。可以说是一叶障目,不见泰山。然而我还是想用努力来评价这个学期。也就是这个学期我有了8107的作息时间,风雨无阻,把实验室当家。
这个学期的电赛经历,我认为自己只配的上自负。其一:学习的方向偏向于应用方面,而忽略了STM32的学习。其二:对待校电子电工实验室的任务不重视,从而被劝退。所以,给大家一句忠告:一定要重视基础学科的学习!包括高数、模电、复变等。
1.3 方向、两难
对于大二下学期我认为摆在我面前的就是方向选择的问题,以及两难的处境。争取保研、准备考研、参加工作?准备电赛还是另寻它路?我想在最后一部分,就这些议题做谈谈我的看法。在受到蓝桥杯失利以及涂劲豪与陈同凯的鼓励这双重影响下我也再次选择准备电赛。
为了参加电赛的第一步就是通过校赛初赛,为此我选择了最有效的途径,就是用什么学什么。在校赛的电源类的题目,STM32用到的其实就是ADC、PWM与PID控制算法。我一边参考学长留下来的代码,一边跟着B站学习,以不错的效果通过了初赛,通过初赛后我们在校实验室也就重新获得了座位。
为了参加电赛的第二步就是通过校赛的复赛与决赛。复赛是三天两夜的持续性工作,因为初赛至复赛的周期很短,在此期间我也没办法再多学习什么内容,所以复赛真的做的很糟糕。而决赛只有一个上午,题目相对简单(信号、电源结合的题目),且以硬件为主,做的效果不能说差。
为了参加电赛的最后一步就是术业有专攻的学习,仅从电源类的角度来说,编程最重要的就是3点:ADC、SPWM、PID,逐一击破即可。(第三部分有更细致的分享)在准备比赛的过程中,我想过要放弃。因为自己半路参加电赛,要准备的东西太多了,但是“我不去想自己是否能取得成功,既然选择远方,便只顾风雨兼程”。
第二章 四天三夜2019年8月7号开始,为期四天三夜的电子设计大赛拉开了序幕,这次的比赛整个经历对我来说是一笔大的财富。这次的比赛总的来说没走什么弯路,第一天将硬件搭出来了,第二天做实验找规律,第三天写程序,第四天测试写报告。
第一天 2019.08.07
今早7点30分,大赛主委会公布了本次大赛的题目。本科组的题目:A电动小车动态无线充电系统、B巡线机器人、C线路负载及故障检测装置、D简易电路特性测试仪、E基于互联网的信号传输系统、F纸张计数显示装置、G双路语音同传的无线收发系统、H模拟电磁曲射炮。对于一直在做电源的我们来说,选择有两个:1、A电动小车动态无线充电系统 2、H模拟电磁曲射炮。但是A题必须使用TI的处理器,H题则和控制类联系十分紧密,所以这两道题对我们来说都很难做。考虑多方面的因素以及老师的建议,我们最终选择了F题纸张计数显示装置。
F题截选
这是一道仪器测量类的题目,简单的来说就是测纸张==测两极板间的电容。但是这道题的难点并不在于测电容,因为测量电容的方法有很多:使用FDC2214芯片直接通过通信读取两极板间的电容、利用LC谐振测量...这道题真正的难点在于将测量的电容值转化为纸张数。
刚开始我们也不知道电容与纸张数之间的关系到底是什么,所以今天我们的首要任务就是将硬件搭起来,通过实验找去两者之间的关系。我们的硬件方案选择的是利用NE555的震荡将电容值转化为PWM的频率,再将PWM频率与纸张数对应起来。
第二天 2019.08.08
比赛的第二天,有了昨天的硬件基础,我们今天的任务就是疯狂的做实验了。放纸—>测量—>放纸—>测量...同时我们进行的还有完善硬件结构,使其更牢固。用什么东西压极板是个大问题,尝试过用砖头、水瓶、沙袋、但是效果都不近人意,最后我们还是在淘宝上找了家大理石加工店,给我们加工了两块4cmx4cmx4cm的石块。在使用不同压重物的情况下,测量出以下数据:可以得出两个结论:1、在纸张数较小的情况下呈线性关系 2、纸张数越多频率变化越小。
纸张数-频率关系
第三天 2019.08.09
比赛的第三天,就是写程序了。
最重要的问题就是如何拟合?首先我的想法是采用多项式拟合,我知道apache有个开源的math3有很多的拟合工具,但是他是采用Java开发的,所以我们想法是“移植”。但是在老师的分析下,因为这个曲线在任意两点间还是接近线性的存在,并且编程简单。其次,如何采样的更准?滤波!What’s more ? 标定数据的处理!保存 Flash、修改、删除。这些所有的细节在stm32 部分我都会做详细的描述。
这个晚上的3点钟,修改完最后一个Bug。程序定型,不再修改。
第四天 2019.08.10
比赛进行到现在,硬件、软件都没什么好修改的了,需要练习的就是放纸的手法了。也做了很多次的模拟,测试我们系统的可靠性。最好的测试结果就是1-30张纸没有错误,30-41张纸存在2个错误。
比赛进行到今天我的状态就是:目光呆滞,两眼无神。4天时间没刷过牙、没洗过脸、没洗过澡...
下午在测试完所有功能后,进行封箱的操作
涂劲豪在封箱
作品封箱前的照片
晚上23:41将作品送至武汉大学,4天3夜结束。
第三章 杂谈3.1读研
对于这个议题,我的看法是“不要人云亦云,有自己独立的思考”。我想我自己可能没有资格谈论这个话题,因为我也不是过来人。所以我摘录laike9m 的一篇《所以,到底要不要读研?》希望对大家有帮助:
过去几年,我零散地表达过一些对读研的看法。鉴于最近有人感兴趣,我也正好写篇文章总结一下。本文所说的“读研”,特指在中国境内读三年制硕士研究生。这也符合大多数人的情况。本文所谈论的“读研”不包括:读博、读两年制项目、在职研究生、出国读书等等。
我对读研怎么看?用一句话概括就是:如果你明确知道读研就是达到既定目标过程中所缺失的那个条件,那就去读。否则不要读。
在展开讨论之前,我必须先讲一个致命的思维盲区:权衡要不要做某件事的时候,只看到做这件事的收益,而完全不考虑因此导致无法做别的事所造成的损失。以读研为例。有人说“读研提升了学历,增加了进大企业的机会,好处太多了,一定要读”。True,我承认有这些好处。问题是,你把这些好处放在天平的一端,另一端放什么?如果什么都不放,那最后的结论当然是读研好。但应该这样比吗?不该啊。要放在天平另一端作为比较对象的,不是三年前的你,而是没读研去做了其它事的那个你。一个人要判断的,不是读研带来了多少收益,而是读研和其它选择哪个收益更大。这才是正确的思考方式。
有了上面这些基础,我们来列举几种常见的值得读研的情形。
情形一,你想去的地方,对学历有明确要求。包括但不限于积分落户、某些事业编制、男/女朋友的家人要求你必须是硕士等。没什么好说的,去读就行了,毕竟你没法改 变规则。
情形二,你想去的地方,对学校有明确要求。比如某岗位要求必须是211及以上,而你之前只是普通一本。这条看似和上一条类似,但其实不一样,后面会说。
情形三,你想转行。比如误入了天坑专业的学子,想完全依靠自己力量跳出去实在 是太难了。用人单位看到你本科专业,可能直接就把简历扔了。去读个对口专业的研究生会好很多。
情形四,你想去的地方,拥有硕士学历能带来更好的发展。诸如政府机关、国企、军 队,唯学历论依然盛行,本科生和硕士可能会被分配完全不同的就职岗位和培养路径。
当然,上面只是几个例子,无法涵盖全部情况。归纳起来还是最开始说的:如果你明确知道读研就是达到既定目标过程中所缺失的那个条件,那就去读。
然而,大部分人连目标都不确定,只不过是把读研当做一种改变命运的美好幻想罢了。幻想的形式包括但不限于:
1、谁说计算机从业人员就只有程序员、进公司code这一条路了,选择读研读博继续深造的,可能是想在计算机前沿领域进行研究,以后仍然可以选择进公司或者出国留学然后留校留研究院搞科研学术。
“读博我们这里不谈,但你跟我讲读研深造?我就想知道第一年上课最后一年写毕业论文找工作可能还有实习请问你要怎么搞研究?把学术界当儿戏以为成果能随便就能出?你想读研留校搞学术,我还想去二次元开后宫呢,好不好?
”
2、因为你儿子/女儿以后可以跟同学说我爸不是个纯code屌
“笑尿了,读研就不是“纯coder”,就高大上了。这种话简直不值一驳,能说出这话的人可以想象是处在怎样一种封闭无知的圈子里。
”
3、控制变量,能力相等的情况下,有研究生学历的你,和没有研究生学历的你,哪个在别人眼中更优秀?
“这个还是有必要说一下。对于能提升学校档次的考研,我完全支持,但首先你得确定这是你需要的,其次是你得去一个真正提升了档次的学校。你说我从xx理工学院城市学院考研到xx化工学院科亚学院,读不读又有什么区别呢?还不如去积累工作经验。
”
4、看看今年研究生算法岗的神仙打架和工资....
“不好意思,我就没见到哪家公司的岗位指定了要研究生,因为他们知道学位不等于能力,一个NB的本科生可以顶十个水货硕士。
”
5、能考上研究生的,整体水平要比本科水平高。不要把公司当傻子,研究生这个门槛天生就隔绝了能力水平稍低的人。
6、因为太菜了,纯写代码竞争不过各位大佬。
“所以你读完研就不菜了?读研不能让你脱胎换骨变成另一个人,醒醒吧。
”
7、大部分人平庸到谈不上靠能力争取到话语权,所以只能尽力找一个块儿厚点的敲门砖。这句话不能说没道理,但首先,你总得先选好想进的门吧?
8、可能你眼中的程序员只是日常CRUD吧。嗯,研究生牛逼,做的都是高大上的工作,CRUD什么的太没技术含量啦。
9、样本虽然小,但是我身边确实就学历和经验来看,学历高的比经验足的后劲更大。前几个月刚毕业来公司的交大小伙,现在熟悉业务了代码写得嗖嗖的,又好又快,而且产品那边一些新需求他也能就着英文文档去啃出来。而另一位3年经验的专科同事,虽然解决问题挺熟练,但是文档几乎不会啃,全靠简书和csdn里面的博客对着写,有些生僻点的玩意百度找不到,他那边就gg了,更不用说数据处理,除了日常的增删改查,其他的复杂的数据处理他那边就会僵住。
“您厉害,这变量控制得真好。他厉害不是因为他是研究生,是因为他是交大的啊。
”
10、作为一名研究生应届毕业生,来说说我对此问题的看法 1.研究生选择更多。可以选择去做科研,做教师,工作职位可选择的也多,比如女生不想做研发可以做测试等等 2.发展空间更大。个人认为学历还是很重要的,尤其是在以后职位的晋升上思维方式和学习更力。研究生期间,学习到更多的应该是看问题的方式,对行业的见解等等,而不仅仅是码代码4.起点更高。更容易去大公司,起薪也会更高
“1 不说了。2 是一种很奇怪的误解,因为我发现老一辈人(比如我妈)真的会这么想。但实际上除了少数地方比如国企,大部分工作并不存在本科生发展空间受限一说,尤其当你讨论的还是CS专业的时候。3有一定道理。4我要重点反驳一下,这就是前面提到的思维盲区的典型。研究生的你,的确更有可能拿到比本科的你更好的offer。然而,和工作了三年的你相比呢?三年时间,快的话可以涨薪两次或是跳槽两次了,在大公司的话升一级没问题,快的话可以升两级,更不要提工作经验的积累了。别忘了学校和公司可是完全不同的。
”
11、程序员只是青春饭,你会发现上了年纪就不行了。
12、校招大厂来面试的大多数是研究生,足以说明问题。
这些幻想要批判起来说一年也说不完。不过相信大家也发现了一些共性,就是这种盲目推崇读研的人,往往对很多问题都缺乏基本了解,看问题也非常片面。我暗自揣测,他们中大部分可能并没有真正读过研究生,却又把自己目前的不如意归咎于没有读研,并幻想出了所谓读研之后的美好生活。我在计算所的时候,周围很多同学都觉得读研浪费时间,也包括我在内。有个哥们实在受不了实验室安排的无聊工作直接退学然后面试进了头条,人家也没嫌他学历不够。总之呢,读研这件事好不好,各人有各人的情况。对想进互联网行业的同学,可能确实是浪费时间,但若是想去考公务员或者拿户口,可能又很必要。关键还是要清楚自己的目标,分析自身情况,再来判断读研到底是不是一个好的选择。
写这么多,想说的基本都说了。我试图保持客观,但也并不想掩饰对读研的负面看法。说真的,如果国内的研究生学制也是像国外那样是一年或者一年半,我断然是不会写这些的,因为读了也就读了。然而,它是三年,还是你人生中非常宝贵的三年。三年时间是真的不短啊。好好思考一下三年你能做什么,是否值得用这段时间去换一张文凭。我希望所有人都能做出令自己不后悔的选择。
以上就是文章的全部,既然我没有资格谈自己的看法,那我就讲讲自己的一个经历好了。我记的在大二的上学期,那时候是秋招的时间。思科公司来我们学校招聘,招聘的教室就在我们实验室的旁边,思科的某位领导可能是来早了,到处逛逛,就进了我们的实验室。在闲谈中长者就提到了:“我们公司招聘不会把学历放在第一位,更看重个人能力,本科生中也有很多能力强的。在中国的学术环境的影响下,读研并没有起到应有的作用”。
神农架之行
3.2 终生学习
好吧,还是要继续摘录其他人的文章了。先带大家看一篇Summer 所写的《每一个编程从业者都应该是「终身编程者」》:
程序员是很棒的职业。世界是由软件构成的,而程序员是撰写软件的人。
在未来,很多职位会消失,这是因为计算机和软件可以取代它们。但是从另一个角 度看,因为我们需要不断开发和维护这些程序,所以这么一想,程序员的前景还是很美好的。
即便你不把编程当成职业,也可以拿编程来解决生活中的问题,以工程师的思维来 思考这个世界,并尝试去优化自己的生活。
编程是一辈子的
从决定把编程作为职业开始,我就告诉自己,编程应该搞一辈子。为啥?因为这个 职业对经验和学习能力要求太高了,隔语言如隔行,得无时不刻地学习,没有经验还找不到工作。如果决心不够坚定,自己肯定会很难混下去。所以只要入这个行,不管十年 后是否从事编程的工作,编码都应该是一辈子的。
有了这个定位,就不怕自己学的东西太广太泛了,脑子里会想:「我这是在打地基」。遇到编程问题时,也会去寻找最佳实践,会带着长久发展的思维去思考。例如说不把自己的专业当成PHP Web开发,而是计算机科学,会主动去学习软件工程。
把编程当成终身职业时,工作也会变成学习进步的途径,而不是艰苦地讨生活。业余时间用来学习和编码,也会变得名正言顺。随着而来的好处是,同样几年过去了,你比身边的同事要经验丰富得多。
上面的文章是来自learnku社区站长的一篇文章。一入编程深似海,不断学习成必然。就笔者写作的年代来看,是处于技术不断革新,基本上每月都有新的技术、新的概念提出来,意味着程序员学习的东西不断的累加。但是就目前的趋势来看,现在的开发 都讲究自适应,也就是一套代码在各大平台都能完美的运行。这样自然是大大减少了程序员的学习成本。也许未来能出现一统多端的语言,可能是Dart也可能是JavaScript,也可能是其他的。
3.3 奖学金
首先努力之后获得成绩是值得肯定的。我们学校的奖学金的有很多,同时制度也相对健全,只要满足要求就能申请。我也通过自己的努力凭大一的成绩获得了奖学金。但 是我持有以下观点“努力学习是为了追求卓越,奖学金只是在追求卓越路上的小小的奖励”。
3.4 论坛
我是一个喜欢逛论坛的人。刚上大学的时候接触到的两个论坛:知乎、CSDN。现在都不怎么逛了,首先知乎上通常是长篇大论读起来太费劲,其次自己没达到知乎的平均水平—动不动就是《月薪5W是一种怎样的体验》,最后知乎并不是技术性的论坛。对于CSDN我认为他的技术文章参差不齐,且种类繁多,所以我一种把它当作查资料的工具在用。
现在我逛的论坛有很多,下面给大家做推荐(软件学习相关):
- GitHub:https://github.com/全球最大的同性交友平台,优秀的代码托管平台。
- 掘金:https://juejin.im/文章质量高!针对性性强。
- V2EX:https://www.v2ex.com/这个论坛没有太多技术性的文章。喜欢它的原因有两个:“酷工作”板块十分活跃,在这个版块下可以看到公司的招聘需求,也可以看到并下载其他人的简历。其次它更像是程序员的休闲灌水群。
- SegmentFault: https://segmentfault.com/ 有着中国的StrakOverFlow 之称,是一个问答性质的平台。同时思否学院中的课程质量较高。此外还有learnKu、简书等优秀的平台。
3.5 竞赛
大学里面的竞赛有很多,电子设计大赛只是其中之一。但是并不是每一个都适合你参加,所以择其善者而攻之。想参加比赛不要着急,首先你要有技术的积累,只有你自身实力够强,老师才愿意带你,同学才愿意找你。准备比赛的时间应从进校就开始,但是参加比赛的时间应该是大二下的寒假才开始。当你进入大二下,你就是学校参加比赛的主力选手了。以下我只介绍几个我所了解的:
那年寒假有“全国大学生创新创业训练计划”的申报,注意不是比赛,只要完成最 后的答辩结题即可,且通过概率极高。大家一定要把握好这个机会。这个比赛能获得保研加分,但是不具有保研资格。想要获取保研资格还需通过学生手册上列举的比赛。
然后大二暑假就有“全国大学生电子设计大赛”,这个比赛在信息学院和机电学院参 与的人数很多,比赛的方向也很多。需要找好队员,和选好参赛方向。电子设计大赛总的来说分为五类:“电源类”、“测控类”、“信号类”、“高频类”、“无人机”。其中参与人数最多的就是“电源类”与“信号类”。无论是那一类都不简单,都需要做好长期奋斗的 准备。
在大三的要参加准备以久的“挑战杯”和“节能减排”了,这可是竞赛里面的两大巨头。做好了你就不用努力了,做不好你可能“人财两空”。之所以说“准备以久”,意味 着这个项目一定是经过长时间的孵化,并且经历过许许多多的答辩历练。在我写下这篇 文章的时候,这两个比赛都还在继续推进。我这一年的“挑战杯”是创业类的比赛,也就是“小挑”。这对我们信息学院的学生并不是十分有利,但是我们都在尽力做,并且对自己有信心。
i创杯
我的看法就是所有比赛的选题还是要有老师的指导比较好,最好是老师正在研究的课题。所以,在此再次感谢所有帮助过我的老师。
4.6 社团
最后一个话题,我选择留给协会。
此前我一直有个遗憾,就是自己没能加入一个小团体的社团,面试啥啥失败。但是,“电子科技协会会长”的身份就像一份礼物一样摆在了我的面前。
这段往事有点不堪,但是我还是想把它写出来。在我的上一届,我认为是做的不够好的,糟糕到换届的时候从头至尾找不到人竞选。我有个很强势的女同学,是其中的干部,也是原本的会长候选人。她在换届的前一天找到我,想让我担任副会长,我充满疑惑的接受了。也在同一天晚上,“协会会长”这份礼物就送到了我的面前,既然大家都不想干那我就干。
我当会长的第一年是从2018年暑假开始的。先自我评价一下这一年,“很烂,承诺的事情没做到”。毕竟是第一次当会长,既没有示范,也没有实习。当时我承诺的是一个学年将举办4次活动,也只举行了一次,会员大会啥的都没有。因为我陷入了一个巴掌拍不响的局面。
协会又混混噩噩到了换届的时候,此时我大可拍拍屁股走人,大不了被别人背后小声的骂几句。但是我是不甘心的,我有野心要把协会做好,要做到五星级社团。于是我选择再干一年,如果干不好那就再干一年。此时,我不在是一个人奋斗,我有了一群志同道合的伙伴。那么这一年,我要为协会未来5年的发展奠定基础,没有的东西我们从头建设,已有的东西发扬传承。