阿里技术专家现身斗胆给所有刚毕业的程序员七个建议

前几天跟我的一个下属聊天 , 刚刚毕业的校招生 , 进入公司还没3个月 。 当问到他对自己未来规划的时候 , 能明显看到她略显迟疑 , 露出尴尬的表情 , 然后吞吞吐吐的冒出几个字:我也不知道 , 就把自己工作干好 。
【阿里技术专家现身斗胆给所有刚毕业的程序员七个建议】能够感受到他对自己未来很迷惘 , 甚至根本没有想过自己路要怎么走 , 更显然没有规划过自己的未来 。 可是 , 转念一想我何尝不是这样一步步走过来 , 我太能理解他们的这种无助感 。
看见她 , 有一种时光倒流的感觉 , 他们身上有自己的影子 。 突然想起了我当年在大学中的整夜宿舍游戏的潇洒;想起了冬天早上逃课睡觉 , 和老师们斗智斗勇签到 , 惊心动魄的经历;想起来了自己意识到一无所长时 , 奋战考研 , 但又经不住游戏诱惑 , 书本一周只翻一页的堕落学习;想起了毕业时无处可去时 , 一个人在只有4平方出租屋里默默流泪 , 痛下决心 , 努力学习 , 提升能力的奋斗 。
回顾自己毕业到现在 , 也差不多7年时间了 。 一路走来 , 有过兴奋 , 有过困难 , 有过伤心 , 感受百味经历 , 我想这才是人生吧 。
每经历一次困难 , 都会成长一次 , 总结毕业后的7年 , 也是自己成长的7年 , 下面7点建议 , 希望对刚刚毕业的你们有所启发 。
阿里技术专家现身斗胆给所有刚毕业的程序员七个建议文章插图
提升专业技术能力专业能力是职业生涯的起点 , 比较容易意识到的 。 如果把事业比做造房子 , 那专业能力就是房子的地基了 , 是起点也是基础 。
以我自己的作为反面例子 , 大学里为了打游戏将专业课抛在脑后 , 有句话说的好“出来混 , 迟早是要还的” 。 果然在毕业后 , 为了填大学里埋下的坑 , 老老实实的重新把大学专业课在半年内全部看了一遍 , 在工作中还把课后的练习题全部操作了一遍 。 所以大家千万不要向我学习 。
有同学就会问了 , “既然专业技术能力这么重要 , 那应该怎样提升?” , 那下面我分享下我自己的学习方法 。
1. 循序渐进
专业技能方面分为:基础篇、提高篇;学习也需要循序渐进 , 切不可一口吃个大胖子 , 容易消化不了 。 先从基础的知识开始 , 例如:计算机网络(打好网络基础);计算机语言相关书籍(打好计算机语言这门工具基础);《深入理解计算机系统》(这本书强烈推荐 , 可以带你畅游计算机系统架构 。 涉及程序的机器码、汇编 , 处理器体系结构 , 存储器结构 , 系统IO , 网络编程 , 并发编程 , 以及程序性能的优化);数据结构与算法(程序的本质就是数据结构+算法)等等 。
(书籍电子版PDF教程小编都有所整理 , 几十万字 , 上千页篇幅的教程合集:计算机底层+操作系统+网络协议+Java技术核心知识+算法)需要的劳烦转发+评论 , 关注我私信回复“666” 来免费获取一份吧
基础知识已经熟练掌握之后 , 可以去试着提高技术能力 , 例如试着去掌握设计模式、架构设计、底层系统原理、性能调优、高级调试技术等等 。
学习途径可以通过:书籍、网络资源、技术大牛、技术沙龙等等 。 如果有技术大牛能带着你 , 可以少走很多弯路 , 尽量多跟技术大牛交流 , 相信我可以学到很多 。
2. 以点带面
这种方式 , 是我非常推荐的一种学习方式 。
工作中 , 往往只需要集中全力解决一点或几点问题就可以了 。 但这些点背后一定有一个较完整和深入的知识结构 。 所以 , 工作做完后 , 还需要继续学习背后的知识结构 。 以网络编程为例 , 15年时候做了一个工具 , 设备发现的工具 , 利用的udp多播的技术 , 很快就顺利的开发完了 。 但是学习还刚刚开始 , 里面有很多可以深挖的技术 , 从udp扩展开 , 可以延伸到网络技术的各个角落 , 从用户态到内核态 , 从API到具体实现方法 , 从数据结构到算法 , 这是一套完整的知识体系 。 所以 , 我觉得不管读者是在开发自己的产品也好 , 还是在修改bug也好 , 一定要努力从工作中提炼、积累出一个完整的知识框架 。
这个方法说起来简单 , 做起来还是有点困难 。 因为它要求工作之后还得投入大量时间学习 , 把知识点串成面 。 而且 , 学这些知识的好处一时半会很难体现 , 需要耐心 。
知识就像财富 , 是需要慢慢积累的 。
3. 重实践
“明明认识这个字 , 但是就是写不出来” , 我相信每个人都遇到过 。 专业技能和写字是一样的 。 往往有时候觉得自己掌握了 , 但是表达不出来或者写不出来 。 举个例子:排序算法中的堆排序算法 , 很多人原理是知道的 , 但是要通过代码表达出来 , 不是所有人都能写出来的 。