This is my first software engineering job out of college. And I really have a hard time ramping up. very struggling. I’m just so overwhelmed by all the information needed to learn. The code is a sequence of unknown rabbit holes. The way how all the pieces works together is mysterious and sophisticated. I tried to get help, but many times I dont even know where to start. Other times I just feel like I’m asking stupid questions or people’s answers is having even more unknowns. I work very very hard to get into Dropbox. I’m good at leetcoding and making school projects. but I dont even know if I deserve to be a software engineer. Everyone else just seems like genius. Dear smart and experienced Blinders - Is there any advises on ramping up at your first software engineer job ?
This is classic imposter syndrome, you're fine. I'd have to guess this is your first year in the real world, and it seems like you're doing things right. Code isn't as straight forward as it was in college. All of the world's infrastructure runs on software full of rabbit holes and unexplainable logic. Just keep asking questions, and really try to learn from the answers. Understand the complexities of the system you're working on, and eventually everything becomes simple
You are a living example of disconnect between leetcoding and software development in real world. I know it doesn’t help but that seems to be the reality. Try to get a bigger picture and how the code fits into that
I second that personally I don’t do any tutorials etc for ramping up. Try to read as much code as possible. It’ll give you bigger picture of the system.
Get a 1:1 with your manager and explain your issues. Also have you completed all required and optional onboarding?
Put in some extra time in the beginning and you’ll be just fine. Not groping around though, get guidance from teammates often.
Dont worry, you will do great. One of the things my manager told me on my very first day was that you need atleast 2 months to know the code base, system and where does all these fit in. So as a new grad, i think one needs that much amount of time. The more questions you ask, the better. Dont worry of asking silly questions.
Shit, my manager told me nothing. As my codebase was shitty. Took me 2 months to understand what the hell is even happening and then refactoring to improve code quality begins. Or rather started v2 from scratch
*very struggling*... *very struggling*... *very struggling*... *very struggling*... *very struggling*... *very struggling*... *very struggling*...
I think you should spend more than your 8 hours per day in the beginning especially because you will get stuck a lot of times. You need to spend time reading code maybe even documenting important points. If there are design docs about the general application flow read them thoroughly or otherwise create your own doc for yourself which you can reference. Over time it really helps masterthe codebase this way. Also look at source control history to understand how the code evolved. These are things that helped me. I was in a similar situation sometime back. Just like you find one way or another to solve a leetcode problem, move forward with this mindset. The path doesnt matter just ramp up in whatever way of learning works best for you. Some people find it useful to debug through parts of the system to understand it better. Once you do these things even if you are stuck, the questions you will ask will be much better. So everybody will welcome those questions.
Code in real world is nothing like the leets, as very much expected. Just accept the reality (ambiguity, imperfect/bad code/documentation), it is a craft that all of us devs learn as we do the job. Plus, you are in a company with good engineering culture and people willing to help. Take it easy on yourself and work on it 🙂
U need to do the needful... Bc very strugglin