Today, I am officially a software engineer. It was a long road.
I was having great success with the technical writing gigs. In-fact, one wouldn't be wrong in assuming that I took a massive risk. It is, after all, a movement from being a technical writing specialist to being a software development noob.
I was always enticed by software development. Sometimes, trying hard and massively failing. So I could never be a software engineer. Until now, that is.
So here's a bit of a story. And it is, because when I posted my career update on LinkedIn, someone left this comment:
I love technical writing, actually. In fact, I may even keep talking about it in a personal capacity. Considering the software world right now, it's the best time to be a technical writer.
Just that it's also the best time to be a software engineer. It's so good, that all the fun little coding projects that we did in college could be a startup today. Programming, I think now, is at a stage in which creativity and passion can be as rewarding as intelligence^.
For a very long period in my life, I’ve had mixed experiences with coding. The first time I got a chance to write code, I think it was probably in class 3rd or 4th. We would use Logo to draw basic shapes using LT 90, RT 45, FD 100 etc.
That was fun...like games and all.
Then we got into BASIC in 5th...and I can’t say I was great. I’d just say I did okay. But slowly when I reached class 7th, I had gotten a hang of it and that started working.
And then came...flow charts. I hated flow charts. Always sucked at those. T’was kind of an early indication that algorithms would be a battle for me. Eventually we got acquainted with HTML and MS Access.
Enjoyed studying all of it...never taking it seriously despite doing well in those subjects.
And then came 11th standard. Took up informatics practices as the 5th subject. Learnt how to create forms in VB and connect it to databases.
Loved. Every. Moment.
Always needed help with Physics, Chemistry, and Maths. So much so, that to supplement school I had to take up private tuitions in those subjects.
But as far as Informatics Practice was concerned: nope. Passed that exam without much help from anyone. In fact, might have helped a couple of people in the process.
And then came college. One of the disadvantages of being a person who’s always distracted is that you don’t get admission in computer science. Top 10 colleges weren’t even a possibility...I couldn’t get Computer Science at the decent college I could finally crack.
I’m not saying SRM is bad...but it’s no IIT. And getting into SRM is far easier than getting into an IIT. So I did...but couldn’t get CS. What I did get, was Electrical and Electronics Engineering. EE, in short.
EE wasn’t bad actually. In fact, there were subjects that I enjoyed. But largely 4 years of freedom pointed me away from what was important: Career.
4 years of freedom point you to things that you care most about. And I learnt that I cared about movies. So I kept passing exams, semester by semester. With the most average marks possible. Watching many movies. Having enormous amount of fun. And coding too...in some capacity.
But like history in school, certain subjects -- like microprocessors and digital systems -- only catch your fancy much, much later in life. To say that I learnt fuzzy logic, artificial neural networks, in fucking 2010, may make the world go nuts today. In fact, the final semester engineering project that I picked up was writing matlab code that could intelligently load-balance power supply systems based on incoming load, while limiting cost factor. In fact, I helped another team as well that was working on a similar problem.
So yeah, I always liked coding. To the extent that I always built fun little projects now and then. But I still didn’t know what to do with it. I headed dramatics at SRM...made quite a few short films too. I guess the low stress high fun environment shows what you need most at the moment. Those moments show you your ideal world needs...but you never get to know what’s the thing that’ll keep you going in the real world.
College ended, eventually. Companies visited our campus for placement...TCS was the first company to visit. They were also the first company to reject 😂. Wipro was second. In both the scenarios. HCL was the third company to visit. It was an easy interview to crack. We had only an HR round.
And I was content. I had a job! So time passed, I had a job...I finished college and joined HCL. They got us into coding classes. They taught us C/C++. I had some experience with those programming languages earlier, so I cleared the training without much of a problem. Then...nothing.
Between September of 2011 to January of 2012, nothing happened. There was no work to be done. HCL didn’t have a project for me...so I got complacent. It was a weird time. I’d go to office at 11, pass time till 5-6 and then come home. Sometime in Feb of 2012, a few of us who kept waiting for a project told our project management officer that we need to do something. So then they gave us a project. And it was weird since we still didn’t know where to start. Suddenly a client reached out for an ask and then there was work. So I was assigned to work with a lead engineer, and we had to work on a small feature (which was also the name of the team: small feature requests team). So the lead was given the task to work on the feature and train me. He was a good guy. He even tried to explain the system to me.
We were working on a C/C++ codebase. With decent tooling, one could say.
But. I. Didn’t. Understand. A. Thing.
So the only contribution I could do, to the task, was when the lead finally readied the code, I tested it.
That part went well. So we all decided (including myself, wholeheartedly) that that was the thing for me. Testing. More specifically: manual software testing. They call it manual QA these days, since there's a thing called automation QA, and fancy titles that go along with it such as Software Development Engineer in Testing (SDET). But yeah, manual software testing is what I volunteered to pick up. Largely because it was something that I could do at the moment.
And then the grind started. Work started coming in...and slowly, steadily, I started doing things. I was not enjoying a day at work.
One day, there was a complex testing requirement. I didn't know how to setup the environment...so I reached out to people for help. Got the help, completed my tests and submitted the report.
A similar ask popped up again few days later. I tried doing it myself but couldn't. So I reached out for help again. Did my work, submitted the report and went home. One of the leads then wrote back copying the entirety of the leadership and asking if I could do it all by myself. To which I replied I had to seek someone's help. Here are the bits of the message that I remember, to-date:
You were supposed to seek help the first time. This time, you were supposed to do it yourself. Your behavior is irresponsible.
I won't say that the lead was wrong. I should be doing all of that myself. And I didn't. So one thing was clear at that point, I hated doing whatever I was doing. Hated every bit of that. Even though there were small development related tasks that cropped up here and there, I wouldn't do them. I would ask someone else to take them because neither I could understand what was going on, nor I was willing to learn. The only thing I wanted to do was go home and watch a movie. I was just carrying on.
And then, I decided. I wanted to leave. So I told my bosses to either to give me another project, any project, in any location, or let me do something else. I was okay with taking up HR roles, production support roles, anything but what I was doing. Had zero interest in learning things at that point.
And then something happened. My father had to undergo a bypass due to his heart condition. So I took some time off and left Chennai to be with my family at the hospital where my dad was scheduled to get operated. At that point of time I told everyone I want to leave what I'm doing and go do something else.
To speak loudly in front of everyone was the best thing I did. A visiting cousin told me she could help me get into education industry. Be a teacher or something. And I started discussing the possible options. She mentioned technical writing at that point. Yet, at that time, she was a very senior person at an education related company so she could only help me get a job in her company. But she did technical writing once and liked it.
Something snapped in my mind. I thought, well...that's possible. I like technology and I like writing, so why not?
Eventually, dad got operated and he started recovering. My dad got operated in Noida, and near the hospital, Adobe had a beautiful office. I thought one day I'll work at Adobe. Fate is weird as you'll get to know soon.
So, I go back to Chennai, and ask my bosses to relieve me of the project. I tell them I just can't work on this project anymore. They relieve me and put me on bench. Which is actually a risky proposition at service based companies because if you stay on bench for a lengthy period, you risk getting laid off. But at that point of time, I wasn't even considering the risk. I was chilling on bench. They tried to get me back to the project by telling me these risks.
So, I do the thing that I should have done earlier. I started looking for jobs outside of HCL. Because I just wasn't getting a new project at HCL. Was talking to multiple HR people at that time. Just couldn't get a new project or team.
So I go to the job portals, and search for technical writing jobs. The first job that shows up is a job at Symantec. I apply there.
They call me for an interview. They conduct a written test. I always had decent writing skills. But I never had technical writing skills. Even though most of the answers I wrote were wrong, somehow, the lead at the time had a conversation with me, and he liked me. And then I had more discussions with other people. And apparently, they all liked me.
Eventually, I get to have a conversation with the hiring manager, who asks me a couple of basic network troubleshooting questions. And whatever I answered, he liked them. So I got hired. And they offered me twice as much the salary that I was making at HCL. (Full disclosure: I was making peanuts. HCL still pays the same salary to fresh grads. You can look it up, it's out there. And I was under a service agreement, so at the time of leaving I had to pay an amount -- that was about six months of my take home salary -- back to HCL. Didn't even have the money. Had to ask my dad to pay that for me.)
And then I joined Symantec as an Associate Information Developer (a fancy title for a technical writer). I start learning the trades of the job.
Loved. Each. Minute.
I loved doing whatever I was doing. So much so, that all my friends who could get a job at TCS, Wipro etc who were not happy with their lives, quit their jobs to find a better life in The States. They applied at all these amazing colleges for masters degrees, and left. In the hindsight, I look at them and now know why I didn't do what they did. Because in some sense, I had found my dream job. I was getting to be creative while being in touch with technology. Every single day at Symantec offered something new to learn. Something that was sorely missing at HCL: motivation.
And for the first time I realized, I was passionate about my work. I loved being a technical writer. I loved all the problems that we were solving. I loved Symantec. It breaks my heart to see what has happened to the company today. But I loved being at Symantec. Yes, there were some people related problems at the workplace...but those are common. And somehow, they were never out of control for me.
I loved my job. I was having fun and I was succeeding. In addition, Symantec showed something else, along the way.
That like technical writing, software development can be fun too.
By the end of my first year at Symantec, I had worked enough with software development teams to be excited about coding again. But clearly I didn't know where to start. Because of my technical background, Amazon called me for an SDET interview. Like most of the interviews at the time, they would give you paper, pen, and a question paper. Hackerrank/Leetcode etc are actually fairly recent. In December of 2013, they were there but not popular.
So they ask three Data Structures/Algorithms problems in that test. And I was able to write code for two of them, but couldn't do the third one in time. So I got rejected and came back.
This time, I thought maybe I can go back to software development. But clearly I didn't know enough to be a software developer, yet.
At this point, I had two options: either go in for masters full time or part time. Full time didn't work out because I couldn't clear the written tests (GATE/BITS Pilani/CMI exams etc). So part time was the only option left.
Tiny interruption: It's possible that by the end of this, you may realize how lazy/procrastinator of a person I am. Who wants everything but with least amount of effort. Troubles of a privileged man. 😂
So, anyway, I always knew about BITS Pilani's WILP. I apply to that, and... they had no entrance exam. I applied, and I was a student. So those studies start in Jan 2015, and I'm still having fun while being a technical writer.
But then, something happened that changed everything. Symantec undergoes a phase that probably no company should ever go through. They split the company, they start losing money, and people get fired left, right, and center.
That's when the new job search at a serious level begins. I start applying at companies. And I start talking to companies. Some companies reject after an initial HR conversation (Druva 😂), some companies reject after interviews. Amongst all those interviews, I crack an opportunity at Oracle, and... at Adobe.
Friggin' Adobe. In Noida.
As I said earlier, fate has a weird way of doing things. I once dreamed of working at Adobe. And that had happened. They were offering a decent salary, and I was going to work in Noida. Near my family. And I was getting married. My wife is from my hometown, who had worked in Noida already. So it was a win-win from all sides!
But fate, as you see, has a weird way of doing things. And this is, probably, the first time I'll talk about why I left Adobe in all of its honesty. I have made up multiple stories about it to different people. But here's the real story.
When I joined Adobe in October of 2015, I joined them on the experience manager forms team. The product, and the team, and the project, were all to my liking. I was doing great at the company. In the first three months, I had worked hard enough to prove that I can do the job. I got married in late December of 2015, and everything was pretty much on track.
But then something happened.
My parents asked my wife to quit her job.
All my fault.
As you see, my wife didn't know how to drive. So I had to drop her in the morning, go to work. In the evening finish my work, pick her up and come home. Due to this, I was spending 2 hours daily on road. I was getting tired and wasn't able to study for my masters. And I was saying these things to my parents.
I had an arranged marriage. So my parents (who are both doctors by the way) thought:
That my progress and my life was getting blocked due to my wife's job.
Which, in their view, wasn't something substantial since she was making a mere Rs. 14,000 a month.
Who is my wife anyway...she was chosen so that my parents could me a woman who could bear my child down the line and be a housemaid.
So they asked my wife to quit her job. And I was a spineless fool who didn't even stop them.
This was March of 2016.
Worst period of my life.
My wife and I were three months into our marriage. I look at that period and regret not standing up for my wife then. The things that people can do to each other are probably the most heart breaking and destructive of all. It was so much pain, that I totally lost track at work. I drifted away so much that I couldn't go back to the original energy level with which I joined Adobe. And it's not like my parents stopped interfering after she quit. They never did. In fact, they wanted more and more control going forward. In every sense of the word.
As much as I loved working at Adobe, as much as I loved studying software systems, I couldn't work. Eventually, a bunch of other things happened too. My wife's brother moved to Noida and started saying mean things to her whenever he got a chance (that was quite a lot, actually). Making things even more difficult.
The amount of pain we could endure as a couple had hit its threshold, and as soon as my masters started nearing completion, I decided I'll leave Noida and try again. My wife was fully on-board with that.
Minor interruption 2: The masters project that I worked on was also, actually a coding project. It was a browser based application in which you could put a page's URL and it would return the page's summary. When it finally got working, it was like magic.
This was a project that Vikrant (my manager) gave me. It's still a bit of a heart break for me -- and my wife -- that we had to leave Adobe. I was only getting started there.
I'll talk more in a bit about how that project further drove me towards software engineering, and how does it feel to see your code working.
So we figure out our way, and join Druva.
Yes. The company that rejected my profile after an HR conversation once upon a time.
And then, I join Druva. And life finds it purpose again. Druva could still be one of the places to work.
Minor interruption 3: In my opinion, Pune is the best city in India to live in and work.
Within the first few months at Druva I realize two things:
Amazing things are possible if you know how to code
The software world has reached a place where, if you are curious and hard working enough, you could do wonders
So that's what I start doing. Learning. Every single day while being at work. Which was something I did previously too, through the lessons I had from my masters.
Things started to fall in line at a personal level too. My wife started a business in handmade artificial jewelry.
Over the period that I spent at Druva... there were multiple things that were happening around me. Folks at Druva were continuously innovating. They were trying to create something new, non-stop. And for the first time, I was working closely with product managers. It wasn't happening until now.
So I happily continue to work, and see that now I have options open for me. If I want to move to product management, I could. If I want to move to software development, I could do that too. In between, Freshworks was hiring product managers...so I applied there. I could crack their written screening round, but couldn't crack the telephonic. Eventually, I realized that product management is not something that I would be whole-heartedly into. It's more of a fancy rather than a real interest. So I dropped that pursuit and carried on as a technical writer.
I enjoyed being a technical writer at Druva. And Druva also had hackathons.
I love hackathons.
I participated in two of those. In the second one, I wrote up a mini solution that could back up and recover containerized applications.
The rush of that event snapped something in me at that point of time. I got the same high that I'd get when I was in college, working on mini projects. It was cool.
To see your code work is a miracle of sorts. Almost like making a movie. It kind of tells a story. 3 years at Druva changed the entire mindset I had towards work. And every single day from that point on would be driven by the intention of trying your hands at something new. Something that I didn't know about.
Over the years, I had built the mindset of constant learning and building something new. Eventually, Druva changed a few things higher up in the leadership. They took a direction that I could not understand. The work that I got was not to my liking, and I decided to quit.
But probably, someone had sensed that already. And someone who knew that my mindset of constant learning and building would be a better fit at Blueshift. So folks (Abhay and Chirag) who moved on from Druva to Blueshift called me up and asked if I wanted to try this gig at Blueshift.
Of-course I wanted to try it. When I joined the company, it was a less than 80 people company. I joined them as their only technical writer. Got a chance to build their developer portal from scratch. Reworked their entire help hub's user experience.
Loved. Each. Minute.
Moved forward with my work on a daily basis, and was having a blast non-stop.
But fate, as I said earlier, has its own way of doing things.
Covid-19 happened, and we all went into lockdown. Everything was fine in the beginning. But it didn't last long. So company stalled recruitment, but they did mention that if someone wanted to do something new, they could reach out and the company would figure out a way. I took that opportunity and had a discussion with my bosses that I wanted to pick up software development. Once I did, things started to move. They give me small coding tasks and I start completing them. Things start to work!
But then, lockdown got harder. For some people, lockdown was okay. They managed well.
Most didn't. We're amongst them.
Within the first month of lockdown, I got an anal fissure. I have no idea why or how. But I did. I took two months to heal. But it was the most physically painful period of all time.
And secondly, we had conceived as a couple. During the lockdown, my wife thought it would be a good idea to go back to hometown so that she could have support from my (and her) family. I kinda knew it was a bad idea due to past experiences with my family...but she wouldn't budge. So we did. We left Pune for our hometown.
Worst. Idea. Ever.
My parents bought a new flat but the builder wasn't ready to give possession yet. We reached in the middle of the tussle between my parents and the builder. Who was harassing my family on a daily basis.
After a long battle and multiple complications, it got resolved. We got the new house. Until then, parents would fight in the house on a daily basis. Every day my mom would accuse my dad of being stupid to sell the old house for a new one. My dad call my mom shortsighted and said she didn't understand the future.
When we did get the house, finally, my wife delivered a beautiful baby boy in early December. The baby got neo-natal jaundice, which is quite common.
But my parents responded in a horrendous manner. They kind of blamed my wife for the jaundice. And a bunch of other horrible exchanges happened. Wife went through postpartum depression. So, this was March of 2016 all over again. To top it all, my wife caught covid and then urine infection after that.
All of December, and then a large part of January of 2021, was spent in managing emotions and handling people. The entirety of paternity leave was a struggle so hard, that I started longing for a good news. Any good news. It was a tremendous emotional pain. The baby was (and still is) a power struggle between my wife and my parents. And I have come to realize, that no matter who your wife is...even if your parents choose your wife(their daughter in law), they'll never fully accept her as family.
The bad phase lasted so long that I started looking for jobs outside. Just to get some good news. Even though my current transfer to software development was already in-progress, I start interviewing at companies. Interviews had the same story. You get rejected by some and get accepted by others.
I was, on the verge of leaving my dream job, to take up a new technical writing gig at another company. Just because I wanted some good news. I was losing hope on all fronts. Non-stop.
Until something nice happened. The engineering director who was supposed to be my new boss included me in his team meetings the same day I received an offer letter from one of the companies that I cracked.
Finally. A two good news'. I could choose again.
So I rejected the offer from the other company and took up the software development tasks whole-heartedly.
So far, I have shipped few features already, and I am about pick up new ones and hope to ship them in the coming months.
Things seem to go on a better path, since the kid and my wife are both doing fine, seemingly. And the situation in house is okay. Though I still yearn the day I could go back to Pune and go back to the Blueshift office.
I recently shipped a feature on which I worked on the backend, frontend, and its documentation. Like I said before, to see your code work is a miracle of sorts. Almost like making a movie. It kind of tells a story. Even though it's a small feature, I have told its entire story from all aspects.
Creativity and passion were the reasons I left software engineering**, and they actually are the reasons I'm back to it. Especially after working at Druva and Blueshift, and seeing what's possible.
I have removed the seniority prefixes from the titles that I have held over the years on my LinkedIn profile. It's now a palindrome. It kinda tells the story of how life and career have come a full circle.
These were the first 10 years in the real world.
Cheers, to the next 10. 🍻
---
^ I don't think I have the smarts as some of my peers but my passion and attitude may make up for it. Let's see.
** I was more of a manual tester at HCL with little bit of programming, but still...
---
PS: I love technical writing. It's a great job. At-least the technical writing that we do in the software world. I'll keep talking about it in a personal capacity.