Individual situation under the tide of the times: a self-narration of an autonomous driving engineer
Preface
A 10,000-word long article records an engineer’s five years in the autonomous vehicle industry. I started writing not because of an unusual experience, nor to share the so-called way to success, but purely because of the sudden increase in blank time recently (the reason will be revealed at the end).
In recent years, the automobile industry has been undergoing industrial transformation and change, resulting in the rise of new kings and the decline of old kings. The turbulent waves of the times affect the ups and downs of personal circumstances. Ordinary individuals under the grand narrative live an ordinary life and are not worth mentioning. However, due to the current high unemployment rate and many uncertain factors, the general mood of anxiety, confusion, and uneasiness has become an objective reality that cannot be ignored. A cross-sectional display of an ordinary individual's experience may not represent anything, nor can it be used to interpret the whole picture of the industry, but it may give people who resonate with it a sense of comfort, or provide some warnings for people in the industry to avoid pitfalls. That's the original intention.
5 years of working experience, 25-30 years old.
I have worked for three companies, a German company (Germany), a joint venture (Shanghai), and an American company (Shanghai).
He has 5 project experiences, covering POC, mass production, process improvement, and testing and certification.
He has undertaken 5 types of job roles, positioning algorithm development → perception algorithm development → ASPICE project leader → perception and positioning team manager → embedded integration development.
These constitute an atypical workplace story.
Honey Confident Employment Choice
When I was looking for a job during the graduation season, most of the students around me had multiple offers, and these offers were in a variety of industries. I don’t know where I came from at that time, and I drew a circle for myself prematurely—engage in autonomous driving, go to Shanghai, and go to a car company. Therefore, I didn’t apply to a few companies in total, I didn’t spend too much time on interviews, and I didn’t have to worry too much about making a decision.
At that time (2017) there were many companies coming to the school to give lectures. Autonomous driving was by no means the most popular option. It was either finance, Huawei, or getting an account within the system. Most of those companies that were unknown at the time have become leaders today and are widely known and admired by everyone.
Although I went to most of the presentations of companies engaged in self-driving cars, not many submitted resumes in the end. At that time, many start-up companies had not yet set up R&D bases in Shanghai, but gathered in Beijing. So, geographical factors did the screening for me.
In fact, the automobile industry in Shanghai is much larger than that in Beijing, and many automobile companies and suppliers are gathered in Jiading, Shanghai. However, most of them are traditional enterprises, including foreign capital, joint ventures, central enterprises, suppliers, etc. At that time, the "new forces" had not yet been widely marketed, so these companies did not consider themselves "traditional" and began to engage in self-research on autonomous driving.
Subject to limited knowledge, I believed at that time that the car companies standing at the end of the automotive industry chain were the ones who grasped the direction of the automotive industry. The success or failure of autonomous driving cannot bypass the line of defense of car companies. Therefore, my decision logic is this:
-
There is no doubt that car companies have accumulated an industry foundation over the years, and they should have a unique understanding and understanding of the future development of the industry. Therefore, they should also have relatively mature ideas on how to achieve autonomous driving.
-
The joint venture car company has a larger market share and brings together the power of the two major groups, so the wisdom should be double.
-
The newly established department engages in self-research and has no historical baggage or experience in self-research, so there should be more room for development.
Based on the above, I decided to join the new department established by the joint venture car company and embarked on the road of self-research by the car company.
Passionate POC Demo
That year, there were nearly 50 fresh graduates who joined the company in the same batch, and the department had a total of about 70 people. There was a youthful atmosphere everywhere. In a large, established factory, such a young team is rare. A newly established department, newly staffed, motivated leaders, sufficient budget, and no pressure for mass production, the whole department conveys the determination to focus on self-research.
The first POC project is autonomous parking in the park. A few big bosses led a large group of recruits to build an autonomous driving system from scratch. The management actively promotes Agile management methods and promotes the use of agile process tools such as Jira and confluence. Soon, the whole team established a belief in agile, and everyone often discussed how to do the specific details of agile activities. The biweekly Sprint Review Day is particularly lively. Teams watch each other. Chinese and foreign leaders also pay close attention to it and often come to listen and ask questions. It feels like everyone is sitting in the same car filled with gasoline. Everyone is studying hard and working together to catch up with the predecessors who started earlier.
I have done a mobile robot indoor mapping and positioning project in school before, and accumulated some SLAM technology foundation. Therefore, I mainly focused on positioning algorithm development in this parking POC project. Although this was my first contact with autonomous driving research and development, I was fairly familiar with the entire workflow. I thought it was just a matter of changing the moving object from a turtlebot to a larger oil truck. Who doesn’t say that the ignorant are fearless?
The quick start of the project is indispensable for the results of forking open source projects. The ones that have attracted the most attention are Apollo and Autoware, which not only provide software reference frameworks, but also code implementations. The usability brought about by open source can indeed reduce the difficulty of initial development work. The sensor is installed, the communication is opened, and it is connected to the industrial computer in the trunk. Linux and ROS are run, and the control signal is sent to the chassis through CAN, and the car starts to tremble. "That's it, Qihuer." We were like the engineers present when the first trans-Pacific submarine cable communication was realized, feeling sincere joy and excitement about what had just happened. A few people are cramped in the narrow passenger and back seats, and inputting a few simple commands on a laptop can make a big car like a car move according to its intentions. It is an extremely exciting experience.
The parking scene includes two working conditions: underground garage and outdoor park. The requirements for positioning accuracy are relatively high. Even with the support of high-precision integrated navigation equipment, it cannot well solve the problems caused by weak GPS signals in the park and long-term GPU loss in the underground garage. The impact on accuracy must be supplemented by another positioning method, that is, relative positioning based on SLAM. Lidar-based Cartographer and Vison-based ORB-SLAM are our first choices. Yes, open source is the primary productivity, but actual projects are not as simple as fork-run-done, and various problems will arise. Solving these problems is the only way to accumulate engineering experience.
-
Understand the characteristics of sensors: Understand the characteristics of different sensors and understand the characteristics of sensor data. Lidar type, wire harness, ranging range; camera frame rate, resolution, distortion; GPS signal type, presence or absence of a fixed solution, and IMU signal.
-
Spatio-temporal calibration of the sensor: If it is precise, use a calibration room; if it is rough, use a homemade calibration board. Is the device clock soft or hard synchronized? Remember January 1, 1970.
-
Have you understood the essence of parameter adjustment: Facing different application scenarios and using different sensors, it is inevitable to adjust the parameters (magic modification) of the open source algorithm in order to achieve better performance. Just because you've read the paper and read the code doesn't mean you can adjust parameters. Before preparing to adjust parameters, ask yourself whether you really understand this parameter, why this parameter is needed, whether the problem you encounter is related to this parameter, and in which direction you should adjust it. Practice brings true knowledge.
-
Performance optimization and acceleration: All optimizations are to meet the needs of downstream customers. The positioning accuracy evaluation methods for outdoor and basement are different. The output frequencies of different positioning methods are different. When multiple smart driving applications are running at the same time, will the computing resources of the industrial computer be enough?
-
Dynamically changing external environment: There are sunny days, rainy days, and cloudy days outside. How is the generalization ability of visual features? When was this curtain added in the basement, and why did the car parked here disappear?
The daily paradigm during this period is basically to collect data, playback, locate problems, modify the code, get on the bus to verify, show progress, and repeat. In the company, it is normal to have three meals a day and work overtime. On my 25th birthday, I stayed in the test car late into the night.
A senior at the next table said, "I secretly observed your eyes, which are full of thirst for knowledge and persistence in problems."
Working days in Germany
A joint venture company plans to start a new business and embark on the research and development of autonomous driving. It cannot help but think of first leveraging the platform resources of the two major groups.
新部门成立之前,公司选派了几人深入到本土集团的智驾部门进行实地学习(一个月?三个月),目的是弄清楚智驾部门的组织结构和工作内容,为成立新部门做好前期准备。这几位元老随后成为了新部门的核心主管。
新部门成立不久,与德国智驾部门的联络也开始建立,设立了一个中德联合研发项目,派遣7人去往的德国集团的智驾部门进行实地开发(一年),目的是掌握智驾部门的技术体系和研发工具,为新部门的自研工作储备力量。我是7人小分队的成员之一。
第一次出国的心情十分激动,对陌生的一切充满了期待。后来每到61儿童节,我都会想起那天,看到“世界很大”。
刚开始我们住在酒店,一边适应当地时差,一边适应工作环境,一边也在适应食物口味。天空很蓝,窗外很静,街上人少。习惯晚上10点半睡觉的我,十分不太习惯此时的太阳还不睡觉。地理课本上的夏令时,原来是这样的。
工作环境比国内要好一些,工位没有那么拥挤,周围也更加安静,适合专注地工作,我很喜欢这一点。不过,我在这里的工作内容发生了一些变化,和同行的另一名同事一起负责感知模块的工作。虽然定位和感知都有与激光雷达、摄像头打交道,但两者的技术栈内容相差还是挺大的。定位解决的核心问题是“我在哪里”,关注的是本体状态;而感知解决的核心问题是“周围是什么”,关心的是客体状态。
我挺喜欢学习这件事儿,沿着问题找到答案的过程,总是充满了惊喜。说干就干,从零开始学习感知技术。第一次听到“learning by doing”这个词,是这边感知组的PM给我派任务的时候。当下版本的感知系统对目标物体的速度检测存在一些延迟和误判,让我尝试能不能利用毫米波雷达来改善速度检测的准确性。
感知是一个多传感器融合的大系统。多传感器信息融合的方式有多种方案,简单地可以分为前融合和后融合。在很长一段时间里,大部分智驾系统采用的是后融合方案,即目标物层级的融合。这种方案在高速路工况下问题不大,可在复杂拥挤的城区道路,就完全不适用了,因为目标物太多,距离又很近,传统的目标物匹配算法遇到了很大的困难。于是,前融合的方案开始被大家广泛讨论。
一种前融合思路是,把连续的三维空间分解成一定大小的网格离散空间。然后将激光雷达点云的距离信息、基于深度学习的像素语义分割信息和毫米波雷达的原始点云的速度信息,这三类数据投影到离散空间的网格内。最后,基于这个包含丰富语义信息的离散网格,生成目标物列表。这里的前融合主要体现在不同传感器原始数据的早期融合,使得每一个空间小网格具备了距离、语义、速度属性,为后续稠密目标物群的生成提供了丰富的信息输入。
在ADAS领域,毫米波雷达算是一位老兵了,业界已经有十分成熟的产品,成本低,可靠性高,但存在的问题是在城市工况下的误检和漏检很多。在激光雷达和图像衬托下,它显得有些多余了,这可能也是感知组在前融合方案里不着急加入毫米波雷达的原因之一吧。
不过,眼下棘手的速度检测问题,有必要重新思考一下毫米波雷达在前融合方案里的江湖地位了。为了解决这个问题,我开启了两条故事线。一条是研究毫米波雷达,查阅检测原理,研读核心算法,设计场景实验,测试性能表现,分析数据特征,找到内在规律;另一条是研究前融合框架,理解整条数据链路的处理过程,熟悉每个环节的具体内容,反向推理每个算法背后对应的实际问题,找到速度检测问题的突破点,设计融合毫米波雷达速度检测信息的路径。
经过半年时间的不断摸索和调整,最终完成了毫米波雷达的前融合,且在实车上得到了性能验证。当在技术分享会上向大家展示实验结果时,我是又激动又兴奋。当德国同事通知我,他打算把我的这部分代码合并到主开发分支时,我是又自豪又感激。这半年期间,对桌盟友数次充当小黄鸭,帮助我厘清程序设计思路;德国同事不厌其烦地解答我的疑问,帮助我理解复杂的感知链路。没有这些支持,我很难在这样短的时间内积累如此多的感知算法知识。
可是,全球新冠疫情的突然爆发,改变了原本平安喜乐的生活和工作。每天各种新闻报道铺天盖地,骇人的新增数字居高不下,我感受到了生存的威胁。每周一次出门大采购,回来拎着重重的购物袋。害怕遇到陌生人,更害怕路边突然摇下的车窗,发出指向自己的怒吼。整日待在房间里,不是躺在床上,就是躺在沙发上,窗外的蓝天不再觉得美丽,无助和空虚占据了身体。
在国际航班全面熔断前,公司给我们买到了回国机票。趁着天色未亮,我们一行人静悄悄地,踏上了去往机场的路上。不确定这一路是否会遇到交通围栏,也不知道能否顺利通过体温安检,设想了种种可能,但没不敢想象如何应对。幸运的是,全副武装的我们都如愿上了飞机,没有一人落下(这是最可怕的情况)。飞机落地,迎接我们的是14天的酒店隔离。大巴穿过街道,我熟悉又陌生,恍惚觉得一切都不太真实。
陷入人员流失的漩涡
2020年,一个特别的年份,仿佛回文字符串也在暗示非同寻常。
由于疫情原因,德国同事无法来中国开展这个合作项目的后续工作,导致所有技术问题都落到了我们7人的头上。坐落于上海赛场车场对面的上海智能网联测试基地,也叫A NICE CITY,它陪伴了我整个夏天。那时候,许多初创科技公司已经拿到了上路牌照,这是允许自动驾驶车辆进行公开道路测试的前提条件。我们的目标就是通过所有的测试考验,好让我们的测试车大大方方地出现在公众面前。
德国智驾团队负责了测试车的改装、硬件传感器选型,以及绝大部分软件功能实现,算法设计也大都基于德国某城市的道路工况。当这一套软硬件初来乍到时,难免会与中国道路“水土不服”。比如:
-
图像训练数据的数量和多样性不够:child dummy, 艳阳天、雨天、阴天、黄昏等不同天色背景。
-
三角锥的检测不稳定:点云太稀疏,没有足够多的扫描点。
-
路边草丛容易窜出莫名物体:目标物分割存在问题。
-
路边停靠车辆的速度异常:误检到微小 速度,致使预测做出反应。
-
激光雷达噪点杂点处理。
更让人抓狂的是层出不穷的系统问题:
-
自动驾驶模式异常自动退出。
-
所有设备的时间同步总是需要花费大量时间。
-
电脑死机,挂载失败,工作异常。
-
软件部署经常失败,重启,重启,再试一下重启。
-
暴晒下的传感器,产生状态异常。
-
车辆诊断报错,TSK错误,高压警告。
-
车上空调坏了。驾驶舱显示屏歇菜。后备箱过热报警。
还有还有,代码版本太乱,数据盘容量不够,现场人员太少。
除了这些千奇百怪的问题,炎炎夏日的”烤“验也不断挑战着我们身体与心理的承受极限。最终测试的完成时间比预期要长许多,从春末持续到了初秋。
经过漫长的等待,我们终于如愿获得一张与普通汽车临牌别无二差的自动驾驶测试牌照。这是车企自研的里程碑事件,背后凝聚的人力、物力、财力的、付出,数字也许都显得有些苍白。
基地测试人员坦言,不同智驾团队的实力悬殊明显,有的从进入场地到完成测试,仅仅花费了3个星期。相比复杂多变的公开道路,测试基地的封闭路况实在是简化版的新手村,环境简单,目标物单一。公开道路才是自动驾驶车辆迈向物理世界的真实竞技场。
就在我们忙于挥汗如雨的时候,部门办公室的气氛似乎逐渐微妙起来。也许是项目变动的缘故,也许是个人发展的考虑,也许是外部环境的变化,曾经一同入职的同事相继离开,管理层也在发生更迭,甚至部门对接的HR也频频轮换。
水阀一旦开启,流动便难以阻挡。薪资改革只是无奈之举,挽留不住奔向门外的脚步。虽然有外部招聘和内部转岗双管齐下,但蓬勃朝气明显少了许多。外聘过来的人需要一段时间适应和融入团队,而转岗过来的人大都也志不在此,不久后便各奔东西。尽管我绝大部分上班时间都处于两耳不闻窗外事的状态,也不免觉察到了周围生疏的面孔越来越多,而邮件列表里熟悉的人名越来越少。
这列向前奔驰的火车开始减速。引擎故障和方向调整,是亟待解决的重要难题。
新角色上线
部门内部躁动不安,招聘市场热火朝天,这是一段很长时间内的真实写照。一开始雄心勃勃的自研项目,现今面临着巨大压力,研发进展十分缓慢,质疑之声也愈来愈多。“别人都已经实现功能量产了,咱们这样自研还有意义吗?”
自从入坑深度学习后,我便全身心投入到“炼丹”科学。采集标注数据,检查标注质量,训练模型参数,尝试模型调优策略,完成实车部署,检验性能结果。学习-练习-实践,努力践行着正向循环曲线。国庆期间参加了一个线上比赛,觉得赛题很有趣,就上手干了起来。没想到居然能获奖,还拿到了一笔不少的奖金,这也算是工作之余的一段难忘经历了。
可是这样想一出是一出的发散式学习,终究不是长久之计。对于接下来要做些什么,上面似乎也没有任何计划。一方面看到行业发展的日新月异,同行们围绕各种技术路线、商业模式激烈地争论着,而另一方面看到部门内部的低沉萎靡,缺乏一个能够激励大家凝聚一心的目标。就在此时,一个ASPICE流程认证项目仿佛横空出世,“年底前要力保完成”,我被选中全面负责此事。
随着Agile Scrum流程已在部门里推行多时,敏捷活动的实施逐渐陷入了流程化,一些动作也有些变形。同时,大家也觉察到在研发过程中,某些环节的缺失不仅导致功能开发内容不聚焦,也使得团队间的协作变得非常困难。正值行业驶入量产快车道,对于一直在做预研的我们,不免好奇量产项目开发的模式是怎样。作为已被汽车行业广泛认可的软件开发流程体系,ASPICE是我下一站探索领域。
Automotive SPICE是汽车领域用于改进和评估流程的一种框架,初衷是为了保证质量和风险管控,用于内部流程改进和评估供应商能力等级,强调“事事可追踪(追溯性),件件需一致(一致性)”。
Agile是原生于互联网的一种软件开发方法论,旨在应对不断发生的需求变化,建立高效能团队(高度参与和有积极性),高效地实现团队目标,强调“自管理,透明,承诺”。
我觉得,这是两种不同思维方式下的行为差异。ASPICE想要的是工作内容应环环相扣,有头有尾,有始有终,保证最终产品高质量交付;Agile则鼓励迭代交付,随时调整工作优先级,以确保同一时间下的产品力最优。一个是缓慢启动,然后直奔终点;另一个则是快速启动,然后迂回前进。
尽管道不同,但大家的目标却一样,从来都是SOP(Start of Production)。也许以后SOP会成为一个古早词汇,因为汽车商品正逐渐从“一锤子买卖”朝着“一切皆服务”转变,”Start“将会变得模糊,”Version“将会更加凸显。
基于我的有限认知,看到市场上有以”敏捷“为内核的新势力派(不敢苟同其Agile灵魂)和以”ASPICE“为明珠的大厂派(成熟不等同于傲慢)。考虑到内部团队的背景组成,主体是年轻的、仅有预研经历的和已建立Agile体会的人,要想让项目不搞砸,我需要找到一种融合派的最优路径(仅针对该团队该项目)。如何让大家接受ASPICE这样定义明确,事无巨细的工作方法;如何让每个参与其中的人都有所收获,不虚此行;如何在极其有限的时间内完成项目。我意识到,这次面临的挑战与以往研发视角不同,不是简单地让技术事实说话就可,而是一场”人、事、时“的多方平衡游戏,每个角色都是成败的关键所在。
融合派怎么做?没有范例可以参考。尽管ASPICE组织也在提议融合Agile,但雷声大雨点小。融合二者的本意是取长补短,但是做不好的话,就会变成工作量加倍。我开始像一位导演一样,在头脑里反复推演故事结构,构思剧情概要,划分人员职责,获取资源条件等,最终形成一个经得起推敲、切实可行的项目方案。
我把“How to Run Agile Scrum in ASPICE World”分解成两个部分:
-
角色:将ASPICE的各个过程域与Scrum的PO, Master Developer进行关系映射,并划分哪些过程域到Scrum Team,哪些过程域采用V模式。
-
工作流:梳理各个角色的上下游关系,每个角色参与的活动有哪些,以及工作产物形式是什么。设计在一个大V模型里如何嵌套迭代开发模型。
简单地说,就是搞清楚哪些人做哪些事,搞明白ASPICE的逻辑本质,找到高效途径 解决问题,谨防陷入“堆人堆量”的囧地。
虽然做了充足的计划准备,但在实施过程,仍不免遇到了各种各样的困难。部门里的人员流动仍在继续,临时组建的ASPICE团队需要沟通协作上的磨合,外部评审团队与内部实施团队间的理解认知偏差,以及持续不断的质疑、抱怨之声。整个过程也完全符合一个基本剧情故事的发展脉络。
我做的最多的事情,就是说话,和不同人的说话,说着不同的话。我希望能让每个人都清楚地理解我们正在做的事情,哪些是有益的部分,哪些是值得斟酌的地方,哪些是妥协,哪些是原则。虽然致使项目失败的因素有很多很多,但促使项目成功的关键因素之一,一定有目标一致。
在所有的人共同努力下,最终这个当初看似不可能的项目,居然提前了两个星期完成审核,并顺利通过。庆功宴上,我喝醉了酒,也许是气氛所致。一直有人叫我说点什么,再说点什么。我完全不记得自己说了什么,只听到饭桌上的笑声连绵不断。我一定不是掌握了幽默之道,而是那天所有人的高兴都溢于言表。
站在经典的岔路口
“搞技术的人总有一天要做管理。你现在已经做上了管理,几乎是火箭般的速度。为什么要放弃呢?“领导问。我双手紧握,神色淡淡。”这好像不是我想要的样子。“
HR在介绍员工职业发展路线时,通常会把技术和管理分成两个不同赛道,员工职级也是使用不同代号区分。在传统制造行业,做技术的人也难逃中年困扰。一种刻板认知是,如果到了一定年龄,还不能坐上管理岗,一定是什么地方出了问题。仿佛一直做技术的人,就注定了老黄牛般的结局。另一种刻板认知是,做管理的人看上去光鲜闪耀,像是管理岗这个身份自带光环属性,能将人的自信和魅力照亮放大。也由于本来的稀缺性,管理岗成了许多人趋之若鹜的职业理想归宿。
The results of the new round of organizational structure of the department were announced, and I was (accidentally) nominated as the manager of the perception and positioning unit. My previous development work has focused on positioning and perception. The ASPICE project is also related to these two functional modules. Now we want to lead the perception and positioning stocks. Frankly speaking, I was a little excited at first. Perhaps it was the successful experience of the ASPICE project that gave me a taste of the sense of accomplishment that comes from "working with a group of people to accomplish something challenging." Can I still pursue a path that has never been done before (at least within the department)? With such doubts and original intentions, I entered the trial of the new role.
How full the ideal is, how backbone the reality is. Establishing clear and effective team goals is the number one thing I think is most important. Initiate active technical discussions, formulate work content with clear responsibilities, find the direction of the team, and allow everyone to see their own development. I understand that a high-performance team should be one that is open, transparent, self-motivated, continuously creative, and has a soul. While I was struggling to advance the exploration of new ways, my time was filled with emails, meetings, notifications, statistics, etc. A sense of being online at all times makes me feel very nervous and urgent about everything.
At the same time, I am also responsible for the technical management of a self-research project. From a technical point of view, the development work is not very difficult. However, what really hinders the progress is both the dependence on external supplier delivery and the gradual internal fork. Like in a big group photo, everyone is facing different directions, some are indifferent, some are unique, and some are at a loss.
I was never able to find a path to implement my idea, and gradually realized that the underlying problem was beyond my operational scope. This is completely different from the situation faced by the ASPICE project. At that time, I firmly believed that no matter what kind of problems occurred or what kind of risks they caused, they would be solvable and controllable. I became more and more silent, not wanting to speak, let alone saying anything nice. As time goes by, my resistance to certain things becomes more and more obvious. Please forgive me for my lack of cooperation. My persistence was in vain, it looked like a joke, but it was not funny at all.
"Do unto others, do not impose on others". I can't convince myself, and I don't want others to waste their precious time with me. So, I escaped, and the opening dialogue happened.
Some of the above words may be offensive, but with a sincere attitude, I want to try my best to record the real existence of the past (as well as my thoughts). Regardless of good or bad, this is not an easy task. Due to the limitations of personal knowledge and lack of information at the time, most of them were just nonsense.
Time has fermented past memories and changed some of my concepts, even my food tastes and preferences. The person I am now is no longer the person I remember. After all, humans have not yet unlocked the version rollback function, and it can only be implemented on artificial intelligence.
Mass production turns out to be so hardcore
(This section changes the style of painting)
Well, this time I joined the ADAS department of an American company to do mass production development. Yes, it is still self-developed. My residence also moved from the suburbs where I had stayed for many years to the bustling city center.
I love eating it even more. I gained 10 pounds of meat. Can you believe it? When I returned home during the Chinese New Year, my relatives and friends said in unison, "I have never seen such a fleshy face on your face."
The height-adjustable desk smells great, and my upright colleagues are so brave to say so. At several online company conferences, the comments section was quite active. "This speech is like shouting a slogan", "There is a way to like luxury", the screen is full of +1's. These are all real-name statements.
It's quite complicated. The biggest difference from before is the embedded development environment. I mastered the vehicle chassis control logic, mastered the CAN bus communication, solved the cross-compilation, and cracked the software and hardware clock synchronization. Oh, and there is also user personalized setting memory implementation.
Very hardcore. Although I also played with microcontrollers when I was a student, there was no system concept at that time. Previous projects were basically based on x86. In the past, I only cared about sensor configuration, but now I roughly know what the chips and domain controllers are. In the past, I only cared about whether the algorithm was awesome, but now I also care about whether the hardware platform is tired. In the past, I only cared about whether my program had bugs, no matter how many resources it occupied. .
Embedded AI development, I have already reviewed the official materials of TDA4. Link to the note ! Welcome to like, comment and share.
The first is the transformation of the industry, and certain positions no longer require so many people; the second is the irrational recruitment in the past few years, cutting off businesses that are still unprofitable in the long run; the third is the involution of China, which has swept up the global automobile market; the fourth is the The demand for automobiles no longer grows exponentially and has entered the existing market; fifth, the ability to consume large quantities has weakened, making life difficult for ordinary people.
Capital may not be so optimistic, and now they are all looking at large models. As long as I haven't left the car track, I will always be optimistic about autonomous driving. "Food, clothing, housing and transportation", mobility is a fundamental need for human beings. As long as cars have not completely disappeared, there will definitely be demand for safer, more comfortable and better understanding of your functions. Autonomous driving is the goal, and providing the service functions that users need is the essence.
I think it's partly because of fear from the bottom of my heart . Never ignore the power of fear, which may make seemingly irrational behavioral decisions "reasonable and unexpected." In these ever-changing times, who wouldn’t want to grab a little certainty? Even if it is not yet formed. Self-research is like a safety talisman that car companies are longing for. It doesn’t matter whether it is useful or not, at least it gives peace of mind. This was discussed in another previous article.
AI large models are really hot, and there are many in-depth users of large model applications around, such as chatGPT. I use it sometimes, but I haven't found a usage scenario where it is absolutely necessary. However, it is indeed more friendly than the search function in some scenarios. For example, when you think of an idea but it's still vague, you can gradually make the idea concrete by interacting with ChatGPT.
I hope so, but it will definitely not be like chatGPT. The high safety, high real-time performance, and high reliability of the autonomous driving function requires more than simply having a smart brain. There is still a lot of work left for embedded AI development engineers.
Sometimes I participate in industry events and get to know many senior colleagues in the industry. They shared a lot of knowledge and opinions, which benefited me a lot. This is a very lovely group of automotive engineers.
Because it may soon become a drop in the wave of layoffs. "Graduating from the full stack" is just a self-deprecation. In the past five years, I have indeed gone through many pitfalls in circles, but I am still far away from becoming the "big devil of the full stack@Zhihuijun". I recently bought a few tomes to calm myself down and think about how to spend my days after graduation. I want to make something happen, not just a mess.
postscript
The end of the past five years is not the end of the future. I was also very surprised that I basically finished writing it in a week. I thought it would take longer. Rilke said, "Explore the reason why you are asked to write, and examine whether its roots are deep in your heart; you must frankly admit that if you cannot write, you will definitely die because of it." Is this what it means? "Living in darkness and working hard", so everything is "explained"?
As mentioned at the beginning, one person's experience is only a tiny piece of a grand story. Please don't make one-sided assertions by judging the big from the small. Generation after generation of Autobots, there are always new stories happening and old plots coming to an end. The show will always go on!
(Complete the entire article)
editor
If you have more interesting stories and interesting ideas, please feel free to contribute and share! Below is the WeChat account of the editor of the official account: