陈世元:被保送中科院,两次被裁,人生不能老是按部就班的走下去,需要冒险,尝试一下新的东西

《程客有话说》是我们最新推出的一个访谈栏目,邀请了一些国内外有趣的程序员来分享他们的经验、观点与成长故事,我们尝试建立一个程序员交流与学习的平台,也欢迎大家推荐朋友或自己来参加我们的节目,一起加油。

本期我们邀请的程序员是陈世元,学习成绩优秀,被保送中科院,从力学转行程序员,从业时间近10年。

1、请自我介绍一下。

我叫陈世元,一名90后,15年毕业,工作到现在,将近十年了,一直在做后端开发,java为主。
我一开始学的是力学专业,因为当时不太好找工作,15年的时候互联网正如火如荼,就转行学了计算机。开始我是自学的,后来找了个培训班,去北大青鸟学的java,学完之后,就找了一家小公司工作,一家做网贷的公司,待了半年多吧,公司就直接就倒闭了。我也被裁员了,所以说第一份工作也比较悲剧吧。
被裁了之后,去了一家小公司,做APP后端开发,后来感觉前景比较渺茫,待了一年,跳槽去了搜狗,我觉得小厂待的风险比较高,在搜狗待了两年半,又跳槽去了字节跳动,遇到了职业瓶颈,换去了soul,但互联网行业开始迎来寒冬,加上疫情的影响,又被裁员了,我是经历过两次被裁的。失业在家3个月后,去了集度科技,一家新能源车企,做cdp平台,一直到现在,大概是这样一个情况。

2、你的读书成绩很好,分享一下自己的学习方法?学习的驱动力来自哪里?

刚进大学的时候,基本上很少有娱乐时间,基本都是花在学习上面,确实比较刻苦,全身心投入到学习里面去了。到大三大四的时候就开始松懈了,开始迷上了Dota这类游戏。
学习方法上还是要多看书,大学的课程我感觉难度不大,有难度的课程就那么几个,还是要靠自己去探索课外的东西。另外一点就是自驱性,我还是比较喜欢主动学习的,不管是上学,还是后来工作中,转行也是因为自学了java。

学习的驱动力,一方面是兴趣爱好,一方面是对未来生活的期望。学习一直是我的兴趣,也是希望未来有一个好的发展,毕竟人需要有进取心,不能总是当闲鱼。
其实大学的时候还是有一些理想主义的,越到后面,工作之后,就更加现实一点了。比如说我得考虑在这个行业深耕,能达到一个什么地步,能不能多挣点钱养家糊口。

3、你是如何走上程序员的职业道路的?

我在中科院的时候,是在力学所,力学所需要搞很多的实验,我的实践动手能力比较差,写那个论文感觉就很头疼。我们也有软件开发课程,开发程序去做一些计算,我对这个很感兴趣,我大学的时候C语言学的特别好,基本都是100分。

找工作的时候,也跟一些同事,同学、朋友交流,很多也都转行了,当时互联网行业也很火,所以说当时也就选择尝试转行程序员,也有几个同学跟我一样转程序员的。当时有这个风气。

当时投简历,力学专业也投,java也投,力学的工作一般都是国企,工资给的低,当时有几家让我去,但他们不给户口。甚至我都已经去一家国企实习了一段时间了,他们也已经准备要我了,但后来最终放弃了,因为他没有户口,工资给的也不高,后来就去了一家互联网私企。

如果说它给我户口,我可能就会走一条完全不同的路了。走上程序员这条路也有一些偶然吧。

4、在北大青鸟,它是一个什么样的水准?

他们是一种速成的,适合那些完全没有接触过的小白。我觉得它有一定的优势,虽然门槛比较低,确实给我一些实际的项目经验,这个是比较重要的,通过一个具体的项你就知道编程这个东西它能干啥,是前端,还是后端,还是MVC架构,通过具体项目,才能对整个工程的架构有一定了解。自学只能熟悉那个代码的逻辑,知道怎么写代码了,但是让你去做个项目,你是无从着手的。通过这种培训班,给你提供一种工程。虽然说不是完全的工程经验,但是相当于有了一定的工程经验基础。它不会给你讲底层的原理是什么样的,它至少告诉你怎么操作。

第二点是学习氛围。你自己自学的话也能做到,但是对自驱能力要求非常高,虽然我也自学,但是你在培训班里面,跟大家一起学习,有老师指导的话,他的氛围会比较好,而且有问题可以相互交流,老师也可以给你解决,个人成长的速度更快,如果你自己去做的话,也能做到,但需要花更多的时间。经历或遇到很多坑,你根本不知道怎么解决,效率会低很多,对个人自驱性要求太高了,所以这也是它的优势。
缺点也有,它就是速成班,目标很明确,就是让你学会做这个事情,底层的原因他不会跟你细讲。

5、在中科院学习是怎样一种体验?

我刚保研过去的时候,确实挺兴奋的,我是在中科院力学所,首任所长是钱学森。它的氛围是非常open的,很自由,你自己选课,只要考上学分就ok了,主要的核心点在于导师。你做科研,科学方向规划,都是导师来给你规划的,你要及时跟老师沟通好,未来要怎么走,发论文,立项等等。

去立项是比较麻烦的,个人感觉从这开始就有难度了,研一、研二跟大学差不多,研三你就得有一些探索了,自己就得去研究了,这就不一样。这块是我做的不太好的地方,没有及时跟导师沟通项目,本来是三年的,我延了一年。因为第一年论文没实验做的效果,结果不好。

总体来说,中科院给我感觉挺不错的,就是非常自由,氛围也很自由,爱怎么搞就怎么搞,只要你不挂科就行,科研项目你跟导师安排好就行。

6、写了近10年代码,你如何评价程序员这个职业?

程序员是比较适合那种沟通能力相对弱的,能沉浸在自己的世界里面做东西的人,它更注重逻辑思维,核心能力是抽象能力,我甚至觉得抽象能力比逻辑思维更重要。这样的人适合做程序员。薪资相对一般的行业,也更高一点,前景更加广阔。

互联网企业的氛围也更加开放自由,不像国企,你要处理各种的复杂的人际关系,你得去跟领导拍马屁什么的。甚至运气好的话,也能达到财务自由,对于我们这种社会底层的人,家庭条件一般,又想靠自己的能力去实现阶级跨越,程序员还是一种是非常不错的方式,至少有一定的优势吧。

缺点的话确实比较累。对身体方面消耗比较大,我在加班特别严重那个时候。身体就每况愈下,就感觉每天干到11点钟就受不了。

第二个缺点是,因为你太过于专注内在的世界,在一些社交方面就很缺乏,你的社交圈就比较少,像我的话,平时就带带娃、陪陪家人,很少跟外面人交流,就感觉与世隔绝一样。

第三点,就是不稳定,像我的话就面临两次被裁员了,随着这个行业越往下走,它可能就越来越不稳定。包括35岁危机怎么去避免?包括我现在也在面临这个问题,我还不知道怎么解决。

7、全球79%的开发者都在使用Java,使用这么久,你如何评价它?

一开始学编程的时候,调研过各种语言,最开始接触的是C语言,虽然我学的比较好,但是我不太喜欢它,什么数组、指针这些东西,特别绕,当时调研的时候java是最火的,所以当时就选择了java,因为你换行,你不能换太冷门了。

相对来说,java的学习曲线比较平缓,门槛不是那么高,对很多人来说比较容易上手,但是C语言的话,门槛就高一点,第二,它的生态特别好,各种框架、各种扩展非常丰富,很方便,开发效率比较高。性能也是不错的,相比python都会好一点。

当然我觉得最大的优势就在于用的人比较多,职业岗位多。这也可能带来一个缺点,他为什么岗位多?意味着它的可替代性高。

8、是否用过AI辅助编码的工具?感受如何?未来编程语言会被替代吗?

相比传统的搜索引擎,确实它的代码质量会高很多,但我用了一段时间就没用了。因为我感觉平时还用不到它,只有在一些很极端的情况才会用。这是我个人的使用习惯,我还是通过浏览器去查询问题,哪怕我们公司都已经把它封装成一个东西,体验特别好,不用机场也可以随便用,我还是不怎么用。

另一方面,因为用了几次后,针对一些具体的问题,他其实回答并没有那么好,你还是得看一些文章,其他人的文章可能会更加系统一点,他可以告诉你怎么写代码,一些思路什么他不会跟你讲。不会给你讲一些原理性的东西,你去看别的文章的时候,从思路背景,知识点到具体的代码。很清晰,写代码你如果不知道原理,遇到具体的业务,你还是不会做。

对于新手来说,确实比较方便,提高了很多效率。可能对于我这种工作这么久的人,帮助并不是很大。对于我们来说,编码效率不是那么重要,重要的是你对业务的理解,去编排这个业务,更多的在于你思考的过程,而不是在于那个写代码,把思路给理清了,把逻辑给理清,这才是关键点。
这块的话,AI帮不上什么忙。核心点是它没法去帮你完成这个抽象的过程。而且做到后面之后,最关键的一点,你得去跟PM去把这个需求给聊清楚了。把这个项目给安排清楚了,这才是最关键的。沟通才是关键的,写代码往往是花时间最少的一个环节。

9、你经历了两次被裁员?也呆过好几家公司,感受如何?

当时天天在家里,一开始挺爽的。因为疫情只能待在家里,第一个月没啥事,第二个月就开始着急了,养两个娃压力确实大,真的比较着急了,我媳妇就劝我去银行,我也理解,工资降了一半,低一点就低一点吧,就稳定一点吧,当时整个人的想法就变了,后来银行业没要我,可能觉得年龄太大了。

后面感觉越来越焦虑,两三个月之后,就感觉整个人的心理状态就不大好。比较容易暴躁,因为一直找不工作,家人也会觉得很担心,生活质量也开始下降,不敢消费。每天自己在家就看面试题。你学习久了,整个人也很压抑。
我建议,刚开始工作的时候,最好去大厂呆一下,我之前最开始去小厂,然后再去大厂。工作氛围,个人能力,代码规范、团队协作,大厂会更专业,对个人的成长确实帮助非常大。在小厂的话,就基本上没有人带你,全靠你自己去钻研,进步很慢。

第二是方向的选择,还是要挑赚钱的业务。因为我们程序员是为业务服务的。要尽量选择挣钱的业务。因为你公司是哪来的,还是挣的钱,公司挣的钱给你发的,所以说你这个业务挣不挣钱是核心点,我当时做广告,方向选的没问题,是挣钱的业务,就不应该走。所以说当时还是太天真了,去soul的时候。它就不挣钱,虽然说它是核心业务,而且是去带个团队。饼画的挺好,后来还是被裁员了。

现在的公司是一家新能源车企,因为我觉得新能源是未来。其实也不理性,从稳妥的角度来说,还是去快手,因为他的业务是挣钱的。但我还是选了新能源,第一我不想那么累。第二赌一把。

反正我都已经30多岁了,继续做广告还是重复以前的工作,我觉得人生不能老是那种按部就班的走下去,有时候需要冒险,尝试一下新的东西,这是我真正的想法,反正就这样了,还能再差哪去?大不了失业再找。心态变化真的挺神奇的,这是一个自然的状态,所以说一直待到现在。

10、会一直做程序员吗?对未来的工作与生活,有何畅想或期待?

我最近确实一直在思考这个问题,也在做一些探索。

从失业的时候就非常有危机感,你会意识到不会在一家公司永远待下去,不能完全把希望寄托于这个公司不倒,那个行业一直发展好,一直往上走,那是不可能的事情,必须有自己的第二职业。

所以现在也在尝试一些副业,也决定做一些自己真正喜欢的事情。比如说我现在开始学习做游戏。自己有可能成为一名独立游戏开发者。我现在已经开始学习游戏引擎了。另外一方面我也在学习一些其他的语言,比如rust,提高我的竞争力,我觉得核心还是学习吧,通过学习去提高自己的能力,扩展自己的边界。

有的时候,选择真的远远大于努力。这是我比较感慨的一点吧,我感觉自己的职业生涯不算很成功,虽然也没有很差,举个例子,我的大学同学,他比我还晚入行。选的方向是机器学习,他去了京东,马上就要升P9了,就跟我已经不是一个level了。

公司环境、业务、leader,可以选择的时候一定要把握好。一个好的环境,一个好的方向,遇到一个好的团队,对你个人的影响是天翻地覆的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484972.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatisPlus常用注解

目录 一、TableName 二、TableId 三、TableField 四、TableLogic 一、TableName 在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表 由此得出…

AD9226 65M采样 模数转换

用 vivado 写的 AD9220_ReadTEST module AD9220_ReadTEST( input clk, input rstn,output clk_driver, //模块时钟管脚 input [12:0]IO_data, //模块数据管脚output [11:0]ADC_Data,//12位ADC数据 output ADC_OTR //信号过压标志位 );wire areset, pll260m_lockedPIN; wire…

BigTime赛前季:2.027亿美金$BIGTIME玩家空投,塑造Web3游戏新时代

公开游戏策略和统计数据,证明游戏的未来在于真正以玩家为中心。 Big Time 工作室宣布,其旗舰作品 Big Time 的 pre-alpha 版本季前赛预开发阶段取得成功,这是一款混合了动作游戏与 MMORPG 的免费游戏。这是独一无二的类型融合,它结…

项目解决方案:校园云视频平台方案(视频接入、汇聚、联网、分享)

目 录 一、项目需求 二、系统设计方案 三、平台功能 四、案例展示 本方案分四个部分:项目需求、系统设计方案、平台基础功能、案例展示,如下: 一、项目需求 二、系统设计方案 通过AS-V1000视频资源综合管理平台实现监控视频的接入、…

JavaWeb——003Axios Vue组件库(Element)

目录 一、Ajax 1、同步与异步​编辑 2、原生Ajax(繁琐)​编辑 2.1、写一个简易的Ajax 3、Axios(推荐使用)​编辑 3.1、Axios入门 3.2、Axios请求方式别名 3.3、案例:基于Vue及Axios完成数据的动态加载展示​编…

将一个 PostgreSQL 数据库复制到另一个数据库中

以管理员身份进入cmd窗口,输入如下命令 语法: pg_dump -C -h 本机IP -U 本机postgresql用户名 源数据库名 | psql -h 服务器IP -U 服务器postgresql用户名 目标数据库名 示例: pg_dump -C -h 127.0.0.1 -U postgres test01-dbname | psql…

十七、鼠标操作与响应

项目功能实现&#xff1a;通过移动鼠标&#xff0c;在图片上实现类似画板绘制矩形的功能&#xff0c;并把绘制的矩形区域单独显示出来 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 mouse.h #pragma once#include<opencv2/opencv.hpp>using namespac…

C/C++的内存管理(1)

内存管理 C与C的内存分布C语言中动态内存管理方式回顾C内存管理的方式 C与C的内存分布 我们学习C语言时就知道&#xff0c;储存不同的变量计算机会相应分配不同区块的内存。那为什么要把内存化为不同的区域呢&#xff1f;实质上是为了方便管理 下面我们来看看下面一道例题&…

JAVAEE初阶 网络编程(十二)

HTTP协议 一. 状态码1.200 OK2. 404 NOT FOUND3.403 forbidden4. 405 Method Not Allowed5. 500 Interval Server Error6.504 Gateway Timeout7.302 Move temporarily 二. 如何构造HTTP请求1.通过第三方工具构造. 二.HTTPS三. 密码学中的重要概念1.明文2.密文3.密钥4.对称加密5…

普中51单片机学习(EEPROM)

EEPROM IIC串行总线的组成及工作原理 I2C总线的数据传送 数据位的有效性规定 I2C总线进行数据传送时&#xff0c;时钟信号为高电平期间&#xff0c;数据线上的数据必须保持稳定&#xff0c;只有在时钟线上的信号为低电平期间&#xff0c;数据线上的高电平或低电平状态才允许…

串的相关题目

于是他错误的点名开始了 我发现有关hash得题目有些是可以通过map数组来完成的&#xff1a;何为map数组&#xff0c;我们先思考一下最简单的桶的排序&#xff0c;桶排序是将我们需要数字最为下标输进数组中&#xff0c;而数组是存放的数字是这个数字出现的次数&#xff0c;但是由…

基于ORB-SLAM2与YOLOv8剔除动态特征点(三种方法)

基于ORB-SLAM2与YOLOv8剔除动态特征点(三种方法) 写上篇文章时测试过程比较乱&#xff0c;写的时候有些地方有点失误&#xff0c;所以重新写了这篇 本文内容均在RGB-D环境下进行程序测试 本文涉及到的动态特征点剔除速度均是以https://cvg.cit.tum.de/data/datasets/rgbd-dat…