双非本+985硕菊厂3年通信开发,想转芯片验证如何利用业余时间提升竞争力?
今天给大家分享的是一位粉丝的提问,双非本+985硕菊厂3年通信开发,想转芯片验证如何利用业余时间提升竞争力?
接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。
同学提问:
老师您好,我今年29,学历是双非本+985硕,毕业后入职菊厂从事通信相关的开发,3年工作经历。本身在求职时使用C++,工作后转为C,在工作过程中写的代码基本都是以业务为主,感觉本身的代码能力没有很好的增长。因工作调动原因曾接触过1年左右的芯片相关经验,比较看好和喜欢当前芯片相关的工作。然而最近因为形势原因只能去非研发岗位,本身我想在技术上继续干下去,因此考虑后续可能会到外部看看机会,目前工作至少可以干一年时间但是在此期间可能会远离写代码,因此准备在未来的一年中工作之余抽时间提升自己竞争力,目前有几个想法和顾虑:
第一个想法是自学芯片验证相关知识,主要的考虑是目前公司的芯片业务外部还是认可的且本身也有兴趣,但是听说外面公司严卡3年工作经验,比较担心自己的项目复杂度和工作年限达不到要求。
第二个想法是拾起原有的C++相关内容并自己学习一些项目,这主要是因为在公司的项目没有技术亮点只是实现一些业务逻辑。不知道是否可以通过自己搞的项目拿到一些互联网的offer,如果可以的话老师是否有推荐的方向呢?希望老师能够给出一些建议,谢谢老师了。
Yt回答:
这个朋友你这个问题确实问到了专业的人,我不能说对于你这种情况我特别专业,这个可能有点臭不要脸,但是我认为你的情况我遇到太多了,因为从一开始我们在做的时候,就是针对这种本五研三第一次跳槽的朋友,这个本五研三是什么?就是本科毕业五年,研究生三年,这个人群就是具象化。这个哥们儿现在在菊厂工作三年,本身在求职的时候使用的是C++,后面转的C,其实这里就有很多朋友从学校阶段找工作的时候,毕业的时候找工作,大家可能只提到C++,为什么你会发现我们这个岗,我们在一直讲的是强调C/C++,C在前面,C++在后面的,其实你会发现很多岗位C比C++还要多,就是很多场景选择C开发的会比C++可能还要多。你包括菊厂来说,求职的时候用的C++,后面去企业之后用的C,其实这是一个很正常的现象。你包括有些朋友去做这种网络开发或者数通类的产品类的开发,你发现后面也是转C,包括这种防火墙的开发也是,包括这种嵌入式也是。其实有很多朋友在这里就会有一个误差,认为好像C更低端一点,C++更加高级一点,绝对不是啊。C更加通用,C++反而说给人一种感觉它会更多的会很冗余。C++这个代码虽说它是跨平台的,但是它的这个兼容性,你发现它很尴尬。现在加上这个C++新特性之后,它不同的编译器它支持版本都不一样。也就是你会出现一种情况,你只在特定的环境里面,但是C压根就没有这个问题。这是讲到的后面转的C,我认为这反而是个好事。
工作一段时间基本都是以业务为主,感觉本身的代码能力没有得到增长。其实这个事情,这里就你可能有一点没有理解到,因为曾经在学校阶段你可能学的比如进程、线程、共享内存、管道、互斥锁、条件变量、信号量以及网络这种一系列的,但是你发现在工作中之后,你在哪里能够看到线程?还有给你创线程的机会吗?你在哪里看到什么这种互斥锁条件变量,包括网络库都已经给你封装好了。所以你只需要在上面做业务开发就可以了,你的工作内容就是把公司产品的业务功能解决好,满足客户的需求,满足产品的需求就可以了,你就发现底层的这种技术点好像不见了。那其实这一点是一个正常现象,不是你是这样的,大家都是这样的,你即使包括你不说你在菊厂,很多朋友是包括去了腾讯的,包括去微信那个团队的,很多代码都是以测试为标准,那其实这种情况它是很正常的。怎么做呢?你就要做到一点,你进入这个团队之后,很多代码它不是你写的,你可能只做了其中很小很小一部分,这时候你就需要熟悉底层的代码,它是怎么怎么回事,底层是怎么怎么做的。你就需要结合这种业务的功能,业务的问题去梳理底层怎么实现的,因为后面遇到一些比较难的问题,比较复杂的问题,或者比较这种性能的问题,你就需要你自己能够顶得上。这里你会发现你们团队肯定会有一些这种很优秀的工程师,但凡你跟他讲个问题,他就知道大概代码在哪个地方,不管你讲哪些细节他都能够说到。
其实这个我认为你在这个过程你应该是没有把自己心态调整好。其实这里跟大家讲的就是工作中间,你白天可能写业务,晚上在睡觉之前你就一定要想一想你的底层代码怎么写的,这个业务功能为什么我调这个接口的行,这个接口从哪个地方过来的,数据是怎么来的?你白天上班晚上想,是你闭上眼睛你就想,这个函数往下面走它调到哪个地方,它怎么走的,然后走的那个地方它为什么这个地方没出数据,它是一种什么功能。第二天再去通过你的想法去验证你的代码,再往下面走,第二天再想,周而复始,不用多长时间,你就会对你们公司这套代码就非常非常熟,你就发现你会比周围的人,别人提到一功能你大概就知道是怎么做的。你不用多久,就这一两个月的时间,你就发现你对底层的功能你就会很熟。如果你没有这个习惯,你比如白天我就把这个bug解了,然后你比如整个流程我每次都要梳理,我解一个问题我要把整个代码梳理一遍,然后下次再给一个问题,我要重新再梳理一遍,你就发现这个时间又长,而且你解决问题又不是那么好。所以就导致一种情况我额外你在这整个过程中间会让你去调动到其它一个部门,并且后面把你安排到一个非研发岗。其实这个核心原因在哪呢?是因为你太菜,其实你们整个团队内部,如果你在你们团队足够优秀,如果你比如说能够优秀一点,或者你能够解决一些问题,别人能够看到你的收益,看到你的价值,我认为他大概的情况不会放你到其它团队的,因为优秀的人谁都不愿意放走,谁都愿意跟优秀的人一起共事。如果你比如说给个问题给你,你也搞不定,你就出现一种现象谁都不愿意要你。
第一次调动曾经接触了一段时间芯片,现在由于形势的问题,需要去到非研发岗位。其实我认为这个过程,你在华为应该干的不是那么出色,在你的团队内部干的不是那么出彩,就没有给人一种感觉,就是一种熠熠生辉、闪闪发亮的那种感觉,给人的感觉就是你就跟其他人不一样,然后给一个需求给你,你就能够很快的搞定,或者给你一个你就有自己的想法,应该是没有做到这一点的。前面这一段根据你的描述,我应该推断出来我应该是没有问题的,推断出来就是你的技术应该不是那么强。
本身我想在技术上继续干下去,因此考虑后续可能会到外部看看机会,目前工作至少可以干一年的时间,这期间可能远离写代码,准备在未来的一年工作之余去提升自己。其实我跟你讲,你在技术提升你已经错过了一个最好的时机,就是你当时在转C的时候,做的是通信相关的开发,数通类的开发。当时如果你去深入到你们产品代码里面去想,我认为那是一个最好的提升机会,就是白天上班,晚上睡觉之前然后闭上眼睛去想一想,再去不断的去梳理你们代码,自然而然那是一段提升最快的时候,也能够让你在团队更加好的去显眼。目前去到一个非技术的岗位,然后在未来的一年里抽时间去提升自己。这个已经不是抽时间了,兄弟啊,如果你去的是非研发的岗位,往后面走大概率研发的这个体系写代码这个机会已经不会留给你了,而是我认为你现在应该收敛收敛,然后不要活的这么随意,应该真的你如果想在研发这条路上面走好的话,你真的要下点功夫。
再说回来我再跟你讲一下,为什么说你下点功夫呢?你作为一个985的硕士,有一段菊厂正编的数通类开发的机会,你依旧具备有大成的机会,你包括去到这种腾讯阿里应该都是会给你面试机会的,就是再不济你包括新华三肯定会给你机会。在目前来说,我认为这个情况你是具备有一个中大厂以及能够走向一个技术专家,一个为公司挑大梁的角色,你是具备有这个条件的,这就看你自己能不能自强走向这一点了,就当给你画个饼吧,条件是具备在这里的。
第一个想法是自学芯片验证相关的,主要是考虑到公司等等一系列的。我认为兄弟啊,我认为你看从之前三年工作经验,中间有两年在数通类,后面有工作变动去做了芯片相关的。其实在这个过程中间芯片才一年,你没有考虑做数通类通信类的产品吗,比如以防火墙,或者说以这种网络路由器对标比如说新华三,你没有考虑往正方向,这一层可能来说适配的岗位还是会更多一点。反而芯片验证这种来说,你会发现对应的岗位当然也会有机会,比如像飞腾海光这样的,可能来说它需要离开你现在所在的城市。然后第二个方面就是拾起C++以及学一些项目。我认为这条路可能已经不合适了,接下来你就结合着你之前里面在工作中间用到的技术点,要么就去芯片原厂像海光,包括像飞腾相关的这些芯片原厂芯片公司,这是一类。还有一类我认为可以考虑你就结合着数通类的方向,然后结合着Linux上面用C/C++,然后把你之前工作的项目梳理一下,应该还是有机会去互联网公司的,因为你的背景摆在这个地方,好吧,就跟你聊这么多。
计算机相关专业就业求职/学习路线/offer选择/职业规划建议
(学习就业困惑?我们来为你答疑解惑!)免费** **必回
#职业规划##计算机#解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)