迅雷公司有过三位首席工程师,本文约请了个中两位,刘智聪、敬宓,聊聊程序员的职场发展之路,为保持技能大牛的风格,以下笔墨源于两位首席工程师的原创。
刘智聪,迅雷首席工程师
1984年出生,从小自学编程,毕业于南昌大学化学系,加入迅雷后设计开拓了多款迅雷核心产品,是多个领域的技能专家,也是BOLT 界面引擎的发明人。
1. 自己作为技能路线的应聘者,在校招时候,是如何选择第一份事情的?考虑过什么成分?末了为何选了第一家公司?
我化学系毕业,大四一贯在实验室待到了快毕业,以是并没有韶光参加传统的校招。
第一份事情是和朋友一起来的深圳,在科技园凭缘分找到~
2. 目前事情几年?做过几个项目?在技能方面,有若何的发展?
事情11年,做的项目非常多了,比较成功的是迅雷的一系列产品。 技能方面紧张还是完成实现了不少自己的想法,到过一些无人区吧。
3. 让你得到进步和发展的方法,有哪些?
首先是精确的学习方法,我们这行算是一个终生学习,终生发展的行业,好的学习方法能让学习更有效率。
大的流程便是: 问题创造->提炼总结->在知识树上找位置->补充根本知识->自己考试测验办理问题->研究行业已有办理方案
这比大略的 “问题创造->研究行业已有办理方案” 的路子要学习效果更好。
4. 在作为程序员事情的第一年,碰着过的最大问题是什么?如何办理的?
如果从2005年开始算,我那时候都写了10年程序了,最大的困难该当是自己的能力无法匹配自己的野心吧:)
5. 对今年的技能背景的毕业生,有什么校招的建议?例如笔试、口试的方法,把稳什么?
我从2008年开始做校招,在这个问题上还是比较有发言权的,紧张说说技能岗吧。
首先是简历,一定要简洁(最好压缩到一页),然后突出亮点。什么是亮点呢?名校/GPA特殊精良/实际的项目履历/高水平竞赛获奖/学界认可的研究成果(Paper)一些和技能不太干系的经历和获奖就不用往简历上写了,尤其不要写精通office,photoshop之类。。。技能能力测试的时候起决定性成分的是CS专业的基本功(数据构造,操作系统,网络,组成事理),当然有一些当下流行技能的项目履历也是加分的。
口试的时候我喜好对办理问题的能力进行测试,希望看到你在一个非常难的问题面前的思考过程,比如对问题进行剖析,拆分,总结问题,思考思路,在确定思路条件出验证方法这样。
口试的时候不要一贯沉默,纵然思考不完全也可以和口试官沟通互换,沟通能力也是口试时的重点。
口试的时候的另一个关键点是“志”。立志要早,这样在事情中面对选择的时候,才能做出有连贯性的选择,不过遗憾的是在学生时期就能想清楚自己志向的同学太少了。
口试的时候把稳诚挚,不必刻意迎合口试官和目标公司(由于口试官都是人精,大部分时候都是能看出来的)
6. 对程序员事情的前三年?有什么建议?
把事情中用到的技能的根本知识学踏实。基本功踏实才能让你飞的更高。
事情中要勇于承担任务,主动哀求承担困难的事情,多和buddy沟通,工程上的很多问题有人辅导办理起来非常快。但一定要把稳事后的复盘和总结。
事情前几年最主要的便是个人的发展,这是拉开差距并能在未来捉住机会的关键阶段。以是选择事情的唯一标准便是“能得到什么发展”,而不是报酬,公司福利之类的细节,当然公司有一个好的,乐意带你的老师是非常关键的资源,要好好捉住。
敬宓,迅雷首席工程师
迅雷星域CDN项目的创始人。
1. 校招时选择事情的缘故原由比较大略,紧张还是兴趣驱动,只管即便选择自己未曾深入研究学习的方向进一步学习。
由于我一向是兴趣驱动,以是我的选择方法和大部分应届同学不太一样:我是从小学3年级旁边开始做大略机器、无线电设计干系的学习,小学毕业后开始自学编程,考虑到电子和机器是小时候未能深入的方向,大学特意选择了机器电子。从入学第二周开始到大四毕业,基本没有假期地参与各种项目,到大四季断断续续积累了近10年的编码履历,对纯挚软件开拓、网站开拓、安全、游戏开拓、硬件开拓都有一定的阅读,以是选择公司时放弃了这些方向和公司,紧张考虑后台和系统开拓方向的事情,口试了百度和当时还属于雅虎环球的雅虎中国。
口试这两家公司紧张考虑了他们的技能属性,当时百度是海内少有的技能驱动的公司,而雅虎在当时更是环球最大的 FreeBSD (我最热爱的系统)的掩护、贡献者和利用者。另一个缘故原由是由于此前已经干小作坊式的开拓很多年了,以是希望毕业后进入更大的平台开阔视野,为往后的创业做准备。末了选择了百度。
2. 目前事情几年?做过几个项目?在技能方面,有若何的发展?
目前事情9+年,编码经历20+年,经历过的项目比较多,如果从规模、耗时、人力上有个范围设定会比较好统计。从项目类型上,经历过 Windows 客户端开拓、网站前后台开拓、系统运维、游戏、安全、操作系统、搜索引擎、自然措辞处理、分布式存储和数据库、P2P、CDN 网络加速、模式识别、数据剖析和挖掘这些方面的技能项目,这也基本反应了在技能方面的发展。
3. 让你得到进步和发展的方法,有哪些?
得到进步和发展的方法紧张依赖向开拓论坛、社区的大牛请教学习方向,然后研究干系规范和标准,末了是不断实践。
这里要特殊说一下方向的主要性:这些年口试了数百位候选人,很多人具有不错的开拓能力,他们可以使出奥妙地招式,但是由于各种缘故原由,他们对根本和细节的重视不足或者急于求成等缘故原由,导致在实际的开拓中总是或多或少碰着各种无法阐明的征象,比如写 C/C++ 的工程师,很少有对 C 和 C++ 区分对待的能力,对他们各自的标准规范更是不理解,末了的表现便是代码涌现各种诡异的问题。
事情第一年在百度修复了一个全公司险些所有项目都利用的 hash 函数的序列点问题,那可能是百度出身时就有的代码,但这个 bug 却存在了很多年。类似的问题还有很多,知乎上有个谈论最难调试的 bug 的谈论,实在很多都是由于对根本环境、条件的不理解,缺点的做出了假设导致,如果完备熟习全体体系的每一个环节,就会大大减少诡异 bug 的存在。
4. 在作为程序员事情的第一年,碰着过的最大问题是什么?如何办理的?
作为程序员在第一年紧张碰着的问题有两个:对项目难度和事情量预估不敷,以及对事情操持做的不足好,这两个问题都直接导致了后来项目的大幅延期。当时由于项目须要,带一个小团队从头开始操持写一套分布式的数据存储和统计系统,结果延期了2、3个月也没有完成。末了根据需求重新设计了系统,同时申请了更多资源大幅扩展了团队规模办理。此后有幸和一个国外团队创业,学习和实践了项目管理的一些方法和技巧,更清楚的认识到之前在这些方面的不敷。
5. 对今年的技能背景的毕业生,有什么校招的建议?例如笔试、口试的方法,把稳什么?
校招紧张是重视根本。我看你文章里已经写的很详细了,就不多说了。
6. 对程序员事情的前三年?有什么建议?
建议是:尽可能的拓展自己的视野,对所有技能心怀学习的激情亲切和好奇心:不能由于是写代码的,就忽略对硬件的学习;不能由于是写前真个,就减少对算法的理解;不能由于是写 C/C++ 的,就鄙视写 PHP 的;不能由于是做数据、算法研究的,就放弃对工程技能的专研。
===========
程序员系列文章,有待连续更新
程序员发展系列一:你期待看到什么样的带路老司机
OFFER筛选攻略:写给立志做工程师的应届毕业生们
感谢参与本次系列访谈的程序员,根据投票结果,大家既须要小结文章,也须要程序员前辈们的个人文章,那就陆续把原文发出来给大家参考。
大麦,飞笛资讯技能卖力人,原腾讯高等工程师,事情7年;
XQ,腾讯高等工程师;事情8年;
招茂锴,腾讯高等工程师,事情7年;
Martin,梅沙科技技能合资人,原腾讯高等工程师;事情6年;
阮威,原腾讯、YY语音资深程序员,现任某公司技能副总裁;事情8年;
刘智聪,原迅雷首席工程师,目前创业;事情11年;
敬宓,迅雷首席工程师,事情9年;
蔡超凡,迅雷技能经理;事情6年
曹欢欢,今日头条算法架构师,机器学习领域博士;演习2年,正式事情7年;
李秋良,今日头条移动端技能总监;事情9年;
夏绪宏,今日头条资深架构师;事情6年;
夏文勇,100教诲首席架构师,原YY语音首席高等架构师;事情20年;
PT:原腾讯、YY语音高等工程师,目前创业;事情10年;
刘凡:猎豹移动工程师;事情2.5年;
参与回答问题的还有梅沙科技的程序员小伙伴:Mask, Johnson, Lemon, Daniel, Mandy, Jan等。
==========
"大众号作者BLUES(兰军)梅沙科技(www.meishakeji.com)创始人;公众年夜众号ID:bluemidou;原创3年自媒体,原迅雷产品总监,腾讯、YY语音高等产品经理,欢迎留言互换。