b**********y 发帖数: 232 | 1 有人说performance engineer是QA,有的说performance engineer一般是很senior的
developer才能做
我也大概看了一下业界内许多performance engineer的job description,大多数要求
MS or PHD (developer往往只到MS)。请问这个到底是个什么东东?
也许不同行业有不同的说法,我说的是system/infrastructure方向的公司,比如
vmware, EMC, netapp,oracle之类的 |
C*********4 发帖数: 59 | 2 我觉得接近于Architect,但须做很多测试的工作,重点是性能而不是功能。
【在 b**********y 的大作中提到】 : 有人说performance engineer是QA,有的说performance engineer一般是很senior的 : developer才能做 : 我也大概看了一下业界内许多performance engineer的job description,大多数要求 : MS or PHD (developer往往只到MS)。请问这个到底是个什么东东? : 也许不同行业有不同的说法,我说的是system/infrastructure方向的公司,比如 : vmware, EMC, netapp,oracle之类的
|
A**l 发帖数: 2650 | 3 测试的工作可以发给QA,自己做好分析就行吧,否则要累死了
应该会要求知识面比较的广,同时又有一定的深度,能上下通吃
瞎猜的,呵呵
【在 C*********4 的大作中提到】 : 我觉得接近于Architect,但须做很多测试的工作,重点是性能而不是功能。
|
C*********4 发帖数: 59 | 4 得写scripts,有的
【在 A**l 的大作中提到】 : 测试的工作可以发给QA,自己做好分析就行吧,否则要累死了 : 应该会要求知识面比较的广,同时又有一定的深度,能上下通吃 : 瞎猜的,呵呵
|
w*******e 发帖数: 395 | 5 那一个没有经验的人去做performance engineer是好呢还是不好?
跟做developer的利弊呢
【在 C*********4 的大作中提到】 : 我觉得接近于Architect,但须做很多测试的工作,重点是性能而不是功能。
|
C*********4 发帖数: 59 | 6 很多PhD毕业去做的,看你career path了。我个人是觉得先做developer好,否则会犯
类似PA和VA这样的错误,而且你会受制于development team。
【在 w*******e 的大作中提到】 : 那一个没有经验的人去做performance engineer是好呢还是不好? : 跟做developer的利弊呢
|
A**l 发帖数: 2650 | 7 恩,做system level的东西,除了知识面要广,手里还要在某一两个具体领域握着一把
尚方宝剑,就是能说得上话的,这样吵架的时候才有底气
不过,这些都可以边做边学,所以我个人觉得关系不大
【在 C*********4 的大作中提到】 : 很多PhD毕业去做的,看你career path了。我个人是觉得先做developer好,否则会犯 : 类似PA和VA这样的错误,而且你会受制于development team。
|
C*********4 发帖数: 59 | 8 那哥们说了没经验,还面junior position呢,不过如果team好,可以跟着学,也不错。
【在 A**l 的大作中提到】 : 恩,做system level的东西,除了知识面要广,手里还要在某一两个具体领域握着一把 : 尚方宝剑,就是能说得上话的,这样吵架的时候才有底气 : 不过,这些都可以边做边学,所以我个人觉得关系不大
|
K******g 发帖数: 1870 | 9 首先我不是牛人哈,讲讲我的理解
performance组在很多大公司里非常重要,特别是是像你提到的那些卖系统软件/硬件的
公司,因为系统太复杂,很少有developer了解全面的东西,他们develop的模块非常依
赖performance team给的分析以及建议。
performance组一般也需要coding,但是不像developer那样focus on功能,用debugger
用的非常多,performance组的coding一般涉及tools/scripts,prototype,benchmark
等等。
与developer的比较,各有优劣,不过对于fresh,建议先去development,就像楼上大
牛说的
但是对于一些fresh phd,如果工作与以前的research(做的很牛的那种)很相关,建
议直接去performance,对以后成为architect级别的牛人是捷径。
【在 b**********y 的大作中提到】 : 有人说performance engineer是QA,有的说performance engineer一般是很senior的 : developer才能做 : 我也大概看了一下业界内许多performance engineer的job description,大多数要求 : MS or PHD (developer往往只到MS)。请问这个到底是个什么东东? : 也许不同行业有不同的说法,我说的是system/infrastructure方向的公司,比如 : vmware, EMC, netapp,oracle之类的
|
m**y 发帖数: 128 | 10 QA specialized in perf
【在 b**********y 的大作中提到】 : 有人说performance engineer是QA,有的说performance engineer一般是很senior的 : developer才能做 : 我也大概看了一下业界内许多performance engineer的job description,大多数要求 : MS or PHD (developer往往只到MS)。请问这个到底是个什么东东? : 也许不同行业有不同的说法,我说的是system/infrastructure方向的公司,比如 : vmware, EMC, netapp,oracle之类的
|
|
|
F*M 发帖数: 104 | 11 有误导嫌疑。还架构师呢,很多做performance的喜欢给自己脸上贴金都这么说,说久
了自己都相信了。performance就是采集数据和分析数据的。搭环境,收集数据和分析
数据基本占用70%以上的时间,你还得写报告给项目组解释你的发现。你得把这些东西
做完了才能看别人的代码。如果数据不行,上performance monitoring找hot spots吧
,然后file bug贴你的分析数据吧。developer一般会从这个地方会接手,这个又要占
用你很多时间。项目组一般把performance组当qa用,会追着你要数据,这是另外一个
你没法克服的问题。我不觉得developer不能做performance的工作,主要就是用一些
tools,只是没时间也不想做而已。performance是qa的好归宿,一般没有硬性任务,做
不完不要紧,工作质量差点不要紧,functional的bug都被qa组挡了,没责任。
debugger
benchmark
【在 K******g 的大作中提到】 : 首先我不是牛人哈,讲讲我的理解 : performance组在很多大公司里非常重要,特别是是像你提到的那些卖系统软件/硬件的 : 公司,因为系统太复杂,很少有developer了解全面的东西,他们develop的模块非常依 : 赖performance team给的分析以及建议。 : performance组一般也需要coding,但是不像developer那样focus on功能,用debugger : 用的非常多,performance组的coding一般涉及tools/scripts,prototype,benchmark : 等等。 : 与developer的比较,各有优劣,不过对于fresh,建议先去development,就像楼上大 : 牛说的 : 但是对于一些fresh phd,如果工作与以前的research(做的很牛的那种)很相关,建
|
K******g 发帖数: 1870 | 12 你这个更有误导嫌疑。。。
做performance的确需要设计实验,收集数据,但是收集什么样的数据不是由developer
决定,是由performance组的senior engineer或者自己决定。developer往往就是问
performance组的问题,例如,“why this task waits longer in the queue than
before?", "why the system response time increase by 5%?", "why we cannot
drive the CPU higher than 80%?" “what should i do to cut off the path
length by another 5%?"诸如此类的问题。 performance组就是要回答任何developer
提出的问题,用数据来印证自己的回答。
另外一个就是developer写的一些new feature design,需要performance组的senior
engineer 预审,里面一些重要的参数,比如memory allocation, task priority,
thread的个数,都需要performance组得出详细的数据和分析报告后才能最后确定。非
常像以前念phd期间写paper,讨论算法的参数设置,或者和baseline比性能,beat
existing solutions。
对于许多些系统问题,developer只见树木不见森林。另外,做performance还有一个最
大的好处,就是不要用gdb去找bug,找panic。比如内存泄露啊,指针乱穿那些很低级
的体力活。
当然,做performance的坏处,就是code的细节了解不足,经常看着看着代码,需要去
问developer这个到底是什么意思。久而久之,对coding的一些技巧就会经验不足,或
者coding的style变成“academic”化(借用早几天版上一个帖子的说法,:-))。
另外大公司的performance组分的很细,有专门的本科生或者MS写tools,搭实验环境,
些measurement scripts,phd一般会安排到设计实验,直接和developer甚至customer
打交道。我们公司核心系统里的每个project里都有1-2个做performance的。我们公司
performance team里80%都是phd。
许多小公司,或者非大系统方向的公司,performance组的重要性就没有那么明显,要
么和developer混搭,要么和QA混搭,而且做performance的人要负责tools,
benchmark,实验环境搭建所有的任务。但是随着公司的成长,performance组就会单独
分出,重要性的话就要看公司的产品是怎么样的。
做的最牛的performance,就是能够用数学模型去指导参数的设计范围。好的
performance group就有学术界的大牛人,举个例子吧,据我所知,vmware的一个
performance组里就有个以前HP lab过去的牛人,女的,中国人,在业界内很出名。
【在 F*M 的大作中提到】 : 有误导嫌疑。还架构师呢,很多做performance的喜欢给自己脸上贴金都这么说,说久 : 了自己都相信了。performance就是采集数据和分析数据的。搭环境,收集数据和分析 : 数据基本占用70%以上的时间,你还得写报告给项目组解释你的发现。你得把这些东西 : 做完了才能看别人的代码。如果数据不行,上performance monitoring找hot spots吧 : ,然后file bug贴你的分析数据吧。developer一般会从这个地方会接手,这个又要占 : 用你很多时间。项目组一般把performance组当qa用,会追着你要数据,这是另外一个 : 你没法克服的问题。我不觉得developer不能做performance的工作,主要就是用一些 : tools,只是没时间也不想做而已。performance是qa的好归宿,一般没有硬性任务,做 : 不完不要紧,工作质量差点不要紧,functional的bug都被qa组挡了,没责任。 :
|
F*M 发帖数: 104 | 13 主次不分。我再多说几句吧,不要把research lab做的事情跟工业界的performance
testing混为
一谈。看你写的东西就知道你根本没有接触过这方面的东西,还拿vmware的
performance组来举例子,我真的是笑了。:) 首先: 1) 产品架构师架构产品的时候没
有performance engineer的事。2)performance组要测什么东西,要收集什么数据是要
经过产品组review的。3)90%的情况下performance组的人不会动也不敢动产品代码,
因为大部分人不会冒担责任的风险。4)performance组没有ownership. 5)
performance组一般都是fc以后才kick in的,fc之前的东西才最精彩。5)业界大公司
裁人,先把做performance的干掉,developer一般是最后动的。
developer
developer
【在 K******g 的大作中提到】 : 你这个更有误导嫌疑。。。 : 做performance的确需要设计实验,收集数据,但是收集什么样的数据不是由developer : 决定,是由performance组的senior engineer或者自己决定。developer往往就是问 : performance组的问题,例如,“why this task waits longer in the queue than : before?", "why the system response time increase by 5%?", "why we cannot : drive the CPU higher than 80%?" “what should i do to cut off the path : length by another 5%?"诸如此类的问题。 performance组就是要回答任何developer : 提出的问题,用数据来印证自己的回答。 : 另外一个就是developer写的一些new feature design,需要performance组的senior : engineer 预审,里面一些重要的参数,比如memory allocation, task priority,
|
K******g 发帖数: 1870 | 14 我觉得你肯定是把performance组的某一项内容当全部了,摸了个大象的腿,就以为大
象像柱子,:-)
performance testing只不过是performance组众多功能中的一个而已,你以为就是test
,发布发布数据,throughput多少,latency多少?
在工业界,performance当然要服从项目组,产品组,不然他们搞个屁performance啊?
对空的performance不就成了research lab了吗
感觉performance组从属与development组的一个重要原因就是,工业界里的产品最基本
的就是依赖与developer的功能实现,developer是建筑工,做performance的当然不能
喧宾夺主,但是这个丝毫不能影响performance组在大公司的极其重要的地位
就像LZ说的,许多performance组的job description里就点名要phd,最低也是MS。
一句话,做performance的稍微注意锻炼一下自己的coding,很容易成为好的developer
,但是一般的developer很难在段时间内成为出色的performance engineer。许多资深
的performance engineer真的靠的经验,那些经验不处理过成百上千的performance问
题是积累不起来的。
【在 F*M 的大作中提到】 : 主次不分。我再多说几句吧,不要把research lab做的事情跟工业界的performance : testing混为 : 一谈。看你写的东西就知道你根本没有接触过这方面的东西,还拿vmware的 : performance组来举例子,我真的是笑了。:) 首先: 1) 产品架构师架构产品的时候没 : 有performance engineer的事。2)performance组要测什么东西,要收集什么数据是要 : 经过产品组review的。3)90%的情况下performance组的人不会动也不敢动产品代码, : 因为大部分人不会冒担责任的风险。4)performance组没有ownership. 5) : performance组一般都是fc以后才kick in的,fc之前的东西才最精彩。5)业界大公司 : 裁人,先把做performance的干掉,developer一般是最后动的。 :
|
m*******i 发帖数: 8711 | 15 agree. in companies like FLAG, only senior people working on performance and
they are highly respected
test
【在 K******g 的大作中提到】 : 我觉得你肯定是把performance组的某一项内容当全部了,摸了个大象的腿,就以为大 : 象像柱子,:-) : performance testing只不过是performance组众多功能中的一个而已,你以为就是test : ,发布发布数据,throughput多少,latency多少? : 在工业界,performance当然要服从项目组,产品组,不然他们搞个屁performance啊? : 对空的performance不就成了research lab了吗 : 感觉performance组从属与development组的一个重要原因就是,工业界里的产品最基本 : 的就是依赖与developer的功能实现,developer是建筑工,做performance的当然不能 : 喧宾夺主,但是这个丝毫不能影响performance组在大公司的极其重要的地位 : 就像LZ说的,许多performance组的job description里就点名要phd,最低也是MS。
|
F*M 发帖数: 104 | 16 这些牛人的title不是performance engineer! 对代码不熟悉,靠black-box做
performance的工作不搞笑吗。最牛的都是对产品熟悉的developer比如说pe级的,领头
去做performance方面的工作。
and
【在 m*******i 的大作中提到】 : agree. in companies like FLAG, only senior people working on performance and : they are highly respected : : test
|
F*M 发帖数: 104 | 17 performance组要ph.d的一个原因是工作性质跟ph.d的科研有点接近,需要用严谨的科
研态度来采集和分析数据,需要设计可重复的实验,需要从数据中发现问题。
有两个概念不能混淆:一个是performance engineer做的performance实验,一个是真
正的developer出生的大牛领头去做突破系统performance的瓶颈。后者往往难度超级大
,很多模块要重新设计和架构,算法要重写,需要很多项目组相互配合,只有大牛才能
hold住这些项目组,这么重大的决定也只有大牛拍板才行。
test
【在 K******g 的大作中提到】 : 我觉得你肯定是把performance组的某一项内容当全部了,摸了个大象的腿,就以为大 : 象像柱子,:-) : performance testing只不过是performance组众多功能中的一个而已,你以为就是test : ,发布发布数据,throughput多少,latency多少? : 在工业界,performance当然要服从项目组,产品组,不然他们搞个屁performance啊? : 对空的performance不就成了research lab了吗 : 感觉performance组从属与development组的一个重要原因就是,工业界里的产品最基本 : 的就是依赖与developer的功能实现,developer是建筑工,做performance的当然不能 : 喧宾夺主,但是这个丝毫不能影响performance组在大公司的极其重要的地位 : 就像LZ说的,许多performance组的job description里就点名要phd,最低也是MS。
|
c******n 发帖数: 4965 | 18 it's just a name, different people refer to different things with this name.
u need to look into the job desc carefully.
I know netflix had an opening for this about 1 month ago, it's indeed QA.
【在 b**********y 的大作中提到】 : 有人说performance engineer是QA,有的说performance engineer一般是很senior的 : developer才能做 : 我也大概看了一下业界内许多performance engineer的job description,大多数要求 : MS or PHD (developer往往只到MS)。请问这个到底是个什么东东? : 也许不同行业有不同的说法,我说的是system/infrastructure方向的公司,比如 : vmware, EMC, netapp,oracle之类的
|
K******g 发帖数: 1870 | 19 不要以为那些“大牛”全都是developer出身,在工业界里,developer与performance
engineer的比例,估计是100:1 以上,你看到的大牛当然大多数是developer出身了。
【在 F*M 的大作中提到】 : performance组要ph.d的一个原因是工作性质跟ph.d的科研有点接近,需要用严谨的科 : 研态度来采集和分析数据,需要设计可重复的实验,需要从数据中发现问题。 : 有两个概念不能混淆:一个是performance engineer做的performance实验,一个是真 : 正的developer出生的大牛领头去做突破系统performance的瓶颈。后者往往难度超级大 : ,很多模块要重新设计和架构,算法要重写,需要很多项目组相互配合,只有大牛才能 : hold住这些项目组,这么重大的决定也只有大牛拍板才行。 : : test
|
K******g 发帖数: 1870 | 20 谁说performance的人对代码不熟悉了?除了那些专门写tools的人,或者是很high
level那些指导问题的director。
如果是跟踪模块performance的,一定会懂代码,随时知道在哪里改参数,某个函数是
干吗的,具体算法是什么都需要清楚,甚至很多项目组要求performance的人做代码优
化。他们跟developer不同的是,developer会从功能上去看代码,比如各种corner
case,各种deadlock,但是performance的人是从性能上去看代码,也许他们会忽略掉
许多corner case的考虑,但是他们一定会熟知算法,参数设置。一旦performance出了
问题,能够很快想到大概是哪一块代码起的作用。
当然许多公司滥用“performance“的title,总之一句话,要看job description,
onsite的时候要多了解performance的人是怎么work的。如果是简单的QA或者test,一
眼就可以看出;如果是和developer紧密合作的那种,面试的时候的要求不会比
developer低,只有更高。
【在 F*M 的大作中提到】 : 这些牛人的title不是performance engineer! 对代码不熟悉,靠black-box做 : performance的工作不搞笑吗。最牛的都是对产品熟悉的developer比如说pe级的,领头 : 去做performance方面的工作。 : : and
|
|
|
F*M 发帖数: 104 | 21 因为工作原因,我在不同的公司跟不少performance组打过交道。我几个本科同学,都
是美国这边名校ph.d,被忽悠到performance组一段时间都跑路当developer去了。我的
数据不是估计,是reality,你顶多挑刺说我sample不足。人员流动一般都是qa->
performance->developer,performance组招到的ph.d一般都是刚出校园的。
performance
【在 K******g 的大作中提到】 : 不要以为那些“大牛”全都是developer出身,在工业界里,developer与performance : engineer的比例,估计是100:1 以上,你看到的大牛当然大多数是developer出身了。
|
F*M 发帖数: 104 | 22 我反而觉得performance engineer的title很恰当,qa一般指functionality的测试。只
不过不同的公司performance engineer的organization不一样,有的在qa组,有的是独
立的组,有的是项目组,给一些人留下了想象和marketing的空间。
但performance engineer的一个重要职责是采集和分析数据。采集数据的时候,你必须
要在production的环境下进行,不能上debugger,要排除一切可能的外部干扰,这样你
的数据才有意义,实验才有可重复性,才能以后用同样的实验来verify performance
bug fix。这个过程基本消耗了一个performance engineer大部分的时间,项目紧的话
就没有多余时间干别的了。
我想你可能不是developer. 你以为developer就不用做performance方面的工作了?架
构师在架构产品的时候已经考虑了performance的因素。好的程序员写代码的时候也会
考虑performance。很多时间代码的可读性和易维护性比提高那么一点performance更重
要,追求performance极致很多时候是没有意义的,尤其是在产品各种指标都达标的情
况下。产品的中后期,项目组一般会分配几个developer full time的work在
performance上面。
如果你是performance engineer的话,哪你就是在自我麻醉。大部分的时间,
performance engineers的工作是写一些脚本驱动,依赖各种performance monitoring
tools来采集数据,然后分析数据。如果你不进行性能分析你怎么知道看什么?几十个
developers写的代码你一个人随便就能看完的?代码都是模块化设计,你怎么锁定你要
看的文件?最后留下的一点点时间才能看看代码,一般人是没有哪个精力和motivation
的,有的话就跟我朋友们一样跑去做developer了。
我孤陋寡闻,我只见过顶着architect title的说自己擅长performance工作,没见过牛
人顶着performance engineer title的说自己擅长architect. 技术这东西,懂就是懂
,不懂就是不懂,没有捷径一说。
就说这么多了,供不明真相的同学参考。
【在 K******g 的大作中提到】 : 谁说performance的人对代码不熟悉了?除了那些专门写tools的人,或者是很high : level那些指导问题的director。 : 如果是跟踪模块performance的,一定会懂代码,随时知道在哪里改参数,某个函数是 : 干吗的,具体算法是什么都需要清楚,甚至很多项目组要求performance的人做代码优 : 化。他们跟developer不同的是,developer会从功能上去看代码,比如各种corner : case,各种deadlock,但是performance的人是从性能上去看代码,也许他们会忽略掉 : 许多corner case的考虑,但是他们一定会熟知算法,参数设置。一旦performance出了 : 问题,能够很快想到大概是哪一块代码起的作用。 : 当然许多公司滥用“performance“的title,总之一句话,要看job description, : onsite的时候要多了解performance的人是怎么work的。如果是简单的QA或者test,一
|
w*******e 发帖数: 395 | 23 这个有什么好争的
不同的公司有不同的职能划分
不管是developer还是performance,提高自己的能力最重要
developer的缺点是太注重细节功能,没有系统观
performance太系统,容易被架空
自己懂自己在做什么就好了,就是个title而已
【在 F*M 的大作中提到】 : 因为工作原因,我在不同的公司跟不少performance组打过交道。我几个本科同学,都 : 是美国这边名校ph.d,被忽悠到performance组一段时间都跑路当developer去了。我的 : 数据不是估计,是reality,你顶多挑刺说我sample不足。人员流动一般都是qa-> : performance->developer,performance组招到的ph.d一般都是刚出校园的。 : : performance
|