学产品经理那个机构好一点?

【文章摘要】做为一个不太了解互联网的小白,经常分不清互联网的职业名称,不清楚发展前景和门槛,想进入这个行业又不知道怎么开始。

问:IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?做为一个不太了解互联网的小白,经常分不清互联网的职业名称,不清楚发展前景和门槛,想进入这个行业又不知道怎么开始。

@xdyl答:互联网行业的薪资水准相对较高,刚入行一个月,半年,或者一年超过其他行业薪资很正常。那么,互联网行业究竟有哪些职位呢,又分别适合哪些传统行业转型?

无论是哪一种程序员,学会搭好的自己的环境都是第一步。选好IDE,选好源码管理工具,学会每天把自己做好的Html文件发布到服务器上可以直接访问。这都是最基础的技能,记着这些东西并不难,你只是需要不断的去练习去熟悉它而已。所以从第一开始就去适应它。

会用PS是因为一是要切图,二是要制作雪碧图。这儿简单说一下,很多人都会说,切图这个活倒底分给UI还是分给前端。我一直都觉得这是CSS必须要做的,因为只有CSSER才会知道怎么切合适。然而大部分Android和IOS人员都不具备切图的能力,这也是我一直很无语的工作方式,反正,我要求我的Team,无论是Android还是IOS都必须要会自己切图。

另外再解释一下所谓切图和切页面的概念。切图指的是把需要用到的小图标了神马的切出来。切页面一般指的是就是把整个效果图做成Html网页。两种叫法我都觉得Low的不行,然而很多人都喜欢这么叫,而且会混到一起,时间长了,也就习惯了。

自适应和响应式是前端人员必须要懂的概念,也是必须要能做到的。毕竟现在是各种跨屏时代,以及各种分辨率都层出不穷,H5又是眼下最火红的职业和技能。

曾经有过工作半年或者是一年都不太懂什么是自适应和响应式的,这并不好。

Bootstrap,Less和Flex也是CSS工程师必须要会的。学会Bootstrap更重要的还是要去学习它的思想,这是很重要的一点,它帮助你开阔视野,你才会明白,靠,原来可以这么写。

Less也是一样,在推荐less和Sass之前我犹豫了很久,然而看到Sass要Ruby环境就有点不喜欢了,虽然Bootstrap已经转向Sass,但是在一般的项目中,Less也够用了。所以还是果断的推荐Less了。

Flex是一个好东西,我了解的还不多,在真实的项目中还未有使用过,不过挺看好的。

简单说呢,前端工程师需要的大多数就是技术相关的技能,倒不需要太多的沟通啊和耐性啊神马的技巧。

哦哦,想起来了,CSS的知识比较零散,要死记的东西其实是比较多的。

CSS的发展前景最近几年好的不行。在Android和IOS大行其道的时候,一大部分人都转去做了这两个行业,然而突然之间,因为微信的缘故加上JS的魅力,H5突然又火爆起来,所以呢,CSS整体来说还是一个挺靠谱的职业。最关键的是,CSS入门最快的职业啊,几乎零门槛,只是转JS还是挺不容易的。

CSS薪水如果纯粹只是做CSS的话,12K到15K基本上就是封顶了。。。所以:

CSS的成长是非常快的。专门去学的小白都是一个月左右就可以独立做项目,可以进入IT修真界闯荡江湖了。正常情况下,3个月左右是没问题的。

我的要求比较高,所以所谓的独立做项目就一定是独立做项目,不用怀疑这一点。包括自适应,响应式和Bootstrap。

所以。想要拿高薪,CSS都必须要学JS,没有其他的途径。

不要相信NodeJS,那只是玩玩而已。不要想从前端转后端,太难了,后端和前端是两个不同的概念,特别是对基础知识要求的特别高。

CSS和JS最好的方式就是IOS和Android通吃,精通一种,然后其他的能做项目,并不需要考虑其他的选择,推荐再学点其他脚本语言,首推Python,永远不要去学PHP,表问我为啥,个人好恶。

你一定要问,等我心情不好的时候再说。

零门槛!你相信咩,一个程序员的职业居然可以零门槛进入。。。

好吧,大多数人其实并不把CSSER称为程序员,不过,你至少学会了CSS,就能在IT修真界这个神奇的元世界里生存,就有了进军其他职业的可能性。

5.哪些行业适合做CSS

PS:正常人都可以学的会啦(马丹我就不是正常人)

CSS的职业限制有三个,一个就是不去学自适应和响应式,一个是不去学框架,另一个就是学不会JS。

这三点都是很重要的突破。然后这个职业呢,怎么讲,在一家公司里可替代的程度比较高,并不算特别重要,做不了核心岗,也不存在什么代码交接。你就算代码写的再烂,也最多就是花一个月时间重写。。。

所以如果你不想做JS,你就真的真的发展受限制了,一定要记着,CSS只是你的一个跳板。

另外,因为零门槛,所以你其实还是有很多计算机相关的知识要补的,这是一定的,没什么可商量的。

只是做前端还好,如果想做后端,只是不想花那么长的时间才进入这个行业,就必须要从CSS做起,跟着用自己的其他时间恶补计算机基础了。

7.去哪里学,怎么成长

如果你不要看视频或者是交钱学什么的,看W3C吧,自己按照别人的偷偷做项目,跟着就找家公司实习去吧。

虽然慢了点,好坏也入门了。

JS说起来必须是一个神器,这个当年10天内被开发出来的神器,以一种谁也想象不到的速度快速发展,它击败了Java Applet,逼死Flash,当Android和IOS看似一统全球的时候,JS慢条斯理的和Html5一起蚕食App市场,甚至还出来了NodeJS这种连后端都不放过的残暴东西。

原生和WEB的两种方式一直在争论不休,而我自己在三年前就是绝对的WEB支持者,windows对于JS支持的更彻底,只是Winphone一直不给力。

好吧,对于拿NODEJS做后端工程项目我还是有点不情愿,然而提供各种辅助工具什么的还是挺不错的。JQuery,Ajax和RequireJS和Angularjs和PhoneGap都是一些标志性的转变,还包括ReactJS。JS简直了,简直了,简直什么都不放过。

所以JS简单么?我带着你们了解一下JS工程师是什么样子的。

JS工程师其实分成两类,在之前讲CSS的时候已经提到过,一个是套页面的,一个是前后端分离的。对这两个概念还是分不太清的,可以回过头去看CSS的部分。

对于套页面来说,JS工程师的职责非常简单,一个是做一些简单的动画和交互和验证,轮播图,弹框,验证用户名是否为空等等。另一个就是通过Ajax取一些后台数据,然后在页面上展示出来。

那个时候的JS工程师并不被太多人重视,很多时候一些后端的人把前端的工作也做了--除了写CSS,大部分的后端工程师写点JS还是不成问题的。

可是前后端分离的出现,彻彻底底的改变了前端的世界。前端居然有架构了,前端居然也有“编译”的概念了(你能想象么,JS的项目居然不能直接打开源码直接使用了,必须要经过编译才可以)。前端工程师和后端工程师只通过Json数据交互(感谢Nginx提供了一个完美的跨域解决方案,再也不用什么Jsonp了),然后服务器端的同学发现:好简单啊,我对Android,对IOS,对Html都只需要提供一套API就够了~~

前端同学更开心,再也不用去搭建各种悲剧的开发环境了!前端变的很轻,而且控制欲很强(AngualarJS好赞),页面跳转神马的SoEasy,而且也有了Bower这样的包管理工具,还有类似于JSP自定义Tag的指令,MVC,还有了Service的概念,马丹,前端到底发生了什么!

所以我们现在说到的,基本上就是前后端分离的工程师,他们的工作职责就是和IOS&Android的工程师一样,跟后端定接口,确定框架和架构,分模块,然后跟后端联调互相吐槽对方是渣渣。

项目结束之后修复线上Bug,不停的跟用户说:在我这里是正常的,你换个浏览器试试?不行就清一下Cookie,再不然就换台电脑。

  • 业务【金融,教育,医疗,汽车,房产等等等等各种行业】
  • 第三方【微信,QQ等各种第三方登录,支付,IM,地图,语音,视频,图片】

环境不说了,参考CSS的。

基础跟CSS差别就好大了,要有一些网络协议的基本概念,要了解什么是Http,什么是Https,什么是WebSocket,什么是Rest,各种JS的语法(太复杂的完全不用管,别去管什么闭包什么Prototype什么This的指向),Json是必不可少的东西。

框架就多了去了。直接拿JQuery来学习就好,表去太在意什么原生语法,大部分场景你都不用担心引入一个JQuery的库导致系统变慢,AngularJS真是一个好东西,表太纠结一些细节,Bower,RequireJS和GruntJS这些会有一些前端大牛帮你搭好框架你直接用就好了。

想做点App就用PhoneGap,想尝试一下ReactJS就去试吧(我很想试一下然而看到有Render就看不下去了)。

必须提醒一次,如果你是从CSS转到JS的,这里强调的就是,你必须要懂业务逻辑,这跟CSS完全不需要懂业务逻辑简直是天壤之别,很多时候你并不是因为技术而无法学会JS,而是缺少对于业务逻辑的理解。

当然啊,这并没有完。还有无数的第三方库等着你,做微信呢你必须要用WX的SDK,要用百度地图呢就必须要用百度的SDK,还有各种支付啊神马的。如果你要做IM就有环信啊神马的。

所以。JS就是一个真正的程序员,一个真正的工程师,不但要能把代码实现,还需要理解需求,需要懂得编码规范,需要知道如何控制项目流程和进度风险,需要修复线下Bug,需要调优,需要做版本管理,需要制订接口,需要编写技术文档,还需要做新技术的调研或者是带新人。

我说了那么多,你们对JS的期望也很高了吧。坦白的说,有点高的离谱!

JS是唯一一个可以在两年之内薪水到20K的职业。

虽然工作五年或者是七年的JS在薪水上差别并不太大,但是也已经让很多人难以置信了好么。

好多人在别的行业,工作十年都拿不到10K啊亲。

JS的入门相对来说比CSS难的多,但是他的好处是学会一点是一点,并不像Java一样,绝对是前期Gank型英雄,到了6级就能四处杀人。Java是后期,要到16级以后才能出山才能够震撼全场。

所以JS相对来说比较平滑,而且现在学习的曲线也比较清晰,慢慢在业界都形成了相对完善的框架。JS可以选择前进的路有很多种,只要你不是太瞎,就没什么大的问题。

成长路径:JS菜鸟-JS初级工程师-JS中级工程师-JS架构师-UED-前端Leader-前端大牛

大概这个样子啦,JS工程师在后面有一点后续无力,一般来说,我还是强烈推荐JS,IOS,Android三者通吃,在我的带的Team中也一直要求他们这么做(虽然并未能完全实施成功)。

这三者有太多相似之处了,到最后你会发现,语言只是一种工具而已。要做的事情,其实是差不太多的,并不需要对所有的语言都特别熟悉,有一种打底的,其他的都可以随意去玩了。

必须有CSS基础,必须有CSS基础,必须有CSS基础。

或者是有后端Java基础。

总之你要么是会了CSS,要么是精通了一种后端语言,千万不要CSS没学好,后端语言也不会就直接学JS,心里会没底,不踏实。

其他的都没什么了,列出来的基础知识,自己慢慢补就行了。

5.哪些行业适合做JS

IT界:CSS,然后是所有的都可以

好蛋疼的结论然而事实上就是如此,这波JS的红利受益于微信,以及移动端的普及。我不确定在三年或者是五年之后会不会还是这种状态,然而三年和五年已经足够可以改变你的人生了,所以,你在等毛线?

JS的职业限制也挺多的,主要就在于学习的方向上很容易误入歧途(至少在我眼里是这样的,相信我,我不是什么好人,我并不会我说过的每一句话负责)。比如说一直坚持喜欢用原生,各种喜欢写一些奇奇怪怪语法(我把我看不懂的语法都归结为奇怪的语法),各种回调等等等等。

学到一些好的框架其实很赞的,对于大多数人来讲,就够了。只是缺少一个清晰的指引。

有的时候你会发现,你对Http了解的比较少,会是一个瓶颈。

你对数组啊,循环啊不了解,是一个瓶颈。

你对MVC不了解,也是另一个瓶颈。

对Json不懂,不知道怎么定接口,也是个问题。

这些都学会了,也会遇到一些问题。就是JS的工程师三年,五年,七年的差别,大多数人都不算特别的大。

所以总会有人想学后端--但是我绝对不赞成学Java,NodeJS也可以不去学,不如去学习Python,更不要提PHP啦(我真心不喜欢PHP,不知道为嘛)

或者说,后端并不是语法,而是牵涉到算法,架构,性能,业务,选型等等跟前端几乎没有任何关系的知识,所以学习一门脚本语言,能做点简单的东西就好了。

还是需要把注意力转到IOS,Android上去。

7.去哪里学,怎么成长

如果你不想用这种方式去学习,还是我之前说的那些话,W3C,然后做点东西,跟着去一家公司实习。

说到后端,其实我主要想说的是Java。C和PHP这两种语言我都不喜欢,之前也说过了,我自己绝对不是一个说话公平公正的人,什么观点都带着自己偏激和极端的调调。

我之前在贴吧跟Java吧的吧主一直在撕逼(原因很简单,我说教大家学Java,一个月收400块钱,他说我是骗子封我贴。然后我说好吧,我不说教大家学Java了,我来给大家解决在学习过程中遇到的困惑,他说贴吧不能发问答贴。我说行,那么我就写一些新人学Java必须要学数据库,数据结构和计算机网络,于是一群吧主过来喷我说,我没学过这些我也照样学会Java了啊,什么多线程什么继承等等,我无语了解释说Java语法不重要,重要的是要学会后端的架构,要懂算法,要懂业务,要懂系统的扩展性,要会调试程序,于是吧主们就把我封了,我很不爽,就新开贴子跟他们撕逼对骂--我从来不是一个重身份的人,我骂人会很脏,所以如果看到这个贴子觉得我很厉害那么你瞎眼了,我就是一个不喜欢就说,谁喷我一脸我喷谁一身的性格,现在的结果就是Java吧的吧主每隔10天就来封我一次-哈哈哈哈哈比闹钟都要准,所以三个月过去了,我带出来很多CSS和JS的学员,然而Java的学员并没有多少。所以如果有人去Java吧替我骂一下那些XX吧主并且截图给我看,我会很开心很开心很开心,说不定就会给你们开小灶哈哈哈哈。)

之所以说这些,一方面是400多的赞让我觉得有点羞愧,另一方面也是想强调一个概念,学后端,学会语法只是开始而已,最后一个就是我是一个小人,谁欺负我我就想欺负回去。

我想想该怎么描述后端的工作。后端跟前端是截然不同的,之前讲过。前端是Gank,后端是大后期,要等到16级以后才能V5起来,而且我非常不推荐前端去学后端(所谓的全栈工程师完全是扯,我有时间会写一下,为什么不要去做一个全栈工程师)。后端要积累到足够多的项目经验,才能够成为一个靠谱的后端工程师。我觉得。我来举一个跟着我线下半年的小培宇的例子就能简单说明一下后端的工作。

小培宇是第一个来到我大修院面试(嗯,最初我是给他们发工资然后带他们学习的)的人,跟我讲他是考研失败,差了几分,然后也做过点项目,我随便问了几句就知道了他的状态:人挺聪明的,但是在学校肯定玩的疯,所以问点排序算法还是能够答的出来,数据结构也懂一点儿,LinkedList和ArrayList删除数据谁更快也能答的挺靠谱的,但是绝对绝对没写过一行工程代码。

他打动我的那句话就是:不在乎工资多少就想多学点东西。很好,我默默的点个赞,因为我本身就想把自己这几年积累的经验和知识和走过的坑整理出来,告诉互联网的新人,所以也不抵触带新人,坦白说,愿意像我这样带新人的公司,几乎没有,带新人真不是一般的累。幸好我之前在各种公司中都带过各种新人,好的坏的都带过,所以还算是熟悉。

于是我给培宇精心设计了他的学习曲线,这也是我大IT核心观点:

3.做一个相对复杂的系统DB设计,接口设计,项目部署,错误提示,Bug查找,怎么打系统日志。

4.做了一个微信相关的项目,了解微信的API,交互方式,Cookie,拦截器,AOP,登录系统的设计,命名规范等。

5.拆分Service,将Home和Service分开,使用RMI调用,实现各个层次之间都可以完成分布式的部署,使用Tuscany(真心喜欢Tuscany)完成SCA。

6.使用MongoDB完成地理位置的搜索,短信,图片上传,云存储,使用Tiles来配置页面模板。

这些内容他花了将近三个月的时间。对他来说已经是学会了很多东西了,这三个月是几乎没日没夜的学出来的,要知道他之前压根就不知道什么是Spring,生成Json和套JSP的区别我骂了他好几次他才弄明白,经常会遇到一些Maven或者是Tuscany的报错不知道该怎么解决,数据库字段的规范和接口规范常常被我黑的体无完肤。很多东西都只是知道个皮毛而已,你们自己说说,学会Java语法算什么?

这还是有我来带,有我来教,有我给他定制合适的项目教给他去做,如果没有这些,你们自己学,学会我说的这些东西要多久?

别的不说,学会怎么打日志,怎么根据线上的报错去找错就不是一个月两个月能解决的。做为一个工程师,应该明白,很多时候要学会正确的路怎么走,还必须要知道错误的路是走不通的。正确的路大概就那么几条,错误的路呢?

为什么很多时候我看到错误日志就会明白是什么地方报错了,是因为我之前花了无数的心血和心力在查找这些错误上,所谓的经验就是这样,看的多了,一眼就知道大概什么地方报错了,然后随便百度下,就能找到解决方案,跟着去尝试倒底行或者是不行。这些是看书,或者是看视频能教会你的么?

到现在为止培宇已经跟了我快半年了,还是被我骂的狗血喷头,别的不说,就是接口的Wiki文档和代码保持一致,他都会经常犯错---这跟Java语法有什么关系,然而不经过一个好的训练,想做的很好,很不容易。

其实他接下来要学的东西更多。Memcache或者是Redis,ActiveMQ或者是RabbitMQ或者是QPid,Mybatis或者是SpringJDBC,Struts或者是SpringMVC,我告诉他的只是一个我们在项目中经过实践的,认为最合适的架构体系,然而他并不知道是怎么选择的。他必须要把这些相关的选择都有所了解,然后才能成为一个架构师。这个时间,如果一直跟着我,我觉得应该是在一年到两年左右。

这是一个横向扩展的内容,在这个时候我还没有要求他去看一些深层的东西。只是需要他停留在会用的状态就可以。在会用这些技术之后,再去了解一些自己喜欢的技术的细节,不成为一个只会使用工具的码农,所以培宇问我还需要多久才能达到我的水平的时候,我其实并不想打击他。我也是很刻苦努力的人啊,曾经无数个日夜也是默默的去一行一行代码去用最笨的方法调错,并没有人告诉我怎么样是正确的只有靠一个又一个的项目总结出来的经验。

而且我还会一些Drools,CRM,Lucene等等一些和架构师关系不大的事儿偏算法一些的东西,毕竟当年也学过点数据挖掘机器学习之类的内容。

就算是学会这些了,对于一个后端工程师来说就够了么?不不不,还需要学习JVM优化,监控,部署流程,发布流程,项目进度管理,代码重构等等等等。

所以,你们自己算算,这些东西如果都学会,一个Java工程师要多久才能成为架构师?

然而我还是对带培宇很有信心,首先他相信我,他愿意学,跟我当年一样,不怕苦不怕累,人也够聪明,做事也有责任心,其次我知道他应该怎么走这条路,先做什么,再做什么,哪些该花时间和精力,哪些不该花。

我希望他能够在一年之内就成为一个架构师。就如他在三个月和六个月之间独立做项目已经不成问题了一样(记着,我说的是独立做项目,自己设计DB设计接口设计架构完成需要的功能,从设计到实现完全自己来)。

我也希望我能够帮助很多和培宇一样,有实力有能力只是没有遇到我的那些人,这也是我为什么在知乎发贴的原因,IT技术的培训,哪些培训机构能做到这一点?

这个真实的小故事,就是想跟大家提前说清楚,我对后端的要求有多高,这也是后端特别好玩的地方。你必须要会很多种框架,有足够宽广的视野,还需要有足够多的项目经验(做金融和做地产是两个完全不同的概念),还需要懂项目开发流程以及快速定位线上问题的能力。

这些,就是我说的后端的主要工作内容了,这也是为嘛我说到后端的时候,大部分就是在指Java,而我说Java的时候,基本上是只指后端,根本就不是指Java的语法。更不是说是Android。

现在明白为什么后端是大后期了么, 为什么不建议前端学后端了么。后端要懂的东西,太多了。

言归正传,我来讲一下后端工程师的相关内容。

大部分的后端工程师都停留在功能实现的层面上。这是现在国内二流或者是三流的公司的现状,甚至是在某些一流的公司。很多时候都是架构师出了架构设计,更多的外包公司根本就是有DBA来做设计,然后后端程序员从JS到CSS到Java全写,完全就是一个通道,所有的复杂逻辑全部交给DB来做,这也是几年前DBA很受重视的原因。

所以你能看到成千上万行的存储过程(存储过程,视图,事务,外键 这些东西我真心希望永远不要在Mysql里出现),这就是外包公司中最常见的架构体系。来个SSH,Over。

好一点的会个WebService,用过ActiveMQ,也用过Redis,甚至还会用过Dubbo。然而大多数情况也根本不了解为什么这么用。

很多人写了两年或者三年代码都没做过独立的DB设计,不知道什么是REST,不懂怎么做接口设计,也不知道怎么去定位问题。

所以对于他们来说,拿到产品经理的需要,会有一个项目经理或者是Leader分配任务,跟着按步就班的把代码写完,跟前端调试完,QA测试不通过,加班改回来重新改,改完QA又没通过,再加班再改,QA终于通过了然后上线了突然发现另一个好的功能不能用了,跟着再接着改,在线上发布一次又一次。。眼睛熬的通红最终真的受不了了,休息几天换另一家公司涨个40%左右的薪水继续这样的日子。

不不不。我带出来的后端程序员并不要这么做。所以,我带的后端程序员的工作方式是这样的。

拿到产品需求-》后端程序员做接口设计,架构设计,DB设计-》拿出方案来做技术方案评审-》评审通过,开始预估时间-》每日更新自己的Task-》接口完成自测一百遍,每日部署到开发环境,随时集成-》CodeReview-》重构代码-》性能测试-》Demo通过-》发布到测试环境-》修正Bug-》重新发布-》发布到线上环境。

这中间需要理解需求,需要拿出多个方案,需要跟前端配合,需要跟QA配合,需要跟运维配合。需要跟产品沟通,有时候还需要找UI。后端几乎是一个核心节点,而这个核心节点接起来了所有的人。

我不知道我讲清楚没,很多时候我都发现我可能太久没做一个IT新人了,都忘记了新人们关心的问题或者是困惑是什么。

这就是我知道的,两种后端程序员的工作内容。你选哪一种?

  • 基础【Http,REST,跨域,语法,Websocket,数据库,计算机网络,操作系统,算法,数据结构】
  • 业务【金融,教育,医疗,汽车,房产等等等等各种行业】
  • 第三方【微信,QQ等各种第三方登录,支付,IM,地图,语音,视频,图片】

环境不说了,搭环境永远是后端人员比较头疼的事儿,所以才会有很多人想用简单方便的的语言来解决这些问题,比如说Python之类的。我还是喜欢Java,大概很多人觉得重,然而我喜欢,我觉得不是“重”,而是“正”。好像剑一样,王者之剑,路子很正。

基础知识太多了,正是我一直强调的,做后端,这些基础知识了解多少,其实就是决定了你以后能走多远。这些科班出身的计算机ER,会了这些,才有了一个平台,才可以站在这个平台之上去搭建更高层的建筑,如果根基不稳,你觉得你会对上层的知识理解透彻么?

框架是Java最有资格说自己是架构师的原因。无数的开源框架,选型,筛选,对比,填坑,优化,维护,寻找最适合的业务场景,很多时候很多公司的架构简直了(我不吐了,很多技术都在用然而每一种用法几乎都是错误用例的典范)。所以你想想,你大概要有多少框架要学要用?很多时候,你必须要想清楚,哪些是需要认真了解的,哪些是需要一笔带过的。

业务对于后端人员来讲无比重要,不懂业务,就没有架构。这是我经常说的一句话,这个世界上不存在不懂业务的架构师(我不怕被打脸),一个架构师必须要深入了解业务体系,知道哪些是会变的,哪些是不会变的,哪些是重要的,哪些是不重要的,然后才能做出来适合某个应用场景的架构来。比如说,同样的表,几千万的量和几亿的量差别非常大,频繁读和频繁写的设计也完全不同。会有一些通用的架构思想和理念在里面,但是都是需要跟业务结合落地的。

PS:很多金融证券行业的程序员,就是靠业务知识混饭吃的。对他们来说,对业务体系的了解要比在技术上的追求重要的多。

第三方的东西和JS的内容相似,我不想多说了,而且 JAVA的第三方的东西更是多的离谱,坦白的说Drools这东西我就没彻底研究明白,虽然很喜欢。而像这种类似的东西,太多太多了。

对于后端人员的发展前景,我有两点想说的。

A.无论是B/S还是C/S,无论是WEB还是原生,或者是智能硬件,后端都会屹立不倒。

B.随着后端架构体系的稳定和成熟,后端人员在性能上需要担心的问题不多(再加上大部分应用场景其实并不需要那么多的性能),所以更多的应该会关注于一个稳定的扩展性好的架构,以及快速实现能够复用的业务逻辑模块实现上。

最近后端人员在价格上,其实有点偏低于前端人员的,就向我之前所说。两年的JS可能拿到20K。两年的Java想拿到这个,非常难。然而,五年的Java或者是七年的Java,拿到30~40K,不难。

成长路径:Java初级工程师-Java中级工程师-架构师-技术经理-技术总监-CTO-CEO

后端的爆发力并不差,只要你给他时间,只要你愿意前进,后端的路线很深,深到你有时候会觉得自己还没来得及全部了解,就已经有无数的新人涌进来要替换你的位置了。

计算机网络,数据结构,数据库,操作系统,Java基础语法。

Java是入门门槛最高的一个,没有之一。(好吧,我虽然说的是后端,然而一直把Java等同于后端)

当然,如果你的志向并不是一个架构师,只是像NodeJS和Python或者是PHP一样随便做点小项目,那么也可以说的得上是没有门槛,但是我说过我有偏见,所以可以直接把我无视掉。如果你觉得我说的哪点不对,你过来揍我啊。

要跟我学Java,就必须把这些基础知识学好,我只带想成为架构师的人。

5.哪些行业适合做后端工程师

科班生:计算机专业的中等水平能力以上

所以如果有各种培训学校告诉你零基础4个月20000块钱把你教出来做Java后端,然后你月薪上万,你就直接一锅盖盖他脸上吧。

那么零基础的人想做后端,怎么样才能入门呢,我比较推荐的是先做前端,然后把自己的基础知识各种补,补回来,再去转后端--但是实际上,你做了前端,再想转后端,就太难了,因为你到时候就不太想放弃自己一年或两年就可以轻松拿到的高薪,去做一个苦逼的后端了。

后端的职业限制有很多,第一个职业限制就是不去做独立的项目,不做DB设计,不做接口设计。

第二个职业限制就是视野不开阔,不知道有什么样的开源软件可以用。

第三个职业限制就是不重视线上环境,不知道如何写日报,也不知道如何快速定位。我不得不说我带过的兄弟,有一次解决线上问题的时候快把我气疯了,他们在那里猜测问题出现的原因,跟玩福尔摩斯一样,不打日志不看日志,根据现象倒推结果,直接盲改代码再扔到线上看看有没有解决问题---那是最后逼不得已的办法好么,在此之前能不能安静的把日志打出来,确认一下到底是哪里出错了?

第四个职业限制就是不懂版本管理,不懂Bug修复流程,不懂开发流程。这些其实都是一整套的流程体系(等我心情好了,有人把Java贴吧吧主骂的狗血喷头了,我大概也会写出来)

大部分后端的人员都会抱怨自己不会写前端代码,不会写Android或者是IOS,不能自己独立完成项目,所以他们才倾向于自己做一个全栈工程师,做一个自己喜欢做的东西。

这也是后端人员会经常觉得不爽的地方,自己写的东西完全感受不到,而且一旦出问题很多时候都是大问题,解决起来很麻烦,经常不敢改代码,因为看不懂前人的东西。

有时候后端人员会比较木,虽然很各种职业都交流,但是多数都会觉得自己很NB其他人都很SB。

这也是后端人员比较大的问题,往上走的话也容易遇到各种瓶颈,做技术的,做到CTO,再去做CEO,其实很难的。

而且,等你走到足够高的高度,你会发现,一个七年工作经验的正常发展的后端工程师,一定会有一个七年工作经验的产品或者是运营,在薪水和职业上秒杀他。这也是做技术的最大的悲剧。

不过大部分的后端工程师都比大部分的产品和运营人员薪水高,这也是这个行业的特征之一,所谓高不成低不就,小富即安,就是这样的。

如果你是一个有理想的后端工程师,我建议你多关注一些敏捷开发,多关注一些项目管理,学会带着自己的兄弟们一起做事儿。再不然,就是在技术这条路上一直走到黑。

7.去哪里学,怎么成长

基础知识不要来找我,我不教。随便去其他的学校补基础也可以。想要提高或者是想要成为架构师,就来找我。

我在说培宇的时候其实已经讲清楚了我是怎么带人的,但是在线上做这些,确实有难度,而我又不想教一些虚头巴脑的东西害人害已,所以我还在想办法解决怎么样在线上把后端工程师带好的问题。

如果看到这里觉得我说的有道理,一定要称赞我,催促我,让我觉得这个事情有意义,值得做。

想做好,真的挺不容易的。所以,能转就转,能收藏就收藏,能推荐就推荐。我想我应该能想到一个好的办法,来帮助后端工程师,把成长的时间从五年到七年,缩短到一年到三年,至少在线下,我是绝对有信心的,这种信心来自于我之前这么做过。以及我正在做。

你们可以随时找培宇聊聊,看看他这些日子倒底是怎么被我骂的狗血喷头然后开心快乐的活着的

首先说,我对DBA的了解并不专业,也不够多,而且对这个职业也有偏见。所以,我只能把我感受到的,我会的讲出来,然后如果说你们觉得我说的不对,要么自己开贴回答来打我的脸,我虚心学习,要么就直接笑笑走开,表在评论里说三道四,最烦这个。

七年或者八年或者很早之前,DBA是非常吃香的职业。讲这个,大概要从系统的性能瓶颈说起。

很早之前,互联网刚开始的时候,算是蛮荒时代。那时候大家写代码还没有规范,能把功能做出来就不错了,大家拼的是什么呢,Sql的性能。基本上就是没有中间层,也不会分什么服务层和Web层,很多时候SQL都写到页面上。

然后Sql呢,又属于那种外键,视图,存储过程的天下。这就导致了出现一个问题。大部分的功能都是通过DB来实现的,也就是说,什么计算啊,分组啊,排序啊,筛选啊,全是靠DB来做。

小功能还没问题,功能一多,问题就出来了,一个Sql语句执行了半个小时没做完,然后整个系统崩溃掉了。

那么,怎么解决呢,解决的方案就是。。。。我其实很难理解这种思考方式。。。。 就是找一些人,对DB特别熟悉,他的职责就是审核所有程序员的Sql语句,去找出来这些Sql哪些用到索引了,哪些没用,能不能执行,怎么优化,以及监控线上的慢Sql。一个公司能养得起DBA的,很NB了。很贵的!

所以这是那个时候的DBA,但是,很快大家发现有不同的方式了,这种方式就是,我靠,原来我可以用分库分表,我可以做读写分离,我能做主从。于是对于DBA的依赖又重了一些,再加上数据的安全和备份,所以DBA的作用已经有点偏移,然而最关键的还是系统架构的发展变化了。分布式的概念慢慢的起来了,大家明白了一件事儿:机器不够,并不是说把服务器升级成小型机就能搞定了,而是应该用更多的机器来做,因为便宜,而且更简单。所以后台的系统架构慢慢的演化出来很多不同的层。WEB层,服务层,缓存层,DB层。对于缓存的使用越来越重要,由此而变化的观点就是数据分成了缓存和持久两种结果,DB慢慢的变成了持久层-也就是说,只是要把数据持久化,并不希望它去承载用户的压力,缓存主要用来扛并发,不需要做持久。这是一个很关键的点,也是决定DBA命运的转折点。

当然现在还看不出来(像MongoDB,Cassandra,这些,又是另外一种不同的技术走向,包括Mysql也在不断的想要提升自己的性能),所以这些东西我们先抛到一边不谈。只说这中间发生了一个变化,对于后端人员来说,对数据库访问的变的严格起来了。尽量单表操作,不允许复杂查询,设计架构的时候必须考虑缓存,甚至我们在白社会的时候还设计了一套通用的DB访问机制--虽然是七年前的设计然而现在一直都觉得很赞,只是再也没有如我在搜狐的时候那群人做这些事了-反正我见识少,一直在小公司混,也不怕你们嘲笑我见识少。

这样就导致DBA的一个很重要的工作职责,失去意义:就是查找慢Sql,因为我们在系统架构层已经决定了不再这么使用DB。这样使得Oracle什么的也慢慢的失去了价值-我知道我说的每一句话都有可能会引起争论,所以我不得不再次强调一次,纯属个人的脑残关点,不喜欢的话,要么认真的回复来打我的脸教我做人我认真学习,要么就是滚远点表理我。 包括建表,去除外键,去除事务,去掉视图等等等,一瞬间,DB的使用简单多了。

那么,DBA还能做什么呢?

对于我现在的理解来说,DBA的职责慢慢变成了数据备份和安全策略--然而这部分又跟运维的工作有了冲突,所以在某种程度上来讲,我都会在五十人左右的公司把DBA安排到运维部分,跟运维的兄弟们做基友。可是现在云服务器也变的越来越好用了,这里也推荐一下好友的金山云和Ucloud。阿里云跟我并没有神马认识的人,所以不推。

DBA除了之前提到的主从,读写,数据备份,权限控制,分库等等,还应该再扩展视野,把MongoDB,Redis,memcache,elasitcSearch,hadoop等等这些数据全部管起来。我觉得,更像是一个运维的分支了。

这就是我目前认可的DBA的价值和意义,已经从之前的性能优化部分转移到了数据备份和安全。

毕竟,性能,架构,和优化这些东西,是离不开业务系统的。

那么,接下来,和之前一样,继续介绍一下DBA的工作内容。

如果你做了一个DBA,基本上会遇到两种情况。一种是你的后端工程师懂架构,知道怎么合便使用DB,知道如何防止穿透DB,那么恭喜你,你只是需要当一个DB技术兜底的顾问就好,基本上没什么活可以做,做个监控,写个统计就好了。你可以花时间在MongoDB了,Hadoop了这些,随便玩玩儿。再按照我之前说的,做好数据备份。如果需求变动比较大,往往会牵涉到一些线上数据的更改,那么就在发布的时候安静的等着,等着他们出问题。。。。如果不出问题就可以回家睡觉了。

另一种情况就是我刚刚提到的,大部分程序还是靠SQl,然后有时候DBA还需要写几万行的存储过程,那么你的主要职责还是优化Sql,优化Sql,永远不停的优化SQL。

还有就是多花点时间把MongoDB和hadoop这些都维护起来,或者简单说,只要跟数据安全,备份相关的东西,都维护起来。

  • 工具【各种DB的版本,工具,备份,日志等】

这个说是环境已经有点勉强了,毕竟是一些吃饭的家伙。就是各种DB,各种维护什么的。

工具也是相关的内容,再强调一下对版本的熟悉程度。

DBA的发展前景我说不好。一些简单的工作。运维也是慢慢学会了。包括薪水,这个是我比较没把握的。之前的薪水都是有迹可寻的,DBA的薪水我接触的比较少,实在是没什么底气。

    (我好心虚。。我只给一个DBA开过工资)

成长路径:也不知道有啥成长路径,感觉这个职业的物种越来越稀少了。

DBA的入门门槛也是比较高的,而且,很少于有刚工始就是做DBA的,大部分都是工程师转的,所以呢,至少要两到三年左右的时间才有可能做DBA,才能负责一些相对负责DB的事情。

5.哪些行业适合做DBA

IT界:后端工程师,运维工程师

其他行业的想转DBA,刚刚也说过了,不合适,只能先写代码,再慢慢的转。

这个职业最大的限制大概就是。。很容易无事可做,前面有后台架构师蚕食,后面有运维工程师侵入,中小公司都不太会设置这个岗位,所以有的时候会比较尴尬,大概还有一些外包公司,或者是传统的IT企业,会是由DBA去设计表,去理清业务还有一些岗位,其他的都不太好。

所以对于其他的各种持久化数据的备份和优化,特别是对一些正在使用的框架,又不够成熟的东西,更容易找到自己的位置。如果你要做DBA的话,就记着,跟持久层相关的优化,数据安全,备份都要去了解--顺便再学点运维的东西

7.去哪里学,怎么成长

基本上,DBA可以由运维工程师和后台架构师去转,也会有一些数据库方面的认证之类的的过程。这个岗位啊,跟其他的岗位真心有点不一样,很少有刚毕业或者刚入行的人就要去做DBA的--你也做不了亲,跟数据相关的东西,没个三年五年的经验,真的很难做,而且有些技术细节,是必须要了解的比较多的。

PS:刚刚想到了,云服务器里是DBA的一个好去处,其实这里跟大数据也有一些相关的。这么说的话,DBA的职业需求度跟云服务器公司的发展是有比较密切的关系。但是总之,不太可能变成一个标配了。

本文由产品100为你推荐并呈现

若出处标注错误,请联系QQ:及时更正,感谢理解和支持!

}

高级产品经理最难找工作,降维打击看似解药,实际上是慢性毒药,让我们逐渐失去竞争力。

2019年,找工作难吗?真的难。

原本一个月能找到的工作,现在要3个月甚至更长的时间,整个市场充斥着降维打击的战役,相对于每一位产品经理而言,求职都变得困难许多。

一方面是因为市场竞争越来越激烈,另一方面,也是因为我们不懂得产品经理如何找工作。 

什么样的产品经理找工作最难?

很多人认为,产品新人找工作最难,没经验,没背景,也没技能,对企业的价值微乎其微,是真的很难。

然而,新人所需要学习的技能,所需要的经验,又比较容易获得,现在市场上已经有太多培训课程 和培训学校了。

新人求职的门槛确实存在,但并不是遥不可及,实际上现在也依然可以通过3个月的学习成功转 型。

产品经理这个行业,经验越丰富,求职越困难,这和大众的认知完全相反,仔细想想,似乎也能接受,这个观点是对“降维求职”最好的诠释。

导致这一现象的原因也很简单: 经验丰富的产品人无法通过简历和面试完整的表达自己的能力与知识储备,高等级岗位也无法通过面试完整的表达岗位的要求。

这是高级产品经理求职的必然遭遇,我们每个人都像图中的求职者,丰富的从业经验导致我们拥有 充分的知识储备,与目标岗位的契合度也达到了60%甚至更高。

但是简历最长不过4页,面试的时间也不过是30分钟至60分钟的交流,而且由面试官控制交流主题。

不论产品人的从业经验与企业有多么匹配,若是没能在面试环节表达并证明契合度,结果都会是不利的,毕竟我们无法做到百分百匹配,在入职前,我们甚至不知道岗位真实的具体要求。

产品经理的职责许多都是“做出来”的,在项目推进过程中会遇到许多问题,解决不同的问题 就赋予了岗位不同的职责。

很多时刻,面试官本人都不知道具体的招聘要求,我们在招聘过程当中,实际上是拿着“是 否优秀”的标准去判断,而不是拿着“岗位要求”去判断。

知识扩展:有的面试官会询问产品新人关于市场,关于商业的问题,这就是典型的以“是否 优秀”的标准去判断。

因为产品新人的岗位要求是不会涉及到市场以及商业的。

尽管技能储备已经有较高的匹配度,只要面试官未能准确的把握交流话题,这一次的面试就会以失败告终。

经验越丰富的产品人,求职过程越是艰辛,其中的根源问题就是我们没能掌握正确的求职方法。

降维入职就像一种慢性毒药

降维求职,已经成了大多数产品人的选择,而所谓的降维,是一个多方位的概念,可以是收入降 低,岗位降低,乃至于行业降低,以及对公司的要求降低等。

对于这种降低期望的做法,还有另一个不太好听的称呼:职场逆行。

产品人的职场就像是金字塔一样,每个人都希望能更进一步,能向上发展,而职场逆行的含义就是 指从高处退到低处,意味着我们的职业生涯在走下坡路,是倒退的一种现象。

金字塔越往上,岗位越稀缺,市场竞争也更加激烈,企业对应聘者的要求也更高,2019年 ,为了避 免失业,为了维系我们的正常生活,为了解决当下的危机,降维求职已经从局部现象转变成了全行 业的共识。

找不到工作,就降低要求,找不到好的工作,就先随便拿个低岗位的offffer,先做着再说,这就是从业人员达成的共识。

降维打击是找不到工作的解药吗?

某种意义上来讲,降维打击确实能缓解我们的求职压力,称之为解药也不为过。

然而,这个解药,也是一种毒药,慢性毒药,起初不容易被发现,一旦产生影响时,就到了晚期。

在低维度的岗位工作,等同于将自己置于一个安全区,重复完成一些低维度的工作任务,长时间持 续下去,就会遗忘自己原本维度的技能与知识。

有这样的一位朋友,曾经是涉足商业模式的产品总监,后来因为公司资金断链倒闭,被迫进 入市场求职。

一开始,简历只投产品总监的岗位,持续了2个月,没有收到一份面试邀约,迫不得已,选 择了降维打击,很快入职了一份中级产品经理的岗位。

入职以后的主要工作往返于用户需求,原型设计,文档输出,即没有难度,也没有成就,更 不要谈成长。

一年以后,当他想再次竞争总监岗位时,猛然间发现自己什么都不会了。

产品人每个岗位的工作任务以及技能要求都不太一样,每一次岗位升级,都面临着大量新知识的学习,这些知识长时间不被使用,就会逐渐变得陌生,然后完全消失,从而永远的停留在低维度。

这就是降维求职的毒性,潜移默化的替换我们的知识与思维。

我们不否认,降维打击是一个很好的解决就业问题的方法,但身处降维的环境,需要时刻保持警 惕,时刻与低维度的毒性做抗争,一旦疏忽了自己本来的立场,就彻底融入了低维度岗位,也就很 难回到原本的位置了。

人们都持有一些侥幸心理,对自身的经验过于自信,认为自己能够出淤泥而不染,这样的心 态,过于轻视了环境对人的影响能力。

一个新的环境,在足够长的时间里,甚至能让我们遗忘自己的母语。(可自行百度)

为什么找不到产品总监的工作

降维打击只是给自己一个短暂的缓冲时间,为一份合适的工作提供准备时间,越早离开降维的环 境,对我们后续的影响越小。

产品总监降维到高级产品经理,2年内没有回归产品总监的位置,大部分情况也就回不去了,而高 级产品经理降维中级产品经理,1年内没有回归,也就回不去了。

这就是环境对我们的影响,我们做什么样的事,就会成为什么样的人,开了公司,你才能做CEO, 而不是先当CEO,再开公司。

当我们选择了降维打击时,就要给自己定一个期限,3个月,6个月,给自己拟定一个回归计划,不 要迷恋当下的舒适环境,思想上和策略上,要先行走出安全区。

你还记得互联网公司的死亡率吗?99%的死亡率!

这个市场没有“安全区”!

但凡是让我们产生安全区错觉的,都和陷阱有关。

而要回归原本的赛道,并且是快速回归,就需要回答这样的一个问题:

为什么,找不到产品总监(高级产品经理)的工作

这就回到了第一部分的内容,简历与面试,无法完整的表达我们所具备的知识与经验,并不是求职 者不够优秀,而是普通的求职方式并不适合高级人才。

高级岗位的竞争,并不是求职时期的竞争,而是持续性的竞争,不论我们是否离职,是否想要换工 作,这个竞争一直都是持续进行的。

小风是一位电商方向的产品经理,平时在圈子内经常分享自己的观点,他给自己购买了一套 电商的saas系统,为自己搭建了一款电商小程序。

每个季度,他都会选择一种销售方式,进行全盘实践,从商品的选择(供应链),到活动促销(销售方式),再到订单跟进(后台业务管理)。

每次实践都会将数据详细的记录下来,并且进行深度分析。这些数据样本,分析报告也都出现在了电商的小圈子里。

没有,但是这样的分享过程,在不断的向外界传递某种信息,不断的向外界展示自己的能力,本身 就是一种持续的求职。

高级人才的竞争是持续性的竞争,在持续性的竞争里,有准备的人,是工作找人,企业相关领导会 主动发出面谈邀请,没有准备的人,则是人找工作,在有限的篇幅里,有限的时间里,测试自己的 运气和人品。

这也是为什么市面上 产品总监的岗位比较稀少的原因,相当一部分的高级岗位都是邀约性质的招聘,而不是市场上的招聘。

两者的区别,前者是工作找人,后者是人找工作。

枯叶,微信公众号:枯叶咖啡馆。人人都是产品经理专栏作家。近9年经验的产品经理,擅长社交、社区、细分群体挖掘。

本文原创发布于人人都是产品经理。未经许可,禁止转载

}

我要回帖

更多关于 产品经理的工作内容 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信