Skip to content

Commit 4bcef56

Browse files
committed
content: Discuss job change
Go over a recent role change I have made and my future professional career direction. Signed-off-by: Rahul Rameshbabu <[email protected]>
1 parent 36665d6 commit 4bcef56

File tree

3 files changed

+109
-0
lines changed

3 files changed

+109
-0
lines changed

Diff for: content/posts/job_change/index.org

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: "Career Change: From Linux Kernel Networking to Linux Graphics"
3+
tags: ["work"]
4+
date: 2024-04-28T21:53:41-07:00
5+
draft: false
6+
---
7+
8+
* Changing Jobs
9+
10+
I wanted to announce that I am changing jobs. In my previous role, I worked at
11+
NVIDIA as a Linux kernel developer specifically focused on netdev changes for
12+
the [[https://www.nvidia.com/en-us/networking/ethernet-adapters/][ConnectX]] and [[https://www.nvidia.com/en-us/networking/products/data-processing-unit/][BlueField]] products. You can find my relevant work in my
13+
previous position by [[https://lore.kernel.org/netdev/?q=Rahul+Rameshbabu][searching my name on the netdev mailing list archives]].
14+
15+
I am moving to a new role as part of NVIDIA's Linux Graphics Team. The team's
16+
work involves DRM/KMS, X11 and Wayland UMD work, as well as OpenGL and Vulkan
17+
support. Documentation related to the work can be found at
18+
[[https://download.nvidia.com/XFree86/Linux-x86_64/]].
19+
20+
* Why the change?
21+
22+
I enjoyed the work greatly and loved the interactions with the Linux kernel
23+
netdev team at NVIDIA. The team helped immerse me into the Linux kernel
24+
development process and gave me a means to actively contribute while being able
25+
to pay the bills. I learned a lot from the team about networking, the kernel,
26+
and other related topics. I also got to attend conferences related to the team
27+
and learn a lot from those experiences. It was very difficult for me to consider
28+
parting with the team. The team is part of the Network Business Unit (NBU) at
29+
NVIDIA. This organization consists of companies NVIDIA acquired related to
30+
networking such as [[https://nvidianews.nvidia.com/news/nvidia-to-acquire-mellanox-for-6-9-billion][Mellanox]] and [[https://blogs.nvidia.com/blog/nvidia-acquires-cumulus/][Cumulus]]. The group I worked with was originally
31+
part of Mellanox. My experience with the team makes me genuinely believe that
32+
the Mellanox acquisition was probably the greatest decision NVIDIA has made.
33+
34+
I have been with NVIDIA for a total of five years straight out of college, with
35+
the two of those years being with the Linux netdev team. The truth is that I
36+
joined NVIDIA due to being a fanboy of our work on Linux graphics. I know this
37+
is a polarizing view due to mixed sentiment, but I love the NVIDIA Linux
38+
graphics stack. I first used the NVIDIA Linux graphics drivers back in high
39+
school. Using the ~.run~ file and see the external modules get built against my
40+
Linux install made me aware of the Linux kernel, the module system, and the
41+
existence of userspace display server stack. If the NVIDIA drivers at the time
42+
were upstream and the distros could just magically package everything, I
43+
probably would have never gotten interested in the Linux kernel or low-level
44+
Linux programming.
45+
46+
I always wanted to work on the NVIDIA graphics stack for Linux since I was 16.
47+
It's something that always pops up in my mind so frequently when I pick up a
48+
keyboard and do any coding. This comes from the fact that the NVIDIA Linux
49+
graphics drivers were my inspiration for wanting to code in the first place.
50+
However, I really did lack the skill to do so for a long time. It was thanks to
51+
the experiences I gained over the years that I barely managed to land my dream
52+
role. It came at a cost though. I ended up leaving a great team of talented
53+
people who were willing to work with me and help me grow in terms of my
54+
technical expertise. It almost felt like I was betraying them in the process of
55+
chasing after my dreams. I have taken a scene from my favorite visual novel,
56+
White Album 2, to try to illustrate what I mean.
57+
58+
#+ATTR_HTML: :width 100%
59+
[[./wa2_airport_job_change.jpg]]
60+
61+
* Highlights from my previous role
62+
63+
I enjoyed my previous role so much. It was very difficult to decide leaving the
64+
team. The team culture is amazing, and I learned so much in these last two years
65+
compared to my first three years at the company.
66+
67+
+ Fix isolation of broadcast traffic and unmatched unicast traffic with MACsec
68+
offload
69+
* [[https://lore.kernel.org/all/[email protected]/]]
70+
+ ethtool HW timestamping statistics
71+
* [[https://lore.kernel.org/all/[email protected]/]]
72+
* [[https://lore.kernel.org/all/[email protected]/]]
73+
* [[https://lore.kernel.org/netdev/[email protected]/]]
74+
+ mlx5e per-queue coalescing
75+
* [[https://lore.kernel.org/netdev/[email protected]/]]
76+
+ Contributing to the mlx5 driver implementation of PSP offload as part of the
77+
original PSP patchset to the Linux kernel mailing list
78+
* [[https://lore.kernel.org/netdev/[email protected]/]]
79+
* [[https://github.com/google/psp]]
80+
+ ptp .adjphase cleanups
81+
* [[https://lore.kernel.org/all/[email protected]/]]
82+
+ sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb
83+
* [[https://lore.kernel.org/all/[email protected]/]]
84+
85+
These were some of the more fun/memorable changes I made during my time with
86+
NVIDIA's Linux netdev team for ConnectX/BlueField. The image below depicts my
87+
current feelings as I reflect on these extremely meaningful two years.
88+
89+
#+ATTR_HTML: :width 100%
90+
[[./wa2_airplane_job_change.jpg]]
91+
92+
* What I want to do going forward
93+
94+
I think, from the last section, it should be fairly obvious that my life will
95+
revolve around Linux graphics. Ideally, this will be the case for the rest of my
96+
professional career. Now that I have achieved a path where I can do the work
97+
that I have always dreamed of, it's time to gain mastery in the graphics stack
98+
and use that for NVIDIA. I have been going through some math primers as well as
99+
OpenGL and Vulkan references. Hoping to find some material on display servers,
100+
DRM, and KMS.
101+
102+
* What this means for my blog?
103+
104+
Now that my professional work is more PC-class in nature. This makes it easier
105+
for me to think in terms of making my blogs relatable for those only with
106+
PC-class devices. When working on enterprise-related challenges, it was hard for
107+
me to think about how to scale the debugging techniques I used for PC-class
108+
developers. I expect this means that I will have a large increase in blog
109+
content and post enhancements over time.

Diff for: content/posts/job_change/wa2_airplane_job_change.jpg

179 KB
Loading

Diff for: content/posts/job_change/wa2_airport_job_change.jpg

262 KB
Loading

0 commit comments

Comments
 (0)