<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Chaitanya Pranav Sai Kodamasimham</title>
    <description>The latest articles on DEV Community by Chaitanya Pranav Sai Kodamasimham (@chaitanya_pranavsaikoda).</description>
    <link>https://dev.to/chaitanya_pranavsaikoda</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4000348%2Fbbc2ae8b-fcdb-4141-a369-5debc62a5688.png</url>
      <title>DEV Community: Chaitanya Pranav Sai Kodamasimham</title>
      <link>https://dev.to/chaitanya_pranavsaikoda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chaitanya_pranavsaikoda"/>
    <language>en</language>
    <item>
      <title>From “Can I Do This?” to Becoming Part of the Team: Lessons From My Apprenticeship at ISRO</title>
      <dc:creator>Chaitanya Pranav Sai Kodamasimham</dc:creator>
      <pubDate>Sat, 29 Aug 2026 07:49:58 +0000</pubDate>
      <link>https://dev.to/chaitanya_pranavsaikoda/from-can-i-do-this-to-becoming-part-of-the-team-lessons-from-my-apprenticeship-at-isro-6lh</link>
      <guid>https://dev.to/chaitanya_pranavsaikoda/from-can-i-do-this-to-becoming-part-of-the-team-lessons-from-my-apprenticeship-at-isro-6lh</guid>
      <description>&lt;p&gt;My first real experience working in a professional engineering environment began during my apprenticeship at &lt;strong&gt;ISRO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On my first day, I was introduced to the project.&lt;/p&gt;

&lt;p&gt;They explained what the project was, its purpose, its scale, what my role would be, and the prerequisites I needed to understand before getting started.&lt;/p&gt;

&lt;p&gt;At that point, everything sounded exciting.&lt;/p&gt;

&lt;p&gt;I was about to work in a real engineering environment and contribute to an actual project.&lt;/p&gt;

&lt;p&gt;Then, after a day, I received my first task.&lt;/p&gt;

&lt;p&gt;And that was the first time I opened the project's codebase.&lt;/p&gt;

&lt;p&gt;Honestly?&lt;/p&gt;

&lt;p&gt;I didn't understand anything.&lt;/p&gt;

&lt;p&gt;Well, that's not entirely true.&lt;/p&gt;

&lt;p&gt;I could understand what was written. I knew the programming concepts. I could recognize classes, methods, variables, and the object-oriented structure.&lt;/p&gt;

&lt;p&gt;But I didn't understand what the code was actually &lt;em&gt;doing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I could read a file.&lt;/p&gt;

&lt;p&gt;But I couldn't yet see the system.&lt;/p&gt;

&lt;p&gt;That was probably one of the first major differences I experienced between learning programming and working in a real engineering environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  When You Know the Code but Don't Understand the System
&lt;/h2&gt;

&lt;p&gt;In college projects, I usually knew the entire application.&lt;/p&gt;

&lt;p&gt;I had either built it myself or worked with a small team. If I wanted to understand something, I could open a few files and eventually figure out what was happening.&lt;/p&gt;

&lt;p&gt;This was different.&lt;/p&gt;

&lt;p&gt;I was looking at an existing production codebase.&lt;/p&gt;

&lt;p&gt;Code written for a specific purpose.&lt;/p&gt;

&lt;p&gt;Components interacting with other components.&lt;/p&gt;

&lt;p&gt;Decisions that had been made before I arrived.&lt;/p&gt;

&lt;p&gt;I remember looking at the code and thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can I actually do this? And what happens if I mess something up?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The next day, I went to my mentor with a list of doubts.&lt;/p&gt;

&lt;p&gt;Instead of simply answering them one by one, he did something much more valuable.&lt;/p&gt;

&lt;p&gt;He took me through the parts of the production code relevant to my work and explained the reasoning behind the way things had been implemented.&lt;/p&gt;

&lt;p&gt;While I was there, he also integrated a new feature into the system and explained his thought process as he worked.&lt;/p&gt;

&lt;p&gt;That experience changed how I approached the codebase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watching an Engineer Think
&lt;/h2&gt;

&lt;p&gt;For the next three days, I spent time working alongside my mentor.&lt;/p&gt;

&lt;p&gt;On the first day, I honestly couldn't keep up.&lt;/p&gt;

&lt;p&gt;He would encounter an issue, inspect something, trace it through the code, check another part of the system, and suddenly have an idea about where the problem might be.&lt;/p&gt;

&lt;p&gt;Meanwhile, I was still trying to understand what had just happened.&lt;/p&gt;

&lt;p&gt;At first, I thought the difference was simply experience or speed.&lt;/p&gt;

&lt;p&gt;But after watching him for a while, I started noticing something else.&lt;/p&gt;

&lt;p&gt;It wasn't just that he was debugging faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He was thinking differently.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He wasn't looking at code as individual files or isolated functions.&lt;/p&gt;

&lt;p&gt;He was thinking about the system.&lt;/p&gt;

&lt;p&gt;Questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What could be causing this issue?&lt;/li&gt;
&lt;li&gt;Where does this data come from?&lt;/li&gt;
&lt;li&gt;What calls this component?&lt;/li&gt;
&lt;li&gt;What changes if we modify this?&lt;/li&gt;
&lt;li&gt;Could the issue be coming from somewhere else?&lt;/li&gt;
&lt;li&gt;What assumptions are we making?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Slowly, I started paying less attention to &lt;em&gt;what he was clicking&lt;/em&gt; and more attention to &lt;em&gt;how he was thinking&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That changed something for me.&lt;/p&gt;

&lt;p&gt;I started realizing that working with a real system wasn't about memorizing the entire codebase.&lt;/p&gt;

&lt;p&gt;It was about learning how to navigate it.&lt;/p&gt;

&lt;p&gt;How to trace a problem.&lt;/p&gt;

&lt;p&gt;How to follow the flow of data.&lt;/p&gt;

&lt;p&gt;How to understand the responsibility of different components.&lt;/p&gt;

&lt;p&gt;And most importantly, how to ask the right questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Going Back to My First Task
&lt;/h2&gt;

&lt;p&gt;After those three days, I went back to my first task.&lt;/p&gt;

&lt;p&gt;The codebase hadn't suddenly become easy to understand.&lt;/p&gt;

&lt;p&gt;But I had a starting point.&lt;/p&gt;

&lt;p&gt;I knew how to approach it.&lt;/p&gt;

&lt;p&gt;Instead of staring at individual files and trying to understand everything at once, I started tracing the flow.&lt;/p&gt;

&lt;p&gt;I asked myself what each component was responsible for.&lt;/p&gt;

&lt;p&gt;I followed how data moved through the system.&lt;/p&gt;

&lt;p&gt;And whenever I got stuck, I tried to understand the problem before immediately asking someone for the answer.&lt;/p&gt;

&lt;p&gt;I completed my first task in about a week.&lt;/p&gt;

&lt;p&gt;At the time, it felt like a small win.&lt;/p&gt;

&lt;p&gt;Looking back, I think it was the beginning of a much bigger transition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three Months Later
&lt;/h2&gt;

&lt;p&gt;Fast forward three months.&lt;/p&gt;

&lt;p&gt;I was completing my tasks without needing constant support.&lt;/p&gt;

&lt;p&gt;That doesn't mean I suddenly knew everything.&lt;/p&gt;

&lt;p&gt;I still discussed my work with my mentor. I still asked questions. I still needed validation for my decisions.&lt;/p&gt;

&lt;p&gt;But something had changed.&lt;/p&gt;

&lt;p&gt;I was no longer starting every task with the question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can I actually do this?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead, I had started asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How do I approach this?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That difference might sound small, but for me, it represented a major change.&lt;/p&gt;

&lt;p&gt;I had started understanding how to approach unfamiliar problems.&lt;/p&gt;

&lt;p&gt;I became part of team discussions and meetings.&lt;/p&gt;

&lt;p&gt;Instead of simply listening to technical and architectural decisions being made, I could understand the discussions and occasionally contribute my own suggestions.&lt;/p&gt;

&lt;p&gt;A few months earlier, I was worried about accidentally breaking the project.&lt;/p&gt;

&lt;p&gt;Now, I was trusted to work on parts of it independently.&lt;/p&gt;

&lt;p&gt;The change didn't happen because I suddenly became an expert programmer.&lt;/p&gt;

&lt;p&gt;It happened because my way of thinking changed.&lt;/p&gt;

&lt;h2&gt;
  
  
  "It Works" Is Not the End of the Story
&lt;/h2&gt;

&lt;p&gt;Before working in a professional environment, a large part of my programming mindset was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Write the code. Make it work. Complete the task.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But real-world engineering made me look beyond that.&lt;/p&gt;

&lt;p&gt;I started thinking about why code was structured in a particular way.&lt;/p&gt;

&lt;p&gt;I started trying to understand the system before changing it.&lt;/p&gt;

&lt;p&gt;I started considering what could break.&lt;/p&gt;

&lt;p&gt;I started thinking about how one change could affect another part of the system.&lt;/p&gt;

&lt;p&gt;I started learning that engineering isn't just about solving the problem in front of you.&lt;/p&gt;

&lt;p&gt;It's also about understanding the consequences of the solution.&lt;/p&gt;

&lt;p&gt;Good engineering isn't always about writing the most clever code.&lt;/p&gt;

&lt;p&gt;Sometimes, it is about writing code that someone else can understand.&lt;/p&gt;

&lt;p&gt;Sometimes, it is about making the smallest safe change instead of rewriting everything.&lt;/p&gt;

&lt;p&gt;Sometimes, it is about spending more time understanding the problem before touching the code.&lt;/p&gt;

&lt;p&gt;And sometimes, the most important skill isn't knowing the answer.&lt;/p&gt;

&lt;p&gt;It's knowing how to find it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Becoming Part of the Team
&lt;/h2&gt;

&lt;p&gt;By the end of those three months, I had gone from being afraid of touching an unfamiliar production codebase to becoming someone who could work independently and contribute to the team.&lt;/p&gt;

&lt;p&gt;I had started with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can I do this? What happens if I mess up?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And slowly, that changed.&lt;/p&gt;

&lt;p&gt;I wasn't just completing tasks anymore.&lt;/p&gt;

&lt;p&gt;I was understanding why things were built the way they were.&lt;/p&gt;

&lt;p&gt;I was participating in discussions.&lt;/p&gt;

&lt;p&gt;I was beginning to understand architectural decisions.&lt;/p&gt;

&lt;p&gt;I was becoming more comfortable navigating unfamiliar parts of the system.&lt;/p&gt;

&lt;p&gt;Most importantly, I was becoming someone the team could rely on.&lt;/p&gt;

&lt;p&gt;That was one of the most meaningful parts of the experience for me.&lt;/p&gt;

&lt;p&gt;Not because I had become an expert.&lt;/p&gt;

&lt;p&gt;But because I had seen how much a person's approach can change in just a few months when they are willing to learn, ask questions, observe experienced engineers, and slowly take responsibility for their own work.&lt;/p&gt;

&lt;h2&gt;
  
  
  You Don't Need to Understand Everything on Day One
&lt;/h2&gt;

&lt;p&gt;One of the biggest lessons I took from this experience is something I still remind myself whenever I enter a new project or codebase.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You don't need to understand everything on day one.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When you first open a large or unfamiliar codebase, it can feel overwhelming.&lt;/p&gt;

&lt;p&gt;You see files you didn't create.&lt;/p&gt;

&lt;p&gt;Patterns you don't fully understand.&lt;/p&gt;

&lt;p&gt;Decisions made before you joined.&lt;/p&gt;

&lt;p&gt;Dependencies between components you haven't even discovered yet.&lt;/p&gt;

&lt;p&gt;And it's easy to think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Maybe I'm not ready for this.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But not understanding everything immediately doesn't mean you aren't capable of working with it.&lt;/p&gt;

&lt;p&gt;Your job isn't to understand the entire system on the first day.&lt;/p&gt;

&lt;p&gt;Your job is to learn how to find your way through it.&lt;/p&gt;

&lt;p&gt;Ask questions.&lt;/p&gt;

&lt;p&gt;Trace the flow.&lt;/p&gt;

&lt;p&gt;Understand the problem.&lt;/p&gt;

&lt;p&gt;Observe how experienced engineers approach it.&lt;/p&gt;

&lt;p&gt;And slowly build your own way of thinking.&lt;/p&gt;

&lt;p&gt;That was the beginning of a major transition for me.&lt;/p&gt;

&lt;p&gt;From writing code because it works...&lt;/p&gt;

&lt;p&gt;To trying to understand &lt;strong&gt;why it works, how it fits into a larger system, what could break, and how I should approach changing it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'm still learning.&lt;/p&gt;

&lt;p&gt;But my apprenticeship at &lt;strong&gt;ISRO&lt;/strong&gt; was one of the first experiences that made me feel myself beginning to think less like someone completing a programming task and more like an engineer learning how to work with real systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  But That Was Only the First Part
&lt;/h2&gt;

&lt;p&gt;By the time I reached this point, I had learned something important:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to work inside an existing system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had learned how to approach an unfamiliar codebase, understand how experienced engineers think, and slowly become more independent within a team.&lt;/p&gt;

&lt;p&gt;But then I wanted to move toward something I was increasingly interested in:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artificial Intelligence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That decision would take me into the next phase of my apprenticeship at ISRO.&lt;/p&gt;

&lt;p&gt;This time, the challenge would be different.&lt;/p&gt;

&lt;p&gt;I wouldn't simply be joining an established workflow and learning how to find my place within it.&lt;/p&gt;

&lt;p&gt;I would have much more ownership.&lt;/p&gt;

&lt;p&gt;I would be working on an AI-focused project largely on my own, with guidance from a mentor.&lt;/p&gt;

&lt;p&gt;And that experience taught me another important lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Watching experienced engineers think can teach you a lot. But eventually, you have to learn how to make decisions and solve problems yourself.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a story for Part 2.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article focuses on my personal learning experience and engineering growth during my apprenticeship. It does not discuss or disclose confidential projects, systems, code, or operational information.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>programming</category>
      <category>careerdevelopment</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
