小言_互联网的博客

写给期待年薪百万的 IT 同学

233人阅读  评论(0)

点击蓝色“五分钟学算法”关注我哟

加个“星标”,天天中午 12:15,一起学算法

作者 | delphi

来源 | 大飞码字

有点标题党了哈,大家不用纠结百万年薪。百万不是一个确定的数字,就是高薪的意思。

说回正题,不少同学说程序员年龄的坎,让他感到焦虑,担心自己是不是跨不过30-35岁这个坎。

在一些论坛上,看到一些同学也在焦虑,焦虑目前技术更新太快,一下这个热点,那个热点,感觉学的好累,要跟不上了。

后来我想了下,这应该都是没有明白或积累够足的核心能力导致的。

核心能力,每个具体方向不同,也很难给个统一的定义。我例举些例子吧。我本身是做C/C++服务器开发的。我每次说完这个,有不少同学就反应,哇,会C/C++,好厉害的感觉。好像我这个方向的核心能力就是C/C++,大家却对服务器这三个字视而不见。

这个理解当然不对,语言只是实现逻辑的一种工具,核心能力是逻辑本身。

我换个介绍方式,海量分布式服务器系统设计开发。都是同样的工作,只是描述不同,你已经感到很大不一样了吧。

这里的核心能力是什么?是架构设计,关键细节设计的能力和经验。在海量服务器设计领域,核心能力,大概包含物理设计和软件设计。物理设计包含:磁盘存储设计,内存缓存设计,核心数据结构设计,一致性问题处理,容灾设计等;软件设计方面包含:模块划分,接口定义,设计模式应用,核心数据传输结构设计等。拥有上面的核心能力,你用C/C++,Java,甚至 python 都可以实现(虽然一般不会用 python 实现)。

在这里,核心竞争能力跟语言其实没有多大的关系。

换到客户端开发方向,也有它的核心能力。包含,单机存储设计,内存缓存设计,核心数据结构设计,并发处理, 软件分层,设计模式,传输协议等。你是 iOS 还是 andriod 开发,核心能力都很接近,只是某些特定的地方有区别。

我上面例举的两个例子,所涉及的核心能力,都是老掉牙的东西了。像磁盘存储设计,内存缓存的设计,软件设计模式,都不是什么新鲜的东西,几十年如此了,当然会有细微层面的进化。但大致如此。

所以焦虑的同学在焦虑什么呢?我看很多同学焦虑的是,又出了新的语言,新的框架,自己要跟不上了。

我只能说,如果你在焦虑语言和框架的时候,你就已经跟不上了。

你可能根本就没有理解你所在方向的核心能力是什么,更加没有掌握它。像andriod开发同学提到大前端,然后觉得焦虑,觉得自己要被淘汰了。

要是你理解软件设计就是客户端,前端开发最核心的能力之一的话,你就不会焦虑。反而会觉得,大前端这个概念,很好的解决了各种平台泛滥的问题。其实当你理解这点的时候,你平时学习,积累的点也就改变了。

你会更在意一个新的语言和框架为什么会这么设计,相比旧的东西,有什么改进。而不再只是注意语言,框架细节。这个视角是不一样的。

当你能理解这个事情,你离百万年薪就不远,或者已经超过百万年薪了吧。

上面例举的例子,可能太精专了,不在那个方向的同学可能不能理解。那我再来说说目前比较热门的数据和AI吧。

前几天,我很好奇,大家怎么突然都对python培训那么感兴趣了。后来百度了一下,都是python数据分析,AI的培训广告链接,然后就会心的笑了。

数据,AI都是大热门。刚毕业,进入到大厂,给60万以上都有可能。所以很多在已有方向做的不好的同学,就像找到了通往财富自由的捷径,或者去参加线下的培训班,或者自学数据,AI。当然学点东西挺好的,只不过有的同学可能期望太高。在这个事情上,我又想泼大家冷水了。

数据,AI的核心竞争力是什么?大家能说的出来吗?难道是会python的语法,会用python的库,就可以了?

说实话,我也不太懂。不过我接触了不少做这方面的同学,就说说我的理解吧。

数据,AI可以分两个方向来看。

一个是研究类,一个是工程类。上面说的毕业60万以上年薪的,基本都是研究类的,工程类的好像还没看到。研究类的比较好理解,大部分名校博士毕业,在一些顶级刊物上发表过paper的会加分很多。这个估计大部分同学也知道,就不多说了。

来说说工程类的。我周边有不少同学是本身是搞服务器开发的,有的转去做了数据推荐和AI。有的还做的不错。核心能力,我给划分了三个等级:

第一级,能够读懂英文的paper,完全理解paper里面描述的算法。知道算法的优劣和适用的场景,并且可以用自己熟悉的语言实现出该算法。这个算是工程里面的一流水平了,应该可以拿到很高工资。

第二级,不能完全理解paper和算法,但知道算法在某些特定场景下的效果和调优的方式。可以在GitHub上面找到合适的开源实现,进行使用甚至优化。如果有丰富的项目经验和实操经验会加分。

第三级,完全看不懂英文的paper,知道常用的算法,但无法区分出各种算法的优劣和适用场景,会用python,C++等语言的库进行算法组装。

大家看完上面的描述,觉得,数据,AI的核心竞争力是什么?是python语法,还是python的库?当然不是,我觉得最核心的还是算法本身,只不过对算法的理解程度的不同,会处于不同的等级。这里英文的阅读能力对很多人来说,也会成为一道坎。

目前自学和参加培训的同学大部分处在第三级,甚至第三级都没达到。有参加培训的同学过来咨询我。我问他目前是怎么学的。他说在看培训的视频,书太难了,看不懂。  如果是这种情况,恕我直言,可能永远没有机会进阶到第二级了。因为后面需要看的书籍,只会比入门书籍更难。

当然,肯定有同学有潜力,能通过自学或者培训到达二级水平或三级的水平,但路径可能比你想象的要漫长和艰难。

如果你确定入行走这条路,我建议你尝试做这么个事情。

去google(不要百度,百度出来都是一堆广告,简直误人子弟),比如:数据分析 职业发展 , 数据分析 书籍等。筛选出靠谱的文章。然后仔细的阅读,自己去整理总结,理出一个特定方向的发展路径,关键能力,要学习的课程和书籍。不一定很准确,但经过自己的整理和思考,自己对这个方向会有更深入的理解。然后再重新问自己,是不是确定要走这条路。而且做了这个事情后,你问别人相关问题,也能问得更具体些。

看完上面的文字,估计很多同学要喷我了。我本也可以写些政治正确的废话,鼓励大家努力往前。不过那么写,觉得对不住良心。所以还是写了实话。

有做工程的同学,发觉自己的发展遇到了瓶颈,然后抱怨自己所处的方向,天花板太低。于是他想转到数据方向。其实我看他所处的方向是没问题的,也有很多大牛人。只是他自己遇到了瓶颈,突破不了。对于这类同学,我的经验是。如果这个坎,你跨不过去,那么在数据,AI上面的坎,你也跨不过去。遇到了坎,不去努力突破,而是想绕过它,在后面你也依然难以突破。

最后希望大家能走在正确并且适合自己的道路上。

有热门推荐👇

1.程序员

2.【GitHub

3.【算法

4.【数据结构

▼ 点击『阅读原文』解锁更多图解 LeetCode 题目


转载:https://blog.csdn.net/kexuanxiu1163/article/details/101442214
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场