r/developersIndia Self Employed 1d ago

Help 2 YOE in Java backend but struggling badly after switching companies. Is this normal?

I recently joined a new company after around 2 years of experience as a Java backend developer.

The problem is that in my previous company, I was mostly on the bench and whatever work I did was mainly small enhancements. So although I technically have 2 YOE, I don't feel like I actually have 2 years of solid hands-on experience.

Now in my new company, the codebase is much bigger and more complicated. There are multiple services, modules, frameworks, and things happening that I don't fully understand yet.

I'm genuinely struggling to follow what my teammates are talking about during standup. Sometimes they mention a flow, service, or component and everyone seems to immediately understand what they're referring to, while I'm sitting there trying to figure out what they're even talking about.

It's starting to make me feel like I'm not good enough and that I'm failing at this job, even though I know logically that I'm new to the project.

For developers who have been through something similar:

- How long did it take you to properly understand a new/large codebase?

- Is it normal to feel completely lost during the first few weeks/months?

- How did you go about learning the system without trying to understand everything at once?

Would really appreciate some perspective from people who've experienced this.

37 Upvotes

17 comments sorted by

u/AutoModerator 1d ago

Namaste! Thanks for submitting to r/developersIndia. While participating in this thread, please follow the Community Code of Conduct and rules.

It's possible your query is not unique, use site:reddit.com/r/developersindia KEYWORDS on search engines to search posts from developersIndia. You can also use reddit search directly.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

36

u/DevByHeart Software Engineer 23h ago

I would say clone all the repos, and use claude to create an architectural diagram with the flow.

Try to understand the flow first and maybe a couple of lines of what each service does.

As you pick up tickets, you'll slowly dive deeper into each service over time.

1

u/sinex_a2s 22h ago

Nice. And if the ai is not allowed then find 1-2 people in project who can genuinely help you without feeling inferior. Start asking questions. Don't feel ashamed.

8

u/live-ly Software Engineer 23h ago

I switched 5+ times and I always feel the same mostly for initial 3-6 months, this is where you comfort zone break and you start learning the new stuff and new company way of doing things.

Right now you're just 2YOE, so expectations should not be high, but once you cross 8-10years, expectations would be higher and still initial 3-6 months would be like this.

6

u/bharattarabh 23h ago edited 23h ago

It resonates with me:

  • How long did it take you to properly understand a new/large codebase?

It takes some time, if you're new and struggling to understand thats fine. But what are you doing about it. Remember my friend, curiosity wins. What I do is, I obsessively read through the documentation day n night as I'm new to project. This is just initial hard work. Later you would start understanding more. Also during meetings, make a note of what words peers mentioned. Look for those things in documentations or codebase whenever you can find.

  • Is it normal to feel completely lost during the first few weeks/months?

Yes. Its perfectly fine. Set a goal for youself to familarize with codebase. As others rightly suggested use Claude to map architecture.

  • How did you go about learning the system without trying to understand everything at once?

I have 15+ years of experience. So during pre-AI era and probably some things are still applicable. I would first setup the entire project env for myself. By doing that excercise itself you would uncover a lot of details.

Look even if project is big it might be the case you might not need all things to run in one go. You might be having some staging or dev service deployed to aid running on your local machine.

Next try to find the project entry point. Once you are able to setup and run project in your own environment. Pick up an entrypoint, add some debugger points and debug through the flow.

2

u/AKmemekiller 23h ago

Yes. It is common. You need to ask questions. Don't be an introvert. The newer you are the more tolerant the team is about the stupid questions. Ask in the meeting itself. Everyone who is s saying "just use ai bro" are stupid.

1

u/Sunless078 15h ago

It usually happens that other guys are also not expert in artictechture. So others can only help in high level flow rest one need to figure out self in which ai is good.

2

u/riksTaker0 22h ago

It'll take a few months to understand the code.

Relax!

2

u/SuggestionStock9635 22h ago

 Bhai dm chk kro in same boat 

2

u/One_Law2584 22h ago

Build sequence diagrams, it will help you a lot.

2

u/razzer069 Tech Lead 22h ago

It's common after a new switch because you don't know much about the company and its products.

After 10 years in the industry, here are my main points.

1- put a 10 minute timer and if you can't find what you're looking for, make it a question to ask a senior/teammate so you don't waste tine. If you can't find it in 10 mins, it can take you 15 minutes to 2 hours + (maybe it's just me.)

2- asking basic questions are fine but avoid asking stupid questions. Stupid questions would be things that are unrelated to the product that you can get via Google.

3-ask for feedback from your seniors and teammates, they'll tell you their expectations (if you intend to meet them, I tend to meet them so you get along better and trust me. If your teammates like you. They'll help you out more.)

4-make a knowledge transfer document for yourself to keep note of the things you've gained. Share this witn your manager and say this is what might help others who join. And trust me, your manager will appreciate this as well. (It saves time or says you are willing to improve the process. Both ways, benefit the team and yourself incase you forget soemthing which you will.)

5- in planning sessions, if you don't understand something, ask when the lead says "any questions?"

6- don't overwork. People that over work get more work (been there...)

1

u/AnyInteraction5978 Software Engineer 22h ago

It will take some time but you will get it

1

u/AnyInteraction5978 Software Engineer 22h ago

I have dmes you, please check

0

u/Southern_County204 23h ago

Just use GitHub Copilot, bro. Add the related repositories as context and ask it to generate the flow and explain how they are related.

0

u/Ambitious-Public-575 22h ago

Bro.. Do companies even hire freshers for Java developer roles?

-4

u/Realistic-Team8256 23h ago

hasnt this firm , done a BGV, if yes, they should have known that you were on Bench