惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
L
LINUX DO - 热门话题
月光博客
月光博客
B
Blog
博客园 - 叶小钗
美团技术团队
D
Docker
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security
博客园_首页
The Cloudflare Blog
I
InfoQ
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
C
CERT Recently Published Vulnerability Notes
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
V
Visual Studio Blog
博客园 - Franky
Cloudbric
Cloudbric
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Webroot Blog
Webroot Blog
博客园 - 【当耐特】
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
N
News | PayPal Newsroom
人人都是产品经理
人人都是产品经理
H
Heimdal Security Blog
L
LangChain Blog
PCI Perspectives
PCI Perspectives
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
Schneier on Security
Schneier on Security

Stonecharioteer on Tech

I Traced My Traffic Through a Home Tailscale Exit Node What Was I Reading Last? In Three Not-So-Easy Pieces Dogfooding Is Hard Code blocks in your books, finally GoForGo v0.9.0 Merrilin - We built an app to read books I use a Macbook now Data Structures & Algorithms - Preparing for Interviews Using a local DNS namespace for local service discovery Direction KOllector - Publishing KOReader Highlights gbt: branches touched in the last 24 hours A Soiree into Symbols in Ruby Some Smalltalk about Ruby Loops Ruby Blocks Returning from Ruby Blocks, Procs and Lambdas My Linux Laptop Finally Works: How Claude Helped Me Fix Years of Annoyances TIL: Watchexec - Modern File Watching for Development Workflows A Less Busy Mind GoForGo - Learn Go through live examples Migrating My Old Blog to Hugo with Claude The Qtile Window Manager: A Python-Powered Tiling Experience Read the RFCs that Built the Internet Py-x-Protobuf - Or How I Learned to Stop Worrying and Love Protocol Buffers Python Reverse a List New Beginnings Leaving ChainSafe Systems Screen Lock for Cinnamon Desktop using Zenity and Terminal Commands Crews Not Teams A System for Getting Better at LeetCode So Far So Rust Retrying HTTP Requests with Rust A Primer on Control Charts Learning Rust Explicit is Better than Implicit: Rust for Pythonistas Using Custom Delimiters in Jinja Templates TIL: Creating Fixed Length Iterables in Python Documentation Without Assumption Vagrant Python - A Reflection in 2022 Learning Golang No, A Virtual Machine Is Not Enough: Why Developers Need Native Linux Empathy in Tech A Weekend With PostgreSQL TIL: Gooey and Python Fire for Quick GUIs and CLIs TIL: 2ality - Dr. Axel Rauschmayer's JavaScript Blog TIL: MassDNS - High-Performance Bulk DNS Lookups TIL: Matomo Analytics, Google Tech Writing, Memory Programming, and NES TV Signals TIL: MontyDB - MongoDB Implemented in Python Returning to the Craft of Programming TIL: CPUFetch, OneFetch, and Learn CSS TIL: DNS Performance Testing and Pi-hole with Unbound TIL: Eli Bendersky's Blog, Awesome By Example, NoCoDB, and Martin Kleppmann TIL: CRDTs, Extreme HTTP Performance, and BYTEPATH Game TIL: AutoInvent, ASGI, Python Packaging, RAPIDS GPU Computing, and FlaskCon TIL: MangaDesk - Terminal Client for MangaDex TIL: McFly - Smart Shell History Search TIL: Siege Load Testing and Awesome FastAPI Resources TIL: Ventoy Bootable USB and Justniffer Network Analysis TIL: CLI Code Review, Git Split Diffs, and Internal Combustion Engine TIL: Benford's Law, Web Security Headers, Event Sourcing, and Mozilla Security Guidelines How to Write Documentation - The README.md File The Importance of Documentation TIL: NNgroup UX Research, SponsorBlock, and Labella Python Library TIL: The Little Book of Rust Macros and Rust Performance Book TIL: Git-Bug Distributed Issue Tracker and Omni Kubernetes Monitoring TIL: Zellij - Modern Terminal Multiplexer TIL: How Discord Handles 2.5 Million Concurrent Voice Users TIL: Volumio - The Audiophile Music Player TIL: Areopagitica - Milton's Defense of Free Speech TIL: Fast Node Manager, Zoxide Smart CD, Technical Writing, PyO3, and Qubes OS TIL: Slurm Workload Manager for HPC Clusters TIL: Data Visualization Guide and Oso Authorization Academy TIL: CORS Deep Dive, Piku Tiny PaaS, Rust Strings, and Deno Standard Library TIL: Raspberry Pi OS Development, Vim Beginner Guide, Password Management, and QueryBook TIL: uBlock Origin Performance Optimization on Firefox TIL: Breaking PostgreSQL at Scale and LeetCode Problem Patterns TIL: Awesome Tmux Resources for Terminal Multiplexing TIL: Grit - A Multitree-Based Personal Task Manager TIL: Lens 4.2 Kubernetes IDE, Shell Scripting Guide, and Dark HTTP Server Do The Job You Hate So You Won't Hate The Job You Love TIL: Innernet VPN Solution and NoteCalc Calculator App TIL: Argo CD for GitOps and Lens Kubernetes IDE TIL: Modern Rust CLI Tools - System Monitoring, HTTP Requests, and DNS TIL: tz - A Time Zone Helper Tool TIL: Distributed Systems Education, Fallacies, and Self-Hosted Internet Archiving TIL: Real-Time Voice Cloning Technology TIL: ChartMuseum for Helm, AMD's Corporate Journey, and Kubernetes Pod Scaling TIL: Docker and Kubernetes Tools - Whaler, Descheduler, and Dive TIL: Post-Mortem Collection, Terminal Plotting, and Technical Twitter TIL: Dark Mode Toggle Web Component by Google Chrome Labs TIL: Python eval(), exec(), and compile() Functions TIL: Camelot PDF Tables, PostgreSQL Row Level Security, Zerodha Varsity, and Write Yourself a Git TIL: fuser Command for Process and File Investigation TIL: i Hate Regex - The Ultimate Regex Cheat Sheet TIL: Dolt - Git for Data and Database Version Control TIL: x86 Assembly Programming and SafeEyes Break Reminder TIL: Comprehensive Distributed Systems Reading List TIL: Cosmopolitan C Library, Distributed Systems Book, High Performance Browser Networking, and Rust Roguelike Tutorial TIL: ABlog for Sphinx - Documentation as a Blog Platform
For Those Who Came in Late
2021-07-20 · via Stonecharioteer on Tech

This is a very personal post. It’s about my journey so far. A few of you might know this already, but I thought this is a good time to document this journey.

I studied Mechanical Engineering at a college called Shirdi Sai Engineering College. This college has since been renamed Sai Ram School of Engineering. It’s situated in Anekal, Bangalore District. It’s a very small college, and there’s not much to say about it. I don’t remember much beyond sitting in class wondering when the lunch break was.

Before this, I studied in a school affiliated to the CBSE Board in Bangalore. It has a rather grandiose name: The Oxford Senior Secondary School. There’s no relation with the Oxford university, so mind your jokes. I studied there for most of my life. I was an average student, but I didn’t really do well. I was kicked out in the 11th grade, for not being “good enough to uphold the school’s name”. I wonder what that meant. After the 10th Grade, I was forced to take Biotechnology because they didn’t think I was good enough for a future in computer science. And then, teen angst and hard-headedness got me kicked out, along with a general disdain that the teachers had for me. Two or three in particular loathed me.

I completed my Bachelor’s in Mechanical Engineering and went on to try and work at the Indian Institute of Science. I got into the Aerospace Department after six months, and nearly lasted six months. I was kicked out yet again, because the professor didn’t want me around. He didn’t think I had what it takes to succeed.

The Factory Years

I was without a job for half a year after that, and finally got into the TVS group of companies in 2012. My cousin referred me there (he was an auditor at the Bureau Veritas firm). I got into Harita Fehrer Ltd first, where I was a contractual employee. I had to commute to Hosur, Tamil Nadu, daily, for a monthly salary of 8000 INR. I taught myself Excel and began doing work on Statistical Quality Control. I learnt I stuck around for three months, and then my cousin found me a better job. I was hired as a Graduate Engineer Trainee at India Nippon Electricals Ltd., for a salary of 17,000 INR, and had to work on a rotational shift basis. I moved to Hosur for a while, but I eventually found a way to commute back home every day. I spent 6 hours a day commuting, and on some days, I had to sleep in the bus stand at 10 pm to catch the 1 AM office transport. I stayed at INEL for a year, almost exactly. After that, my cousin again referred me to another company, Narasipur Auto Components Pvt. Ltd., and I began working there in May 2013.

Narasipur was the hardest company I had to work in. The Managing Director was a task master, and he demanded all our time. I was not happy there, especially after an episode where he claimed I was good for nothing because his nephew (who was fabulously wealthy) was starting a company for motorcycle parts and I was doing nothing with my life.

I decided to leave the Mechanical Engineering field and began applying to jobs as a Content Writer. I could write, and I thought perhaps that was a better field. I didn’t have a plan.

The Flipkart Discovery

I joined Flipkart on February 13th, 2014. I was a content writer for the books catalogue team, and I was having fun. I could write about the Lord of the Rings and Superman comics, I wrote unique poems about Dr. Seuss books, and also for Shakespearean poetry featuring Star Wars.

It was a fun job. But something happened there that I didn’t expect.

There was a task that all the writers were doing manually. They were filling in their work at the end of the day into a Google sheet and then one of them would take the responsibility to collate all their data into another sheet. They took weekly turns doing this and mostly didn’t enjoy the task. The Leads would then copy this weekly report into other reports and realize, among other things, that some writers were assigned duplicate work.

When the task fell to me, I decided to automate it using Excel and macros, which I’d taught myself at my previous companies. I went quite the distance with it, but I hit a roadblock. The sheets were too slow. Excel couldn’t handle all that data.

I was asked to abandon the project, since I clearly didn’t know what I was doing. That ticked me off. I called my old school friends, who I looked to as guides and mentors, and one of them recommended I try doing this in either Python or Ruby. The other friend told me to choose Python and try using PyQt to write a desktop application that would write to a SQL database.

All of this was extremely new to me. I’d tried learning Python in 2011, when I was at IISc, but I didn’t know how to back then. Nothing drove me back then.

However, at Flipkart, I managed to teach myself how to code. Not only that, I also discovered yet again how much I loved programming and building things.

I eventually went on to build this tool and it was used by the leads for over a year after I left. In my last weeks at Flipkart, I also built Leonardo, which I’ve blogged about previously.

Building My Career

After I left Flipkart, I joined GKN Aerospace as a Systems Engineer: a role that they said was a developer’s role. I began working there in 2015, and stayed on for 3 years. I learnt so much there. Not because the others working there were amazing: unfortunately I was the only Developer. Instead, I attribute the learning to my boss, a German who gave me amazing projects. I solved so many problems for the company, but eventually the time to part had arrived.

Somehow, my next job sojourn was different. I joined Visa Inc. as a Sr. Software Developer with an extreme imposter’s syndrome. I was not a developer, or so I told myself. I was a hack, a pretender. I was going to join a company where other software engineers worked, and they would find out that I do not match up to them.

Somehow, imposter’s syndrome has a funny way of manifesting itself in those among us who least deserve it. As I joined Visa I also began to network with other developers. Some of them, at the surface, saw the field as a job. They didn’t have side-projects, they didn’t want to learn more than was necessary.

However, there were those who were amazing in their own right. Running meetups, working on obscure built-in modules in CPython, fixing deprecation warnings, being able to single-handledly deploy k8s clusters with ease, and writing fantabulously clean code. I also met some interns and graduates who were amazing. They needed moulding, but they were almost there.

My last few years opened up my avenues to learning more about the non-coding part of the job, dealing with divas, people who thought they were the best because they used IntelliJ, or because they were validated by the higher management. Every company has people like this.

Reflection

My journey is a very personal one. I will never forget trying to grab a few minutes’ sleep in the cold factory 10 years ago. I will forget trying to decide what to choose at a restaurant, whether it was just a main course or an appetizer and a dessert.

I was lucky that I had friends who recommended I learn Python, lucky that I learnt in time, and that I had a natural flair for programming.

But it was not all luck.

I put in the hours. I spent a large part of 2015-2019 programming every day. I taught myself everything I could, meddled in projects that taught me so much. I finally spoke at PyCon India, and went on to deliver talks at BangPypers. I’m also scheduled for a talk at the University of Utah, where I want to talk to the students about this journey, and how to fall in love with tech.

There’s a lot of luck involved, but it isn’t only luck. I’ve seen others try and fail. They focus on the reward: a better career, better salary. I really didn’t have a plan. I just went with what felt interesting. At times I might have even made better decisions with respect to money, or I could have switched jobs earlier. But that’s not me.

I etched my career out of hard work. It’s a journey I’ll never forget.