问答整理及补遗——【知乎Live】CTO看重程序员的三大软技能

问答整理及补遗——【知乎Live】CTO看重程序员的三大软技能_第1张图片
知乎Live——CTO看重程序员的三大软技能

在昨天我人生第一次知乎Live(CTO看重程序员的三大软技能)在我的战战兢兢中结束了,原本1小时的Live,持续了2个小时多,中间分享了我关于程序员软技能的理解和经验,然后回答了大家提出的问题,由于时间问题还是没能将大家的问题回答得更好,所以专门整理下大家的提问并附上文字版的回答,还有之前参与过问卷但是没能及时回答的问题也将在这篇文章中进行回答,同时欢迎大家关注我的微信公众号:cnjunq,来跟我交流沟通。

问答整理及补遗——【知乎Live】CTO看重程序员的三大软技能_第2张图片
"程序员精进"微信二维码

首先是昨日Live中大家提出的问题。

Q:想问下假如不是大学专业是编程或计算机的,大公司会收么?

A:现在有些互联网大公司老板本身而言并非是计算机专业出来的,主要需要考虑的是基础技能,如果你在基础技能方面不错,进大公司也还是有希望的。

Q:目前程序员有哪些方向可以选择

A:从现在来看有四个大的方向会比较好,即云计算、大数据、人工智能、互联网+。

Q:你好,我是去年985院校毕业,非计算机类专业,现在在一家小公司做javaweb开发,纯业务,我想知道您对我的学习方向和下一份工作有什么建议?

A:首先得确定自己的大的方向,根据自己想做的大的方向,然后在确定自己专业领域的知识需要哪些,例如你做Java服务端开发,在云计算领域,会有微服务、云原生应用等相关知识需要掌握,但是如果你的方向是人工智能,那么这块服务架构设计的知识对你的帮助就没那么大。

Q:我是一名web前端开发人员,坐标北京,目前学历只有大专,在纠结是应该投入到专业技术的学习中,还是抽时间去自考提升一下自己的学历?

A:程序员这个行业,现在普遍来说是要认技术的,当然,如果你想加入外企或学术性质强一些的公司,确实在学历上会有门槛,但除此之外,其它公司还是更加关注的是你的技术实力、项目经验及解决问题的能力,不赞成只是为了工作需要进行自考本科的学习,可以把这个时间花在专业能力的建设上,等自身技能和经验到了一定阶段后,可能会有再学习新知识的愿望,这个时候再进行深造学习帮助会更大,因为你已经清楚自己想要的领域知识是哪方面了。

Q:应届生如何拿到大公司运维岗offer ,看了好多招聘都是招有3年工作经验的。

A:应届生走的是校招的通道,你所看职位3年工作经验的要求是针对的社招,这个是不一样的。你可以先找大公司的运维实习岗去实习,然后在实习期间努力学习好好表现,有概率可以直接由实习生变为正式员工,哪怕没有成为正式员工,在日后其他大公司的校招时,你的实习经历对你的帮助会很大。

Q:架构师向cto,需要有哪些需要过的坎?

A:在CTO这个词组里面最为关键的单词是Officer,即中文的“官”,需要从公司的角度去思考工程团队应该如何建设和发展,怎么更好地为业务服务,这里面涉及到很多与管理相关的软技能,这个是之前在做架构师里面考核的比较少的部分。

Q:请问数学统计学与cs交叉背景的毕业生最适合的方向是数据方面吗?您在平时的管理中,数学出身半路转cs的毕业生和cs科班的毕业生能力思维方式区别在哪

A:不知道你说的交叉背景是什么意思,是读了两个学位么?如果是数学统计学专业的话,一般来说相比较CS背景的同学,在阅读论文、抽象思维能力要强于他们,我直观能够想象的是大数据方向可能会比较适合你,这样两方面的背景都可以用得上;如果你自己对于应用编码实现很感兴趣的话,也可以从事这块,不过数学统计学背景对你自己的帮助就不会那么大了。

Q:想转到这个行业的话,首先从哪里开始学习

A:这个在前面提到过,首先先确定自己要发展的方向,然后根据发展的方向,来看应该具备哪些技能,如人工智能方向,Python和C++比较重要,如果是服务端开发方向,Java、PHP、Python都是不错的选择。

Q:高级程序员 转架构师 有什么建议 看待问题的角度 有何不同?需要具备什么才能 ?技术总监又需要具备什么技能?技术总监一般的最低学历要求?

A:从高级程序员转架构师的话,首先是要加强对业务的理解,因为做架构设计,不光只是从技术角度出发,要根据业务的实际情况和公司的状态来进行架构设计,你做好了非常完备的架构方案,可能在实现成本和后续维护成本上来说非常高,另外公司业务可能还承担不起这么大的成本或根本没有这么多的访问量,就面临很大的浪费,其次,作为架构师需要来跟程序员保持良好的协作和沟通,基于你的架构来进行业务实现。技术总监更为偏重的是团队管理方向,建立合适的工程团队,根据自己业务的进行工程团队发展的规划以保证业务顺利推进。对于学历来说没有硬性要求的。

Q:我是一名在校大学生,请问您觉得深入学习qt有前景吗?

A:对于qt的生态我不是太了解,从整体来看,移动互联网和互联网+传统行业的前景还是比较好的,如果你想从事移动互联网的话,qt没太大作用,如果是跟传统行业结合的话,qt可能会有作用,我的理解是不要把自己局限于某个平台或技术框架,需要考虑自己到底要做哪个方向,在看确定的方向下面有哪些技能需要掌握,这样会更好。

Q:请问一名大二的在校学生,想进行技术方面的自我训练,需要什么流程

A:在学校的话,是一个学习技术不错的时期,学校内部应该有技术不错的技术组织或团队,所以最现实的目标是加入这样的组织或团队,这样可以得到最为快速的成长,当然,在加入这样的组织之前需要大致确定自己的方向,如是要做服务端开发,还是客户端开发等,会需要你根据方向来做技术知识学习和储备。技术成长还是以实操为主,加入好的技术团队可以帮助自己进行项目经验的积累,同时对自己的校招也会有所帮助。

Q:您好,我是应届毕业生,找的是Android移动开发。目前整个移动开发像是在走下坡路,不知道作为移动开发者,是应该趁早转别的领域还是继续坚持?

A:在回答这个问题之前,先讲讲iOS、Android与前端之间相爱相杀的故事。2007年iPhone 1代发布,2008年iPhone SDK 1.0发布,2008年Google GPhone发布,在那个年代前端在移动互联网方向更多是简单的WAP页面,到了iOS和Android这些智能手机普及之后才有更多Web页面在智能手机上呈现。由于iOS和Android最开始市场上的人才比较缺,所以有很多同学,当然这里面也包括前端同学转向了iOS或Android平台,那个时候iOS、Android的薪金收入情况要好于前端(当然是指平均水平),到现在iOS、Android平台由于智能手机铺货量的影响已经足够多了,再加上之前App创业热潮的褪去,同时微信平台的强力发展,产生了前端人员比iOS、Android更为吃香的局面,即同学感觉到Android移动开发不再那么吃香的问题。在你已经会了Android移动开发,主要使用语言是Java,如果你自己确定了大的方向,如果你想做的是客户端方向,那么再学习些React Native或其它客户端相关语言和框架是有好处的,客户端一定是还会存在,只不过表现形式是独立App,还是WebApp或微信小程序的问题;如果想做的服务端开发,那么从事Java方向服务端开发也是不错的选择。

Q:目前程序员有哪些方向可以选择?如何确定自己做哪个方向?

A:首先这个问题比较大,因为互联网本身而言很年轻,也在不停发展和成长,我只能说下我对于互联网的一些理解,互联网在这20-30年间的发展尤为迅速,已经对我们的工作生活造成了很大的影响。我认为互联网在未来是基础设施,将和其它行业有着越来越多的融合,和传统行业结合会越来越紧密,从现实角度来说,如果自己家庭背景有传统行业相关,可以考虑互联网+传统行业结合的方向,如果没有的话,从现在的趋势来看主要四大方向:云计算、大数据、人工智能、互联网+,总体而言这些方向都很好,方向下面都有对于互联网人才的细分需求。

Q:过于内向的人适合在大公司发展,还是小公司?

A:这个问题本身还不太好回答,由于不是具体问题,所以不太好分析了。

Q:工作3年多net ,现在想转JAVA。不知道怎么办。现在自己在看spring mvc,也在写代码 用,可没这方面工作经验,很多公司都不要**

A:如果你确认要转Java的话,这个事情并不难。你应该是要做Java服务端方向,就像我今天Live说的,首选得确定个目标,我到底要到什么样的阶段才算转型成功,然后来看我的小目标是怎样的。从3年.Net经验转成Java的话,.Net经验对你有帮助,但是肯定不是3年这样了,一定会有落差,这个是自己要接受的。可以制定下大目标,要做Java服务端的那个大的业务方向,然后拆分成小目标,进行达成,在练习项目积累经验的时候,可以多用用github、码云这样的代码托管服务,保持良好的代码编写习惯,在你参加公司面试的时候会有帮助。

Q:我现在的创业公司里所有的技术人员里纯开发经验最多的也就3年。我在这儿干了1年半了,公司的技术氛围也不是很好,有没有必要换一家公司

A:首先你在创业公司工作了1年半,需要看的是你在创业公司的收获,可以从几个角度来看,第一,你是接受到了技术广度还是深度,那么在这块可不可能再提升?第二,创业公司在于非技术领域给你带来了多少的收获,如果你发现,这样的收获没办法再多了或是我自己不想再要这样的收获了,那么这个时候你可以考虑换工作了。

Q:发展方向为架构师。有哪些技能需要掌握,系统,运维,编程,数据库,网络,硬件。那块会比较重点

A:这个问题比较大,简单来说下吧,现在的架构师跟以前来说已经不一样了,由于云计算的普及,从公有云、混合云再到私有云都有很多的解决方案了,未来的架构师都应该面向云原生应用角度来考虑,如果你不是做IAAS方向的架构师,那么在硬件角度可以不用花太多功夫。从架构师发展而言,需要有充足的项目经验,需要编程,在多年编程的经验中你可定会接触到数据库、网络,再辅以架构设计知识来进行实践,可以成长为架构师,简而言之,除IAAS架构方向外,硬件不用太考虑,编程、数据、网络可以多下功夫,运维掌握CI、CD的技能。

另外,对于微服务架构设计风格感兴趣的同学,可以考虑我在斯达克学院的《跟我做一个 Java 微服务实战项目》在线课程,共8周课程,详情查阅:跟我做一个 Java 微服务实战项目(8周直播) - StuQ 感兴趣的话,可以微信找我要优惠码。

你可能感兴趣的:(问答整理及补遗——【知乎Live】CTO看重程序员的三大软技能)