33岁的互联网人,看看我自己做了什么?

一、2021年之前

2020年8月中,从一家上市互联网公司离职,离职的原因和其中发生的一些事情也是一言难尽。感谢我当时的直属领导lfp和上层领导zjs,他们教会了我不少的东西,到现在都还有和他们联系,也很感谢我的同事,我的团队成员,他们都是很优秀的。
就这样,从一个算法团队的管理人员跑去了哔哩哔哩游戏事业部做资深算法工程师。而在哔哩哔哩的时光里,让我学到了不少的东西。

二、2020年10月到2020年12月

从2020年10月入职B站,B站给了股票期权+现金,总包是一个可观的数额。期权部分分为4年,第二年结束开始行权。期权部分占比不少,尤其是从入职的40美元涨到150美元的时候,幻想着4年后能够拿到不少的一笔收入,这是吸引我的第一个点。

吸引我的第二个点,就是快速发展的B站业务,游戏作为收入的大头,业务飞速发展的同时,欠下了不少技术债,尤其是在算法这块,可以有我大展身手的地方。

刚刚入职B站的几周,算法团队的小伙伴都在加班搞数据,那是没日没夜的搞,总共6个算法,入职两周还不知道谁是谁,都用花名。后边了解清楚了状况,算法小伙伴在加班搞实时计算。当时就感觉这里有问题,也没太在意,自己搞自己的事情吧。

我这边负责搞游戏推荐。这段时间呢,基本都是按照自己的节奏走,搭建了推荐的一套简单的流程,从无到有建设了起来。同时呢,也找了上家公司的小伙伴加入一起来做,新的小伙伴激情十足,信心满满。我一边负责业务技术一边负责招聘。也是有点忙的,但是总体还好。

三、2021年1月到2021年3月

这段时期是我最困难的时期,同时对我拉过来的前公司小伙伴也非常抱歉。说几件让我印象深刻的事情吧。

  1. 当初我进来的时候,是算法组的资深算法工程师,和总监直接汇报,下面有和我一起做推荐的小伙伴,算是一个小团队吧。后来,算法组中的一个开发工程师(暂称L)由于解决了实时计算的问题,来的也比较早,后来就升级为资深开发工程师,慢慢地,有些事情是总监给他,他再给我传达。但是一直没有明确汇报关系。这也是我感觉这位总监比较奇怪的地方,感觉他不会管。当时没在意,因为没有插手我的工作,业务还是我来管。后来就变了。

  2. 开始开早会了,莫名其妙地被他拉着开早会。每天开的那种,有个算法小伙伴在使用阿里的PAI开发Item-CF算法,所以有三天的工作汇报都是和Item-CF算法相关的内容。L就问,怎么天天开发这个算法?为什么要做Item-CF算法的离线测试开发?当时就感觉沟通不在同一个频道上。甚至,L直接让我们上线离线DeepFM算法,这是个什么鬼?哈哈哈,当时就当作笑话看他。

  3. 后来这种情况越来越严重,我们就很气。总监也不是个省油的灯,也是不懂瞎指挥,瞎搞,搞得人人都很累。基本上都是在晚上9:00之后找你开会,开会也没有主题,想到哪里说到哪里,基本上都是10点、11点结束,太累了。有时候,大半夜打电话问你个数据,这个数据呢,又不是很重要。还搞得很急,后边了解到,总监早上一般不来,到下午3、4点来,工作到很晚,我们还得按时打卡,晚上还得陪着。

  4. 再后来就是年底了,强制加班到晚上10点,证明自己的团队工作多,想多拿年终奖。年终会上,篡改成果,我做出来的成绩给了别人,但是有锅还是你背。成绩是别人的,锅是你的。

  5. 充满了不信任,不尊重。L有一天对我同事说,你做了哪些工作?写了那一行代码?电脑打开给我看?
    同事直接崩溃,所以,大概3月,试用期都没到,直接跳槽去了阿里。在他之前呢,组内的3位同事也都走了。我也在看机会,只是年龄太大了,不能随意换。

在这里插入图片描述
五种错位现象全部命中!

下面是当时写的一些分析,也是记录了当时比较清楚的情形。挂在他们口头的东西是,这个事情做不到是不是能力又问题,但是就像回“你招进来的人,你说能力有问题,你自己能力是最有问题的吧!!”
在这里插入图片描述

四、2021年3月到2021年9月

由于小组内很多人员都离职了,离职后应该也反映过一些团队的问题,这段时间是我比较舒服的时间。定好自己做的工作和任务,每天按照自己的节奏走,定期汇报,其他并没有太多受到干扰。每天10点上班,7点下班,也算过的比较正常。
慢慢地,这段时间也在不断地思考自己的未来。
年龄大了,在互联网还会经历PUA,可能经历被裁员等,因此,找工作应该去:

  1. 比较稳定的(国企、外企)
  2. 比较人性化的
  3. 能够长期积累和发展的
  4. 尊重你的,不PUA的

于是,微信上加了很多很多猎头,天天看机会。因为我知道在互联网不是长久之计,不能在上边搭上未来的几十年,互联网的很多企业就是压榨,榨干就裁,根本不会理会你。
但,这就是现实社会,所以很感谢在B站以前遇到的领导、同事。

终于,在今年10月迎来了转机,顺利去了国企。也感谢现有的领导、同事,在这里真是受到了尊重,无论是领导还是同级、下级,统统称你老师,在这样的环境下奉献自己的精力不是很好吗?干嘛要在PUA的企业996为一些nc领导赚钱,到头来你舍也不是。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus

在本教程第三讲Spring Cloud 入门教程(三): 配置自动刷新中,通过POST方式向客户端发送/refresh请求, 可以让客户端获取到配置的最新变化。但试想一下, 在分布式系统中,如果存在很多个客户端都需要刷新改配置&#xff0…

SpringCloud Eureka参数配置项详解

Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。 Eureka客户端配置 1、RegistryFetchIntervalSe…

OAuth 2.0 - Authorization Code授权方式详解

I:OAuth 2.0 开发前期准备 天上不会自然掉馅饼让你轻松地去访问到人家资源服务器里面的用户数据资源,所以你需要做的前期开发准备工作就是把AppKey, AppSecret取到手 新浪获取传送门,腾讯获取传送门 这里说一下,在申请AppKey和AppSecret的过程…

最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)

一、spring cloud简介 鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。 Finchley版本的官方文档如下: http://cloud.spri…

最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)

在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbonrestTemplate,另一种是feign。在这一篇文章…

链表选择排序算法功能实现演示

算法: 狭义的算法是与数据的存数方式密切相关 广义的算法是与数据的存储方式无关 泛型: 利用某种技术达到的效果就是:不同的存数方式&#xff0c;执行的操作是一样的 #include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h&g…

链表插入功能实现演示

#include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h>typedef struct Node {int data; //数据域struct Node * pNext; //指针域}Node, *pNode;//函数声明 pNode create_list(); void traverse_list(pNode pHead); …

【.NET程序性能分析】使用VS自带的工具分析.NET程序的性能

这篇博文给大家分享的是&#xff0c;如何使用VS自带的性能分析工具来分析我们编写的.NET程序&#xff0c;一边找出程序性能的瓶颈&#xff0c;改善代码的质量。在实际开发中&#xff0c;性能真的很重要&#xff0c;往往决定一个产品的生死~良好的用户体验的基础之一也是程序要有…

链表删除功能实现演示

插入算法和删除演示&#xff1a; #include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h>typedef struct Node {int data; //数据域struct Node * pNext; //指针域}Node, *pNode;//函数声明 pNode create_list(); void …

栈入门

线性结构的两种常见应用之一栈 定义&#xff1a;一种可以实现”先进后出”的存储结构&#xff0c;栈类似于箱子 分类&#xff1a;静态栈、动态栈 算法&#xff1a;出栈、压栈 栈的定义&#xff1a; 栈&#xff08;stack&#xff09;又名堆栈&#xff0c;它是一种运算受限的线性…

Packet Tracer 5.0实验(四) 利用三层交换机实现VLAN间路由

一、实验目标 掌握交换机Tag VLAN 的配置&#xff1b;掌握三层交换机基本配置方法&#xff1b;掌握三层交换机VLAN路由的配置方法&#xff1b;通过三层交换机实现VLAN间相互通信&#xff1b;二、实验背景 某企业有两个主要部门&#xff0c;技术部和销售部&#xff0c;分处于不同…

栈程序演示

#include <stdio.h> #include <malloc.h> #include <stdlib.h>typedef struct Node{int data;struct Node * pNext; }NODE,*PNODE;typedef struct Stack{PNODE pTop; //栈顶元素PNODE pBottom; //栈底部元素 }STACK,*PSTACK;void init(PSTACK); v…

noi 2009 二叉查找树 动态规划

思路&#xff1a; 先把权值离散化 按数据值排序 sum[i]为前i个节点频度和 dp[i][j][w]表示把节点[i,j]合并成一颗根节点权值不小于w的子树所需的访问代价与修改代价的最小和 dp[i][j][w]min(dp[i][k-1][w]dp[k1][j][w]sum[j]-sum[i-1]K,dp[i][k-1][a[k].weight]dp[k1][j][a[k].…

出栈程序演示

#include <stdio.h> #include <malloc.h> #include <stdlib.h>typedef struct Node{int data;struct Node * pNext; }NODE,*PNODE;typedef struct Stack{PNODE pTop; //栈顶元素PNODE pBottom; //栈底部元素 }STACK,*PSTACK;void init(PSTACK); v…

栈清空程序演示

#include <stdio.h> #include <malloc.h> #include <stdlib.h>typedef struct Node{int data;struct Node * pNext; }NODE,*PNODE;typedef struct Stack{PNODE pTop; //栈顶元素PNODE pBottom; //栈底部元素 }STACK,*PSTACK;void init(PSTACK); v…

MySQL学习笔记——显示数据库信息

show privileges 显示可用的系统权限清单。   View Code mysql> show privileges;-----------------------------------------------------------------------------------------------------------------------| Privilege | Context …

队列入门简介

线性结构的两种常见应用之二队列 定义:种可以实现“先进先出”的存储结构 分类:链式队列(链表实现)、静态队列(数组实现) 队列&#xff08;常用数据结构之一&#xff09; 队列是一种特殊的线性表&#xff0c;特殊之处在于它只允许在表的前端&#xff08;front&#xff09;进行…

静态队列

静态队列- --用数组实现 静态队列通常都必须是循环队列 循环队列的讲解: 1.静态队列为什么必须是循环队列&#xff1f; 数组表示的问题  对于队列最好的方法是使用链表实现&#xff0c;因为对于数组来说&#xff0c;队列可能会出现下面这种情况&#xff1a; 如图所示&#…

链表队列入门介绍

1&#xff0c;快速开始&#xff1a; 队列是一种和栈相反的&#xff0c;遵循先进先出原则的线性表。此文章使用链表来实现队列。 如上图所示&#xff0c;就像一个自来水管&#xff0c;先进入水管的水先从水龙头出来&#xff0c;即Front位置的元素最先出队列&#xff0c;因为它们…