八年老程序员现身说法:亲授一波职场程序员新人指南,被追着喊666

前言

最近在知乎里有一个同学付费咨询问我,他刚刚毕业,即将进入职场,有些紧张,不知道如何才能表现出色,问我有没有什么建议。我和他一通畅聊,当中迸发了不少很有价值的问题,我选择了其中几个整理成了今天的文章,分享给大家。

明处亮相、暗处努力

有句俗语叫做幸福的人往往有相似的幸福,而不幸的人各有各的不幸。其实这句话放在职场当中也一样适用,优秀的人往往有一些相似的特质,而拉胯的人则各有各的拉胯。

首先说说第一条,我给它总结为明处亮相、暗处努力。这句话其实很好理解,明处亮相是说我们在做事的时候要正大光明,有底气有勇气,不怕与人交涉,也就是高调做事的意思。我在职场当中曾经听说过很多传说,最传奇的一次是之前在阿里妈妈的时候,听说有一位P5运营小姐姐为了一个需求,每次被拒绝就找上一层的领导,一直找到了整个部门P11的老大。这个案例给我非常震撼,我想换了绝大多数人是没有这个勇气的,即使非常坚信自己一定是正确的。

再来说说暗处努力,在职场当中毫无疑问我们一定是需要努力的。不论是努力学习提升我们的业务、技术能力,还是努力把一件事情做好,都是必不可少的。但个人努力是一件相对比较私人的事情,不宜放上台面来说。一方面整天聊起自己看了哪些论文,学了哪些技术可能会让人觉得你凡尔赛,或者是刺痛一些已经躺平的咸鱼老人,会让他们对你产生不喜。另一方面如果自己不小心事情办出了纰漏,也很容易让人怀疑,你口口声声说自己努力、学习了很多,怎么还这么菜。

所以说宣扬自己如何如何努力是一件挺没有必要的事情,我还是觉得在职场上怀才就像怀孕,时间久了总是会被看出来的。

学会看人、学会跟人

作为新人进入职场,首当其冲就是要学会看人和跟人。如果不小心跟了一个本身拉胯的,非但学不到什么东西,还可能连累自己。那怎么判断一个人值不值得跟,判断一个职场前辈究竟有几斤几两呢?

俗话说一个人的野心有多大,他的舞台就有多大。别以为这句话是鸡汤,其实很有道理。举个例子来说,我们都知道在组里每一个人负责一块业务,但并没有说一个人是不是只能了解分配给自己的业务或者是技术。如果你发现某一个人非但对自己领域内的技术细节了如指掌,还对其他人的项目也很关心和了解,那么此人必定不简单,肯定有非常强的驱动力以及意志力。如果你发现一个所谓的资深工程师对自己领域下的很多细节还不清楚,经常要问别人,那么十有八九,这个人是个老油条,已经躺平很久了。

另外一个技巧是观察,观察团队当中出现了问题除了leader之外都找谁解决,这个人往往在团队当中非同一般。举个例子,比如说你发现自己找其他同事问了好几个问题,他们的回答都很一致让你去问张三。那么这个张三大概率应该是团队中的技术骨干,至少他承担了很多他工作之外的责任。你就可以把这个人当做榜样和学习的对象。

再来说说跟人,跟人其实考验的是你的沟通能力,也就是情商。一般来说新人进入团队跟着谁这个是主管和leader安排的,新人啥也不知道刚进来也发表不了什么意见。那之后找到了更好的学习对象想要换一个人跟怎么办呢?很多人觉得好像就没辙了,其实有办法,也很简单。就是找老板沟通,表达自己的想法。说起来简单,但是操作有不小的难度。

如果我们站在leader的角度来思考,他其实不太关心哪一个人都跟着谁的,他更多的是关心团队的产出和业绩。所以有这么几个问题就必须要考虑,如果你转过去了,你当下的工作怎么办,交接给谁?你过去之后会不会导致人力分配不均,那边人力过剩,这边人力不足?会不会引起一些人的不满,年底了绩效怎么分配?

所以比较好的办法是你先和张三熟络起来,然后把当前手头的事情做好,等一个项目结束聊绩效或者是淡季比较不忙的时候找到老板沟通自己的想法。沟通的时候以表明自己的想法和诉求为主,至于这个事情之后的走向则交给老板来安排,毕竟这也不是我们能帮上忙的。

保持热度、持续燃烧

对于新人而言,刚刚进入职场往往都是想要大干一场,做出一番事情来的。但这股热情能够延续的时间往往不会很长,因为努力奋斗了一段时间之后,发现自己依然藉藉无名,升职加薪之类的事情好像也比较远,很多人这个时候就会开始懈怠了。老实说我之前也曾经懈怠过一段时间,觉得做什么都没有意思,经过了好一番周折才调整过来。

所以我觉得新人最重要的其实不是展示自己,也不是多么积极主动,多做很多事情。涸泽而渔的做法不太可取,除非你天生就是非常热情、动力十足的人。短时间内的亮相、发光发热意义并不大,持久才是王道。某人刚入职的时候积极主动,过了三个月就开始平淡无奇,大家只会觉得他的积极是刚入职的时候想表现而已,很快就会忘记。但如果他既保持积极的热度,但不过度表现。也许一开始的时候不能技惊四座,但是时间久了,还是可以在大家心里留下一席之地。

前面介绍了李泌的半句名言,其实刚才那句话还有下半句叫做“动如逞才,静如遂意”。意思是说一个人在有所行动的时候应该给人一种在施展才华的感觉,当他静下来的时候,又会让别人觉得他已经逞心如意了。这当然是很高的境界,我等凡人不是一朝一夕就能做到的。但这并不影响我们朝着这个方向努力,在职场当中保持温度保持热情,但不过分炙热。这样我们行动的时候才会像是施展才华,我们静下来又像是已经逞心如意。相反,如果过度表现往往会引人不快,觉得你太过度表现自己,抢了别人风头。

注重成长,日积月累

新人刚入职场,一片新奇,过去的知识和经历派不上用场。很多事物不懂,充满了未知,可能也没有一个很好的领路人指点,只能靠自己摸索,的确不太容易。但反过来说,职场中的好学生其实并不一定成绩好,能够自己从环境和其他人身上学到自己想要的,才是真正的好学生。

不断学习提升

我自己做Android开发已经是第8个年头了,见证了太多人的起起落落,印象很深一个同事,跳槽阿里薪资直接double,但也看到很多人镀着“大厂”的金四处碰壁,终究还是倒在了技术上!

以下分享一下我几年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!

以下完整学习笔记PDF,点击这里免费下载获取

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

Android框架体系架构

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

NDK模块开发

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

Flutter学习

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

微信小程序开发

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

Android相关源码解读

Android相关源码解读部分内容

由于篇幅原因,如有需要以上完整学习笔记PDF,可以点击这里免费自取!!

结果重要,过程也有意义

人就是这样,容易念想也容易遗忘。所以不要把你所有的心思都寄托在那一个虚无缥缈的结果上,结果固然重要,但过程也同样有意义。无论是读研还是工作,你在这个过程当中同样得到了切实的成长,这些收获都是实实在在属于你的。大厂的背景固然可以给你加持,但你能力还是基础还是这些收获,offer和奖杯一样,只是实力赢来的荣誉,而不是实力本身,千万不要本末倒置了。

今天的文章就到这里,感谢您的阅读,喜欢的话可以给我一个三连,让文章分享给更多人~

posted @ 2021-04-07 16:22  Button123  阅读(196)  评论(0编辑  收藏  举报