<芯片从业入职必读>走出校园加入IC设计行业是否迷茫?入职准备大介绍来了!!

IC设计行业入职必读,从菜鸟到高手必经之路

研究生秋招季多方努力之下,拿了一些offer。纠结对比之后入职了如今的公司做ASIC设计。
因为疫情等原因时间有些荒废,现在进入公司多少有些吃力,用了很久才跟上公司的要求和进度,现在想想真心是一段血泪史。
为避免大家陷入和我一样的窘境,现准备将设计这一块的新人入职须知做一个比较详细的介绍,顺便提一下新员工在公司中应该注意什么。
新员工进入职场,最重要的是要做好心理、技能和生活三方面的准备:
一、新员工心理建设
进入职场,就是身份的转变。当然了,这也算老生常谈,但是我觉得这个还是非常重要的一项。新员工不同于新生,对新员工的考核也完全和学校里老师对你的项目要求和学校科目的考试没有任何共同之处。新员工入职之前最最关键的一项准备就是做好入职的心理建设。
其实很多人都觉得,你作为一个新员工,只要能做一个勤快听话的好员工就可以了,特别是我们作为一个科研岗位,人与人的关系更加单纯,也就完全不需要多想一些其他的事情,草草进入公司。但是心里建设不足,很容易遇到困难手足无措,进退失据导致领导看到你的慌乱对你降低期待。如果你在工作中因为这些情绪影响到你的项目,那更会因为这种对项目的拖累和影响导致领导需要为你的错误买单,从而招致更严重的后果。要明白咱们上级对咱们的最大期待:完成他交给咱们的任务。在这个基础上,更好的完成任务就会得到更高的评价,如果完成不了,不管你有什么理由,他都会对你有很大的不满。
所谓心理建设,不是简单的自己煨鸡汤自己喝。打鸡血固然重要,但是作为设计岗,进入职场前的心理建设更重要的是要认识到自己的工作本质、自己对这份工作的期待以及自己可能遇到的困难
认识到自己的工作本质,可以正确对工作内容进行重要性的划分,从而在多线程推进不同任务的时候合理分配时间,不会因为时间分配不合理导致重要的任务被忽视。一般来说,新员工入职也许不会有什么重要的任务划分,但是领导安排的mentor对你的指导任务中也是有轻重缓急的。要知道,公司安排给你的mentor也许业务能力很强,但是他并不会是一个很善于教别人的人,所以一般来说,新员工首先就要面对mentor给你的一大堆各种资料。如何在资料中找出你最重要的部分优先学习,从而在初始阶段结束之后的任务中及时的发挥出自己的能力,这个对于每一位新员工特别是数字IC设计这种高技术难度的职业非常重要。大家能从事这样的职业,其实都是小有成就的做题家,称得上武德充沛 小有潜能,但是人的精力都是有限的,如何学习,学习什么往往比每天学多长时间更加重要(大家都是做题领域的高手,懂的都懂,不懂的可以留言我之后再说2333)。
认识到自己对工作的期待很重要。入职之前的小道消息和入职之后的亲身体验往往最先了解到的都是行业的坏处。所谓好事不出门,坏事传千里。有些困难经过发酵和转述其实听起来会非常夸张,极具劝退效果。
举个例子,我一直都知道数字IC以及类似与码农之类的事业脱发非常严重。但是我一直都没什么概念,当我入职的第一天,我们小组三个谢顶的大哥给我的冲击强到无以复加,哇,我的秀发。。。说实话,没有了头发还如何找老婆,老婆都找不到那还有什么好工作的?撤了撤了…
开个玩笑,类似的事情会有很多,但是如果咱们自己清楚的知道自己想要的,就比如我入职最重要的事情就是学技术,以此为基础,一些不影响我学技术的困难我都可以克服,比如工作环境没有什么妹子,比如早上要很早到公司其实完全和我学生时代的作息不同等等等等。
认识到自己可能遇到的困难也很重要。充分了解自己期待之后,对很多困难就有不同的对待方式。对于一些有助于自己提高的技术问题,积极面对;对一些不必要的人事问题,尽量回避斡旋解决。对一些会影响自己主要目标的困难,想办法解决。成年人其实很难遇到一些难以解决的问题了,大多都是与钱有关。比如住的太远,路上浪费太多时间影响自己的学习工作了,但是咱们的主要目标是为了充分学习提高自己,那就适当在经济上做一些妥协,多花一两千住的近一些。很多人都觉得路上的时间完全可以用来学习,其实这是完全不现实的。浪费的时间就永远失去了,我们要充分的考虑自身职业成长,利用一切可以利用的条件更快成长升职加薪。
二、新员工技能准备
数字IC设计/验证岗位需要的知识大框架上比较类似,细节上有些许不同。一般来说,数字设计岗钻研更深,但是一般来说对公司的议价能力较差(说的是不好跳槽,特别优秀的话又会有更大的议价能力),数字验证会好很多,跳槽涨薪多,但是需要的技能更多一些,也需要很多全局性视野。
我是数字设计岗,下面我介绍一些新员工必备的技能,大家拿到offer以后记得要对这些地方进行对应的提高和进步。以后我也会写一些相应技术的总结,希望有人会来看一眼23333。
第一,Verilog编程语言。verilog比VHDL应用更广泛,语法简单易学,但是公司需要的是更加精深一些的理解。举例:
状态机case大家都很熟悉,那么case反映到硬件可以是怎样的结构呢?怎样让自己语言的描述更加具体,这是一个非要重要的能力。硬件设计不同于软件,我们编写的code的最重要目的是通过编译器生成网表,如果咱们的设计存在一些不明确的地方,在不同的编译环境中会表现为不同的结构,那这种设计其实是没有任何价值的。
第二,Systemverilog 语言。Verilog其实在04年之后就没有再进一步发展了,日后必然被systemVerilog所取代,而且SV在验证时有奇效,值得掌握。
第三,验证方法学UVM。设计工程师到底有没有学UVM的必要性呢?我觉得是有必要的,正所谓知己知彼百战不殆,设计工程师和验证工程师battle的时候,你不懂UVM岂不是很吃亏?嘿嘿,好吧其实这个不是重点。主要是设计工程师在设计的过程中,充分从验证的角度去思考整个设计,对无bug、高质量的设计很有帮助。你的manager会因此对你刮目相看的。领导的关注有没有必要呢?季度奖金了解一下。(不比工资低哦)
第四,linux操作系统的一些常规使用,快捷命令的添加、文件的删除、移动、复制、检索等。
第五,vim的使用。ASIC设计工程师的编程环境是vim。如果能熟练的掌握vim的操作和使用,对熟悉和融入开发环境有很大的帮助。
第六,一些脚本的编写和使用。比如python、perl等语言,有兴趣的可以进行了解,这些语言是设计工程师、验证工程师都应该学习了解的工具。
三、独立生活准备
前面一些比较沉重的话题告一段落,下面说一些比较轻松而悲伤的话题。
关于生活,一些比如住房、饮食、健身、男女朋友等细节大家可能在找工作的时候完全没有进行考虑,但是但是,这些才是影响人民幸福生活的最重要因素!努力工作是为了什么?不就是为了好好生活吗?
住房:一定要选在公司附近(通勤时间半小时以内为佳)。一千两千其实没必要在这里节约,真心话。住的好,生活幸福更加有动力好好学习,升职加薪这点钱不就出来了。
饮食:饮食很重要,须知病从口入啊,争取为国家健康工作五十年。
健身:老员工都说过,自己身上小毛病很多,比如三高、通风等中老年常见病逐渐在年轻人身上出现,要警惕啊兄弟们。年轻的时候努力赚钱,还没老就要努力看病,就问你图什么。所以,健身一定要大书特书,不求大大大,但是一定要身体健康。
男女朋友:啥都不说了,前面的我都能提建议甚至做指导,这一项属实盲区,不提了,悲伤去了。
最后的最后,希望大家都能健健康康做一个幸福的工程狮,为祖国的半导体事业添砖加瓦。
*苟富贵。勿相忘~~~~~*

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
<h3>回答1:</h3><br/>好的,以下是一些你需要知道的Spark知识点: 1. Spark是一个基于内存的分布式计算框架,可以处理大规模数据集。 2. Spark的核心概念是RDD(弹性分布式数据集),它是一个可分区、可并行计算的数据集合。 3. Spark支持多种编程语言,包括Scala、Java、Python和R。 4. Spark可以与多种数据存储系统集成,包括Hadoop HDFS、Cassandra、HBase和Amazon S3等。 5. Spark提供了多种高级API,包括Spark SQL、Spark Streaming和MLlib等,可以用于数据处理、流处理和机器学习等任务。 6. Spark可以在本地模式下运行,也可以在集群模式下运行,支持多种集群管理器,包括Apache Mesos、Hadoop YARN和Standalone等。 7. Spark的性能优于Hadoop MapReduce,因为它可以将数据存储在内存中,从而避免了磁盘I/O的开销。 8. Spark还提供了一些优化技术,包括内存管理、数据分区和任务调度等,可以进一步提高性能。 希望这些知识点对你有所帮助! <h3>回答2:</h3><br/>作为一名数据科学家或大数据工程师,掌握分布式计算框架Spark是必不可少的技能之一。Spark具有高效的内存计算能力、易于使用的API、丰富的生态系统等优点,因此它被广泛应用于数据处理、机器学习、图像处理等领域。在掌握Spark的过程中,有一些关键知识点需要牢记。 1. RDD与DataFrame的区别 Spark中最常用的数据结有两种:RDD和DataFrame。RDD是不可变的分布式数据集,可以被分割并存储在不同的节点上进行处理。DataFrame是一种类似于关系型数据库表的结,它提供了更高层次的API,可用于数据的查询、筛选和聚合。 2. Lazy Evaluation Spark中的操作具有“惰性求值”的特性,即只有在需要结果时才会实际执行操作。这种特性可以提高Spark的性能,因为它避免了不必要的计算和数据移动。但是,需要注意的是,当我们使用了多个转换操作时,可能会导致Spark在内存中存储所有转换的中间结果,从而导致内存不足的问题。 3. Shuffle的开销 Shuffle是指Spark中需要重分区数据的过程。Shuffle操作通常会导致网络传输和磁盘IO的开销,并且会使Spark的性能下降。因此,我们应尽量避免过多的Shuffle操作,并且优化Shuffle的过程。 4. Spark调优 对于大规模数据处理任务,Spark的性能和稳定性都十分关键。因此,我们需要对Spark进行调优,以提高它的性能和减少故障。具体来说,我们可以通过增加内存分配、调整分区数量、合理设置并发度等方式来优化Spark的性能。 总之,掌握这些Spark的关键知识点有助于我们更好地开发和管理Spark应用程序,并在大数据领域中取得更好的成果。 <h3>回答3:</h3><br/>作为目前最流行的大数据处理框架之一,Spark已经成为了大家谈论的热点话题。如果你想要学习关于Spark的知识,以下是你必须知道的Spark知识点。 1. RDD:RDD是Spark中最基本的抽象概念,全称是Resilient Distributed Datasets。RDD是一个容错的、可并行计算的数据集合。在Spark中,所有数据都是以RDD的形式出现的。RDD具有不变性,也就是说,RDD一旦被创建,就不可更改。如果需要对RDD进行操作,就需要创建一个的RDD。 2. 迭代器(Iterator): Spark中的迭代器是一种延迟执行的方式。它允许 Spark 延迟计算,只有到调用 action 操作时才会真正开始计算数据。 3. 数据分区(Data Partitioning):数据分区可以更好的支持并行计算,让计算机更加高效的工作。Spark将数据分解成小块,每块专门分派给一个处理器来处理。分区的数量应该与处理器的数量相同,以充分利用每个处理器。 4. Shuffle:Shuffle是将数据重分配和重组合的过程,在Spark中用于在不同的节点之间传递数据。在数据分组、排序、变换等操作时,会频繁的使用shuffle操作。 5. 宽依赖和窄依赖(Wide and Narrow Dependencies):依赖是Spark RDD中的概念,表示与当前RDD对应的其它RDD。一个RDD可能依赖于多个RDD,此时依赖关系称为宽依赖(Wide Dependencies)。如果一个RDD依赖于一个RDD,那么这个依赖关系被称为窄依赖(Narrow Dependencies)。 6. Spark SQL:Spark SQL是一个的模块,提供了使用结化数据的一个的方式。它将Spark的强大的处理引擎与表格数据结相结合,使得Spark可以更容易地与现有的商业智能工具和数据仓库互操作。 7. Spark Streaming:Spark Streaming是Spark提供的流处理引擎,可以处理实时数据流。Spark Streaming对于数据挖掘,实时监控等有很好的应用场景。 以上就是您需要了解的一些Spark基础知识,当然,Spark这门技术还有很多精妙的理念和玩法,需要您自行探究。如果您想要学习Spark,可以参考Spark文档,同时多动手练习,不断总结经验,培养能独立解决问题的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IC跳跳鱼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值