【swoole-韩天峰】程序员
我最开始工做也是在2家小公司,后来加入腾讯阿里,主要缘由仍是我坚持学习基础知识,从而获得了这个机会。有几个方面的基础知识,我建议每一位PHP程序员都应该好好学习一下。我推荐几本书给你们,包括深刻理解计算机系统、现代操做系统、C程序设计语言、C语言数据结构和算法、Unix环境高级编程、TCP/IP网络通讯详解。另外我建议你们学习一下面向对象方面知识,PHP这方面的书不太多,建议看Java面向对象编程、Java编程思想、J2EE这些书。PHP语言基础方面,建议认真地把PHP5权威编程这本书好好读完。另外不光要读,还要照着书中的讲解动手去编程实践。面试
【多隆-蔡景现】
算法
我坐火车常常一坐就是七个小时,真的感受太长了。一到上班的时候,早上9点过来,一直到晚上6点,我都不知道时间怎么一会儿就过去了。由于你有事作,不会以为很辛苦。因此说真的须要热爱这份工做,要否则你会以为怎么总是加班。sql
在我看来的话,没有所谓的大神、大牛,真的都是从作项目开始。我刚开始的时候其实什么都不懂的,好比2000年进阿里的时候,我连JAVA都不懂。当你在工做中遇到问题了,就去找资料,而后去把它弄懂、弄会。只要肯花时间和力气,那你天然而然就会了。编程
发现问题,解决问题,不要绕开问题的自己。工程师对于代码,必定要“精益求精”,不管是性能,仍是简洁优雅,都要认真打磨本身的做品。swoole
【雪候鸟,鸟哥,惠新宸 @Laruence】网络
你是如何成为 PHP 开发组核心成员的?数据结构
我其实一直都在研究 PHP 的源代码,因此也提交了很多 Bug 和 Fix,好比我记得有一天中午,Rasmus(PHP 之父)在 IRC 上说发现一个 Bug,我差很少 5 分钟后就给出了 Fix。架构
等慢慢的和一些人熟悉,获得了你们的信任之后,我就发起申请,以后就得到了 PHP 核心代码的提交权限,参与到 PHP 的直接开发和 Bug 修复中,成为了开发组的一员。数据结构和算法
至于说核心么,那是慢慢积累来的,其实也是一个互信的过程。若是你的工做你们承认,那么就会尊重你的意见。我慢慢地和 Dmitry Stogov 变的熟了起来,获得了 Zend 核心部分的提交权限,提交了不少核心 Bug 的修复和新特性,再后来成为了 Zend 外聘顾问,慢慢成为了 Core Developer。
问:一名合格的 PHP 工程师的知识结构是怎样的?
我记得之前有一句话说:“ PHP 工程师都是万金油”,其实这句话不只仅对 PHP 工程师适用,应该对全部的工程师都适用。
知识结构要很广。Web 开发涉及的技术点是比较多的,HTML、CSS、JS、SQL 这些之外,还要懂得一些 Nginx、Linux、Mysql 的配置、维护、排错经常使用的办法,这些都应该懂一些。
问:除了技术能力以外,你在面试的时候还会注重什么?
我会特别注意思惟清晰、沟通、谈吐。其实说穿了就是将来一块儿共事的话,会不会有障碍,以及成长潜力是否大。
【洪剑峰】
待过大公司、创过业、混过外企、写代码、作架构、带团队……洪剑峰的经历至关丰富。
要时刻注视远方,走正确的路。我一直相信努力不如选择重要,选择一个适合的方向,你就会事半功倍。应该把更多的精力放在判断方向、选择道路上,而不只仅是闷头苦干。
对我来讲,我宁愿做为团队的Leader,站在前面,找到正确的方向,告诉你们怎么作,这对团队的益处远远好过我本身去作一些具体的事情。
我每一年大概会看20多本书,技术相关的大概一半,基本都是英文的,另外一半主要是历史类、社科、经济、管理之类的,对提升架构思惟颇有帮助。除了陪家人,我基本都待在公司,其他时间就是阅读和写代码。
【李智慧】
我在作CTO以前,在离开Intel前的最后三个月大概写了一万行代码。可是作CTO以后没有为公司写过一行代码,我会review代码,review架构设计,可是我不会写代码,我以为每一个人都应该也有责任把本身的工做作好,CTO的工做职责不是写代码,CTO写代码是一种越俎代庖。
学习知识技能首先须要时间,工程师应该用工做时间的20%去学习,若是工做时间抽不出空学习,能够用加班时间学习,若是加班时间也被安排满满的,至少能忙完这一阵(本身熟悉了状况后)能够有机会安排时间学习。若是这种机会和但愿都没有的,若是你对本身负责的话,我建议你仍是辞职吧。
【贺利坚】
学习编程最好的方法就是实践。经过实践,享受程序运行正确带来的快乐,树立信心;经过实践,享受在错误中不断成长的快乐,训练出敏锐的感受和与bug做斗争的耐心;经过实践,看书中能够不断找到“哦,原来是这样”的感悟,书本中的知识也可以鲜活起来。
【陆其明】
陆其明,北京爱奇艺科技有限公司PPS上海公司研发总监。
有人曾经问我,“你这样把技术都说白了,不怕别人超过你吗?”我说,“我不怕,由于我也一直在进步!”何况,我相信,特定的技术都是有保鲜期的,惟有分享才能发挥它的最大价值。我只后悔本身当年分享得还不够,有一些代码至今还沉睡在个人硬盘里,而它们如今已经几乎没有任何价值了。
思惟方式首先要改变。作技术只要顾着本身就好了,而作管理的时候,要把关注点从本身身上转移到团队,要保证整个团队的可持续性高产出,“你们好才是真的好”。
要站高了看问题,多从公司利益、业务需求、用户体验等角度去思考问题,这对习惯于讲逻辑、细节导向的技术人员来讲是很难作到的。
技术人员通常不善与人沟通。但既然作起了管理,这方面必须增强,既要作足内部的沟通协调,又要担当团队的保护者和代言人。
所谓激励,就是要充分调动团队的工做积极性。一说到激励,可能你们的直接反应就是钱。其实,金钱并非最好的激励方式。各人有各人的状况,每一个人在不一样的阶段也有不一样的需求,所以激励的方式也应该是多样化的,好比一句鼓励或感谢的话、请他吃顿饭、培训机会、晋升机会等等,固然加薪、奖金、股票、期权有时也是不可缺乏的。最关键的是,要将我的的发展与公司的发展紧密地联系到一块儿。对于管理者来讲,尽可能作到公平也是相当重要的!
咱们在内心要明白:写代码不是目的,发布产品也不是目的,咱们的终极目标是解决用户的问题。
【任玉刚】
在Android开发的学习过程当中,我主要经过以下几种方式来学习:
在公司进行产品开发;
阅读Android源码和Android官方文档;
写技术博客对知识进行总结和分享;
关注Github中优秀的开源项目并提交本身的项目;
在公司内部作技术分享;
阅读相关技术书籍;
业余时间持续学习。
【邓凡平】
我我的感受在工做中不多能学到系统性知识,因此在此也鼓励读者必定要抽出整段时间来学习系统性知识。一个基本原则是:由点及面,努力构造完整的知识结构。
不要沉迷于技术自己和工具,要时常思考本身要作什么,作哪些东西更有价值。软件领域可学的东西太多了,可是切记要结合需求选择最合适的内容。这年头咱们不缺少作事的勇气和努力奋斗的精神,缺的是知道本身要作什么的思考以及抵御外界诱惑的定力。
求知欲是人的本能,很高兴本身一直保持了这种本能。另外,作好时间管理、明确本身的目标也很是重要。对于一些初学者我有一些以及和我同样仍在努力的人,有几点建议:
在工做初期,先求广度,再求深度;只有见识面广,才有可能融会贯通;要努力接触新事物;Be Active。
工做三年后,要选择适合本身的。这个时候,知道本身要作什么,比知道怎么作更重要。
要有团队精神。覆巢之下无完卵。团队很差,我的也不会好到哪里去。你们要齐心合力把事情作好,不要过多考虑我的得失。
要有定力和钻研精神。在知识学习上,高投入才可能有好产出。
注意身体健康。活得越久,才能学得更多嘛。这是硬件,没有它,任何软件都跑不动。身体健康与否做为一我的最重要的风险因素,相信软件工程师们必定会重视并增强控制的。
【左程云,华中科技大学本科(计算机科学与技术)、芝加哥大学硕士(计算机科学)。IBM软件工程师,百度工程师,GrowingIO工程师、刷题5年的算法热爱者。】
通常来说,工资高的公司在面试时算法和数据结构题目的比重较大,工资通常的公司比重较小。固然一样公司的不一样岗位,要求也会不一样,但整体趋势就是 国内好公司爱考算法和数据结构 。这是目前国内互联网公司的状况。国外的互联网公司几乎只考算法和数据结构,早个8年前就是这样了,一直如此。我相信国内会逐渐变得像国外同样,并非崇洋媚外,而是算法和数据结构题目真的能考出东西。
由于本科和硕士阶段都是计算机专业,因此走上编程之路的过程是很是天然的,但我真正享受编程的过程是在开始作算法和数据结构的题目以后,牛人们写出来的东西怎么就是比我快呢?因此开始研究起来,并愈来愈痴迷。程序=算法+数据结构,因此不存在结合的问题。经常使用的语言是Java。