第一篇:r 和 python (numpy scipy pandas) 用于统计学分析哪个更好? 知乎精选
R 和 Python(numpy scipy pandas)用于统计学分析,哪个更
好?
知乎精选
总的概括:R主要在学术界流行,python(numpy scipy)在工程方便比较实用。
R是S(Splus)的开源版本,或者下一代。发源地在新西兰奥克兰。这个软件的统计背景很浓烈。我这里浓烈的意思是,如果你不熟习统计知识(历史)的话,R的帮助文档看起来是很累的。由统计背景的人开发。R的维护组叫CRAN-R。在生物信息方便,有个叫bioconductor的组织,里面有很多生物信息方面可以用的软件包,他们有一套自己维护package系统。
Python是个综合语言(这里特指指CPython解释器),numpy scipy是数值计算的扩展包,pandas是主要用来做数据处理(numpy依赖),sympy做符号计算(类似mathematica?)此外还有一些不太成熟的包如sciki learn,statistical models。成熟度不如R。但是已经到了可用的水平了。是读计算机的人写的统计包。ipython 更新到1.0以后,功能基本完善,其notebook非常强大(感觉就像mathematica)而且还是基于web,在合作分享方面非常好用。性能:
大家都说R慢,特别是CS的人。其实这里主要是两点:一个R里面数组的调用都是用复制的,二是Rscript慢。三是处理大数据慢。如果R用的好的话,R是不太慢的。具体来说就是Rscript用的少,多用命令,跑点小数据。这样的话,实际在跑的都是背后的fortran和C库。他们都有快二三十年历史了。可谓异常可靠,优化得不能再优化了(指单线程,如果去看源代码挥发先许多莫名的常数,永用了以后精度高速度快!)。比如一个自己编写一个R脚本,loop套loop的那种,那真是想死的心都会有。外加一点,R处理文本文件很慢!
Python归根揭底还是个有解释器的脚本语言,而且有致命伤——GIL,但python最难能可贵的就是它很容易变得更快。比如pypy,cython,或者直接ctypes挂C库。纯python写个原型,然后就开是不断的profiling和加速吧。很轻易可以达到和C一个数量级的速度,但是写程序、调试的时间少了很多。并行计算:
R v15 之后有了自带的parallel包,用挺轻松的。不过其实就是不停的fork,或者mpi,内存消耗挺厉害的。parSapply,parApply什么的,真是很好用。
Python虽然有GIL——并行计算的死敌,但是有multiprocessing(fork依赖),是可以共享数据的什么的,估计内存消耗方面比R好点,数据零散的话overhead很多。到了MPI的话,mpi4py还是挺好用的。用cython的话结合openmp可以打破GIL,但是过程中不能调用python的对象。学习曲线:假设什么编程都不会的同学。
R一开始还是很容易上手的,查到基本的命令,包,直接print一下就有结果了。但是如果要自己写算法、优化性能的时候,学习难度陡增。
Python么,挺好学的,绝大多数的帮助文档都比R好了许多。有些包用起来没R方便。总的来说深入吼R陡。扩展资源:
基本上新的统计方法都会有R的package,安装实用都不麻烦。但是基本上都是搞统计的人写的计算机包。所以效能上可能有问好。比较出名的有两个包的管理网站,cran-r 和bioconductor。所以搞生化的估计R用起来很方便。python的统计计算包们比R少,多很年轻,还在不断的开发中。优于是计算机人写的统计包,用起来的时候要多涨个心眼。画图:
R自带的那些工具就挺好用了,然后还有ggplot这种非常优美的得力工具。
python 有matplotlib,画出来效果感觉比R自带的好一些些,而且界面基于QT,跨平台支持。可能是R用得多了,pyplot用起来还是不太顺手,觉得其各个组建的统一性不高。IDE:
Rstudio非常不错,提供类matlab环境。(本人过去用vim-r-plugin,现在用emacs + ess。)
windows 下有python(x,y)还有许多商业的工具。(本人现在的emacs环境还不是很顺手~)建议:
如果只是处理(小)数据的,用R。结果更可靠,速度可以接受,上手方便,多有现成的命令、程序可以用。要自己搞个算法、处理大数据、计算量大的,用python。开发效率高,一切尽在掌握。
ps:盲目地用R的包比盲目的地用python的包要更安全。起码R会把你指向一篇论文,而python只是指向一堆代码。R出问题了还有论文作者、审稿人陪葬。题外话,个人经验:
我首先用python实现了一个统计方法,其中用到了ctypes,multiprocess。之后一个项目要做方法比较,又用回R,发现一些bioconductor上的包已经默认用parallel了。(但那个包还是很慢,一下子把我所以线程都用掉了,导致整个电脑使用不能,看网页非常卡~)后来用python pandas做了一些数据整理工作,类似数据库,两三个表来回查、匹配。感觉还是很方便的。虽然这些工作R也能做,但估计会慢点,毕竟几十万行的条目了。整理好之后开始尝试用python matplotlib画图。pyplot作图的方式和R差异很大,R是一条命令画点东西,pylot是准备好了以后一起出来。pyplot的颜色选择有点蛋疼,默认颜色比较少,之后可用html的颜色,但是名字太长了~。pyplot 的legend比R 好用多了,算是半自动化了。pyplot画出来后可以自由拉升缩放,然后再保存为图片,这点比R好用多了。
【知乎用户的回答(41票)】: 的确,如同@周则禹 在回答中说到的,R是统计学家的东西。统计学家是一种什么生物呢?
“哈希表?二叉树?链表?这是啥,可以吃吗?” “循环?递归?没学过,不会!”
所以,在R中没有我们在计算机课上学的各种数据结构(至少不安装扩展包就没有)。如果你写的代码中还用循环来处理数据,而不是用apply、aggregate之类的函数,那么在R圈里会被人嘲笑。如果你的思维还是无法从计算机编程习惯中切换到R的话,那么还是用Python吧。
也是由于上述问题,R完全没有考虑内存优化和算法加速之类的问题(R中不会关心sort函数是用快排还是冒泡实现的),所以数据量一大,计算机的内存就被占光了。不过有关内存和加速的问题已经有了许多的解决方案,例如用ICC编译R源代码链接MKL加速R数值计算,使用扩展包实现内存映射硬盘,等等。这些对于一个经验丰富的码农来说完全不在话下。所以,决定使用R还是Python的关键,就是你是否能够接受R的思想。在R中,没有变量,只有数据!没有循环,只有批处理!
没有计算机算法,只有数学模型!
如果决定使用R,那么就必须将自己从数据结构,算法策略这些知识中解脱出来。一个函数就是一个数学模型(回归、假设检验、方差估计),用统计和概率的思路去理解数据挖掘和机器学习的算法。使用R,能够将工作者从习惯的算法中解脱出来,真正去思考模型本身的数学意义,在数学层面去修改算法。忘记我们经常思考的算法复杂度和内存消耗之类的问题,推动机器学习和数据挖掘的关键动力,就是数学模型!
最后总结一下:
R能够用最短的代码实现一个新的统计模型和机器学习模型(前提是对R和扩展库很熟悉),并且每一句代码都有对应的数据和数学意义;因此R适用与建立新模型,新算法,并且对模型进行统计意义的评价。
Python能够让程序员在尽量不受语言细节的干扰下,将一个已经证明成熟和可靠的算法实现出来,并且投入工程应用,开发出实用的决策系统。
对语言的选择其实也是程序员对自我的定位: 是想做科学家,还是工程师。【过拟合的回答(14票)】: 根据我的使用经验,我认为一般性的科研可以使用numpy工具链做为主力。
首先,在写矩阵计算相关的语句时,numpy的语法几乎能逼近MATLAB的简洁程度,而其他语言相对来说稍微“难看、难写”一些。
其次,当程序不仅仅涉及到科学计算时,用Python就可以大发神威了。比如我自己遇到的一个实际问题:需要对点云进行一些非常复杂的优化操作,之后需要画出三维图且支持一些拉近拉远转视角的操作,并且还要做出一个不错的界面方便调整参数、载入数据等等。看到画三维点云的第一反应就是用OpenGL,但是使用C/C++写那些非常繁杂的数值优化...用MATLAB可以很舒服、很便捷地写出优化部分的代码,但是直接画大规模的三维点云的速度,以及它那令人忧伤的GUI...那Python就行吗?是的。在数值计算方面,Numpy/Scipy,以及强大的机器学习包scikit.learn,让这个过程十分惬意。在画三维点云方面,PyOpengl包完全就是OpenGL的Python封装,速度非常快,而且语法几乎同OpenGL一样。最后,使用PyQt写出基于Qt的GUI,这至少是一个标准的完备的GUI包,外观功能都不错。最后的最后,这个程序不需改动就可以跨平台运行,只要Linux/Windows用户按照标准过程安装了相应的包就可以使用,不用折腾本地编译之类的事情。
还有一个问题是速度。Windows下使用python(x,y)、Linux下源里默认安装方法的Python链接的都是较慢的Blas/Lapack库,而MATLAB默认链接MKL,所以矩阵计算速度会慢非常多。但是至少在Linux下是很容易让Numpy链接上MKL的,这样的Numpy计算速度与MATLAB几乎相同,所以速度不是严重的问题。也许C++能在循环上秒杀Python,但是如果你涉及到矩阵计算,用的普通的BLAS/LAPACK库,那么在核心的某几步上会慢成渣,从而在总的速度上被Python超越,得不偿失。当然你也可以让C++程序链接上MKL库,但要移植到别的平台又是一番折腾。
最后就是开发环境,个人推荐Eclipse的Pydev,用起来几乎同MATLAB一样,尤其是调试和看变量值方面。
在统计问题方面,用R写起来最舒服,因为包全,这一点Python或者C比不上。而且R也能链接MKL大大加快速度。还有就是,如果你要写统计方面的论文,那论文里的代码用R似乎会“显得”你更“ 专业”一些。上学期有流形学习课,我用scikit.learn包,几乎每次只改一句话就能提交作业(把LLE变成ISOMAP什么的)。还有一门统计学习课,让我深刻感觉到R就是用来写老师布置的ESL后面的那些编程题的,因为那些方法的作者,以及这本书的作者,写的就是R的包。至于大规模计算、实际的大型工程问题,我没有经验,所以不能提供更多信息了。补充:如果觉得自己链接MKL库编译Numpy和R麻烦的话,Python可以使用Canopy(就是之前的EPD),R可以使用Revolution R,都是一些商业公司帮配置好的完整发行版,链接了MKL库并支持其他一些特性(例如自带IDE等)。前者各平台都有,后者仅限Windows平台。
再补充:之前我写过两篇博文讲链接MKL库的方法。NumPy链接MKL请见Numpy使用MKL库提升计算性能,R链接MKL请见R链接MKL库以显著提升计算速度。【知乎用户的回答(7票)】: R为比较高等级的语言,R和python, C如今可以进行无缝连接。所以我觉得应该各取其长,用R把python和C连接好,取长补短,不被单一语言限制,才能迎接各种困难。【肖楠的回答(7票)】: 个人现状:使用 R,学习Python,关注 Julia。【茉茉的回答(3票)】: R。如有可能再接觸下 SAS 更好。【肖龙飞的回答(2票)】: 如果做数据分析师,那么R就够用了,R中有很多现成的统计、数据挖掘的工具包;
如果是程序员,可以学python,用来做一般化编程python更合适些。
Python(programming language): What are the advantages of using Python over R? 【reverland的回答(2票)】: 先接触R,学习过程就一个蛋疼。后来开始python,从入门开始相比R一路顺手到不行。python不仅仅作为计算而开发,数据分析统计往往又要涉及很多非计算的东西,当时觉得脚本语言做这些乱七八糟的事真方便。
但这回头开始深入R之后,发现R rocks too,R是个很专注的环境,现成的东西太多了。
就国内而言,觉得R的社区比python科学计算社区活跃很多,两者风格也迥异(感觉一个大部分是折腾数据的一个简直都是折腾程序的)。
所以,不是为了写程序就R吧 【克林的回答(2票)】: 我也希望能只选一个而放弃另一个,但是在实际工作中,做不到。
R有着独一无二神一样的的ggplot(只是效率太低,希望dplyr发布后作者能够用它重构ggplot里的数据处理部分,取代plyr),还有data.table(它的语法实在是太精简了)。当然,R最显著的特点就是其语言特性支持超高的信噪比(这里特指数据整洁、分析时,其他时候相反!),同样的功能在R里所占据的字符数比在Python里少了一半以上。比如 R: a[x<2 & a>-3, list(y, z)] #(a 是一个
data.table)Python: a[(a['x']<2)&(a['x']>-3)][['y','z']] #(a 是一个 data frame)但是,有时候,你需要自己写一些复杂的程序,或者调用一些外部的C, python代码,这个时候就Python 就显示出优势来了。用R写程序极其令人烦躁(很多代码都是为了做些不相干的事情,比如在一个正确的frame里获取一个object的名字--> 为了能够在使用的时候保持高信噪比,我多次深陷quote, substitute, eval, parent.frame里不能自拔),同时效率也不高(除非你用Rcpp)。【吴告于的回答(1票)】: R会慢一些,pandas关键在于提供了两个类dataframe和series,以及许多高层的实现特定功能的函数。具体看你做什么应用。我比较偏向pandas。【李作刚的回答(1票)】: 目前来看 :
R 在统计方面做得非常好。是因为统计学领域长时间的积累,他又非常完善的各种统计学 package。但在实际操作中,R 单独是做不了事情的。必须依赖Python 或者 Java 才能完成一个项目。
Python 可以方便的处理除了统计之外的其他事情。但统计这个短板绕不过。短期内也很难达到 R 的成熟。
所以当前的最好的是,用 R 来负责统计分析的核心环节。剩下的交给其他。
从长远来看,如果 Python 能把R 拥有的所有的统计学 package 重写一遍。就没 R 什么事情了。【林春艾的回答(0票)】: 这个我也比较困惑,但现在想来,先学python相关的科学计算库,这个学起来曲线平缓一点。【知乎用户的回答(0票)】: 尝试过很多次R,但最终还是Python用着顺手 【废城院长的回答(0票)】: 牵扯到多个平台间的计算 Python 容易点,如果数据都在一个平台,R的library 更丰富些。当然两者也可以互相调用.【CosmiaFu的回答(0票)】: 为什么不试试两个都用呢?
就像C好还是Python好一样,为什么不试试两个一起用呢? 【林枫的回答(0票)】: 显然 python numpy scipy pandas matplotlib R不适合集成
【Nextchen的回答(0票)】: 这个是在拉仇恨吗?完全没法比较,演变到最后,就成了程序派别之争了!学习的话,两个都无所谓。如果是生产环境,python 的性能自不必多说,R近几年在大数据方面也是有长足的进步,SparkR,mpi,hadoop 等等,而且 Google facebook twitter 这些巨头也在关注 R。所以性能现在已经不是 R 的弊端,像 dplyr 这类 R 的包出现,单机的性能也能得到优化。所以说,不用问,试试才知道哪个适合你? 【王双洋的回答(0票)】: 既然题主说到 统计分析,那么我想应该毫无争议的选着R 【你知道我是张三的回答(0票)】: 玩学术理论什么的还是R,工程实践还是python吧。。原文地址:知乎
第二篇:“知乎”产品分析
“知乎”产品分析
知乎产品定义:知乎是一个真实的网络问答社区,社区氛围友好、理性、认真,这里连接了各行各业的精英,分享彼此的专业知识、经验、见解,为中文互联网源源不断地提供高质量的信息,在这里,发现更大的世界。
我的理解:真实、社区、行业精英、高质量。知乎的出现弥补了在互联网中对相关领域缺乏深入探讨的空白,解决了相对高质量用户之间平等对话的障碍问题。
一.需求分析
需求场景描述:
小明一名互联网爱好者,长期关注互联网的发展。最近“360与百度的搜索引擎之争”引起了他的兴趣。在浏览一系列报道后,他对于这一事件,有一些疑问和见解。他十分希望有同类的互联网爱好者来互相探讨一下。因此,他登陆了自已在知乎的个人主页,发表了自已的问题。同时,他也通过搜索框中关键字的搜索看到了已有的相关提问,并且浏览了回答。对于自已感兴趣的问题,他也作了回答。看到好的回答,他也会投上一票。对于自已的提问,他邀请了知乎上比较有名的几位专业人士进行回答。之后,他收到了回复的通知。与相关人士展开了一些讨论,最后在交流与启发下,对这一问题有了满意的答案。除了提问外,对于自已熟知与有见地的问题,他也积极地回答。每当得到一个回复与若干投票时,他都觉得对自已来说是莫大的激励。
满足了什么人在什么情况下的什么需求:
知乎的目标受众群体是对某个行业有一定了解的相关人员。知乎所满足的是他们输入与输出时的一种被理解与尊重的价值实现感
他们的问题是对某个事件或现象理解性的提问,而非概念性的问题。他们渴望就某一事件,听到有着不同身份的人回答。在相似情景下,分享自已的想法。
补充:其实我觉得知乎在一定程度上和豆瓣读书是存在极大的相似性的。围绕某一本书的书评就好像是知乎中对某一问题的深度回答。此外,还是许许多不贡献,看热闹,或附合、或批判的看客。但好像豆瓣比知乎要有优势一点的是,豆瓣的书是现成,惟一的,而知乎的问题却存在着创造性和极大的重复性。另外,有一点不同的是,在知乎中身份的重要性远大于的豆瓣。以兴趣为聚合的平台,人们往往不看重身份。但是以问答为核心的知乎,身份的权威性对于提问者却有着非同一般的影响。)
二.产品主要功能 个人主页 提问与回答 邀请 投票 话题
1.个人主页:
知乎是一个社区类的产品,也是一个知识积累的平台。因此个人主页就显得尤其重要,在提问或者回答问题时,它是一个身份的象征。同时,对于知识积累来说,你也需要一个个人的主页来记录成长。
针对于目前知乎实名制的这一措施,我觉得其实是没有必要的。用户在乎的更多的是回答的内容,而非这个人。你从业的领域可能会使用户对内容的接受度产生影响,但对于你的名字,没有多少人会关注。建议可以把实名制取消,但是加大对于就业行业的细分要求。2.提问与回答:
这是知乎最基础也最核心的功能,是内容的发源地,也是维持用户活跃度的关键。知乎是一个平台,它为有疑惑和有经验分享的人提供了一个桥梁,一个平台。让他们在知乎这个平台上,互通有无。3.邀请:
在你提出一个问答之后,你可以邀请希望解答的用户来回答。一方面这确保了提问后不会无人回答,同时,对于被邀请的人来说,也会是一种鼓舞。
人们对于知识,从自然属性上来讲,是索取大于分享的。因此提问的人会远远大于回答的人。为了让平台良好的运转下去,知乎的邀请功能起到了非常好的作用。大家可以邀请一些行业高端的领袖人物来发表对于看法的理解,从而确保了回答的质量。4.投票:
对于普通浏览的用户来说,你可以给精彩有用的回答进行投票,认同或反对。对于贡献回答的用户来说,这是一种激励的手段。5.话题:
用户可以选择自已喜欢的不同话题并加以关注。这一功能,就是扩大用户的关注面,同时帮助用户找到自已的兴趣点以及更多同类的人。
三.运营特色
前期邀请码,产品找用户
个人身份,需求层次论最高点,自我实现需求 邀请回答机制
1.前期邀请码,产品找用户
知乎最开始是不开放注册的,采用发放邀请码的方式来聚集最初的核心高端用户。这个方法在我看来是知乎整个运营中作的最好的一个地方。产品来找用户,而不是一开始就让所有的人来注册,涌入一大批不明所以的浏览性用户。事实也证明,邀请码非常成功,在当时的互联网引起了小轰动,吸引到了李开复这样的牛级人物。2.个人身份,需求层次论最高点,自我实现需求
知乎提倡知名制,建立一个相互信任的社区氛围。从知乎的产品定义中我们就可以看到,它是要建设一个行业精英互相分享经验、知识的平台。因此,如何识别行业、如何确认精英,如何建立信任,知乎身份的功能就很好的解决了这些问题。当你的回答得到浏览用户的认可时,当你被大佬们邀请回答某个问题时,你的自我实现需求得到很大程度上的满足。3.邀请回答机制。
其实这是一个确保回答的数量及质量的一个功能。在现实生活中,我们关于一个问题向不同的人询问看法时,也是有选择的。我们首先会筛选不同的人,他们有不同的年龄,不同的人生经历,我们期待他们从不同的角度来解答。那对于在知乎上提问的人来说,也是希望这样的。因此邀请机制,对于回答的人来说,可以看到不同的回答。而对于被邀请回答的人来说,是一种激励机制,一种被认可的实现感。
四. 竞争对手
以百度百科为代表的百科类产品 百度知道
微博、人人等网络社区 豆瓣
1.以百度百科为代表的百科类产品:
百科类产品是目前已经非常成熟地一款基础知识普及的工具。用户对于基本知识的需求大都已经可以被满足了。而且加之百科类产品在搜索引擎结果显示上的优势,在这方面知乎并没有多少竞争优势。
2.以百度知道为代表的问答类产品:
问答类产品的历史也是相当长久了。我们经常看到的有,百度知道、新浪爱问等。这些产品的基础功能与知乎相似度非常之高。3.以微博、人人为代表的社交类产品
如果说,上述两个对手依赖的是搜索引擎的优势。那么对于知乎来说,微博和人人则是在建设社区关系上有力的竞争对手。微博有名人效应,能吸引一大批粉丝。对名人来说,是个人营销极佳的平台,因此有充分的理由留下,并持续贡献内容。人人有现实关系优势,人人的关系网是真实社会的反映,好友之间是有现实背景的。因此,社交关系应运而生。以上两点,如果有人想要询问一个问题,在这两个平台上,在已有的关系网上,不乏有众多的回答者。而迁移到知乎,则需要重新建立这种关系。4.豆瓣
豆瓣的性质其实和知乎是非常相似的。一个是以兴趣点为基础聚合人,一个是以行业为基础聚合人。两种用户都带有对于某一事物的偏爱性,都有需要抒发的情感及经验。豆瓣是生活化的产品,知乎是职业化的产品。如果知乎的发展定位不清晰,很有可能偏向豆瓣。
五. 竞争优势: 高质量的核心用户群 行业的深入讨论(排他性)
1.高质量的核心用户群
知乎的定位是十分准确地,要做行业精英互通过有无的平台。而不是像百科类或问答类产品,针对的是全网用户。它是在知识普及层次上更高的发表见地层面的需求。因为这个准入门槛本身也就保证了,在知乎活跃的用户本身的素质不会低到哪里去。同时,加之以之前的邀请码的机制,为知乎网罗了互联网行业的众多精英人士,他们作为第一批加入的用户,为知乎创作了一个良好的可循环的氛围。因此,我们可以看到,百科类、及问答类普通的用户,是不适应知乎这种环境的。因此在竞争上,也没有任何优势。2.行业的深入讨论(排他性)
知乎在很大程度上已经摆脱了基础知识普及性的问答,而是深入到具体情景下的某个问题。这些讨论,大都需要的是很强的行业背景。同时,也需要回答者有一定的经验。因此,这个产品是具有排他性的,不是所有的用户及所有的产品都可以复制的。
六.竞争劣势 用户群体较单一 用户黏性较弱 激励机制
1.用户群体较单一
就目前知乎的发展来看,用户的群体还主要集中在互联网从业人员这一块儿。如何把用户群体拓展到其他领域,是一个需要解决的问题。2.用户黏性较弱
相对于上述所说的社交类产品,知乎的用户黏性还是非常弱的。如果要建设社区类产品,用户之间的关系还有待发掘。3.激励机制
目前,知乎还没有很好的激励机制来保持用户的活动度。在人的自然性格中,索取大于分享的天性如何打破,还需要知乎去探索。
七.核心竞争力:
行业精英之间的经验分享、互通有无。八.如果我是产品经理,下一步会怎么做
1.关闭知乎公开注册的功能。既然知乎是要做行业精英的社区,而且主要回答与贡献的人都是集中在这部分人中间。那么其实公开注册对知乎来说是没有任何意义的,带来的只是更多的只浏览不贡献和只提问不回答的,没有价值的用户。倾向于把知乎做成为是对应现实生活中的高级会所。提高准入的门槛,采用邀请码或者其他推荐方式进入。保证核心用户的水准及互动质量。2.付费模式。接着上一条来说,如果知乎拥有了大量高质量的用户,他们在这里能够平等的对话,分享自已的经验和想法。那么,付费不是不可以接受的。现在不可行的原因是,知乎目前拥有的大量浏览用户,没有让行业精英看到太大的投资的价值。
3.提高提问的门槛。问题的质量对于知乎来说是至关重要的。有一此问题在百科类产品上就可以搜索到,而有些问题则在不断地重复。这对于回答与分享的用户来说,是一个很受挫的事情。这主要是由于提问人员的质量造成的,因此在用户注册初期,建议不授权提问功能,待到一定回答数量或者注册日期时,再开放此功能。
4.具体到页面功能的改进。知乎首页的最新动态是很让我头疼的一个东西。动态中出现的是好友最新回答与关注话题的动态。但是对于用户来说,可能加好友的时候,是根据行业或者话题的圈子来加的。不是这个好友所有的兴趣我都会想要知道。我更想知道的是,我的好友在我关注的圈子,或者直接是我关注的圈子里有了什么样的更新。因此,建议把动态更新,换成为关注话题的更新。
第三篇:知乎:招聘数据分析
负责招聘工作的HR,如何进行招聘数据分析?对后期工作起什么作用?修改 条评论 分享 • 邀请回答 按投票排序按时间排序 个回答
赞同10 反对,不会显示你的姓名
何小山,我就是你们最讨厌的面试官
收起
刘小麦、多鱼、neuf 等人赞同
做任何分析之前,要搞清楚一个原则,多问几个问题:我做招聘数据分析是为了什么?
做数据分析的核心动力一定是:让我的招聘工作越来越好。那么问题来了:什么才是“好”呢?
我对“好”的招聘定义为:用最少的招聘成本招募到最合适的人。(注意:不是最低的薪酬招到最贵的人啊喂!这种反人类的事情不是HR做的好吗!摔!)
目标明确了,再从招聘流程说起,简单画了个图,招聘有以下流程:
做了这么多铺垫,剩下的我觉得就很好理解了:
数据分析只是整个招聘工作中最后一个复盘的环节,重要的信息来自数据采集。数据采集是贯穿了整个招聘流程的一个动作,采集的方式有很多,@左诚 的答案里有提到,有钱任性的有类似北森、SHL等第三方数据库帮忙,没钱样本数小的用EXCEL也可以达到效果。
具体的分析应用,用EXCEL完全够用,看你想得到一个什么更好的结果,我简单举例说明:
1、看看薪酬谈判人数(通过面试的人头)和最后入职人数的关系,你可以检验你的薪酬是否匹配你的岗位,可以验证你的薪酬数据的市场分位值;
2、渠道选择分析,看看各家渠道简历来源数量,最后面试的通过数量,可以检验你的渠道的宣传效果、以及有效性;
3、招聘执行环节分析,看看初试的通过率、复试的通过率是否合理(合理与否请根据行业与岗位实际情况自行对标),便于后期调整。
„„
先写这么多,待个续。
编辑于 2015-01-05 3 条评论 感谢 分享 收藏 • 没有帮助 • 举报
赞同1 反对,不会显示你的姓名
赵老三,好好做事,天天吃饭。
收起
打脱手 赞同
除了专业招聘外包的公司和极大规模的公司,很少有企业能进行招聘数据分析的,因为样本太少就很难找出共性来。
发布于 2015-02-28 添加评论 感谢 分享 收藏 • 没有帮助 • 举报
赞同3 反对,不会显示你的姓名
岑芳园,地产准HR/法语学习者/哲学及翻译爱好者 „
收起
周江岭、TypeA Brain、lee Alisa 赞同
准HR,尝试答一答。
1.整理各个渠道所收得到的简历(如校园招聘,员工推荐,广告,猎头等),统计各个渠道的吸引的简历数量;统计每个渠道接受面试的求职数量;统计各渠道合格的应聘人数;最终接受工作的人数;每个阶段可以看产出率,也就是每轮符合要求的人数除以上一阶段的人数。计算各个渠道招聘成本。最后可以比较直观地看到每个渠道的招募效果。2.再细致一点,考虑比如说技术人员,管理人员后勤人员,以及专员,主管,经理等等,类别和级别的分类,可以职系,职等为依据看不同渠道的招聘效果。3.如果在员工入职较长一段时间后,还可以做不同渠道来源员工和绩效水平的相关性分析。
作用是1.提高招聘效率,节约成本。
2.招募到符合公司需要的人才,有助于组织绩效提升。
编辑于 2015-01-03 1 条评论 感谢 分享 收藏 • 没有帮助 • 举报
周江岭,http://www.xiexiebang.com/【快加薪】内测中
上两张图
1)招聘渠道:从大海捞针<------->实现精确打击 2)招聘素质条件:把握不准<------->精确把握,还可以弹性定制(可降,可升,还有说服上级大老板的理由)试用期短,存活率高,出活快。。谁用谁知道
发布于 2015-02-28 添加评论 感谢 分享 收藏 • 没有帮助 • 举报
知行合一,HRD(NASDAQ上市公司)
想要做好招聘数据分析,一定要基于招聘的全生命周期管控框架系统的进行,总体上分为组织发展、日常运营、结果产出三个维度。招聘工作的好坏并非仅仅只有数据来说明,还有一些是需要通过辩证分析得到(一般是采取行业标杆研究),比如组织设置、流程设置、组织氛围、雇主品牌建设等。啰嗦了半天,直接来干货了。。
-----------------------------分割线---------------------------
1、组织发展维度
【Key Success Factors】 1.1:招聘管控的合理度 1.1.1:招聘组织架构 1.1.2:招聘流程合理度 1.2:面试人员准备情况
1.2.1:面试官梯队数(招聘队伍:不仅仅只有HR的)1.2.2:面试官合格数(基于面试官的评价标准)1.3:资源平台保障情况
1.3.1:招聘系统(运转情况【bug率、延迟率、活跃度等】)1.3.2:招聘KM(运转情况【知识数量、更新频次、活跃度等】)
1.3.3:渠道质量(渠道质量评估:智联、51Job、前程无忧、中华英才、猎聘、拉钩等)
1.3.4:雇主品牌(满意度、企业品牌价值等)
2、日常运营维度
【Key Success Factors】
2.1:HC规划情况(是否能够在规定的时间按质按时的完成到位)2.2:需求对接情况(需求是否能够按时报批,有系统的可以设置时间延误跟踪,考核相应流程节点上的负责人,计入日常工作考核成绩)2.3:资源利用率
2.3.1:JD使用率(是否每个候选人都有按照标准要求的JD说明)2.3.2:渠道使用占比(根据简历数计算)2.4:面试情况
2.4.1:初试通过率(人才质量)2.4.2:复试通过率(人才质量)
2.4.3:面试情况反馈(面试满意度)2.4.4:平均周期(效率)
3、结果产出维度
【Key Success Factors】 3.1:招聘完成数 3.2:计划完成率
3.2.1:关键职位计划完成率 3.2.2:一般职位完成率 3.2.3:总体计划完成率 3.3:用人情况和成本效用 3.3.1:单位周期转正占比 3.3.2:关键职位离职率
3.3.3:关键职位人员业绩情况
3.3.4:关键职位人员调整情况(职级升降、薪资升降)
3.3.5:人均招聘成本(分成总体人均成本、关键职位招聘人均成本、一般职位招聘人均成本)
3.3.6:招聘渠道性价比(渠道费用系数:渠道费用越低,系数越高)=渠道费用系数×渠道质量系数
=渠道费用系数×(面试通过数÷渠道获取简历数)
-----------------------------分割线---------------------------【后记】
招聘分析管理(概述)
1、组织:独立的分析团队,制定分析模型、工具,有系统更好,没有就用Excel、SPSS
2、数据:最好是能做到每天记录、每周统算、每月盘点,在人手不足、没有系统支持下,我仍然这么操作了,这得感谢我下面的一帮得力干将,有系统了就方便了,特别是在员工自助系统上了以后
3、流程:BP团队(每个业务线一个接口人)、SSC团队(指定一个统一接口人与BP接口人对接)、COE团队(分析、方案建议)
编辑于 2015-01-29 1 条评论 感谢 分享 收藏 • 没有帮助 • 举报
茶隐墨,拥抱改变,专注成长,分享互联。
快消品行业HR,来谈谈招聘数据如何分析。
答主在公司主要负责招聘与培训工作,以下是我在招聘当中做数据分析的思路:
一、数据分析的目的:
数据分析是为了评估一项活动的效果、效率、效能。简而言之,就是要分析活动过程中我们的投入与产出,追求一个投入与产出的合理比例。以便我们在招聘工作中以最低的投入找到合适的人才。
二、招聘数据的分析流程:(各环节将会出现数据节点,这是我们的数据源)用人需求调查——招聘计划——招聘实施——招聘效果评估——招聘评估反馈。
1、用人需求调查:此环节是招聘的起点和基础。在招聘需求调查中,我们将会获得以下数据点——其一,招聘的岗位。其二,拟招聘人数。其三,招聘人员以及岗位任职要求。其四,岗位用工时间压力,我们通常可以以时间单位来衡量。用人越紧迫,则时间压力越大。
2、招聘计划:此环节是我们招聘的指导大纲。在计划里我们要明确——其一,招聘计划人数。其二,招聘渠道(招聘网站、人才市场、猎头公司、现场招聘、校园招聘、、、等)。其三,招聘预算。其四,计划用时。打算用多长时间完成招聘。
3、招聘实施:就是将招聘计划付诸实施的过程。本环节我们将接触到以下数据点———其一,渠道。记录招聘人才的来源方式。其二,简历收入量,以份数计算。其三,有效简历量。指符合公司要求的简历数量。其四,面试邀请数。记录你发出的面试邀请函或电话的数量。其五,面试人员数。记录来参加面试的人数。其六,复试人员数。记录通过初试,参加复试的人员数量。其七,录用人数。记录,通过复试被录用试用的人员。其八,转正人员数。其九,招聘成本。包括财务成本和时间成本。
三、招聘效果评估:诸位知友,通过前面的两个环节我们已经积累了大量的数据。现在到我们做数据分析的时候了,洗把脸打起精神,接着往下读。
————————————————————————————————————————————————————(此处是分割线,割······························································)
1、招聘完成比:这个指标是我们首先要衡量的。它反映的是招聘工作质量最基本的指标。
计算公式:招聘完成比=实际聘用人数/计划招聘人数*100%.此值<1,说明招聘未完成计划。此值等于1,说明刚好完成招聘计划。此值大于1,说明超额录用,需要看招聘超额人员的具体情况来评价其价值。一般来说,招聘完成比刚好为1,即100%是我们希望看到的值。大于小于1,我们都要分析其原因是什么。
2、有效简历比:此项指标用来衡量简历的质量。反映的是收到简历当中符合公司需求的简历数量在所有收到简历里所占比例。计算公式为:有效简历比=有效简历/所有收到的简历。此项数据比值小于或等于1.等于1表示简历100%有效,说明招聘渠道质量较好,应聘人员基本素质较好。小于100%大于70%说明招聘渠道质量优,50%——70%说明良好,45%——50%说明合格。小于45%,说明该渠道招聘质量不合格,一般会考虑更换。
3、面试比例:用来衡量应聘人员的诚意和岗位的吸引力。计算公式为:面试比例=面试邀请数/面试人数*100%。此数据,数值通常小于或等于100%.等于100%说明应聘人员总体上是有诚意的,且本岗位有较好的吸引力。70%-100%说明比较正常,小于50%说明存在一定问题。
4、复试比:此项指标反映了初试人员的任职素质水平。计算公式为——复试比=复试人数/初试人数*%100。在其他条件不变时,复试比越高说明初试人员质量较好,达到复试要求的比例高;复试比例越低说明初试人员质量越低。
5、录用比例:此项数据衡量应聘人员总体质量水平的又一指标也可以用来衡量岗位的录用标准严格程度。计算公式为:录用比=录用人数/初试人数。录用比例越高说明应聘群体质量越高。
6、转正比例:此项指标衡量录用人员的真实工作能力和素质,也是衡量招聘效果的重要指标。转正比例越高,说明录用人员胜任能力越好,招聘的甄别性较强。
7、“投入——产出”比:此项指标衡量了招聘的成本与产出之间的关系。一般来说可以用下面的计算公式来计算——投入-产出比=产出价值/投入成本价值。其中产出价值可以用该员工在岗位上单位时间里创造的产品或服务的公允价值来表达,投入成本价值等于招聘直接财务成本加上招聘人员的耗时折算公司应支付的单位时间劳动报酬,再加上安排该员工所需要的办公用品等其他直接由该岗位引起的单位成本。(这里所用的计算方法为了更好统计,都采用直接成本和产出,与经济学上的机会成本有区别,在经济学上,机会成本才是真正的成本)。____________________________________________________________________________________________________________________(美丽的分割线、、、、、、)
四、招聘效果评估
上面我们分析了关键数据,也给出了数据分析的关键指标和计算公式。现在我们来聊聊怎么评价一个招聘活动的效果、效率和效能。
首先,招聘完成比应当首先考虑。特别是关键岗位、核心岗位的招聘完成比。这项指标关系到组织职能的正常履行。
其次投入产出比。这项指标反映了组织招聘的效率,经济性。
再次,分析简历有效比、面试比例、初试复试比例等。可以以此来考察招聘渠道的招聘成本大小,效率高低。以便调整日后的招聘成本和计划以及渠道。
注意:具体在工作中需要衡量哪些数据指标,要结合不同行业,不同时期的重点来选择。数据的手机和分析是一个需要成本的工作。注重数据分析是一个良好的习惯,现在企业里都在提倡人本管理,以人为本的基础是科学规范,在管理技术上做精确的计量可以帮助我们更好的调配资源,加强组织的效率。
五、评估反馈
任何的管理活动都需要有反馈的机制设计,我们需要持续的改进和迭代。招聘评估反馈的目的就是要将评估结果反馈到前面几个大环节,以便我们对整个招聘乃至人力资源管理流程和实务进行优化。招聘计划可以给我们提供有效的对照样本。
第一次在知乎上写这么多内容,希望能对各位有需要的人有所帮助。欢迎一起交流讨论。
编辑于 2015-01-06 添加评论 感谢 分享 收藏 • 没有帮助 • 举报
赞同1 反对,不会显示你的姓名
Zhou Zf,HRBP 收起
lee Alisa 赞同
看了下大家的回答,可能大家忽略了很重要的一点,扯皮。HR每天做的就是support各业务部门,招聘首当其冲,永远直面业务部门各种挑战。碰到配合不好的BU老板,各种推脱责任,任何时候指责由于HR没给到人力造成业务告急。怎么办?甩数据。各种横向纵向比较,谁对谁错可见一二,不过最终还是看老板偏袒谁,只是对于HR来说多一点扯皮的砝码。
说完负能量的,回到题主的问题,如何做招聘数据分析。既然说了是招聘数据分析,那么数据收集了吗?最最基础的数据收集恰恰也是最关键的,有越细化的数据就有越多的分析可以做。举几个简单的例子,比如,所有开放职位的分析,按时间,按BU,按级别,按区域...有什么维度分析什么,大体上可以看出这一公司的动荡程度,和那些部门在什么时间比较来事儿。
再比如招聘周期的分析,按时间,按BU,按级别...各种维度。这时候也许哪些部门配合或者不配合招聘会浮出水面,当然目的不是这个。应该看到的更多的是哪些职位是招聘难度大的,在后期的招聘中是否应该预计更多的提前量,做相应的继任储备或者是否是由于职位的设定存在问题,这些都需要更进一步的数据分析去挖掘。
再再比如,转化率的分析,同样的道理(好吧,原谅我又要提扯皮,太有用了不是吗)。
其实大家可以看到,我们所分析的职位的开放时间,所属的BU,级别...等等,所有的招聘分析始终是要基于数据的收集。或者说任何的分析都是基于原始数据的收集,所以平时的数据收集好。越真实的数据越能反应当下真实情况。
题主问题二,对后期工作起什么作用。在分析出了问题之后就是解决问题。所以招聘分析最终就是要转化成解决当下的招聘问题。正确的分析可以指导我们从正确的问题方向去解决问题。
总而言之,招聘是一个不好干的活,各种计划,内外沟通,完全碎片的工作内容,怎么样在这么多繁琐工作中去做好数据的收集从而应用到招聘问题的解决,各HR尤其是招聘的同志们,革命远没成功,还需继续努力......最后,重点
HR如此苦逼,业务老板们,你们造吗??!
发布于 2015-01-20 1 条评论 感谢 分享 收藏 • 没有帮助 • 举报
赞同0 反对,不会显示你的姓名
左诚
收起
建议用专业的人力资源管理软件来管理。
例如国内的北森,国外的SHL,都是很好的数据库。发布于 2015-01-05 添加评论 感谢 分享 收藏 • 没有帮助 • 举报
赞同0 反对,不会显示你的姓名
Ye Tang,HR的死胖子
收起
没有太多时间, 说点经验教训吧, 可能有点文不对题.招聘是个讲客户满意度的工作, 有人说每个工作都讲啊, 同意, 不过招聘如果在这上面疏忽了, 光靠拼命送候选人, 开拓渠道, 做分析, 讲数字, HR往往会死的很惨, 因为随便就能找出一千万个理由是你找不到人或送的人不行.怎么提高客户满意度? 简单来说, 过程很重要, be partnership with your hiring manager, 建立彼此的信任, 加上你应有的专业技能, 客户会更容易理解你, 该share的信息都会给你, 很多时候还愿意出手帮你一起解决难题.至于招聘数据分析, 不外乎目标公司(行业), 渠道, 需求变化管理, 面试通过率(原因), 拒签率(原因), 成本等几个维度, 实际操作中收集数据的成本还是很高的, 尤其是这里面有一部分信息是非常主观的, 可隐藏的(不愿明示的).前面有人也提到了, 看分析的目的是什么吧, 用来总结, 为将来改进工作;也可能就是用来打架的, 用数据说话, 不无缘无故的背黑锅也是一种生存技能.发布于 2015-01-06 添加评论 感谢 分享 收藏 • 没有帮助 •
第四篇:码农学习分析(知乎)
我写了一篇码农入门的文章,希望对一些学生,或者想转业的人有帮助。
这篇文章是我原创的,并且已经先发到了另外一个论坛,这个论坛同学比较多,如果有兴趣要当码农了可以来瞧瞧。
昨天看到有一位铁路工作的工程师说想要放弃现在稳定的职业,投入码农的怀抱,我觉得很多人把码农这个职业看得太高,也许是社会浮躁的气氛造成的,我作为一名大漩涡的坚定捍卫者,入行也快8年了,有义务进行一番科普,让漩涡众找准自己的定位。
申明一点,我说得一切都是站在我自己的角度,周围的环境进行阐述,可能有坐井观天的情况,其他码农不认同也希望说出您的观点,大家互补。自我介绍:
我以前得帖子介绍我自己不少了....还是简单介绍一下,我自己毕业于某渣985的计算机学院,从毕业到现在工作接近8年的时间。标题说了我自认为是一名乞丐版的全栈工程师,所以我身上的技能包很多,有的比较精,有的比较浅,后面再介绍。因为我接触的东西很多,所以对码农的各个方面都略知一二,各种文档,各种语言,各种主流的设计模式都略知一二。我下面就把整个码农的框架以及里面细项写出来,不敢保证非常准确,但是至少是有实践过的。
1.码农的角色 1.1 编码人员
编码人员会收到需求文档或者设计文档,被要求要实现什么样什么样的功能,然后进行编码实现和需求文档,设计文档要求一致的东西。编码问题具体后面说。
1.2 设计人员(我们所说的系统架构师其实就是高阶的设计人员)设计人员分2类,一类是UI设计人员,一类是系统设计人员会收到需求文档,被要求要做一个什么功能,要实现什么为目的,设计文档包含系统架构,语言,数据结构,数据流向,安全性评估,可行性评估等等等,产出一份设计文档交给开发进行开发。1.3 需求人员
需求人员会和用户或者产品经理进行需求访谈,引导用户交出合理并且准确的需求,准确的逻辑,然后产生一份需求文档,并将需求文档交于设计,进行可行性分析。可行性分析通过则设计人员会开发进行设计,编写设计文档。需求人员要求必须能够拿到准确的需求并且传达给设计,因为一旦需求错了,整个设计和开发都要重新来过,浪费的人力物力可不是一点半点。用户或者产品经理提出问题,需求人员根据需求问题找到可以实施的解决方案或者优化现有的作业流程。在完全需求的同时,提出的解决方案要尽可能的为设计开发考虑,降低设计开发成本。1.4 产品经理(创意团队)考察市面上的产品,针对自己的产品进行规划,要做哪些功能,什么样的功能受众大,什么样的功能可能能打击到竞争对手等等情况进行分析,然后发展产品,对产品周期进行规划。产出为产品规划书,产品生命周期,产品介绍等等相关文档,并且和需求人员合作产生需求文档。1.5 测试人员
当然了就是对开发的功能,模块,产品根据需求文档进行测试,有猴子测试,白盒测试,灰盒测试,黑盒测试,压力测试,测试工具测试,自己编写代码测试等等等.....产生的文档 就是 测试计划,buglist文档回馈给开发人员。补充一句,所谓的bug是指凡是和需求文档不一致的结果都是bug,并不是代码出了问题才叫bug。1.6 运维人员
运维人员就是有管理员权限,可以操控产品,功能的一些参数来管控,对产品和功能使用是非常熟练,并且会一些简单的编码和数据库原理,第一线对系统产生的问题进行处理并且修复数据,如果能找出根源的问题就是优秀的运维。产出的东西有 troubleshooting 文档,问题反馈文档,另外很多运维也会写用户说明书,因为他们对系统是最熟的。
1.7 项目经理(PM,PMA)这部分人不是严格意义上的码农角色,只是管理项目的进度,风险,人员,成本,协调资源(和建楼房的项目经理没有本质区别)。这里就不写了。2 工作流程
所以整个工作流程 大概就是这样 用户/产品经理--->需求人员--->设计人员---->编码人员----->测试人员----->运维人员。不是指等级越高的人员编码能力越强,只是在上流的人员的容错率很低,所谓差之毫厘谬以千里,上游错了一点点,下游必定错得很惨。人员越多,也会导致流程越长,耗费在沟通上的时间就越多,沟通上容易出错的风险就越大。所以很多公司基本是 设计/编码 或者 需求/设计是同一个人。或者一个人身兼数职,比如我,就是兼了所有角色.....3 码农的基本素养 3.1 逻辑能力
逻辑能力一定要强。逻辑能力可能有天赋的原因,可能也有后天学习的原因。逻辑能力强的人一般体现为数学,化学,物理等方面比较出众,所以理科生转码农会容易很多(比如码农里面有大量的自动化,物理系,数学系的学生),因为理科生在逻辑方面被训练得很多。虽然我大学是混过来的,但是高等数学上和下我都拿了90多分.....逻辑能力强会让你在写代码的时候看到推算,各种算法,加减乘除的时候不会紧张,操作 链表,堆栈,数组的时候得心应手。做需求分析的时候能够抓到矛盾点,能够分析出流程,功能是否合理,是否能够实现等等等。所以逻辑能力是很重要的。3.2 沟通能力
沟通能力可以让你快速融入团队。沟通能力体现在你能够快速接受并且正确理解别人告诉你的事情,你也可以清晰并且准确的表达出你自己的想法。这样你的沟通成本就会大大降低,然后你就能够花更多的时间在代码的编写,需求的分析上面,提升自己的工作效率。3.3 学习能力
旧的技术你可以通过一些例子,项目代码,文档然后快速进行掌握,并且在项目上可以开始快速上手开发新功能。新的技术进来,你有兴趣花个人的时间去专研,并且能在你们团队第一个的搭建出模块,平台供你的团队成员学习,使用,那么毋庸置疑你在哪个地方都会很吃香。
3.4 阅读文档能力(英文水平)很多旧技术,新技术其实都是要靠阅读文档,和自己尝试编写代码结合进行学习的。这样学习起来效率会很高,所以会阅读文档,并且理解文档就显得格外的重要的。对于旧的技术或者问题有很多中文文档进行阐述,但是更多的新技术,新问题只有英文文档进行描述,这个时候你的英文水平就显得格外重要了,因为好的文档可以减少你学习的时间,提升你学习的效率,而大部分好的文档其实真的都是英文写的。所以要成为高阶的码农,英文是要有一定的水平的。3.5 搜索引擎的使用能力
其实现在码农这个职业现在使用搜索引擎是必不可少的,百度,Googel,github,stackoverflow,csdn都是比较主流的。我一直坚信一个理论,你所做的东西你所遇到的问题肯定已经有人遇到并且解决,你要做的就是去网上有目的的海底捞针,然后看别人是如何解决,你进行复制和简单修改。不要认为这就是复制就能解决,前提是你要能找到在哪里可以复制。当然大部分的东西还是英文的比较好,所以这里又考验你英文水平的时候到了。(我们经常调侃,现在已经不是面向对象编程了。而是面向搜索引擎编程,网络挂了,今天就不要做事了。)举个简单例子,我曾经接收到一个需求,用户经常要把上万的数据导入到系统里面,因为数据库是sql,而系统是.net的平台,后来我google到可以使用bulkcopy来进行处理,接收这个需求之前我是完全不知道bulkcopy的。这样你在使用搜索引擎在完成任务的同时自己也得到了提升,学到了你周围人都不知道的知识。3.6 态度
态度决定一切,你必须有好的态度,好的职业修养,才能被人看得起。遇到问题不甩锅,有责任心,是自己的东西就有一定要把它干出来为止的那种冲动,不眠不休的尝试解决!我手底下曾经有一个程序员,职高毕业,也没参加什么培训。逻辑能力,基本理论知识可以说是差极了,沟通也挺费劲,如果是我去面试,这类人我一般来说是不通过的,不过是老板派给我的,我也只能收着。还好他大部分是做UI和H5的样式,CSS3的动画。可是后来我发现他的态度非常的端正,责任心很强,自己也很有耐心去学习新的技术知识并且运用到实际进行解决。虽说进入状态花的时候有点长,他写的 代码也是乱得不行,但是能帮到我解决问题,而且态度很好,不管工作难或者不难都不推诿。所以最后还是可以的,现在也慢慢开始成长,转到了其他团队。3.7 定位
其实码农是属于第三产业,服务行业,你怎么样让你的上司爽了,让用户爽了,你就牛B了。不一定要用写代码的模式才可以,好的创意,好得理念,好的沟通,好的态度,都在这范围里面。写代码做功能做产品的终极目的就在于做服务,提供服务。你能搞清楚你服务的对象,搞清楚你服务对象想要什么,你能提供什么服务满足他们,并且你实现了,你就成功了。最后来说说我的整个成长过程,给大家一个启发。
4.1.最开始入行,接手一个asp.net + sql server的项目,开始学习asp.net + sql server
4.2 asp.net + sql server 有了一定能力,并且熟悉了业务,开始做一些简单得设计,和需求,开始学习设计模式,什么工厂模式,批处理模式,单例模式,建造者模式等等等....并且编写 概要设计文档和详细设计文档
4.3 本来开始做设计了,一心要往构架师上靠,可是公司缺需求分析人员,怎么办没办法,自己顶上,开始编写 BRD ,TBD,SOW 等等一些列需求人员的文档并且和用户沟通需求,提高自己提出解决方案的能力。
4.4 好了,有项目来了,我最有经验,组织就决定你来当项目经理了。好了 又要开始做项目经理的事情,写项目风险评估报告,写人员评估报告,每天写项目进度,和各个部门leader进行撕逼,拿资源(真新累,不想当项目经理)。
4.5 好了 公司决定要做一个产品,你这方面经验最多,你来当。好了开始写竞品分析报告,产品生命周期,产品发展概要,产品功能预想......4.6这个产品不行,公司决定组织一批精英另外做一个产品,你来负责web端和移动端,对就你一个人负责。日了狗了!但是我不会java 不会 Object-C 我做毛的移动端啊。好了发现市面上流行用 hybird的开发模式 用 H5+简单原生来进行移动开发。研究了国内的DCloud 和 国外的 Cordova Apache,开始一步学习,H5和 cdth加上简单的Object-C 和 java,毕竟C#好几年经验,面向对象语言学起来快。cdth也还行。后来也算做出来点东西了。
4.7 嗯,美国有项目,但是我们人手不够,你一个人去国外把这个项目吃了吧.....好的,我现在一个人只身来到国外,没有其他人员的支持,得益于我 乞丐版 全栈工程师 这个项目也顺利完成。就在今天!本来已经计划好了下周回国,可是国内一个电话过来,“你签证停留时间明年才到期吧,另外有一个州也需要你,机票给你改签了,你直接飞过去,再干2个月再回国.....回国之后去把加拿大签证办了吧......” 4.8 我的技能包
4.8.1 C# 方面: ASP.NET(精通)Winform(熟练)WPF(熟练)(其他.net wcf ws 等等也算比较熟了)4.8.2 其他语言 : H5(熟练)cdth(熟练)Java(入门)Object-C/Swift(入门)abap(入门)
4.8.3 数据库 : SQL SERVER(精通,如果我说我是DBA,别人也信),mysql(熟练),DB2(入门),Oracle(入门)4.8.4 网络以及安全编程:AES DES加密,ajax以及跨域调用,网络爬虫,https,ssl,sso,socket,web socket,web worker,sql注入,html注入等都做过一些开发或者学习。
看了下,只有ASP.NET 和 SQL SERVER 我敢说精通,这两个基本不会难倒我(也可能有万一,被打脸也正常.....),其他的几个熟悉的虽然我很有经验,但是也不敢写精通,没自信。因为在码农的世界,当你学习得越多,你就会发现你知道的越少。打个比喻,码农的知识是海洋,我现在学到的也不过是一叶扁舟而已。
结论:Win,安卓,IOS,数据库我都能开发。不分什么前端后端。需求分析,系统设计我也都能自己做,所以我可以一个人在没有任何支持下完成项目。也喜欢研究一些新的东西,学一些我不知道的。因为行业的原因,我从来没接触过C 和 C++,不过真的有机会去做的话,我也能很快上手。
4.9 其他一些小事情我稍微炫耀一下
4.9.1 优化一个计算逻辑,以前一直是30-35分钟计算完,我优化之后只需要3分半(其实优化说起来很简单,就是把工厂模式改成了批处理模式,但是代码确实写了太多,也需要改表结构,用空间转换时间)。
4.9.2 一天时间就完成了微信平台的开发(在完全不懂微信平台的情况下,周围人都不会),可以用微信平台和公司内网数据交互,并且做出了案例,以后大家可以根据我的案例进行微信平台延生功能的开发。4.9.3 各种优化数据库,什么查询3分钟变查询3秒,处理数据10分钟变处理数据10秒。
4.9.3 被美国这边看上,希望我留下来常驻(用绿卡诱惑我....)。4.9.4 等等等.....5 转行建议
5.1 你至少含有3-4项码农的基本素养,如果你是文科生或者逻辑理解能力较弱,请慎重考虑。
5.2 学习一门语言最好能找到一些成熟的框架,在框架上依样画葫芦,其实就是照抄完成想要的功能,在抄的同时能做适当的修改。5.3 第一份码农的工作慎重选择,因为第一份码农的工作大概率的决定了你以后的方向以及你可能高度。第一份工作最好要找到团队协助,周围有编码氛围,随时可以进行技术讨论或者交流环境的公司。这样你的成长会很快,否则你在入门的时候举步维艰,会让你度日如年。
5.4 学习码农是需要坚持持续学习的工作,不断的接触自己不懂,不断的提高自己,不会是因为你有几年经验了就可以吃老本的,如果有这种心态迟早会被淘汰的。
5.5 3分钟热情的人就不要来转了,转这行是需要花大时间,大精力,耐得住寂寞,受的了孤独的人才行。
5.6 能找到一个带你入门的启蒙老师你转行会非常有效果。5.7 干码农不一定非要写代码,如果有条件,你可以当猴子测试入门,你觉得你文档能力,理解能力,沟通能力强,你可以尝试做需求分析,也可以先学一些系统知识,从运维入手。
5.8 基础理论知道是比较重要的,有可能的话尽量多得进行了解。5.9 如果你英文厉害,建议直接阅读英文文档/书籍进行学习。码农误区
6.1 加班多。
加班多最大的原因在于你拿的任务是和你当前能力不匹配的,一个好的码农效率比一个差的高了不止10倍。好的码农半天做完的事情,差的可能就需要一周。因为不一样的思想,不一样的经验,花在找资料,做设计,写代码的时间差距是非常大的。所以你加班多 1.你是大牛,真的是事情多并且deadline要到了。2.当前的工作难度比你能力高,你需要查找大量资料来完成,或者写了大量的冗余代码,冗余设计,代码写得不严谨,BUG太多,甚至不知道BUG出在哪里。3.其他团队成员拖累了你的进度。我的经验看来,大部分加班都是因为 第二个原因。所以通常说来(当然有例外)能力越强的人加班越少,加班多说明工作效率太低,能力匹配不上你接受到的任务。6.2 码农是吃青春饭
码农不是青春饭行业。码农只是一个需要不断进行学习的行业。年龄大了不能代表学习能力差,年龄大的码农有大量的编码设计经验,在学习新技术的时候就已经领先人一步了。当然了你说年龄大了,精力就不够好了。哪个行业不一样的?我这次到美国,看到了满头银丝的码农,一样干得挺好。所以码农本身并不是一个青春饭,是一个需要不断进行学习不断进行提升的行业。年龄大了不一定是非要转管理,做技术也是可以的。
好了,花了一下午,打了这么多出来。这都是一家之言,如果你觉得对你有启发,你就看看,你觉得都是屁话,你就无视好了。其他资深码农也可以提出你们的看法,毕竟我只是处在我现有环境,有坐井观天的可能性。
备注一下,虎扑为了防止js注入,用cdth替代了 Java!!Script
第五篇:知乎诉微博分析
一、是不是所有的知乎作者回答都构成作品?(是不是所有知乎作者回答都有著作权,都能进行维权?)
不是!
根据《著作权实施条例》规定作品必须具有独创性并可复制。简单来说就是“独”“创”“可复制”三个主要判断点。
首先必须是独立创作,也就是源于知乎作者本人,而不是知乎作者抄袭而成的作品。显然有一部分高赞回答只是简单复制其他美术、影视作品、文学作品的内容,这并不能构成作品。若营销号传播这一类的回答,将不构成对回答者的侵权,至于侵谁的权此处不论。
其次需要具有“创造性”(体现一定智力水平的创造),也就是说知乎回答不能是简单的智力创作,我国著作权既有英美法系的意味又有大陆法系(“创”的要求高)的意味,没有一个明确的点。但是,一般而言,知乎高赞回答中的那种一句话回答一般来说很难形成法律认可的作品。
比如:什么是爱?爱一个人是什么感觉?的回答:腐生:好像突然有了软肋,也突然有了铠甲。
可复制的这一点,对于知乎回答来说就不用考虑了。
那么这些不构成作品的回答是不是说我们就可以不用经过作者授权转载了,自然不对。上面这个例子,其回答本身虽然不能构成作品,但回答结合提问者的提问综合来看,就具有特别的意味了,不过这只是从事实角度来谈的意味。从法律角度来看,其仍然很难认定为具有著作权的作品。但是,本着一颗传递知识传播乐趣的心态进行转载的话,尊重作者应当时最基本的准则,获得授权是尊重的第一步。这是自媒体,个体文学滋生、发展的最好时代,如要长久的发展没有一个好的版权保护环境将会大大扼杀社会创作热情。法律本应是保护权益的底线,而社会环境对于个体创作的保护应当比法律来得更加严密——我们认为就算那些不构成著作权法意义上作品的回答,转载也应当获得授权&给予回答者合理报酬。
二、如何定性营销号的行为? 《著作权法》规定:信息网络传播权是“以有线或无线方式向公众提供作品,使公众可以在其个人选定时间和地点获得作品的权利。”
显然,信息网络传播是一种交互的网络传播行为。不妨针对其构成要件对营销号未经授权转发知乎用户回答截图的行为进行分析:1.该行为满足利用网络进行传播的要件 2.且以公开方式向公众提供作品 3.其上传至微博服务器,公众通过点击进入其微博主页可以在选定时间和地点获得作品。
微博的营销号转载应当界定为信息网络传播行为。而若其未经作者授权,又不符合《著作权法》规定的合理使用和法定许可的情形(微博营销号是为个人获利而进行的未经授权转载行为),那么就属于著作权侵权。
三、营销号侵权,微博是否有义务规制用户行为? 有义务规制。
《信息网络传播权保护条例》第十五条 网络服务提供者接到权利人的通知书后,应当立即删除涉嫌侵权的作品、表演、录音录像制品,或者断开与涉嫌侵权的作品、表演、录音录像制品的链接,并同时将通知书转送提供作品、表演、录音录像制品的服务对象;服务对象网络地址不明、无法转送的,应当将通知书的内容同时在信息网络上公告。
条款清楚明确规定了微博的管理规制义务。
也即微博作为网络服务提供者在接到作者的申诉(需要符合一定要件的申诉)后,应当删除侵权的微博或断开链接。所以微博本应当在接到知乎作者的举报后及时处理侵权微博,但根据目前掌握的信息来看,微博并未采取过多的规制行为。
四、微博不规制营销号对知乎用户的侵权,是否应当承担责任?
应当承担责任。
《信息网络传播权保护条例》第二十三条 网络服务提供者为服务对象提供搜索或者链接服务,在接到权利人的通知书后,根据本条例规定断开与侵权的作品、表演、录音录像制品的链接的,不承担赔偿责任;但是,明知或者应知所链接的作品、表演、录音录像制品侵权的,应当承担共同侵权责任。
关于避风港原则的规定:《条例》第二十三条规定:“网络服务提供者为服务对象提供搜索或者链接服务,在接到权利人的通知书后,根据本条例规定断开与侵权的作品、表演、录音录像制品的链接的,不承担赔偿责任;但是,明知或者应知所链接的作品、表演、录音录像制品侵权的,应当承担共同侵权责任。”
微博的举报模式特殊,并且有时会出现无抄袭举报选项的情形。微博举报抄袭微博的话,必须要享有著作权的本人举报,并且需该内容先于侵权者之前曾在微博发表过。这两个条件的限制大大约束了知乎作者申诉的空间,这种举报模式的设置导致了很多作者无法举报或懒于告知的情况。当然有很多坚持不懈的作者通过人工服务等途径告知了微博侵权的内容等,但微博作出的反应有限。微博若已明知营销号大行侵权之事而不加以规制的话(无法适用避风港原则),很显然其作为网络服务提供者应当与营销号运营者承担共同侵权责任。
换句话说,如要走诉讼途径的话,被侵权的这些作者们也可以连着微博一起告。
五、知乎诉微博营销号是怎么一回事?知乎起诉微博营销号,立案了知乎专栏
1.知乎是否能以自己的名义以“侵犯信息网络传播权”为由诉微博营销号? 不能。
首先我们来看知乎用户知识产权协议第4条:为了促进知识的分享和传播,用户将其在知乎上发表的全部内容,授予知乎免费的、不可撤销的、非独家使用许可,知乎有权将该内容用于知乎各种形态的产品和服务上,包括但不限于网站以及发表的应用或其他互联网产品。
在这里用户被这一格式条款强制性地将作品的信息网络传播期授权给了知乎,且不论这个格式条款是否有效。此条款约定的是知乎用户非独家许可给知乎方面信息网络传播权,也就是说用户还可以授权给第三方。这样一来,知乎的信息网络传播权不是独占许可,若知乎与作者之间无另外的著作权授权,那么它就没有独立起诉微博营销号的权利(无论微博营销号是否获得授权)。
2.那么此次知乎诉“知乎大神”为何能以“侵害作品信息网络传播纠纷”为由立案?
还是先看“知乎用户知识产权协议”第8条:
如果任何第三方侵犯了知乎用户相关的权利,用户同意授权知乎或其指定的代理人代表知乎自身或用户对该第三方提出警告、投诉、发起行政执法、诉讼、进行上诉,或谈判和解,并且用户同意在知乎认为必要的情况下参与共同维权。
我们能明确的一点是,知乎协议内规定的是作品著作权归作者所有,作者未当然将著作权授权给知乎。既然未授权给知乎,那么知乎在法律上就无法直接代表7位用户起诉,因其不符合民事诉讼法关于代理人的规定(法人无法成为诉讼代理人)。
所以知乎用户协议第8条中约定的用户同意授权知乎对第三方进行诉讼是没有法理基础的。用户可以授权知乎对第三方提出警告、投诉、行政执法(走行政投诉渠道)、谈判和解是合理的,若无用户与知乎私下有其他类型的授权,代为诉讼无论怎么样都是说不通的。
那么,我们来看看知乎版权保护专栏上的文章是怎么描述的:
“收到用户亲笔签署的版权维护授权书后,知乎版权正式向侵权方发律师函,撰写起诉状。7 月 1 日,该案件成功立案。”
这里写道收到用户亲笔签署的版权维护授权书,那么这个版权维护授权书法律性质为何?实际上,版权维护授权书一般是依托于版权授权书而存在的。版权人A(此文不论述版权与著作权的区别,看此文可将二者初步划个等号)将信息网络传播权授权给B时,一般会同时声明B可以在授权期限内以自己的名义进行打击盗版等维权行动,这就是版权维护授权书。
如若只有这个东西的话,而没有用户版权权利授权,那么版权维护授权是无法单独存在的。就好像,你可以租给别人一个空调附带一个遥控器,但要单租一个遥控器出去别人怎么用呢?
但仔细阅读这一篇专栏文章,既然知乎可以进行诉讼,那么其可能使用的方式不外乎两种:
1.知乎获得作者著作权授权,自然也就有了维权之权利
2.知乎团队雇佣了律师团队,由律师作为代理人代理各作者进行维权。如若不如此,其诉讼行为很难从诉讼法的角度自圆。
或者说,文章所称的“版权维权授权书”其实只是一个笔误。但不论如何,知乎团队已经成功立案,敲响了对微博营销号无羞耻心的侵权行为战斗的锣。我们要肯定知乎版权团队对于维护用户合法权益以及维护互联网良好的版权保护环境所作的努力。
“任何一个智力成果,都值得捍卫。”
在此,希望知乎团队能在侵权证据方面进行无巨细无遗漏的考虑,我们期待这个案子朝良好的方向发展。
3.目前有7位知乎用户委托知乎方面进行相关诉讼维权,那么其他作者应该怎么做?
第一种:假如这七位知乎作者是以将著作权授权给知乎的方式来处理的话,那么就意味着此次知乎的诉讼行为是以自己的名义进行的,诉讼所产生的后果也是由知乎方面承担。而七位作者所能享受的 仅仅是著作权授权所带来的一些权利(知乎方面给付的授权费用),以及诉讼后果中可能会有涉及著作人身权的部分权利(赔礼道歉等)。如果最后法院判决被告赔偿一定金额的话,那么这部分赔偿金将很难与七位作者有缘相见。不过,这样做的好处是,权利相对集中,对于诉讼程序的简化有很大的帮助,案件也会更加具有可操控性。由知乎方面统一进行诉讼活动,避免了不必要的人力消耗,法院也会更喜欢这种模式。同时对于作者来说,交给一个值得信赖的大团队来维权毕竟比自己参与维权来得简单,但其与知乎方面的利益分配就要作者自己把握好谈判方式了。
第二种:假如这七位知乎作者是以委托知乎方面请的律师团队的方式来进行维权的话,那么诉讼后果就直接由作者承担,也许律师费用和其他费用会由知乎方面出,但是最后判赔的钱款将能与作者见面。多让人省心,如果是这样知乎团队就真的太贴心啦。这种情况下势必造成原告一大堆,被告就一个的共同诉讼案件,诉讼标的是同一种类的话法院可能会合并审理,但毕竟人多,多让人闹心。
第一种情况下,其他作者如果要维权,就需和这七位作者一样把作品著作权授权给知乎方面,后果我在上面已经说过,不再赘述。
第二种情况下,其他作者要维权,既可和知乎方面说:带我一个。律师只不过多和一个人签个委托合同,也是蛮简单易行的。当然,也可以自己召集一下被侵权作者,然后大家一起再找个律师团队也行,但维权之路漫漫,最后法院可能会依据哪些要素判决判赔多少以及诉讼成本等等我在之后慢慢来说吧。
今天先说这么多,如果能收到感谢的话我会持续更新。站在著作权维权实务角度进行分析,法律味道可能浓一点。
未完成议题:
若维权该如何运作?(确定维权对象,证据保全,管辖法院,诉讼技巧,赔偿金额认定方式等)
知乎是否可以独立诉微博?(不正当竞争)
告微博好还是告营销号好?(营销号主体难以确定,自然人难以执行等问题)如何建立良好的作者著作权保护环境?