首页 > 编程语言 >43岁,开始编程

43岁,开始编程

时间:2022-09-04 22:48:34浏览次数:57  
标签:仿真 AE Python 开始 CFD 编程 43 Fortran 软件

  先说一下我的背景吧。2006年硕士研究生毕业,所学的专业是热能与机械,研究生的课题是做CFD仿真。如果大家还记得16年以前的事情,那时正是中国的汽车行业开始崛起的时候,我当时也是因为机缘巧合,有机会进入到一家汽车行业的外企咨询公司,第一份工作是做内燃机的CFD仿真。2011年,我正好5年工作经验,当时汽车行业发展正是如火如荼,机会也多,就跳槽到了一家知名的国企。那时真是年轻呀,情商也低,很快就发现自己不是混国企的那块材料,恰好有猎头给我推荐了另外一家外企咨询公司的工作,我马上就辞职转投这家外企了。当时对自己的职业发展是没有什么清晰的想法的,也绝对没有想到在这家公司一待就是10年,直到今年母公司把 我们这块做工业仿真软件的业务给卖掉了,也算是被迫离开了工作10年的公司,当然这是另外一个话题,如有以后有机会,针对被收购这事我会详细写一篇。

  我工作的这家公司也是一家汽车行业的咨询公司,总部在英国。我所在的部门是专门做工业仿真软件的,具体地说业务就是开发汽车和内燃机设计使用的仿真软件,然后卖给用户(在国外大部分是租给用户)。刚开始,我的工作是做user support,后来(忘记是哪一年了,大约2015年吧)我们做support几个人的部门改名字叫AE,也就是application engineering的缩写,不过说实话我到现在都不理解这俩单词放到一起的含义,不如support这个词简单易懂。改成AE部门,做的事情确实也多了一点,比如我经常做的除了user support的事情,还包括软件的release testing, 软件功能的user review,写软件手册的教程部分,甚至还会做一些用户的咨询项目,等等。一件事情连续做很长时间,就会觉得疲惫。在这一点上,我觉得美国的几个同事就不一样-至少看起来他们还乐此不彼,可能是因为文化不同吧,在他们那里工作在整个的生活中的比重比我们轻得多,所以经常听他们说“it‘s just a job...”。总之呢,AE的这些工作我干够了。从2年前开始,我就跟老板(在公司叫做line manager)开始抱怨,抱怨的说辞是我好久没有学到新的东西了,要改变。在我们这里,AE工程师的职业发展下一步往往就是产品经理,我之前至少有4个同事从AE转型产品经理。但是,这条路径显然不适合我,两个原因,客观上我工作地点在中国无法对欧洲的软件开发工程师施加影响;主观上我的性格也不喜欢去做和沟通相关的事情。此路不通!我也曾经尝试过跳槽,或者在公司内部转部门去做CFD仿真工程师,但是都没有成功。在那个时候,我当时的老板(他是一个很nice的英国人,至今我都很喜欢他)给我一个建议,他说:“你可以拿一张纸和一支笔,把自己锁在房间里,认真地思考自己想做什么事情,把想到的都写到纸上,一两个小时后你就知道该往哪个方向走了”。这真是一个好主意,我听取了他的建议,在一张纸上先画了一个二维坐标系,横轴代表能力,即我擅长做什么;纵轴代表意愿,即我渴望做什么。然后把我能够想到的事情,一样一样地写到坐标系里面,这样根据不同的象限,左下的象限内都是我不擅长也不想做的事情,右上的象限都是我擅长并且想做的事情。就这样,左下的象限(不擅长不喜欢)有:管理,商务,等等;右下(擅长但不喜欢)有:客户培训,内燃机性能仿真,空气声学仿真,等等;左上(不擅长但喜欢)有:写小说,控制系统仿真,等;右上(擅长而且喜欢)有:CFD仿真,TMS(thermal management system),Programming!

  然后说说我在编程方面的背景。在本科的时候,学过汇编语言和Fortran编程,当时我Fortran学的还是不错的,期末考试成绩是A。这里说一句,大家都认为Fortran语言过时了,但是我们的CFD软件的求解器内核至今仍然是用Fortran编写的,而且我听说不少历史较长的软件也是用Fortran写的。话说过来,我的Fortran知识经过这20多年没有练习过,早就忘光了,以至于同事问我是否会Fortran的时候,都不敢说自己学过。现在我更熟悉的编程语言是Python。记得第一次知道Python是2006年刚参加工作的时候,当时一个同事用Pyhton编写了很炫的螺栓预紧力分析的小程序,他告诉我Python很有用。我也没想太多,就是抱着学点东西的想法,开始学Python。最开始用的两本书,一本是《A byte of Python》,这本书优点是很简单缺点是太简单了;另一本是《Python学习手册》,名字叫学习手册,其实这本书基本上不能当作学习参考书,更适合它的名字应该是《Python手册》。总之,直到我读了另外一本书《Python编程金典》才算是入门了。在Python从2.7升级到3的时候,为了更新自己的Python知识,我又重新学习了《Learn Python the Hard Way》- 这是一本好教材,如果现在有人让我推荐学习Python的教程的话,我首先推荐这本书。其他的,我也自学了NumPY和SciPY模块,基本上能用这两个模块。实践方面,我用Python写过CFD的前处理自动化脚本;更多的是写过不少CFD后处理脚本,包括分析流动不均匀性的脚本,转换结果文件格式的脚本,将并行计算的distributed结果整合成一个文件的程序,这些程序有的被收到了我们的CFD软件的发布包里面,作为Utility供客户使用。我记得我用Python干过的最大的一个活,是帮一个国内的汽车厂写了一个CFD流场后处理的程序,整个程序有几百行,可以自动化地按照要求生成汽车的各个位置的流场图片,这个客户至今都在用这个程序。除了仿真,我在2007年到2010年之间很迷炒股,曾经用Python写过程序,从新浪下载实时的股票报价,收盘了还用Python程序来计算移动平均线,计算股价偏离,等等。后来觉得股票技术分析太玄学了,就不继续了。

  总之,我能干也有兴趣干编程,所以我终于告诉了我的老板:“I want to be a software developer.”

 

标签:仿真,AE,Python,开始,CFD,编程,43,Fortran,软件
From: https://www.cnblogs.com/43-Start-programming/p/16656363.html

相关文章

  • 《Unix/Linux系统编程》第一、二章学习笔记
    第一章引言让我最有收获的内容:1.8关于UnixUnix是一种通用操作系统。开发者:肯·汤普森(KenThompson)和丹尼斯·里奇(DennisRichie)诞生日期:20世纪70年代早期经典书目......
  • 《Unix/Linux系统编程》学习笔记1
    《Unix/Linux系统编程》学习笔记1第一章引言1、本书目标强化学生的编程背景知识:编程语言->编程开发动态数据结构应用:C结构、指针、链表、链树进程概念和进程管理并......
  • 如何学习一门新的编程
    工作之后要学习Verilog,从来没有接触过这门语言,于是发起了一个提问:如何学习一门新的编程语言?收到的答案有几种:跟着B站学习,看官方文档,直接用,做几个感兴趣的小项目,还有个姐妹......
  • 内置单片机的433无线模块高速连传典型运用
    E61是高速型433M无线数传模块,内置高性能单片机和高速无线RF芯片,UART串口透明传输,工作在425~450.5MHz频段(默认433MHz),发射功率最大1W。无线模块在“连续传输方式”下......
  • Unix/Linux系统编程学习笔记-1
    笔记第一章引言一、概述:在第一章引言里,简单介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本、AT&TSystemV以及Unix的其他版本,如BSD、HPUX、IBMAIX和Sun/Solari......
  • 《Unix/Linux系统编程》第一、二章读书笔记
    自学教材1、2章学习笔记一、任务要求学教材第1,2章,提交学习笔记(10分)知识点归纳以及自己最有收获的内容(3分)问题与解决思路(2分)实践内容与截图,代码链接(3分)知识的结构......
  • 《Unix/Linux系统编程》第1,2章学习笔记 20201209戴骏
    一.知识点归纳第一章引言1.本书目标编程背景知识详细介绍了程序开发步骤,包括汇报器、编译器、链接器等。动态数据结构的应用字符串标记化、搜索树节点、插入和......
  • Flask 学习-43.Flask-RESTX 路由注册的2种方式
    前言flask注册路由有2种方式,一种是通过@app.route()装饰器来实现,另外一种是通过app.add_url_rule()方法来实现路由注册路由的注册在没有使用Flask-RESTX框架之前,我们......
  • 《Java编程思想》读书笔记(四)
    前言:三年之前就买了《Java编程思想》这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十七章到第十......
  • 10 个实用的 Python 编程技巧
    字典翻转首先我们来看字典的翻转,假设我们有下面类似的一个字典对象与数据car_dict={"brand":"Tesla","model":"ModelY","year":2017}倘若我们......