10 Years in the Industry

In May 2020, I went past a quiet miletone. I completed 10 years in the IT industry. I remember interviewing for my first job. In retrospect, what they wanted was a (Techical) Program Manager. During my interview, they realised that I can code and they decided to see how I would do given a programming task. I did reasonably well, based off my experience in the Open Source community. I got assigned more work and tasks that required learning entirely new things. I’d like to think I did reasonably well. I can’t remember much of that job other than building out custom CMSes from scratch. Since then, I’ve worked as a sysadmin, a web developer, conference organiser, a tree sheriff, a CI architect, and as a Corporate Operations Engineer.

I’ve really found that what I enjoy doing is the sort of work that is a blend of Operations and Software Engineering. Working on purely Software Engineering projects tire me out – when people take no notice of the operational implications of their work or how the deployment of the software works. Too much operations make me frustrated that we’re putting out fires but not spending enough time fixing long-term issues or evaulating how to get out of the hole we’ve dug for ourselves.

When I started my career, I knew mostly PHP and Python. Over the years, I spent a lot more time strengthening my Python experience and picking up some Javascript along the way. Not a lot of it, mind you, but just enough to be able to read code and understand what it does. Recently, I’ve used a lot more PowerShell and Golang. I’m teaching myself modern C++, it’s a very different language from the one I learned in school. I’m surprised that I can understand Java though I wouldn’t be able to write anything from scratch in it. I’ve now maintained in some shape or form – Ubuntu, RHEL, CentOS, Fedora, Debian, NetBSD, FreeBSD, and most recently Windows.

I’ve worked in offices and from home. Looking back, I think I’ve spent more time at home than I have spent at an office. In the current crisis, I find myself more prepared thanks to that reserve of experience. It took a little bit of time to find my rhythm, but now I’m productive but not overworking. I wake up at 5 am, and start my day sipping tea and planning out my schedule based on my todo list. Once I’m sure I’ve aligned them correctly, I go for a run or try to do some strength workouts at home. The latter is challenging. I find it easier to lace up and go outside for a run. Then, it’s shower followed by breakfast. I glance at my emails to estimate how much time I need to spend on dealing with them. The advantage of US West coast emailing me is that replies can usually wait. When I start my day, I do code reviews and then my own coding. I prefer to do my reviews first, when I’m really fresh, and then get into writing my own code. I protect my morning hours furiously, because it’s my most productive time. Around 12, I break for long-ish lunch break. After lunch, I get to my emails and other administrivia. Then, I have another coding block or time for another big chunk of work. Sometimes, it’s chasing down a particularly nasty bug. From around 3 pm, the focus is beginning to fade and from here on out, most of my meetings happen. I tend to make a plan for the next right about now. I have an alarm that rings at 6:30 pm. That’s the deadline where I will stop work. I may look back at it later, but that’s after dinner and some time with the guitar.

New Country and New Job

I thought when I moved my website to WordPress, I’d blog more. If anything, I’ve blogged less. But hey, I have a good reason. About 4 months ago, I moved to Dublin, Ireland. This was to start my job at The Search Engine company. Today I finish 4 months in Dublin. It feels like much more. It’s been an interesting and stressful few months. All the research we did for the months before we moved helped out. It came in especially handy while house hunting.

Ever since I got here, I feel like I’ve been trying to get things done to get my life stable. The first task was finishing up all my paperwork and initial setup tasks. So, registering with immigration, getting my PPS number, and getting setup with a phone. Once I had the essentials, the next step was finding an apartment. The Dublin rental scene is particularly stressful but thankfully, I had relocation assistance. We’re often better at research and we actually found the apartment ourselves. We used the relocation folks to negotiate the lease and help with the initial tasks of moving in.

We now live in a quiet North Dublin suburb. It’s so quiet that the loudest noise is often the sound of our ears ringing from the sheer silence. The beach is a short walk away, but we can’t see it from the apartment. My morning commute is a comfortable 45 mins by bus and train or about 25 mins by bicycle. On a good weather day, I cycle in to work. Living here, I realise how people run in the afternoon. The weather in the afternoon is actually often pleasant and not the kind that tries to kill you.

The job itself is interesting. I’m in a role that I have enjoyed a lot in the past. It’s a mix of doing ops work as a sysadmin and a bit of doing automation. The idea is to automate as much away as possible from our day to day ops work. My team has 10 of us in two different time zones who manage to do way more work than it should be possible for us. The biggest different from my previous jobs is that I work with Windows more often. It’s fun to learn new things. Everything is different and sometimes, things don’t work because Windows.

Hanging up my red fedora

Feb 12th was my last day at Red Hat. I sent a very similar version of this blog post as a note to my colleagues as well. It’s been a fun nearly 3 years working at Red Hat and wearing the Red Hat fedora[1]. I’ve had a wonderful time working for Red Hat both from the New Delhi and the Mumbai offices. I’ve enjoyed the odd visits to Bangalore over the last few years. I’m very grateful for my time here and it’s time to move onto bigger adventures elsewhere.

In 2015, I did not think that a chance conversation with Sankarshan at FUDCon Pune would lead to interviewing at Red Hat 6 months down the line and subsequently working here. Over my 11-year career, this is the first time I’ve had a fantastic manager who has been both a friend and a mentor. Remote work is challenging in general. I could not have pulled off dealing with the various challenges if it weren’t for Sankarshan’s help and encouragement. I’m grateful for the office mangers in Delhi and Mumbai for giving me a second home for when I wanted to meet people[2].

I’m leaving here with great memories, friendships, and great lessons learned. I’ve had the opportunity to help stabilise Gluster infrastructure. When I look back to how things looked, I’m grateful that it’s a sea of change. I could not have been successful at Red Hat without the help of folks in my team in Gluster and in other parts of Red Hat. In particular, I’m grateful to Sankarshan, Alfredo, Amye, Atin, Jeff Darcy, John Strunk, Nithya, and Shyam.

The fondest and funniest memory of my time at Red Hat is going to be about that time when Jenkins started speaking French. If you don’t remember or you don’t know about this, you should read the post-mortem[3] for that failure. I wrote a blog post about it last week as well.

I will no longer be a Red Hat employee, but I’m still going to be a Gluster community member. I’ve been on Freenode for than 10 years and I suspect I’ll continue to be there for many years to come. If you want to stay in touch, IRC is going to be the best way to reach me and have me respond.

[1]: I didn’t actually get my Red Hat Fedora, but let’s not get into semantics 😛
[2]: Or just sit in air conditioning.
[3]: Unless you want to talk to me about an infra issue, in which case, file a bug 😀

Filling the Gaps in My Knowledge

I started working as a sysadmin just as cloud really took off. I wasn’t really exposed to a lot of the networking minutiae. That was over 9 years ago. I never had to deal with something complicated in the world of networking. I stuck in my Linux lane and never wandered over to the networking lane. I knew some of the basics, but nothing further. It’s been 8 years and I’ve realized that it’s held me back a bit. One of the changes I’ve made ever since I read the Google SRE book is how I approach technical problems. I’m no longer happy to stop at, “Look, I got it working” or “The bug is not in my code, it’s in the library or a layer above”. I want to figure out the root cause.

Recently, I read Julia Evans’ post abut learning skills and it reminded me that networking is something I don’t know very well yet. I’ve looked at books that explain some basics, but I haven’t really gone in depth to understand how the pieces fit together. I don’t have the pressure of learning to pass a competitive exam. I just want to learn so I can fill in the gaps in my knowledge. Just in time, LinkedIn had offered me free premium for a month which also gives me access to LinkedIn Learning. I spent some time looking for a reasonably good course on networking. It’s been a great watch! The course is actually for CompTIA’s Network+ exam, which I have no intention of writing at the moment. However, it presented a good explanation of networking and TCP/IP. I knew some of the topics individually, but I couldn’t tie all of my knowledge together yet. The few days of watching Networking videos has been great. I don’t understand everything in great depth, but I know most of it and I know where to look for more details.

I’ve been reading and listening a great deal about growth mindset and deliberate practice. I’ve been in the tech industry for the last 9 years. I don’t have a degree yet, and even when I finish my current degree, it will not be in computers. It was humbling at first to sit down and learn something from scratch. At the same time, it’s very relieving. I’m more confident that I can understand networks better. I had most of the networking debugging skills I needed, but now I understand the theory better as I debug problems. Similarly, as a python programmer, I’ve barely ever looked deeply into the Unix kernel. However, as a sysadmin, when I debug problems, I would need a more in-depth grasp of what goes on behind the scenes. In the later year, I spent some time reading Advanced Programming in the Unix Environment. I don’t have it committed to memory, but I’ve read it broadly enough to understand where to look. I’ve understood a lot about what happens for IO/Networking/Process Management in Unixes. It helps me appreciate what goes on in Gluster better. It also helps debug some of the more weirder errors that I might run into.

I write this out as a note to myself. There is no shame in sitting down to learn something that you don’t know. It’s not going to be easy, but I’m going to be grateful for it.

Welp, I ran out of passport pages

In 2007, when my first passport expired, I didn’t bother applying for a new one. I don’t really travel all that much, what’s the point of doing a whole bunch of

In 2007, when my first passport expired, I didn’t bother applying for a new one. I don’t really travel all that much, what’s the point of doing a whole bunch of paperwork for nothing. Fast-forward a few years, I couldn’t apply to travel to a UDS because I didn’t have a passport. That’s when I applied for a new passport. When I got the passport, I really just wanted to go to UDS. I believe the first visa I applied with this passport got denied as well 🙂 It’s been 8 years or so since I got this passport. I’m now out of pages. All of my empty pages have been taken up by visas and passport stamps. I have a few pages left but not enough continuous pages to get a new visa.

Flipping through the pages, I’ve traveled to Hungary, Malaysia, Singapore, UK, Kenya, Tanzania, Germany, USA, and Czech Republic, and Ireland. There are stories about a few of the visas and the trouble I went through to get them. In fact, every single visa involves, on average, at least 16 hours of paperwork that I’ve done per visa. Some countries require more and some countries less. The visa that I’ve often been most nervous about getting on time has been UK. The visa that I found easiest to get was Kenya. Kenya is among the few countries that has visa on arrival for Indian citizens.

It’s been a ride for the last few years. I’m hoping that the next passport doesn’t fill up before 10 years 🙂