大佬分享:程序员必知的干货

阅读本文大概需要10分钟。

上周四给读者朋友们做了一场微信直播答疑,时长一个半小时,直播结束后效果非常好,很多读者私聊表示还没听过瘾。

还有读者在知乎上写了一个直播记录的笔记总结:

能得到大家的认可非常开心,这也让洋哥做了一个决定:以后每个月来一次读者微信直播,时间就安排在每个月的第一周周四晚上8点半,大家一定记得每次都来哈。

重点说下这次直播答疑的内容,基本把程序员的发展之路给概括了,有20多个问题,写完发现1万字了,精选8个分享给大家:

1.非科班出身,转行程序员,怎么发展

非科班出身的同学和培训班出身的同学,一般在业务开发上并没有明显劣势。但需要不断夯实计算机体系基础知识,比如计算机网络、操作系统、算法和数据结构、数据库、计算机组成原理等等。

怎么夯实?有一个很好的办法,是用精益求精的态度去做业务开发,去了解业务模块背后的底层知识,同时带着重构的思想去写代码。

比如我的第一份工作在腾讯,在没有老板的要求下,我重构了QQ游戏大厅调用QQ游戏的多进程通讯方式,增加了pipe和共享内存的方式,同时将几种多进程通讯整合在一个sdk里,一旦某种方式出问题自动切换。这个过程不但让我深入理解pipe和共享内存,同时把业务做得更加精细化,将调用失败率从千分比降低到万分比。

另外,一定要多读计算机经典书籍,这些大厚书不光能让你快速提升知识和能力,更会让你在面试之际如虎添翼。

但切记不要一上来就陷入这些大厚书的细节中,我当年自学踩过无数的坑,最后总结的学习方法是:

自顶向下学习法,首先学习你平时接触最多的东西,然后带着疑问去学习它背后的实现和逻辑。

比如学习Linux,不是先看《Linux 核心编程》,而是要先在电脑上学会配置一个Linux环境,进一步看看怎么查看进程、怎么操作文件、配置网卡等等。这个过程中过如果有什么不会,先看看一些简单的书或者教学视频。

玩起来之后,掌握了Linux的一些基础概念,遇到卡点问题,这个时候可以针对性的看看计算机大厚书,这些书一般都大而全的罗列了很多知识点。

另外一定要注意这些大厚书的前置知识点,比如看到网络部分,你可能需要先学习下socket编程,了解套接字和各种基础概念。

2.算法、大数据、人工智能、计算机视觉这么火,要不要转?

没想到这个问题在直播中被问了N次,前几天其实发了一篇文章:转行了,大家可以看看。

其实我读硕士的时候,学的就是计算机视觉(图形图像学),当年这个专业基本找不到工作。

实验室厉害的同学都选择了互联网或者国企公务员,只有极少几个同学拿着其他人一半不到的薪资一直坚守这个行业,5年后计算机视觉开始爆炸发展,现在这几个同学都是巨佬了。

从众必死、找到自己才有出路!

为什么这么说?你看到的热门,别人也都看到了,一窝蜂冲过去你的优势是什么?如果没优势如何能分到一杯羹而不是饿死?

但不断发掘自己的兴趣和热爱,一旦找到这样的事业,就算短期没有物质激励也能坚持,这种坚持恰恰是长期主义的另一种诠释,一旦积累到一定程度就能厚积薄发。

哪怕你热爱的岗位和行业一直不温不火,相比别人你也会获得竞争优势,而一旦火了,你就是巨佬。

其实不光是职场,投资也一样,比如股市的高位接盘侠基本都凉凉,反倒是那些真正认知到一个公司价值的投资者,才能真正赚到钱。

那么如何找到自己呢?

如果你现在还不知道自己真正热爱什么,那看经典书籍尤其是人物传记是一个非常好的方法,看看厉害的人在做事情的时候展现出来的状态,是不是你喜欢的?

比如你想创业,但你不确定是不是喜欢创业,那就看看《精益创业》之类的描述创业的书,看看是不是能让你心潮澎湃。

推荐一份硬核书单:2020最硬核书单

另外,在工作中不断探索自己的边界,比如做技术工作偶尔了解下数据分析和产品同学在做什么,有没有趣味?

一旦发现很有趣,就加大探索力度,去了解去尝试,甚至最终转行。

3.双非计算机本科,是考研还是就业

是否要考计算机研究生有一个金指标,毕业能否找到BATTMD和其他几十亿美金市值或估值的公司。

原因很简单,应届生必须去更大的公司才有更长远和稳健的职业发展路径。

以上这些公司,大概率有比较完善的业务场景、培训体系、晋升通道等,这些都是职场新人最需要的资源。

另外现在考研也非常卷,前不久爆出来中科大软院的录取分数线是388,所以如果你不是想走科研路线,能找到一家不错的公司,真的没必要考研。

4.算法和数据结构要好好学吗

不要好好学,要拼命学。

先说他们对面试的影响,曾经在360担任面试官,算法和数据结构都是必考的,无论是校招还是社招。从手写vector问起,迭代器、hashmap、各种容器的实现底层原理都会问到。

一般职级在阿里P7以下,算法和数据结构都是考察重点。

BATTMD这些公司筛选人才的最大利器也是算法和数据结构,别说现在,很多年前就是这样了。

我毕业的时候在PKU上刷了600多道题,面腾讯的时候,面试官先后出了三道算法:链表环问题、树问题、动态规划问题。很幸运这三道题其实我都刷过,于是故作慌乱的写下了答案,通过了面试。

对于应届想去大厂或者小厂想拿到阿里P6级大厂Offer的同学来说,多刷算法题是很必要的。另外在刷的过程中,一定要同步看看面经,判断下哪些题面试有可能考到。

再说说算法实际的作用,很多同学说:面试造火箭,工作拧螺丝。的确是这样,但有一个问题:会造火箭的人拧螺丝钉肯定问题不大,只会拧螺丝的派去造火箭?车毁人亡。。。

刚工作大家基本都是curd boy、curd girl,公司和领导也会把最基础的活交给你。


这样一来,很多同学工作好几年之后,算法数据结构的水平不增反减,并且看起来工作中的大部分事情做得是越来越得心应手了,然后得出一个结论:算法和数据结构并没有什么用。

我曾经遇到一个紧急故障:部门做了一个o2o的新产品, 某一次大型活动,并发量增长10倍,服务器直接卡死,带领部门几个架构师,对整体的代码做了重构,用算法数据结构疯狂优化了好几个性能卡点,在没增加服务器的情况下解决了故障。

这就是算法和数据结构的威力,这也是为什么大厂面试都必考算法和数据结构的真正原因,在海量用户和极度复杂的业务链路之下,优化和性能的需求会暴增。

5.自学计算机体系基础知识要多久

因人而异,如果天赋不错且还能做到:刻意练习、极致专注、心无旁骛,我觉得一年也就差不多了。

举个例子:雷军读完《硅谷之火》后,就花了8个月时间把大学四年的东西学完了,并且还学的非常扎实。

但如果天赋一般,还做不到那几点,那四年恐怕也是远远不够的。强度和密度提升不到一定程度,恐怕一个卡点就浪费很长时间。

6.程序员35岁危机究竟怎么破

直播过程中,好几个人问到了这点。

程序员到35岁,要么成为架构师级别、要么走向管理岗、又或者成为业务负责人、产品技术运营的桥梁。

如果都不行,还是写业务代码,甚至还是curd boy,那的确有很大被淘汰的风险。

没办法,这是人的身体精力决定的,35岁的朋友不要妄图去和20岁的小年轻拼体力,这是要猝死的。

所以关键是在用时间积累「职场资本」,关于如何积累,这篇其实写了:一不小心,知乎炸了!

另外大龄程序员还有一条出路:降纬打击,加入到传统行业的IT部门,这些地方因为发展平稳,加班并不多,也是一个很不错的出路。

有的朋友甚至能从互联网curd boy跳到传统行业IT部门的主管,这种也算华丽转身。

7.互联网行业,如何拒绝无效会议

首先是尽量少开会,毕竟90%的会都是毫无意义的。如果必须要开会做好以下几点:

  • 明确会议目标:要解决什么问题,这个问题的议题度如何(是否能被解决的问题)

  • 在会议前充分思考,并将思考点共创在石墨文档之类的工具上

  • 开会过程中用好工具,还是石墨,并且开会过程中需要共创,最好是直接集体修改石墨

  • 开会必须要有明确结论和todoList

8.如何做好技术管理

首先要明确一点:管理并不是管人,而是协调资源、作出高质量的决策、带领团队前进。

对于技术管理者来说,作出高质量技术决策是最重要的事情,比如工程要引入消息总线,是采用dubbo还是rokectmq又或者是KFK,需要根据团队现状、框架现状等因素作出相对正确的判断。

判断技术边界、产品实现边界、控制风险、用技术实现相比竞品的核心竞争力,这些是技术管理者必须做的事情。

另外,关于如何做好技术管理者,也写过一篇:做好技术管理,你必须要跨越的4道槛

END:

以上就是这次洋哥直播的8个精选问题,没记录的10多个问题,在后面的文章会写出来,比如如何看待内卷,这种话题可以写5000字了。

直播这件事,洋哥后续会重点来做,每个月做一次,毕竟文字载体能发挥的效用是有限的,直播能解决更多问题。

另外,很多小伙伴私聊洋哥,因为信息太多,如果没及时回复的,请一定见谅,后面也可以视频号直播的时候来问我。

附上我的视频号二维码,欢迎关注预约直播活动,不见不散呀:

你好,我是findyi,毕业于华科、清华,在腾讯做过码农,在360做过技术总监,在独角兽公司做过技术VP,点击蓝字查看我的成长之路

创业五年虽未获成功,但心中的小火苗一直还在燃烧,看尽南山&西北旺的风光,但依然有着内心执着的追求。

目前我是一位大厂的业务负责人,同时,也是一位信奉终身成长的职场人。

同时,我也是知乎博主:findyi,日常分享高质量职场认知、技术干货欢迎围观。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值