From ec72e0ad7c80d36ad1163f5fe60a5173f756010d Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 26 Jul 2025 13:10:44 +0530 Subject: [PATCH 1/3] post: reflections-ten-year-career --- content/posts/reflections-ten-year-career.md | 135 +++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 content/posts/reflections-ten-year-career.md diff --git a/content/posts/reflections-ten-year-career.md b/content/posts/reflections-ten-year-career.md new file mode 100644 index 0000000..e00a4bc --- /dev/null +++ b/content/posts/reflections-ten-year-career.md @@ -0,0 +1,135 @@ +--- +layout: post +title: "Reflections on 10 year career" +description: "" +date: 2025-07-24 +featured: true +--- + + +> "Isn't it funny how day by day nothing changes but when you look back, everything is different." +> +> -- C.S. Lewis + +Last week while discussing random stuff at office, a colleague of mine randomly said... "oh, so you've been working for 10 years?". It never felt like this to me because, I've only been programming professionally for like 5 years so I don't feel so usually much distance from junior developers at work. + +This conversation plus a recent [blog entry](https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/) from Charity Majors on forty-year career also made me reflect on my career so far. + +## Back to School + +Freudian view of psychology gives childhood experiences very high importance for personality development. It seems to be holding up for me as well. I've had fairly outlier-ish journey in my entire career. It started with school. I studied in a Gujarati medium school, in Mumbai. So my first language was my mother tongue, second language was Hindi and English was my third (!) language. Which means I struggled "communication skills" (i.e. English) required for most careers. + +I'm still grateful for this schooling because my parents had to pay just ~1k-2K INR (10-25 USD) in fees for entire year. My real schooling probably started when I got access to internet. I often joke that I was practically "raised by the internet" and I distinctly remember browsing Wikipedia on Opera mini browser. Internet was my first exposure outside of the shielded bubble of my school. + +## Rebel phase + +I had *sorta* rough childhood, but overcoming all of that also made me way more resilient. My family was mildly religious and there was a new wave of indoctrination going on by a Swaminarayan (new sect in Hinduism). I didn't even know that absence of belief is possible. The myths and stories didn't quite align with reality, the more I read, the more my belief in higher power withered away. + +Eventually I decided to leave the religion behind at ~15 years of age. I don't remember *any* regression in this lack of belief. I was still a "sanskari" kid. So eventually my family didn't care about this either. I've tried to find "meaning of life" by reading history, philosophy and psychology. I don't think I've made any progress on this, I just wish it's not a mass psychosis. + + +## Diploma Mechanical Engineering + +I had many random inclinations in childhood. In hindsight, I believe most people are not equipped to make any kind of long term career decisions at age of 16. My decision was influenced by people around me and what was financially feasible for me. I opted for Polytechnic Diploma in Mechanical Engineering, which is somewhat equivalent to associate's degree. + +Most of college education was waste of time. I spent hours and hours memorizing shit for exam or copying text verbatim from textbooks to "assignments". I still hate some of the professors with passion. My college had autonomy from curriculum regulatory boards, so they had no justification for often idiotic teaching practices other than their own incompetence. + +Just like schooling, I'm still grateful for this college experience too because the fees were <10K INR $120 for entire year. I developed deep appreciation for mastery-learning, I truly loved learning different subjects in mechanical engineering and finding their real world applications. NPTEL by IITs, OCW by MIT and other videos on YouTube played much bigger role than college. + +## Internships + +My mechanical engineering program required us to go through 1 year of internship, this is where my career officially began. My first internship was at ACG's R&D department and I got to work on building CAD schematics for a new tablet press machines. + +This internship was interesting and challenging experience. I got to master CAD in span of 6 months, I got to work on mechanical design problems with people who are experts in the field. I saw the real impact of work in same building where prototype machines were being assembled. + +People have this caricature of corporate life in their head, but what I've observed is there are almost always pockets of decent group of people who just want to do good work. You should try to find this group wherever you work. + +My second internship was rather mediocre, I've written a post about how that helped me course-correct my career trajectory. + +## Joy of Programming + +I don't quite remember when exactly I started taking programming seriously. If I had to guess, it started with learning to reverse engineer Android APKs and modifying them slightly. Those modifications were inconsequential, but they put me on a path to learn more... a lot more. I had no idea that trying to get "Temple Run" to work on my shitty phone will lead me into this rabbit-hole. + +I tried many different resources to "properly" learn programming. I tried C++, Java, Python and even MATLAB(🤮), none of them worked out. CS50x taught by David Malan was the class that really worked for me. Programming without foundational knowledge of computer science is like headless chicken. CS50x taught me the basics of problem solving from CS lense. I've since recommended this MOOC to everyone who wants to get into programming. + +Even after learning to code, I didn't want to do it as fulltime job because of some naive idealism of the young age: "if I start doing this for $$ I won't like it". I mostly treated it as a fun hobby and a complementary skill that helped me automate quite a lot of my work. + +What I am trying to ramble about here is... none of this is straight-forward. You'll hold beliefs that feel comical in retrospects. What matters most is deep introspection on how things are going and course-correcting wherever required. + +## End of college, first job + +End of college is when I fully gave up on education system in India. I couldn't find any good pockets in this hellhole that actually cared about learning. Even if there were such places, they'd most likely be heavily gated and have fierce competition to get in. I could get the same education on YouTube, so why go through all these hoops? My financial situation wasn't exactly great and offered with mediocre options for undergrad degree, I decided to just start working without any degree. I knew this was going to be a blocker in my career progression and eventually I might have to get an undergrad degree. + +I got hired fresher mechanical engineer in Godrej Precision Engineering. This must've been pure luck or just taking the odd path helping me out, because I had very little competition for the job. All the bright kid my age went on to do their undergrad degrees. I made just enough to pay for my family and save a bit. This is probably first time in my life, I experienced true peace, which I why I recommend everyone to first become financially stable and independent before venturing into the wild. + +Godrej Precision Engineering worked at cutting edge of mechanical manufacturing industry in India, so this job challenged me quite a bit for first 1-2 years. I learned something new every day. Eventually, I hit a plateau and saw no opportunities for horizontal movement or upward movement. The best advise I got from my then colleague/mentor was to move out and find a better role elsewhere. + +I also found the pocket of small group of decent people at this job. Over my 4.5 year stint at this company, I can recall only a handful of stressful days. The culture was great, but personal and financial growth was non-existent. The only growth I could see required me to stay here for 10-20 years and get some undergrad degree. I could only suppress my ambitions for so long. + +## Hitting new low, starting CS degree + +While my finances afforded me some peace after first job, they weren't *that* great. I struggled quite a bit with social anxiety and other problems in personal life. Three hours of my day was spent just in commuting to work. It is only inevitable that the bar for what I expect in life went higher and higher. + +I was still learning programming on my own, I took many MOOCs and learned all sorts of random skills. These classes helped me automate like 80% of my manual job. That freed up time was invested back into more learning. Faced with this continuous dissatisfaction about long-term career prospects and how that hinders other parts of my life, I decided to bite the bullet and get an undergrad degree. + +I couldn't find any decent recognized degree program in India. I tried a couple of random undergrad degrees (Math, philosophy) but didn't find enough motivation go through with them. I wasn't quite ready for acquiring all the knowledge from just books alone. + +Luckily, this is around the same time when Coursera partnered with University of London to offer BSc in Computer Science online. This was 3-3.5 year program that would easily fill the hole in my resume. I loved EdX and Coursera because of their wide range of high-quality MOOCs, so I instantly jumped on this program and joined the very first cohort of guinea pigs. + +This undergrad was way worse than best MOOCs I've taken, perhaps my standards were too high or perhaps it objectively just sucked ass. Anyway, it was the right fit for me because... + +1. It had amazing international community of learners. I taught and learned from others so many things. Love you #firstcohort-ers. +2. It required very little planned time commitment. Each semester had just two major deliverable - midterm and endterm. I could easily balance this with my work. + +## Getting a break, Second job + +When I enrolled myself in that undergrad program, I spent ~1.5 years seriously learning CS fundamentals and other "job ready" skills. Once I felt comfortable, I started applying for jobs, long before I graduated. I landed couple of interviews but both didn't go anywhere. + +I had stumbled upon Frappe Framework few years ago when I was trying to build and internal tool at work. I couldn't quite get it to work, but that was mostly because of my incompetence. So I applied for a job there. Frappe does 100% open source software. When I joined, ERPNext was the flagship product and sole focus of the organization. My background in mechanical engineering provided me ERP user's point of view. That coupled with programming knowledge was enough to make me a good fit for engineering role in ERPNext team. Odd path again helped me out here. + + +## Changes and growth at 2nd job. + +Frappe's culture was wildly wildly different from Godrej's. This was ~15 year old company but still pretty much operated like a startup. There were no fixed working hours, or even fixed working days. You were only measured on outcome and there was no artificial inhibition against personal growth. People freely moved around inside company to find the right fit and grow themselves. This cultural success can be attributed in large parts to early employees and mostly the founder - Rushabh. That said, my journey inside Frappe wasn't exactly smooth. + +Firstly, they forgot to assign me a mentor at Frappe 😀. I reached out to few people and saught opinion of people who I admired. In early days, mostly that person was Gavin. Marica and Rohit also played a huge role in my success during the early days. + +I joined L2 support team and then eventually when proper teams were formed, I became part of stock/manufacturing team. This decision was purely to play on my strengths and previous experience in manufacturing industry. I however, never limited myself to my own project. 20%-40% time was frequently spent on contributing to other projects, mainly Frappe Framework. I saw the company as a small open source community where good ideas and contributions were accepted regardless of whom they came from. + + +I tried to work aggressively on stability and "maintaining" the ERPNext modules. We were successful in bringing much needed stability in team and the codebase. I couldn't see any major pending work and almost half of my time was now spent on solving "meta-problems" for ERPNext which resided in Frappe Framework. The long-seeded idea that I should work on Frappe Framework and not ERPNext started making sense now, so I switched to Framework team. + +## Peaking and getting into management for all the wrong reasons + +Few months into Framework team, I started losing coworkers whom I loved to work with. One by one everyone I admired had left the team to do something bigger/better. I led the team for a while but I also started to feel like I've "peaked" in my engineering career, especially inside Frappe. + +That feeling of hitting a plateau and seeded ideas about taking up leadership made me consider leadership role as a serious option. This might be a no-brainer, but leadership at Frappe is wildly different than perception you might have about leadership in other organizations. There's very little structure, authority or hierarchy to manage. + + +I have no shame in admitting that my first stint in "management" was mostly a failure. Sure, I shipped enough to justify my salary, but it could've been so much more and the impact of my role could've been much wider. + +In hindsight, I failed because: + +- I did not treat leadership/management as a skill to be learned and honed continuously. I am not a "natural leader". +- I regressed back to execution too frequently. +- I picked projects that had little to do with long term engineering success of the company. ($$$ growth instead of growth of engineering output) +- I never accepted that whatever I know about "management" just doesn't work at a company where there you have no authority to make others execute your ideas. +- Not finding my own replacement, or rather struggling with accepting that regression. + +## Another plateau, sabbatical and on to next "peak" + +After end of first year, I realized I am not really cut out for this role and I don't like doing it either. So I went back to working on Framework as team lead. I've just hit another plateau with Framework. None of the work seemed challenging enough. Whatever was challenging was also like whack-a-mole i.e. never ending work. Perhaps it was just burnout setting in or perhaps it was continuous struggle with health issues. + +I saw two star devs at Frappe burn out, go for a sabbatical, come back and ship amazing engineering artefacts. The idea seemed enticing and almost overnight I decided I want to take a 6 month long sabbatical. This is one of the policy that every good company out there should adopt. If you want people to survive at your organization beyond the average of 2-3 years, then you need to plan long-term burnout management and provide policies that encourage taking long breaks. + +I had very little planning except my backup plan: I enrolled myself in OMSCS (Online Master of Science in CS). I again found myself in environment where I was learning so much and so deeply. It almost felt like taking CS50x all over again but with much higher depth and renewed interest in honing technical skills. I learned a lot about computer architecture, operating systems and performance engineering. These 4 months of first semester of OMSCS was the most dense learning experience in my entire life. + +When I joined back, I didn't regress back to same work and instead decided to focus on one ambitious goal: make our software 2x faster in <1 year and I finished that in 3-4 months. I shipped changes like never before and the output was also very clearly measurable. Who knew that structure and focus helps? I am once again at same crossroads, thinking about what's next before I spend too much time on plateau. + +## Next 10 years? + +I couldn't have sped up our software by 2x with knowledge from CS50, I had to hit multiple plateau, spiral around so many random things and progress to my current level. I can't imagine a straight linear path to where I am from where I was. So, I am making peace with this random mess. + +First 10 years were clearly spent chasing competence and excellence. I didn't want to be an average engineer on track to become an average manager in 10 years. I wanted to grow and I wanted to grow fast as fuck with constraints that I had to just accept. + +I have no idea what future holds for me. Maybe it's time to spiral back into management again, with more insights and better focus. Maybe there will be a time to go for that PhD in CS. Maybe all of this will be made irrelevant by the thinking machines. From e60f920785284bba7cfc52f16672cab4b349c2ce Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 26 Jul 2025 15:13:39 +0530 Subject: [PATCH 2/3] WIP: edit 1 --- content/posts/reflections-ten-year-career.md | 101 ++++++++++--------- 1 file changed, 54 insertions(+), 47 deletions(-) diff --git a/content/posts/reflections-ten-year-career.md b/content/posts/reflections-ten-year-career.md index e00a4bc..0d0daa0 100644 --- a/content/posts/reflections-ten-year-career.md +++ b/content/posts/reflections-ten-year-career.md @@ -11,125 +11,132 @@ featured: true > > -- C.S. Lewis -Last week while discussing random stuff at office, a colleague of mine randomly said... "oh, so you've been working for 10 years?". It never felt like this to me because, I've only been programming professionally for like 5 years so I don't feel so usually much distance from junior developers at work. +Last week while discussing some random stuff at office, a colleague of mine randomly said... "Oh, so you've been working for 10 years!?". That's when it hit me, that I indeed have been working for 10 years now. It never felt like this because I've only been programming professionally for like 5 years. -This conversation plus a recent [blog entry](https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/) from Charity Majors on forty-year career also made me reflect on my career so far. +That conversation coupled with a recent [blog entry](https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/) from Charity Majors on forty-year career and a recent writing workshop at work made me reflect on my career so far. -## Back to School +## Childhood and schooling -Freudian view of psychology gives childhood experiences very high importance for personality development. It seems to be holding up for me as well. I've had fairly outlier-ish journey in my entire career. It started with school. I studied in a Gujarati medium school, in Mumbai. So my first language was my mother tongue, second language was Hindi and English was my third (!) language. Which means I struggled "communication skills" (i.e. English) required for most careers. +Freudian view of psychology says that childhood experiences guide the personality development. It seems to be holding up for me as well. I've had fairly outlier-ish journey in my entire career and it started with school. I studied in a Gujarati medium school, *in Mumbai*. So my first language was my mother tongue, second language was Hindi and English was my third(!) language. -I'm still grateful for this schooling because my parents had to pay just ~1k-2K INR (10-25 USD) in fees for entire year. My real schooling probably started when I got access to internet. I often joke that I was practically "raised by the internet" and I distinctly remember browsing Wikipedia on Opera mini browser. Internet was my first exposure outside of the shielded bubble of my school. +My answer to *"What language is your internal monologue?"* changed from Gujarati to English after leaving school and I still don't know how to feel about that. People get stuck in their careers because of lack of "communication skills" (HR-speak for English), so maybe it wasn't all bad after all? + +I'm still grateful for this schooling because my parents had to pay just ₹1000/$12 in fees for entire year. + +Internet was my first exposure outside of the shielded bubble of my school. My real schooling probably started when I got access to internet. I often joke that I was practically "raised by the internet" and I distinctly remember browsing Wikipedia on Opera mini browser. ## Rebel phase -I had *sorta* rough childhood, but overcoming all of that also made me way more resilient. My family was mildly religious and there was a new wave of indoctrination going on by a Swaminarayan (new sect in Hinduism). I didn't even know that absence of belief is possible. The myths and stories didn't quite align with reality, the more I read, the more my belief in higher power withered away. +I had *sorta* rough childhood, but overcoming all of that also made me way more resilient. My family was mildly religious and there was a new wave of indoctrination going on by Swaminarayan people (new sect in Hinduism). Religion and praying specifically didn't seem to be working out for me. At the same time, I didn't even know that absence of belief is possible. The myths and stories didn't quite align with reality, the more I read, the more my belief in higher power withered away. -Eventually I decided to leave the religion behind at ~15 years of age. I don't remember *any* regression in this lack of belief. I was still a "sanskari" kid. So eventually my family didn't care about this either. I've tried to find "meaning of life" by reading history, philosophy and psychology. I don't think I've made any progress on this, I just wish it's not a mass psychosis. +Eventually I hit a low and decided to leave the religion behind ~15 years of age. I don't remember *any* regression in my lack of belief. I was and to large extent still am a "sanskari" kid. So my family didn't care about this either. I've tried to find "meaning of life" by reading history, philosophy and psychology. I don't think I've made any progress on this, I just wish it's not some form of mass psychosis. +I stopped caring about what people next to me thought, most of whom were clueless themselves and just parroting what other clueless people told them. The idea of "Samaaj" where people who are born in the some caste organize themselves as a group and have shared understanding of how everyone should live is absurd, and I am never going to be afraid of opinion of such spineless people who can't think for themselves. -## Diploma Mechanical Engineering -I had many random inclinations in childhood. In hindsight, I believe most people are not equipped to make any kind of long term career decisions at age of 16. My decision was influenced by people around me and what was financially feasible for me. I opted for Polytechnic Diploma in Mechanical Engineering, which is somewhat equivalent to associate's degree. +## Polytechnic Life -Most of college education was waste of time. I spent hours and hours memorizing shit for exam or copying text verbatim from textbooks to "assignments". I still hate some of the professors with passion. My college had autonomy from curriculum regulatory boards, so they had no justification for often idiotic teaching practices other than their own incompetence. +I had many random inclinations in childhood. In hindsight, I believe most people are not equipped to make any kind of long term career decisions at age of 16. My decision was influenced by people around me and what was financially feasible for me. I opted for Polytechnic Diploma in Mechanical Engineering, which is probably equivalent to an associate's degree. -Just like schooling, I'm still grateful for this college experience too because the fees were <10K INR $120 for entire year. I developed deep appreciation for mastery-learning, I truly loved learning different subjects in mechanical engineering and finding their real world applications. NPTEL by IITs, OCW by MIT and other videos on YouTube played much bigger role than college. +Most of college education was a waste of time. I spent hours and hours memorizing shit for exam or copying text verbatim from textbooks to "assignments". I still hate some of the professors with passion. My college had autonomy from curriculum regulatory boards, so they had no justification for their idiotic teaching practices other than their own gross incompetence and lack of vision. -## Internships +Just like schooling, I'm still grateful for this college experience too because the fees were ₹10,000/$120 for entire year. Outside of college I developed deep appreciation for mastery-learning, I truly loved learning different subjects in mechanical engineering and finding their real world applications. NPTEL by IITs, OCW by MIT and other videos on YouTube played much bigger role than college. -My mechanical engineering program required us to go through 1 year of internship, this is where my career officially began. My first internship was at ACG's R&D department and I got to work on building CAD schematics for a new tablet press machines. +## Apprentice Life -This internship was interesting and challenging experience. I got to master CAD in span of 6 months, I got to work on mechanical design problems with people who are experts in the field. I saw the real impact of work in same building where prototype machines were being assembled. +My Polytechnic program required us to go through 1 year of internship, this is where my career officially began. My first internship was at ACG's R&D department and I got to work on building CAD schematics for a new tablet press machines. -People have this caricature of corporate life in their head, but what I've observed is there are almost always pockets of decent group of people who just want to do good work. You should try to find this group wherever you work. +This internship was interesting and challenging experience. I got to master CAD in span of 6 months, I got to work on mechanical design problems with people who are experts in the field. I got to see the real impact of work in same building where prototype machines were being assembled. My second internship was rather mediocre, I've written a [post](/p/mediocre-internship) about how that helped me course-correct my career trajectory. -My second internship was rather mediocre, I've written a post about how that helped me course-correct my career trajectory. +People often have this caricature of corporate life in their head where work sucks the soul out of you. But I've observed that even in worst corporate hell-holes you'll find decent group of people who just want to do good work. You should try to find this group wherever you work. -## Joy of Programming +## Noob programmer phase I don't quite remember when exactly I started taking programming seriously. If I had to guess, it started with learning to reverse engineer Android APKs and modifying them slightly. Those modifications were inconsequential, but they put me on a path to learn more... a lot more. I had no idea that trying to get "Temple Run" to work on my shitty phone will lead me into this rabbit-hole. -I tried many different resources to "properly" learn programming. I tried C++, Java, Python and even MATLAB(🤮), none of them worked out. CS50x taught by David Malan was the class that really worked for me. Programming without foundational knowledge of computer science is like headless chicken. CS50x taught me the basics of problem solving from CS lense. I've since recommended this MOOC to everyone who wants to get into programming. +I tried many different resources to "properly" learn programming. I tried C++, Java, Python and even MATLAB(🤮), none of them worked out. CS50x taught by David Malan was the class that really worked for me. Programming without foundational knowledge of computer science is like running around like a headless chicken. CS50x taught me the basics of problem solving from CS lens. I've since recommended this MOOC to everyone who wants to get into programming. -Even after learning to code, I didn't want to do it as fulltime job because of some naive idealism of the young age: "if I start doing this for $$ I won't like it". I mostly treated it as a fun hobby and a complementary skill that helped me automate quite a lot of my work. +Even after learning to code, I didn't want to do it as a full-time job because of some naive idealism of the young age: "if I start doing this for $$ I won't like it". I mostly treated it as a fun hobby and a complementary skill that helped me automate quite a lot of my work. -What I am trying to ramble about here is... none of this is straight-forward. You'll hold beliefs that feel comical in retrospects. What matters most is deep introspection on how things are going and course-correcting wherever required. +What I am trying to ramble about here is... none of this is straight-forward. You'll hold beliefs that feel comical in retrospect. What matters most is deep introspection on how things are going and course-correcting wherever required. -## End of college, first job +## Independent Autodidact Phase -End of college is when I fully gave up on education system in India. I couldn't find any good pockets in this hellhole that actually cared about learning. Even if there were such places, they'd most likely be heavily gated and have fierce competition to get in. I could get the same education on YouTube, so why go through all these hoops? My financial situation wasn't exactly great and offered with mediocre options for undergrad degree, I decided to just start working without any degree. I knew this was going to be a blocker in my career progression and eventually I might have to get an undergrad degree. +End of college is when I truly gave up on education system in India. I couldn't find any good pockets in this hellhole that actually cared about learning. Even if there were such places, they'd most likely be heavily gated and have fierce competition to get in. I could get the same education on YouTube, so why go through all these hoops? My financial situation wasn't exactly great and offered with mediocre options for undergrad degree, I decided to just start working without any degree. I knew this was going to be a blocker in my career progression and eventually I might have to get an undergrad degree. -I got hired fresher mechanical engineer in Godrej Precision Engineering. This must've been pure luck or just taking the odd path helping me out, because I had very little competition for the job. All the bright kid my age went on to do their undergrad degrees. I made just enough to pay for my family and save a bit. This is probably first time in my life, I experienced true peace, which I why I recommend everyone to first become financially stable and independent before venturing into the wild. +I got hired fresher mechanical engineer in Godrej Precision Engineering. This must've been pure luck or just taking the odd path helping me out, because I had very little competition for the job. All the bright kids my age went on to do their undergrad degrees. I got "opportunity" to start working 3 years before them, which isn't all bad if you believed those degrees were waste of time to begin with. -Godrej Precision Engineering worked at cutting edge of mechanical manufacturing industry in India, so this job challenged me quite a bit for first 1-2 years. I learned something new every day. Eventually, I hit a plateau and saw no opportunities for horizontal movement or upward movement. The best advise I got from my then colleague/mentor was to move out and find a better role elsewhere. +I started earning just enough to pay for my family and save something for future. We went from barely surviving on single mother's earnings to being able to afford an occasional meal outside. This is probably the first time in my life when I experienced true mental peace, and this is why I recommend everyone to first become financially stable and independent before venturing into the wild. -I also found the pocket of small group of decent people at this job. Over my 4.5 year stint at this company, I can recall only a handful of stressful days. The culture was great, but personal and financial growth was non-existent. The only growth I could see required me to stay here for 10-20 years and get some undergrad degree. I could only suppress my ambitions for so long. +Godrej Precision Engineering worked at cutting edge of mechanical manufacturing industry in India, so this job challenged me quite a bit for first 1-2 years. I learned something new every day. Eventually, I hit a plateau and saw no opportunities for horizontal movement or upward movement. I started slacking off on my autodidact ambitions and grew comfortable with "just good enough". -## Hitting new low, starting CS degree +I also found the pocket of small group of decent people at this job. Over my 4.5 year stint at this company, I can recall only a handful of truly stressful days. The culture was great, but personal and financial growth were non-existent. The only growth I could see required me to stay here for 10-20 years and get some undergrad degree. I could only suppress my ambitions for so long. -While my finances afforded me some peace after first job, they weren't *that* great. I struggled quite a bit with social anxiety and other problems in personal life. Three hours of my day was spent just in commuting to work. It is only inevitable that the bar for what I expect in life went higher and higher. +## Hitting the first major plateau + +While my finances afforded me some peace after first job, they weren't *that* great. I still struggled quite a bit with social anxiety and other problems in personal life. Three hours of my day was spent just in commuting to work, that left me with little time for anything else. It was inevitable that the bar for what I expect in life went higher again. I was still learning programming on my own, I took many MOOCs and learned all sorts of random skills. These classes helped me automate like 80% of my manual job. That freed up time was invested back into more learning. Faced with this continuous dissatisfaction about long-term career prospects and how that hinders other parts of my life, I decided to bite the bullet and get an undergrad degree. -I couldn't find any decent recognized degree program in India. I tried a couple of random undergrad degrees (Math, philosophy) but didn't find enough motivation go through with them. I wasn't quite ready for acquiring all the knowledge from just books alone. +I couldn't find any decent *recognized* remote degree program in India. I tried a couple of random undergrad degrees (Math, philosophy) but didn't find enough motivation go through with them. Turns out, I wasn't quite the autodidact that can acquiring all the knowledge from just books alone. -Luckily, this is around the same time when Coursera partnered with University of London to offer BSc in Computer Science online. This was 3-3.5 year program that would easily fill the hole in my resume. I loved EdX and Coursera because of their wide range of high-quality MOOCs, so I instantly jumped on this program and joined the very first cohort of guinea pigs. +Luckily, this is around the same time when Coursera partnered with University of London to offer BSc in CS online. This was ~3.5 year program that would easily fill the hole in my resume. I loved EdX and Coursera because of their wide range of high-quality MOOCs, so I instantly jumped on this program and joined the very first cohort of guinea pigs. -This undergrad was way worse than best MOOCs I've taken, perhaps my standards were too high or perhaps it objectively just sucked ass. Anyway, it was the right fit for me because... +This undergrad was way worse than some of the MOOCs I've taken, perhaps my standards were too high or perhaps it objectively just sucked ass. Anyway, it was the right fit for me because... -1. It had amazing international community of learners. I taught and learned from others so many things. Love you #firstcohort-ers. +1. It had amazing international community of learners. I taught and learned from others so many things. Love you `#firstcohort`. 2. It required very little planned time commitment. Each semester had just two major deliverable - midterm and endterm. I could easily balance this with my work. +3. It accepted people based on performance in first semester and had no artificial requirements for admission. -## Getting a break, Second job +## Getting a break -When I enrolled myself in that undergrad program, I spent ~1.5 years seriously learning CS fundamentals and other "job ready" skills. Once I felt comfortable, I started applying for jobs, long before I graduated. I landed couple of interviews but both didn't go anywhere. +When I enrolled myself in that undergrad program, I spent ~1.5 years seriously learning CS fundamentals and other "job ready" skills. Once I felt comfortable, I started applying for jobs. I landed couple of interviews but both didn't go anywhere. -I had stumbled upon Frappe Framework few years ago when I was trying to build and internal tool at work. I couldn't quite get it to work, but that was mostly because of my incompetence. So I applied for a job there. Frappe does 100% open source software. When I joined, ERPNext was the flagship product and sole focus of the organization. My background in mechanical engineering provided me ERP user's point of view. That coupled with programming knowledge was enough to make me a good fit for engineering role in ERPNext team. Odd path again helped me out here. +I had stumbled upon Frappe Framework few years ago when I was trying to build and internal tool at work. I couldn't quite get it to work, but that was mostly because of my incompetence. I stumbled upon their career page and kinda admired the company so I applied for a job there. +Frappe does 100% open source software. When I joined, ERPNext was the flagship product and sole focus of the organization. My background in mechanical engineering provided me ERP user's point of view. That coupled with programming knowledge was enough to make me a good fit for engineering role in ERPNext team. Odd path again helped me out here. I took a risk and joined Frappe at almost same salary that I was making in my comfortable job. -## Changes and growth at 2nd job. -Frappe's culture was wildly wildly different from Godrej's. This was ~15 year old company but still pretty much operated like a startup. There were no fixed working hours, or even fixed working days. You were only measured on outcome and there was no artificial inhibition against personal growth. People freely moved around inside company to find the right fit and grow themselves. This cultural success can be attributed in large parts to early employees and mostly the founder - Rushabh. That said, my journey inside Frappe wasn't exactly smooth. +## Apprentice again -Firstly, they forgot to assign me a mentor at Frappe 😀. I reached out to few people and saught opinion of people who I admired. In early days, mostly that person was Gavin. Marica and Rohit also played a huge role in my success during the early days. +Frappe's culture was wildly wildly different from Godrej's. Godrej was ~120 year old corporate behemoth, Frappe was ~12 year old company but still pretty much operated like a startup. Frappe is a democratic workplace, there are no fixed working hours, or even fixed working days 🤷. You are only measured on outcome and there was no artificial inhibition against personal growth. People freely moved around inside company to find the right fit and grow themselves. This cultural success can be attributed in large parts to early employees and mostly the founder - Rushabh. That said, my journey inside Frappe wasn't exactly smooth. -I joined L2 support team and then eventually when proper teams were formed, I became part of stock/manufacturing team. This decision was purely to play on my strengths and previous experience in manufacturing industry. I however, never limited myself to my own project. 20%-40% time was frequently spent on contributing to other projects, mainly Frappe Framework. I saw the company as a small open source community where good ideas and contributions were accepted regardless of whom they came from. +Firstly, they forgot to assign me a mentor at Frappe 😀. I reached out to few people and saught opinion of people who I admired. In early days, mostly that person was Gavin. Marica and Rohit also played a huge role in my success during the early days. New hires getting thrown to the deep end was pretty normal, though it was acknowledged and efforts were made to smoothen onboarding. +I joined ERPNext's Stock/Manufacturing team. This decision was purely to play on my strengths and previous experience in manufacturing industry. I however, never limited myself to my own project. 20%-40% time was frequently spent on contributing to other projects, mainly Frappe Framework. I saw the company as microcosm of open source community where good ideas and contributions were accepted regardless of where they came from. I tried to work aggressively on stability and "maintaining" the ERPNext modules. We were successful in bringing much needed stability in team and the codebase. I couldn't see any major pending work and almost half of my time was now spent on solving "meta-problems" for ERPNext which resided in Frappe Framework. The long-seeded idea that I should work on Frappe Framework and not ERPNext started making sense now, so I switched to Framework team. -## Peaking and getting into management for all the wrong reasons +## Feeling "peaked", getting into management for the wrong reasons Few months into Framework team, I started losing coworkers whom I loved to work with. One by one everyone I admired had left the team to do something bigger/better. I led the team for a while but I also started to feel like I've "peaked" in my engineering career, especially inside Frappe. That feeling of hitting a plateau and seeded ideas about taking up leadership made me consider leadership role as a serious option. This might be a no-brainer, but leadership at Frappe is wildly different than perception you might have about leadership in other organizations. There's very little structure, authority or hierarchy to manage. - I have no shame in admitting that my first stint in "management" was mostly a failure. Sure, I shipped enough to justify my salary, but it could've been so much more and the impact of my role could've been much wider. In hindsight, I failed because: -- I did not treat leadership/management as a skill to be learned and honed continuously. I am not a "natural leader". +- I did not treat leadership/management as a skill to be learned and honed continuously. I am not a "natural leader". Something I need to fix before attempting it again. - I regressed back to execution too frequently. - I picked projects that had little to do with long term engineering success of the company. ($$$ growth instead of growth of engineering output) -- I never accepted that whatever I know about "management" just doesn't work at a company where there you have no authority to make others execute your ideas. +- I never accepted that whatever I know about "management" just doesn't work at a company where you have no authority to make others execute your ideas. - Not finding my own replacement, or rather struggling with accepting that regression. ## Another plateau, sabbatical and on to next "peak" -After end of first year, I realized I am not really cut out for this role and I don't like doing it either. So I went back to working on Framework as team lead. I've just hit another plateau with Framework. None of the work seemed challenging enough. Whatever was challenging was also like whack-a-mole i.e. never ending work. Perhaps it was just burnout setting in or perhaps it was continuous struggle with health issues. +After end of first year, I realized I am not really cut out for this role and I don't like doing it either. So I went back to working on Framework as IC. I've just hit another plateau with Framework. None of the work seemed challenging enough. Whatever was challenging was also like whack-a-mole i.e. never ending work. Perhaps it was just burnout setting in or perhaps it was continuous struggle with health. I saw two star devs at Frappe burn out, go for a sabbatical, come back and ship amazing engineering artefacts. The idea seemed enticing and almost overnight I decided I want to take a 6 month long sabbatical. This is one of the policy that every good company out there should adopt. If you want people to survive at your organization beyond the average of 2-3 years, then you need to plan long-term burnout management and provide policies that encourage taking long breaks. I had very little planning except my backup plan: I enrolled myself in OMSCS (Online Master of Science in CS). I again found myself in environment where I was learning so much and so deeply. It almost felt like taking CS50x all over again but with much higher depth and renewed interest in honing technical skills. I learned a lot about computer architecture, operating systems and performance engineering. These 4 months of first semester of OMSCS was the most dense learning experience in my entire life. -When I joined back, I didn't regress back to same work and instead decided to focus on one ambitious goal: make our software 2x faster in <1 year and I finished that in 3-4 months. I shipped changes like never before and the output was also very clearly measurable. Who knew that structure and focus helps? I am once again at same crossroads, thinking about what's next before I spend too much time on plateau. +When I joined back, I didn't regress back to same work and instead decided to focus on one ambitious goal: make our software 2x faster in <1 year and I finished that in 3-4 months. I shipped changes like never before and the output was also very clearly measurable. Who knew that structure and focus helps? I am once again at the same crossroads, thinking about what's next before I spend too much time on plateau. -## Next 10 years? +## On to next 10 years -I couldn't have sped up our software by 2x with knowledge from CS50, I had to hit multiple plateau, spiral around so many random things and progress to my current level. I can't imagine a straight linear path to where I am from where I was. So, I am making peace with this random mess. +I couldn't have sped up our software by 2x with knowledge of reverse engineering APK files or even CS50, I had to hit multiple plateau, spiral around so many random things and progress to my current level. I can't imagine a straight linear path to where I am from where I was. So, I am making peace with this random messy process. First 10 years were clearly spent chasing competence and excellence. I didn't want to be an average engineer on track to become an average manager in 10 years. I wanted to grow and I wanted to grow fast as fuck with constraints that I had to just accept. -I have no idea what future holds for me. Maybe it's time to spiral back into management again, with more insights and better focus. Maybe there will be a time to go for that PhD in CS. Maybe all of this will be made irrelevant by the thinking machines. +I have no idea what future holds for me. Maybe there will be a time to go for that PhD in CS. Maybe it's time to focus on impact. Maybe it's time to spiral back into management again to help people around me make life-changing amounts of money. From 1fa11df4cdb0ca835778947ccf6378caa2faba51 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 26 Jul 2025 16:32:58 +0530 Subject: [PATCH 3/3] edit 2 --- content/posts/reflections-ten-year-career.md | 105 ++++++++++--------- 1 file changed, 53 insertions(+), 52 deletions(-) diff --git a/content/posts/reflections-ten-year-career.md b/content/posts/reflections-ten-year-career.md index 0d0daa0..5feb8a7 100644 --- a/content/posts/reflections-ten-year-career.md +++ b/content/posts/reflections-ten-year-career.md @@ -11,132 +11,133 @@ featured: true > > -- C.S. Lewis -Last week while discussing some random stuff at office, a colleague of mine randomly said... "Oh, so you've been working for 10 years!?". That's when it hit me, that I indeed have been working for 10 years now. It never felt like this because I've only been programming professionally for like 5 years. +Last week, while discussing some random stuff at work, a colleague of mine randomly said... "Oh, so you've been working for 10 years!?". That's when it hit me that I indeed have been working for 10 years now. It never felt like this because I've only been programming professionally for like 5 years. -That conversation coupled with a recent [blog entry](https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/) from Charity Majors on forty-year career and a recent writing workshop at work made me reflect on my career so far. +That conversation, coupled with a recent [blog entry](https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/) from Charity Majors on forty-year career and a recent writing workshop at work, made me reflect on my career so far. ## Childhood and schooling -Freudian view of psychology says that childhood experiences guide the personality development. It seems to be holding up for me as well. I've had fairly outlier-ish journey in my entire career and it started with school. I studied in a Gujarati medium school, *in Mumbai*. So my first language was my mother tongue, second language was Hindi and English was my third(!) language. +Freud's view of psychology says that childhood experiences guide personality development. It seems to be holding up for me as well. I've had a fairly outlier-ish journey in my entire career, and it started with school. I studied in a Gujarati medium school, *in Mumbai*. So my first language was my mother tongue, second language was Hindi, and English was my third(!) language. -My answer to *"What language is your internal monologue?"* changed from Gujarati to English after leaving school and I still don't know how to feel about that. People get stuck in their careers because of lack of "communication skills" (HR-speak for English), so maybe it wasn't all bad after all? +My answer to *"What language is your internal monologue?"* slowly changed from Gujarati to English after leaving school, and I still don't know how to feel about that. People get stuck in their careers because of a lack of "communication skills" (HR-speak for English), so maybe it wasn't all bad after all? -I'm still grateful for this schooling because my parents had to pay just ₹1000/$12 in fees for entire year. +The Internet was my first exposure outside of the shielded bubble of my school. My real schooling probably started when I got internet access. I distinctly remember browsing Wikipedia on Opera Mini browser using 2G internet speeds. I was practically "raised by the Internet". I'm still grateful for this schooling because my parents had to pay just ₹1000/$12 in fees for the entire year. -Internet was my first exposure outside of the shielded bubble of my school. My real schooling probably started when I got access to internet. I often joke that I was practically "raised by the internet" and I distinctly remember browsing Wikipedia on Opera mini browser. ## Rebel phase -I had *sorta* rough childhood, but overcoming all of that also made me way more resilient. My family was mildly religious and there was a new wave of indoctrination going on by Swaminarayan people (new sect in Hinduism). Religion and praying specifically didn't seem to be working out for me. At the same time, I didn't even know that absence of belief is possible. The myths and stories didn't quite align with reality, the more I read, the more my belief in higher power withered away. +I had *sorta* rough childhood, but overcoming all of that also made me way more resilient. My family was mildly religious, and there was a new wave of indoctrination going on by Swaminarayan people (a new sect in Hinduism). Religion and praying specifically didn't seem to be working out for me. At the same time, I didn't even know that the absence of belief is possible. The myths and stories didn't quite align with reality, and the more I read, the more my belief in a higher power withered away. -Eventually I hit a low and decided to leave the religion behind ~15 years of age. I don't remember *any* regression in my lack of belief. I was and to large extent still am a "sanskari" kid. So my family didn't care about this either. I've tried to find "meaning of life" by reading history, philosophy and psychology. I don't think I've made any progress on this, I just wish it's not some form of mass psychosis. +Eventually, I hit a low and decided to leave the religion behind at ~15 years of age. I don't remember *any* regression in my lack of belief. I was, and to a large extent still am, a "संस्कारी" kid. So my immediate family didn't care about this either. -I stopped caring about what people next to me thought, most of whom were clueless themselves and just parroting what other clueless people told them. The idea of "Samaaj" where people who are born in the some caste organize themselves as a group and have shared understanding of how everyone should live is absurd, and I am never going to be afraid of opinion of such spineless people who can't think for themselves. +I've tried to find the "meaning of life" by reading mythology, history, philosophy, and psychology. I don't think I've made any progress on this; I just wish it's not some form of mass psychosis. + +I stopped caring about what people next to me thought, most of whom were clueless themselves and just parroting what other clueless people told them. The idea of a "समाज" where people who are born in the same caste organize themselves as a group and have a shared understanding of how everyone should live is absurd, and I am never going to be afraid of the opinion of such spineless people who can't think for themselves. ## Polytechnic Life -I had many random inclinations in childhood. In hindsight, I believe most people are not equipped to make any kind of long term career decisions at age of 16. My decision was influenced by people around me and what was financially feasible for me. I opted for Polytechnic Diploma in Mechanical Engineering, which is probably equivalent to an associate's degree. +I had many random inclinations in childhood. In hindsight, I believe most people are not equipped to make any kind of long-term career decisions at the age of 16. My decision was influenced by people around me and what was financially feasible for me. I opted for a Polytechnic Diploma in Mechanical Engineering, which is probably equivalent to an associate's degree. -Most of college education was a waste of time. I spent hours and hours memorizing shit for exam or copying text verbatim from textbooks to "assignments". I still hate some of the professors with passion. My college had autonomy from curriculum regulatory boards, so they had no justification for their idiotic teaching practices other than their own gross incompetence and lack of vision. +Most of college education was a waste of time. I spent hours and hours memorizing shit for an exam or copying text verbatim from textbooks to "assignments". I still hate some of the professors with the burning passion of a thousand suns. My college had autonomy from curriculum regulatory boards, so they had no justification for their idiotic teaching practices other than their own gross incompetence and lack of vision. -Just like schooling, I'm still grateful for this college experience too because the fees were ₹10,000/$120 for entire year. Outside of college I developed deep appreciation for mastery-learning, I truly loved learning different subjects in mechanical engineering and finding their real world applications. NPTEL by IITs, OCW by MIT and other videos on YouTube played much bigger role than college. +Just like schooling, I'm still grateful for this college experience too. The fees were just ₹10,000/$120 for the entire year. Outside of college, I developed a deep appreciation for mastery learning. I truly loved learning different subjects in mechanical engineering and finding their real-world applications. NPTEL by IITs, OCW by MIT, and other videos on YouTube played a much bigger role than college. ## Apprentice Life -My Polytechnic program required us to go through 1 year of internship, this is where my career officially began. My first internship was at ACG's R&D department and I got to work on building CAD schematics for a new tablet press machines. +My Polytechnic program required us to go through 1-year of internship, which is where my career officially began. My first internship was at ACG's R&D department, and I got to work on building CAD schematics for a new tablet press machine. -This internship was interesting and challenging experience. I got to master CAD in span of 6 months, I got to work on mechanical design problems with people who are experts in the field. I got to see the real impact of work in same building where prototype machines were being assembled. My second internship was rather mediocre, I've written a [post](/p/mediocre-internship) about how that helped me course-correct my career trajectory. +This internship was an interesting and challenging experience. I got to master CAD in 6 months, and I got to work on mechanical design problems with people who are experts in the field. I got to see the real impact of work in the same building where prototype machines were being assembled. My second internship was rather mediocre; I've written a [post](/p/mediocre-internship) about how that helped me course-correct my career trajectory. -People often have this caricature of corporate life in their head where work sucks the soul out of you. But I've observed that even in worst corporate hell-holes you'll find decent group of people who just want to do good work. You should try to find this group wherever you work. +People often have this caricature of corporate life in their heads, where work sucks the soul out of you. But I've observed that even in the worst corporate hell-holes, you'll find a group of decent people who just want to do good work. You should try to find this group wherever you work. ## Noob programmer phase -I don't quite remember when exactly I started taking programming seriously. If I had to guess, it started with learning to reverse engineer Android APKs and modifying them slightly. Those modifications were inconsequential, but they put me on a path to learn more... a lot more. I had no idea that trying to get "Temple Run" to work on my shitty phone will lead me into this rabbit-hole. +I don't quite remember when exactly I started taking programming seriously. If I had to guess, it started with learning to reverse engineer Android APKs and modifying them slightly. Those modifications were inconsequential, but they put me on a path to learn more... a lot more. I had no idea that trying to get "Temple Run" to work on my shitty phone would lead me into this rabbit hole. -I tried many different resources to "properly" learn programming. I tried C++, Java, Python and even MATLAB(🤮), none of them worked out. CS50x taught by David Malan was the class that really worked for me. Programming without foundational knowledge of computer science is like running around like a headless chicken. CS50x taught me the basics of problem solving from CS lens. I've since recommended this MOOC to everyone who wants to get into programming. +I tried many different resources to "properly" learn programming. I tried C++, Java, Python, and even MATLAB(🤮), none of them worked out. CS50x, taught by David Malan, was the class that really worked for me. Programming without foundational knowledge of computer science is like running around like a headless chicken. CS50x taught me the basics of problem solving from a CS lens. I've since recommended this MOOC to everyone who wants to get into programming. -Even after learning to code, I didn't want to do it as a full-time job because of some naive idealism of the young age: "if I start doing this for $$ I won't like it". I mostly treated it as a fun hobby and a complementary skill that helped me automate quite a lot of my work. +Even after learning to code, I didn't want to do it as a full-time job because of some naive idealism of my young age: "if I start doing this for $$ I won't like it". I mostly treated it as a fun hobby and a complementary skill that helped me automate quite a lot of my work. -What I am trying to ramble about here is... none of this is straight-forward. You'll hold beliefs that feel comical in retrospect. What matters most is deep introspection on how things are going and course-correcting wherever required. +What I am trying to ramble about here is... none of this is straightforward. You'll hold beliefs that feel comical in retrospect. What matters most is deep introspection on how things are going and course-correcting wherever required. ## Independent Autodidact Phase -End of college is when I truly gave up on education system in India. I couldn't find any good pockets in this hellhole that actually cared about learning. Even if there were such places, they'd most likely be heavily gated and have fierce competition to get in. I could get the same education on YouTube, so why go through all these hoops? My financial situation wasn't exactly great and offered with mediocre options for undergrad degree, I decided to just start working without any degree. I knew this was going to be a blocker in my career progression and eventually I might have to get an undergrad degree. +The end of college is when I truly gave up on the education system in India. I couldn't find any good pockets in this hellhole that actually cared about learning. Even if there were such places, they'd most likely be heavily gated and have fierce competition to get in. I could get the same education on YouTube, so why go through all these hoops? My financial situation wasn't exactly great, and with mediocre options for an undergrad degree, I decided to just start working without any degree. I knew this was going to be a blocker in my career progression, and eventually, I might have to get an undergrad degree. -I got hired fresher mechanical engineer in Godrej Precision Engineering. This must've been pure luck or just taking the odd path helping me out, because I had very little competition for the job. All the bright kids my age went on to do their undergrad degrees. I got "opportunity" to start working 3 years before them, which isn't all bad if you believed those degrees were waste of time to begin with. +I got hired as a junior mechanical engineer at Godrej Precision Engineering. This must've been pure luck or just taking the odd path helping me, because I had very little competition for the job. All the bright kids my age went on to do their undergrad degrees. I got "opportunity" to start working 3 years before them, which isn't all bad if you believe those degrees were a waste of time to begin with. -I started earning just enough to pay for my family and save something for future. We went from barely surviving on single mother's earnings to being able to afford an occasional meal outside. This is probably the first time in my life when I experienced true mental peace, and this is why I recommend everyone to first become financially stable and independent before venturing into the wild. +I started earning just enough to pay for my family and save something for the future. We went from barely surviving on a single mother's earnings to being able to afford an occasional meal outside. This is probably the first time in my life when I experienced true mental peace, and this is why I recommend that everyone should first become financially stable and independent before venturing into the wild. -Godrej Precision Engineering worked at cutting edge of mechanical manufacturing industry in India, so this job challenged me quite a bit for first 1-2 years. I learned something new every day. Eventually, I hit a plateau and saw no opportunities for horizontal movement or upward movement. I started slacking off on my autodidact ambitions and grew comfortable with "just good enough". +Godrej Precision Engineering worked at the cutting edge of the mechanical manufacturing industry in India, so this job challenged me quite a bit for the first 1-2 years. I learned something new every day. Eventually, I hit a plateau and saw no opportunities for horizontal movement or upward movement. I started slacking off on my autodidact ambitions and grew comfortable with "just good enough". -I also found the pocket of small group of decent people at this job. Over my 4.5 year stint at this company, I can recall only a handful of truly stressful days. The culture was great, but personal and financial growth were non-existent. The only growth I could see required me to stay here for 10-20 years and get some undergrad degree. I could only suppress my ambitions for so long. +I also found the pocket of a small group of decent people at this job. Over my 4.5-year stint at this company, I can recall only a handful of truly stressful days. The culture was great, but personal and financial growth were non-existent. The only growth I could see required me to stay here for 10-20 years and get an undergrad degree. I could only suppress my ambitions for so long. ## Hitting the first major plateau -While my finances afforded me some peace after first job, they weren't *that* great. I still struggled quite a bit with social anxiety and other problems in personal life. Three hours of my day was spent just in commuting to work, that left me with little time for anything else. It was inevitable that the bar for what I expect in life went higher again. +While my finances afforded me some peace after my first job, they weren't *that* great. I still struggled quite a bit with social anxiety and other problems in my personal life. Three hours of my day were spent just commuting to work, which left me with little time for anything else. It was inevitable that the bar for what I expect in life went higher again. -I was still learning programming on my own, I took many MOOCs and learned all sorts of random skills. These classes helped me automate like 80% of my manual job. That freed up time was invested back into more learning. Faced with this continuous dissatisfaction about long-term career prospects and how that hinders other parts of my life, I decided to bite the bullet and get an undergrad degree. +I was still learning programming on my own, and I took many MOOCs and learned all sorts of random skills. These classes helped me automate like 80% of my manual job. That freed-up time was invested back into more learning. Faced with this continuous dissatisfaction about long-term career prospects and how that hinders other parts of my life, I decided to bite the bullet and get an undergrad degree. -I couldn't find any decent *recognized* remote degree program in India. I tried a couple of random undergrad degrees (Math, philosophy) but didn't find enough motivation go through with them. Turns out, I wasn't quite the autodidact that can acquiring all the knowledge from just books alone. +I couldn't find any decent *recognized* remote degree program in India. I tried a couple of random undergrad degrees (Math, philosophy) but didn't find enough motivation to go through with them. Turns out, I wasn't quite the autodidact who can acquire all the knowledge from just books alone. -Luckily, this is around the same time when Coursera partnered with University of London to offer BSc in CS online. This was ~3.5 year program that would easily fill the hole in my resume. I loved EdX and Coursera because of their wide range of high-quality MOOCs, so I instantly jumped on this program and joined the very first cohort of guinea pigs. +Luckily, this is around the same time when Coursera partnered with the University of London to offer a BSc in CS online. This was a ~3.5-year program that would easily fill the hole in my resume. I loved EdX and Coursera because of their wide range of high-quality MOOCs, so I instantly jumped on this program and joined the very first cohort of guinea pigs. -This undergrad was way worse than some of the MOOCs I've taken, perhaps my standards were too high or perhaps it objectively just sucked ass. Anyway, it was the right fit for me because... +This undergrad was way worse than some of the MOOCs I've taken, perhaps my standards were too high, or perhaps it objectively just sucked ass. Anyway, it was the right fit for me because... -1. It had amazing international community of learners. I taught and learned from others so many things. Love you `#firstcohort`. -2. It required very little planned time commitment. Each semester had just two major deliverable - midterm and endterm. I could easily balance this with my work. -3. It accepted people based on performance in first semester and had no artificial requirements for admission. +1. It had an amazing international community of learners. I learned a lot from this community. Love you, `#firstcohort`. +2. It required very little planned time commitment. Each semester had just two major deliverables - the midterm and endterm. I could easily balance this with my work. +3. It accepted people based on performance in the first semester and had no artificial requirements for admission. ## Getting a break -When I enrolled myself in that undergrad program, I spent ~1.5 years seriously learning CS fundamentals and other "job ready" skills. Once I felt comfortable, I started applying for jobs. I landed couple of interviews but both didn't go anywhere. +When I enrolled in that undergrad program, I spent ~1.5 years seriously learning CS fundamentals and other "job ready" skills. Once I felt comfortable, I started applying for jobs. I landed a couple of interviews, but neither went anywhere. -I had stumbled upon Frappe Framework few years ago when I was trying to build and internal tool at work. I couldn't quite get it to work, but that was mostly because of my incompetence. I stumbled upon their career page and kinda admired the company so I applied for a job there. +I had stumbled upon Frappe Framework a few years ago when I was trying to build an internal tool at work. I couldn't quite get it to work, but that was mostly because of my incompetence. I stumbled upon their career page and kinda admired the company, so I applied for a job there. -Frappe does 100% open source software. When I joined, ERPNext was the flagship product and sole focus of the organization. My background in mechanical engineering provided me ERP user's point of view. That coupled with programming knowledge was enough to make me a good fit for engineering role in ERPNext team. Odd path again helped me out here. I took a risk and joined Frappe at almost same salary that I was making in my comfortable job. +Frappe is a 100% open-source software company. When I joined, ERPNext was the flagship product and sole focus of the organization. My background in mechanical engineering provided me with an ERP user's point of view. That, coupled with programming knowledge, was enough to make me a good fit for engineering role in the ERPNext team. Odd path again helped me out here. I took a risk and joined Frappe at almost the same salary that I was making in my comfortable job. ## Apprentice again -Frappe's culture was wildly wildly different from Godrej's. Godrej was ~120 year old corporate behemoth, Frappe was ~12 year old company but still pretty much operated like a startup. Frappe is a democratic workplace, there are no fixed working hours, or even fixed working days 🤷. You are only measured on outcome and there was no artificial inhibition against personal growth. People freely moved around inside company to find the right fit and grow themselves. This cultural success can be attributed in large parts to early employees and mostly the founder - Rushabh. That said, my journey inside Frappe wasn't exactly smooth. +Frappe's culture was **wildly** different from Godrej's. Godrej was a ~120 year old corporate behemoth, Frappe was a ~12 year old company, but still pretty much operated like a startup. Frappe is a democratic workplace; there are no fixed working hours or even fixed working days 🤷. You are only measured on outcome, and there is no artificial inhibition against personal growth. People freely moved around inside the company to find the right fit and grow themselves. This cultural success can be attributed in large part to early employees, and mostly the founder, Rushabh. That said, my journey inside Frappe wasn't exactly smooth. -Firstly, they forgot to assign me a mentor at Frappe 😀. I reached out to few people and saught opinion of people who I admired. In early days, mostly that person was Gavin. Marica and Rohit also played a huge role in my success during the early days. New hires getting thrown to the deep end was pretty normal, though it was acknowledged and efforts were made to smoothen onboarding. +Firstly, they forgot to assign me a mentor at Frappe 😀. I reached out to a few people and sought the opinion of people whom I admired. In the early days, mostly that person was Gavin. Marica and Rohit also played a huge role in my success during the early days. New hires getting thrown to the deep end was pretty normal, though it was acknowledged, and efforts were made to make the onboarding process smoother. -I joined ERPNext's Stock/Manufacturing team. This decision was purely to play on my strengths and previous experience in manufacturing industry. I however, never limited myself to my own project. 20%-40% time was frequently spent on contributing to other projects, mainly Frappe Framework. I saw the company as microcosm of open source community where good ideas and contributions were accepted regardless of where they came from. +I joined ERPNext's Stock/Manufacturing team. This decision was purely to play on my strengths and previous experience in the manufacturing industry. I, however, never limited myself to my own project. 20%-40% of % time was frequently spent on contributing to other projects, mainly Frappe Framework. I saw the company as a microcosm of the open source community where good ideas and contributions were accepted regardless of where they came from. -I tried to work aggressively on stability and "maintaining" the ERPNext modules. We were successful in bringing much needed stability in team and the codebase. I couldn't see any major pending work and almost half of my time was now spent on solving "meta-problems" for ERPNext which resided in Frappe Framework. The long-seeded idea that I should work on Frappe Framework and not ERPNext started making sense now, so I switched to Framework team. +I tried to work aggressively on stability and "maintaining" the ERPNext modules. We were successful in bringing much-needed stability to the team and the codebase. I couldn't see any major pending work, and almost half of my time was now spent on solving "meta-problems" for ERPNext, which resided in Frappe Framework. The long-"seeded" idea that I should work on Frappe Framework and not ERPNext started making sense now, so I switched to the Framework team. ## Feeling "peaked", getting into management for the wrong reasons -Few months into Framework team, I started losing coworkers whom I loved to work with. One by one everyone I admired had left the team to do something bigger/better. I led the team for a while but I also started to feel like I've "peaked" in my engineering career, especially inside Frappe. +A few months into the Framework team, I started losing coworkers whom I loved to work with. One by one, everyone I admired had left the team to do something bigger/better, most still at Frappe. I led the team for a while, but I also started to feel like I'd "peaked" in my engineering career, especially inside Frappe. -That feeling of hitting a plateau and seeded ideas about taking up leadership made me consider leadership role as a serious option. This might be a no-brainer, but leadership at Frappe is wildly different than perception you might have about leadership in other organizations. There's very little structure, authority or hierarchy to manage. +That feeling of hitting a plateau and seeded ideas about taking up leadership made me consider a leadership role as a serious option. Leadership at Frappe is wildly different from the perception you might have about leadership in other organizations. There's very little structure, authority, or hierarchy to manage. -I have no shame in admitting that my first stint in "management" was mostly a failure. Sure, I shipped enough to justify my salary, but it could've been so much more and the impact of my role could've been much wider. +I have no shame in admitting that my first stint in "management" was mostly a failure. Sure, I shipped enough to justify my salary, but it could've been so much more, and the impact of my role could've been much wider. In hindsight, I failed because: - I did not treat leadership/management as a skill to be learned and honed continuously. I am not a "natural leader". Something I need to fix before attempting it again. - I regressed back to execution too frequently. -- I picked projects that had little to do with long term engineering success of the company. ($$$ growth instead of growth of engineering output) +- I picked projects that had little to do with the long-term engineering success of the company. ($$$ growth instead of growth of engineering output) - I never accepted that whatever I know about "management" just doesn't work at a company where you have no authority to make others execute your ideas. - Not finding my own replacement, or rather struggling with accepting that regression. -## Another plateau, sabbatical and on to next "peak" +## Another plateau, sabbatical, and on to the next "peak" -After end of first year, I realized I am not really cut out for this role and I don't like doing it either. So I went back to working on Framework as IC. I've just hit another plateau with Framework. None of the work seemed challenging enough. Whatever was challenging was also like whack-a-mole i.e. never ending work. Perhaps it was just burnout setting in or perhaps it was continuous struggle with health. +After the end of the first year in "management", I realized I am not really cut out for this role and I don't like doing it either. So I went back to working on Framework as IC. I've just hit another plateau with Framework. None of the work seemed challenging enough. Whatever was challenging was also like whack-a-mole i.e. never-ending work. Perhaps it was just burnout setting in, or perhaps it was a continuous struggle with health. -I saw two star devs at Frappe burn out, go for a sabbatical, come back and ship amazing engineering artefacts. The idea seemed enticing and almost overnight I decided I want to take a 6 month long sabbatical. This is one of the policy that every good company out there should adopt. If you want people to survive at your organization beyond the average of 2-3 years, then you need to plan long-term burnout management and provide policies that encourage taking long breaks. +I saw two star devs at Frappe burn out, go for a sabbatical, come back, and ship amazing engineering artefacts. The idea seemed enticing, and almost overnight, I decided I wanted to take a 6 month long sabbatical. This is one of the policies that every good company out there should adopt. If you want people to survive at your organization beyond the average of 2-3 years, then you need to plan long-term burnout management and have policies that encourage taking long breaks. -I had very little planning except my backup plan: I enrolled myself in OMSCS (Online Master of Science in CS). I again found myself in environment where I was learning so much and so deeply. It almost felt like taking CS50x all over again but with much higher depth and renewed interest in honing technical skills. I learned a lot about computer architecture, operating systems and performance engineering. These 4 months of first semester of OMSCS was the most dense learning experience in my entire life. +I had very little planning except my backup plan: I enrolled myself in OMSCS (Online Master of Science in CS). I again found myself in an environment where I was learning so much and so deeply. It almost felt like taking CS50x all over again, but with much higher depth and renewed interest in honing technical skills. I learned a lot about computer architecture, operating systems, and performance engineering. These 4 months of the first semester of OMSCS were the most dense learning experience in my entire life. -When I joined back, I didn't regress back to same work and instead decided to focus on one ambitious goal: make our software 2x faster in <1 year and I finished that in 3-4 months. I shipped changes like never before and the output was also very clearly measurable. Who knew that structure and focus helps? I am once again at the same crossroads, thinking about what's next before I spend too much time on plateau. +When I joined back, I didn't regress to the same work and instead decided to focus on one ambitious goal: [make our software 2x faster](https://frappe.io/blog/engineering/beating-redis-with-a-dictionary-and-redis) in <1 year, and I finished that in 3-4 months. I shipped changes like never before, and the output was also very clearly measurable. Who knew that structure and focus help? I am once again at the same crossroads, thinking about what's next before I spend too much time on a plateau. -## On to next 10 years +## On to the next 10 years -I couldn't have sped up our software by 2x with knowledge of reverse engineering APK files or even CS50, I had to hit multiple plateau, spiral around so many random things and progress to my current level. I can't imagine a straight linear path to where I am from where I was. So, I am making peace with this random messy process. +I couldn't have sped up Frappe software by 2x with knowledge of reverse engineering APK files or even CS50; I had to hit multiple plateaus, spiral around so many random things, and progress to my current level. I can't imagine a straight linear path from where I am to where I was. So, I am making peace with this random, messy process. -First 10 years were clearly spent chasing competence and excellence. I didn't want to be an average engineer on track to become an average manager in 10 years. I wanted to grow and I wanted to grow fast as fuck with constraints that I had to just accept. +The first 10 years were clearly spent chasing competence and excellence. I didn't want to be an average engineer on track to become an average manager in 10 years. I wanted to grow, and I wanted to grow fast as fuck with constraints that I had to just accept. -I have no idea what future holds for me. Maybe there will be a time to go for that PhD in CS. Maybe it's time to focus on impact. Maybe it's time to spiral back into management again to help people around me make life-changing amounts of money. +I have no idea what the future holds for me. Maybe there will be a time to go for that PhD in CS. Maybe it's time to focus on impact. Maybe it's time to spiral back into management again to help people around me make *life-changing* amounts of money.