9月22日,网易云信CTO阙杭宁做客InfoQ大咖说,直播畅聊 ——程序员的职场道路选择。以下是直播录播视频及演讲整理文字稿。

本视频1小时03分,建议在Wifi下观看

前言

用三个问题作为开场吧。大家先思考一下,

  • 自己热爱程序猿(媛)这个职业吗?

  • 是什么原因让自己选择了这个职业?

  • 自己又想从这个职业中得到什么呢?

这些问题的答案其实就是我们对待手头工作的态度,权衡标准和价值观。每个人可能都不一样,有些同学很朴实,例如因为这个行业热门,有比较好的就业机会和比较好的发展前景;有些同学会出于自身的兴趣爱好;还有些同学是对这个职业满怀敬意和理想。进入这个行业以后,随着工作的积累,对行业逐渐的有了更多的感受,或多或少会有一些改变,会对自己的发展和未来渐渐的有了更清晰的理解。

在这个行业中,我们面临的主要选择有两个非常典型的问题,第一个是大小公司选哪个,其次是做技术还是做管理走哪条路。影响我们的选择有哪些因素,不同选择之间的差异在哪。至于如何进行选择,希望通过今天的交流,抛砖引玉,让大家能有自己的更好地思考与判断。

什么影响我们的选择?

主要影响我们的选择有三个因素。

  • 身边的环境

  • 当下自己对工作所关注因素的判断标准

  • 对未来发展的匹配程度

客观环境对大家而言都相对一致的,但每个人了解到的信息不同,因此对环境的认知也有所不同;而第二个是最核心的影响因素,每个人对工作的价值观不一样,有些人看重收入,有些人看重兴趣,有些人看重工作环境,有些人看重发展,还有些人看重其他的因素,比如爱情等等,这些因素是综合的,每个人心中都有自己的一套评价算法。

事实上,因为信息的不完全准确性,每个人获知的信息也是有所差异的,这也会给最终选择带来变数,例如看待同一个公司,你咨询不同的人,给你的回复,可能就完全不一样,因为这些信息大多还是主观感受。最后一个因素,来自于我们的基本需求,安全感。

客观环境

这个行业经历了计算机单机、PC互联网、移动互联网几个时代,目前也处在互联网+的浪潮下。计算机基础从诞生至今,一直在改变着我们的生活、工作。而技术的发展带来的趋势,如果契合度高,很大程度上会让你的选择事半功倍。

计算机单机时代,在运算能力和工具软件的研发上,是当时的主要潮流,当然还有单机游戏,80后应该还能回忆起大街小巷卖盗版光盘的繁荣景象吧。PC互联网时代,开始有了信息获取、基础通讯、网络娱乐等需求。那时门户网站、邮箱、即时通讯软件和网络游戏风靡一时,电商也在那个时候悄然起步。随着网民数量的激增,互联网人口红利成就了这些热点。

移动互联网时代下,智能手机、便携设备兴起,各种生活化的APP开始涌现,我们的生活方式有了翻天覆地的变化。于是各种创意层出不穷,这个行业成了看上去最容易逆袭的行业。并且由于移动设备的操作便利性,移动互联网人口红利给了那些带给我们生活便利的APP很多的机会。

互联网+也是在这种时候应运而生。各路神仙奔走相告,我们有创意、有资金,就差一个程序员了,我看你骨骼清奇,是不世奇才,来吧,跟我改变世界,给我一个机会,给自己一个机会。

我们手中的技术,一直在快速的改变着人们的生活习惯,改变着这个世界。

那么现在的环境,对我们程序员有哪些直接影响呢?

  • 机遇更多了、更有吸引力了。产品爆发带来的研发岗位机遇,当然,还有许多改变世界的机会在诱惑着我们。

  • 学习环境成熟了。从业人员的暴增,知识的沉淀积累,开源文化的涌现,社区分享的盛行等等,都让我们的知识获取变得更加便捷。如何有效准确的获取这些信息,催生了各类技术新媒体,帮助我们汇总整理业内的各种优势资源,并以各种渠道给大家带来便利。此外还有大公司的人才培养制度也随着时间变得愈加完善。

  • 技能要求更高了。用户量级、用户体验、代码维护性、高可用、安全等等,都要求我们做得更好,而不仅仅是做出来。

面对机遇的选择

有一句话完美的诠释了务实派的选择,钱多事少离家近。还有一类人,我们尊他们为英雄,境界高出务实派不少,英雄们追求的是梦想、成就以及自我实现。

不同的人,不同的三观不同的生存现状,不同的成长环境和教育,选择判断标准都会很不一样。即便是同一个人,随着生活状态的改变、对社会认识的改变,三观也会不断的刷新。选择判断标准也会发生变化。英雄敌不过现实,终成路人;而路人顺势成了英雄。这两个剧情其实发生了很多。

选择标准因人而异、因时而异。

其实很多时候,岔路口的选择并不影响你最终能走到哪。更大的程度取决于你是否能够坚定的朝着方向不断前行,以及是否有足够的意志去抗住风吹雨打。选择会影响到你前行的速度以及前行路上是否平坦。但能坚持往目标前行的你,早晚都是可以到达想要的地方。

大公司 VS 小公司

我们从五个维度去看待这里的差异。

  • 知识储备。大公司的产品线、发展时间带来的知识储备通常是要胜出许多。然而和我们密切相关的通常只是某一个方向的知识储备。可以从你所面临选择的大小公司在这个方向上的发展时间、技术成熟度和核心人员的专业度或者在业内的知名度这几个维度来评价。

  • 经验获得。程序员的经验获得,大部分来自手头的工作内容,少部分来自个人兴趣爱好和自学。那么大公司里,手头的工作内容会有老司机带路,并且有规范的生产研发流程,新人通常不会有太多的犯错机会。并且工作内容持续关联度较高,除非业务频繁变更的组织,否则通常会相对稳定专注。经验积累会聚焦在某一个方向领域。

    小公司里面,通常一人多职,并且为了快,生产研发流程相对而言不会那么规范。犯错的机会比较多,接触到的工作内容也比较多。遇到的问题和需要解决的问题也会更多。被动学习的内容会多很多,逼着你不断的解决各种坑。这个维度PK上,通常,小公司着重于面,大公司着重于点。

  • 培养体系。小公司主要靠外部学习环境以及由直属主管的风格决定。大公司会有专门的培训发展部门来统筹规划这方面的规范。像网易,就有一套任职资格评价体系,这套体系囊括了培养和发展两块。员工可以清晰的看到自己所在的层次以及要往下一个层级发展,需要在哪些能力上进行提高。有一个可量化的算法和评价体系。小公司通常是业务驱动培养,和主管的帮带拉一把。

  • 发展维度。小公司的常见主流趋势是,基础开发->核心开发->业务骨干->管理骨干。大公司就会有两个常见维度,码神之路和管理之路。小公司也不是没有码神,只是通常在小公司的技术大牛,都会被管理层赋予更多的期望和授权。

    并且码神方向而言,大公司的发展维度,在技术方向的学习进步也有较好的交流研讨氛围和研究实践资源支持。小公司受公司实际业务的影响较大,并且在研究讨论氛围上,更多的要靠自己或者通过外部的分享交流学习来做到,难度也较大。

  • 成长画像。大公司较明确,分为技术线和管理线。由于业务线较广、团队规模较大,岗位和机遇较多,所带来的影响是,每个人可以根据自身的特点和倾向,有较好的自主选择的空间。在小公司,在成为核心开发以后,由于所接触到的问题来自于方方面面,所以通常会成为一个多面手,有较丰富的业务处理实际经验,会相对全能一些。而要成为管理骨干,就需要看机遇。

选择大小公司,取决于你的现状和习惯什么样的环境。

如果是一个自驱能力很强的同学,其实大小公司对你来说,只是方向和成长快慢的问题。这个无法评价哪个快哪个好,因为你迟早都可以到那样的高度。

如果是一个自驱能力较差的同学,但是责任心和上进心又还不错的同学。大公司系统规范和客观的评价体系,是可以帮助你较健康的成长的。

喜欢折腾,能动手,跨界能力比较强的同学,在充满挑战和机会的小公司,可能会给你更多的惊喜。

小公司的成长,波动较大,因为充满了未知。大公司的成长相对可见,比较稳定。

如果是立志技术专精深入研究的同学,选个对口的工作内容就是这个技术深入应用和研究的工作就好了。大公司可以优先考虑,因为提供给你的资源和环境会更好一些。

成长目标,技术大牛 VS CTO

这里的CTO是一个泛指,技术的管理类角色,用这个词是这个词热门一些,大家可以感受更强烈一点。

技术大牛:

  • 负责技术方向的深度精研,指导团队的技术成长,以及做好团队的技术积累输出。

  • 到了一定高度,需要科研环境或者实践环境,需要资源。特别是性能方面的、兼容性方面的。

  • 个人可控,可以通过自我努力实现和做到。

  • 解决问题的思路习惯,通常是集中在技术上。

CTO(这里代指管理类岗位职能):

  • 对产品/项目的技术内容负责,用尽可能合适的性价比完成团队的组建、运作以及产品的技术实现保障。

  • 团队的桥梁枢纽。强沟通、跨部门协作岗位。需要对产品、市场、业务、管理等各种维度有一定的理解和经验。

  • 需要机遇。而且极端情况会面临资源不足,任务紧迫,不被理解,夹在中间等各种困难。但是还是需要你站出来,去协调解决问题,保证产品到技术实现的顺利落地。

  • 解决问题的方式并不局限于使用技术的手段。

两个角色并不完全矛盾。特别是在小型团队里面,技术的管理者通常也是技术的权威,带领团队冲锋陷阵。而在中大型团队里面,技术的管理者的重心就是更多的放在如何保障团队的稳定、规范的运作以及研发进度。

这时候这个人不一定是技术的权威,可能是业务权威,也可能是一个管理组织能力很强并且具有一定技术理解力和沟通能力的角色。

在选择上,其实并不存在说哪个更强、哪个更好。因为都有很强的个人能力,受尊敬的团队地位,较好的自我价值实现等等。有个细节区别在于,技术大牛的适用环境更多。而技术管理岗位,地位越高,可选择的岗位机会就越少。因为会受到业务、金字塔结构下岗位数量以及BOSS对你的信任度等等多重维度的影响。

【InfoQ大咖说直播回放】老司机聊程序员的职场道路选择相关推荐

  1. 【20:30直播】网易老司机聊程序员的职场道路选择

    小时候你在想,到底去北大还是清华: 毕业了你在想,到底去大公司还是小公司: 入职后你在想,到底主攻技术专家还是技术管理. 人生处处是选择, 机遇总有限,坑却总不少. 为什么成功者的鸡汤总是美味? 因为 ...

  2. Github最火项目:程序员必读职场15大定律和7大原则

    公众号菜单栏点击"入群交流",和大家共同进步 大家估计有个越来越深的感受,就是说只做写代码的码农太局限了,现在这个环境,大家都想往上走当领导,除了升职加薪,其实也是实现了阶层的跨越 ...

  3. 【大咖发声】如何写出好程序?

    来源:其识 作者:万学凡 等 导读:学习编程并不仅仅是学习编程语言的细节:要想成为一名优秀的程序员,就必须成为调试代码.测试代码.编写清晰代码的专家,并且能解决遇到的任何疑难问题. 程序员如何在数字世 ...

  4. 大瓜:阿里P7绿帽哥程序员,美女媳妇车被人喷“小三”

    "你别哭,我抱不到你",有多少异地恋因为两地分离,除了电话安慰,什么都做不了.本来,也许一个拥抱,一个摸头杀,一句甜言蜜语就可化解的误会吵架,却常常因远在异地,产生信任危机.再危险 ...

  5. 我只是追个直播,结果被拉进大咖们的群面对面群聊……

    这一切要从上世纪60年代讲起-- 20世纪60年代,阿帕网(ARPANET)将共享源代码.互相协作和开放通信的底蕴写入软件开发的基因中,为「开源」的概念奠定了基础. 1991 年 9 月 17 日,一 ...

  6. GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

    圆栗子 发自 凹非寺  量子位 报道 | 公众号 QbitAI △ 也可以是火车司机 熟练使用命令行,是成为一个老司机必备的技能. 这里有一份入门&进阶指南,名字叫"命令行的艺术&q ...

  7. 程序员辛酸泪——当程序员老去,程序员又何去何从

    程序员将代码注入生命去打造互联网的浪潮之巅,当有一天他们老了,会走向那里,会做些什么?表面光鲜的"程序猿"的真实生活的背面是不为人知的辛酸史,让我们一起去了解程序员这个职业吧! 当 ...

  8. 人终有一老,大龄程序员该何去何从?从20岁开始卷?

    在知乎看到大家比较关心的一个话题 相信这是很多程序员的共同心声 非常支持有个高赞回答:99%的职业,年龄增大后都没前途.没前途是绝大多数普通人的宿命,有前途的人也用不着等到老. 我有一年短租过一个生物 ...

  9. 让雷军都压力山大的首位 00 后 CEO 抄袭了程序员的开源项目

    前有小猿题库与作业帮"构陷门"事件,后有程序员的开源作品公然被 00 后 CEO 抄袭,直接 copy 成为商业产品.如今的互联网界可以用"世风日下,人心不古" ...

最新文章

  1. ROW_NUMBER() OVER()函数用法;(分组,排序),partition by
  2. eclipse问题 - windows版
  3. 成为一名更好的程序员:如何阅读源代码
  4. 为什么要importmodulepython_python – 为什么“import”这样实现?
  5. 计算机视觉笔记本推荐_视觉灵感:Mishti笔记本
  6. android 本地数据库sqlite的封装
  7. java反射sethaha_Java反射深度测试
  8. 第三章 汇编语言和汇编软件
  9. ajax卡死new formdata(),使用FormData和jQuery上传Ajax大文件无法发布数据
  10. Spring Boot 2.4.0-RC1, 2.1.18, 2.2.11 和 2.3.5 发布
  11. wordpress如何隐藏后台位置?
  12. 慕课网仿去哪儿项目笔记--(五)-详情页面的开发
  13. Linux平台Libyuv使用指南
  14. pandas 列计算log不用math.log而是np.log
  15. 仿秒秒测日历页面和部分功能
  16. 五、服务总线 - Bus
  17. 期末前端web大作业——HTML+CSS+JavaScript仿京东购物商城网页制作(7页)
  18. lol服务器位置2017,LOL甜心宝贝的琴音和弦2017抽皮肤网页地址
  19. Java Jsp+Servlet+mysql实现的火车票查询预定系统(管理员/普通用户 功能:火车票查询、订票付款退票改签、火车票信息管理、线路管理、站点管理等)
  20. CNN卷积层神经元数量、连接数量、权重数量的计算

热门文章

  1. NCspider项目总结
  2. 使用bootstrap标签页
  3. 访问者(Visitor)模式
  4. tomcat无法启动(JVM错误)
  5. COJ1005(Binary Search Tree analog)
  6. Oxite移植到ASP.NET MVC2 BETA 笔记(关于Html.RenderPartialFromSkin)
  7. nginx代理转发_学了三年的性能调优,你还不懂Nginx?怎么跳槽涨薪
  8. 医学工作者如何进行医学科研设计?
  9. 细胞转染的操作步骤及注意事项
  10. SPSS 26安装教程