互联网公司套路多,面试造火箭进厂递扳手,新人打杂何时休?

2024-06-01
来源:网络整理

前言

众所周知,现代互联网公司花样百出。比如HR会把年终奖摊开来和你协商每个月的工资;年底前会提太多月份,等你意识到的时候已经晚了;有的明明告诉你是A岗位,却让你做B工作;花样百出,简直是小菜一碟。但如果要说最让人无法忍受的,我个人认为是:面试时造火箭,进厂时发扳手!杂活儿层出不穷。

本文图片来自电影《当幸福来敲门》,一部很励志的电影,当你觉得生活艰难的时候,推荐大家看一下,给自己充电。

新员工中常见的现象

虽然没人公开说过,但我个人认为,互联网圈其实是有打零工文化的。而且不只是互联网,各行各业都类似。总有一些像端茶送水这种没人愿意做但必须有人做的工作,这些工作就叫打零工。我们新员工,尤其是校园招聘时,几乎很难避免打零工的命运。

拿我自己做一个简单的例子,刚毕业还在做后端开发的时候,接到了别人的烂系统,面对着几万行的“狗屁代码”,帮别人找bug、修bug,bug一大堆,老板都误以为是我写的。另外,还看过别人一个函数三四千行的又长又臭的代码,这些都不算什么大问题。最不能接受的,就是日复一日的增删改查,明明是别人系统有问题,却被人半夜叫醒,这种感觉真的一言难尽。

转行做移动开发之后,情况也没好多少,做一些边缘需求,但大多数情况下只是写一些很简单的增删改查逻辑和页面UI,其他岗位的朋友同学也有过类似的经历,杂活儿好像是一种魔咒,又像是一种考验,谁也逃脱不了。

恶性循环是怎样形成的?

说起打零工,那些无聊的、没人愿意做的事情,大家都会有抵触情绪。这种工作是典型的高付出、低回报。因此,他们心存不满。其实从我的经验来看,我觉得年终奖、升职机会、在团队中的地位等因素似乎很重要。我觉得长期做零工最大的问题是,会让人陷入停滞甚至倒退的恶性循环。

比如今天你的老板需要你运行一条 SQL 语句来准备数据,你就去做了。你原本以为这只是权宜之计。老板欣喜若狂,你只是满足了他的需求。于是每天都有这样的任务等着你,你成为了一个没有任何感情的工具。我们都知道 SQL 没有多少技术点,能做的点就那么多。两周之内,你就能积累丰富的 SQL 操作经验。那么两周之后,你还会有写 SQL 的热情吗?

一个人很难做好自己不热爱的事情,更难做好自己讨厌的事情。结果就是,如果你每天都怀着怨恨去做一件自己不喜欢的工作,很难尽全力做出让自己满意的成绩。自然,就更难让老板或别人满意。结果,你的老板和上级会认为你不够好,连这么简单的事情都做不好。他们才不管你是否喜欢做这些事情,他们的安排是否合理。这是人之常情。大多数情况下,人们更喜欢在别人身上找问题,而不是反思自己的问题。

于是你做的事情就越来越被边缘化,你越来越不喜欢它,你感觉你在团队中的地位也越来越不重要。直到你再也忍受不了而离开,这是一个恶性循环。

前辈们称之为瓶颈,这也是很多人到了一定职位之后很难再升迁的重要原因。这个恶性循环非常厉害,一旦陷入其中,就很难走出来。换工作换环境是最快最有效率的方法,但换环境并不能解决所有问题,也不是每个人都有条件支持自己随意换工作。所以,这就引出了我们接下来要讨论的真正问题。

作为行业新人,在你最渴望和需要快速提升技术水平的时候,每天要做的只是一些杂事,你该怎么办?

不管你把零工做得多好,它们仍然是零工。

首先我们来思考一个问题,这个恶性循环的第一个闭环是如何形成的?往往是因为老板给你一个不太重要的任务,但是你做的并没有让他满意,没有达到他的期望,而且他没有告诉你,而是在下次给你安排了一个更简单、更不重要的任务,来解决你没有达到他的期望的问题。

从这个角度来说,我们要想走出恶性循环,那么我们要做的就是改变上级的看法,把他交给我们的任务做好,这样他才能给我们安排更好的机会。但其实这条路很难走,原因很简单,一是人的偏见很难推翻,二是上级不会太重视杂七杂八的任务,就算你做得很好,也很难被人注意到。

打零工再好,终归是打零工,就算打得再好,也不会有好的业绩,升职的机会。所以先调整好认知,不要跟自己较劲。不要觉得我手头的事情做得那么好,老板怎么不认可我?那心态就不平衡了,就会放弃。我也经历过,当了很久的咸鱼。

所以首先我们要有正确的心态,如果想打破这个循环,最重要的不是老老实实的做手头的杂事,而是去寻找别的机会。

淘金热

寻找机会的最好方式就是从眼前的事情入手,这和我刚才说的并不矛盾。因为很多看似复杂的事情背后都隐藏着很多机会,只是因为大家都在回避而没有被发现。

比如有一次团队找一个新人去分析数据,结果这个新人不仅按要求完成了分析,还对内容进行了细致的思考和论证。这一论证就发现了一个大问题,我们的数据来源和处理逻辑可能存在隐藏的bug。所以这条线涉及到一系列重要的工作,这些事情当然也由他来参与。虽然名义上还有其他更资深的人,但我们都知道,这个新人实际上已经成为了这件事情的核心。果然,没过多久,这个新人的地位就大大提升了,虽然他的地位没有变化,但在我们心里,他的升迁已是板上钉钉的事了。

当然,凡事都不是绝对的,不是所有打工都蕴藏着机会,有些打工就是打工而已。至少我们可以尝试换个角度去想,或许能有所发现?

展现你的存在

如果我们不能从自己的内部工作中找到探索点,那么我们只能从外部获取机会。如果你想获得机会,只有一个方法,那就是去争取,但争取的方式可以有所不同。你可以很明显地去争取,也可以用委婉的方式去展现。展现你的存在感是一种委婉的展现方式,用各种方式告诉你的老板你很棒,让他重新评价你。

“展现你的存在感”看似是一个贬义词,其实在职场中是一个中性词,如果我们做得好,也可以是褒义词。在职场中展现你的存在感,给别人留下好印象的方法有很多。一个很简单的例子就是写文档,我自己也试验过,非常有效。因为工程师一般都不愿意写文档,迫不得已只能随便写,很少有人能写得好、写得清楚。你可以当个植树先锋,针对自己负责的区域或者大家共享的某个区域,写清楚文档。

其实文档谁都需要,但是谁也懒得去写。这样,你写文档的时候,大家看到一定会第一个想到你。以后团队来新人,或者需要出去宣传介绍团队,或者需要给上司展示或者汇报某项工作的时候,都可能用到你的文档。如果你有能力,你不仅可以自己写文档,还可以完善其他领域的文档。对于很多事情来说,写文档的过程就是理解的过程,你写完文档之后,可能比现在的负责人理解的还透彻,几次之后,会很快帮你在团队中建立口碑,获得存在感,而且不会因为你在帮助整个团队做贡献而引起反感。

除了写文档之外,还有其他的方式,比如分享技术,内部写技术博客等等,不过我还是认为写文档是最有效的。

从上游和下游开始

既然你的工作没有营养,无法从中挖掘出任何价值,那么你也可以从上下游入手。如果上下游是在自己团队内部,那么你可以做的事情就很多了。比如你可以研究他们的代码,了解它的设计和架构。自己研究完之后,也可以跟负责的同学说说你的理解,问一些问题。

等你们互相了解之后,你可以直接说你对他们的系统很感兴趣,希望可以参与进来帮忙,只要你能参与就行,刚开始可能不太合适。不过没关系,只要多参与几次,就算你不是会员,也会成为会员。如果后面有新人加入团队,你跟老板说一声,把之前负责的杂活甩掉或者分担一些,也是很自然的事情。

如果你的上下游不在一个团队,其实也没关系,你可以跟他们聊聊,了解一下情况。比如他们的痛点,他们的诉求,他们希望你能完成但没做的事情。只要你想清楚,谈清楚,你肯定可以找到你的老板来接手这种工作。相比上面那种展现存在感的方式,这种方式更主动,难度也更大,很多人会碍于面子不敢行动,或者不知道该如何行动。不过这种方式更有效,几个月到半年就可能完成逆转。

当然,最后的办法是直接去找你的老板,告诉他你的不满。有些老板在乎下属的想法,愿意帮助你改变,给你机会。有些老板可能会愚弄你,用承诺来安抚你。从我个人的经验来看,成功率不是很高,但值得一试。

其实,我们做任何选择都不容易。但无论我们选择什么、做什么,有一件事是肯定的:我们需要付出额外的努力。靠耍些花招是不可能获得升职加薪的。毕竟,就算有人真的欣赏你、重视你、给你机会,你也要有能力把握住,不是吗?

上帝奖励努力工作

新员工初入职场,一切都是新奇的,过去的知识和经验都没有用,很多东西对他们来说都是未知的,可能也没有一个好的向导来引导他们,只能自己摸索,这并不容易。但另一方面,职场上的好学生,不一定成绩好,好学生是能从环境和别人身上学到自己想要的东西的人。加油!年轻人!

在这里,我愿意免费将我在阿里巴巴六年多来积累的技术经验,学习路径和笔记分享给你们,希望对有兴趣提升技术的朋友有所帮助!

由于篇幅所限,以下是部分内容的截图,如果需要以下完整学习笔记PDF,可以扫码免费获取~

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

关键点:

1.深入理解Java泛型

2. 解释简单易懂

3.并发编程

4.数据传输与序列化

5.Java虚拟机原理

6. 高效 IO

随着互联网公司的不断发展,产品项目中的模块越来越多,用户体验要求越来越高,小步快迭代的目标越来越难以实现,于是插件技术诞生。如果没有插件技术,美团、淘宝等集成大量“APP”的应用可能大小就好几G。

所以如今的移动开发没有热修复、插件、组件,80%以上的面试都会失败。

关键点:

1. 热修复设计

2.插件框架设计

3.组件化框架设计

4. 图片加载框架

5.网络接入框架设计

6.响应式编程框架设计

由于不同开发工程师的技术水平参差不齐,导致很多手机即便软件运行性能非常高,但在打开应用程序时仍然会出现卡顿的情况。

另外随着产品内容的迭代,功能越来越复杂,UI页面越来越丰富,也成为流畅操作的阻碍。综上所述,优化APP性能已经成为开发者应具备的综合素质,也是开发者完成高品质应用作品的保障。

1.设计思路及代码质量优化

2.程序性能优化

3.开发效率优化

4.项目实践

框架架构(高级UI+源码)这个知识是现在使用最多的,我们称之为~2016技术。

开发人员经常习惯从网上抄代码,这让他们对于自己经常“用”的代码既熟悉又陌生:熟悉是因为他们几乎每天都在打交道,每天都在抄袭;陌生是因为他们虽然每天都在打交道,但是却没有对这些代码的原理,也没有对这些代码的深层内涵进行过深入的研究。

本文要点:

1. 高级UI推广

2. 内核组件

3. IPC是大型项目的必备条件

4.数据持久化和序列化

5. 内核分析

NDK(Kit 的缩写)是一个基于原生程序接口的软件开发工具包,它允许你在应用程序中使用 C 和 C++ 代码工具。使用该工具开发的程序直接在本地运行,而不是在虚拟机中运行。

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

本文要点:

1. 使用 C/C++ 进行 NDK 开发入门

2.JNI模块开发

3.编程

4. 底层图像处理

5. 音频和视频开发

6.机器学习

2019年无疑是技术飞速发展的一年。

“快速开发、富有表现力和灵活性的 UI、原生性能”这些特性和概念让每一位移动开发者都为之疯狂。从超级应用到独立应用,从纯栈到混合栈,开发者们在不同场景下快乐地探索和应用技术,同时也面临着各种不同的挑战。

本文要点:

1. 跨平台开发概述

2. 开发环境的搭建

3. 编写你的第一个应用程序

4. Dart 语言体系介绍

微信小程序是时下最流行的编程应用场景之一,在市场上非常受欢迎,让很多开发者羡慕不已。但是对于初学者来说,完全是一片迷茫,不知道开发制作微信小程序需要学习哪些知识。有需要的朋友可以参考这篇文章。

本文要点:

1. 小程序概述及入门

2. 小程序UI开发

3. API操作

4. 商场项目实践

由于篇幅所限,如果需要上面完整的学习笔记PDF,可以扫码免费获取~

前方的路

追梦的路总是艰难的,我个人的看法是,前面的路漫长而充满困难,但至少我们应该毫不犹豫地向前走。虽然我们可能没有如愿以偿,可能得不到想要的东西,但每前进一步都是向前迈出的一步,每前进一步都带来喜悦,都会看到一些新的风景。就像我经营公众号,不确定自己会不会有几十万粉丝,成为自媒体大咖,但我能写一篇文章,多坚持一天,就永远离目标更近了。一点一点积累,也许有一天回头一看,你会发现自己已经实现了自己的愿望。

不知道有多少读者迷茫,需要鼓励,希望本文能给你一些鼓励和力量,勇敢出发,朝着梦想的地方前进,你也可以点赞关注我,和我一起前行。

分享