One framing that might be useful: Part of being a professional software engineer is learning new things constantly, whether it’s new languages, new frameworks, new codebases, etc. But this itself is a skill that can be learned and practiced. In addition to having the attitude of relentless resourcefulness, there are many small tricks that can be picked up: for example, grepping for a bit of text from the UI to quickly find the code that defines it, using Google’s site: operator to make it easier to do targeted documentation searches, using your language’s debugger to solve bugs, having an editor with lots of plugins installed that make you more efficient, etc. This sentence: “I was immediately assigned a list of bugs to fix and without context and understanding of the relevant background knowledge I frantically debug/google/ask for help until somehow I discover the subtle cause of the bug” sounds like a pretty good description of what I found it was like to work as a software engineer at a startup, minus the word “frantic”. I spent a lot of time learning just enough about the code I was working with to solve the problem I needed to, searching on google for just enough documentation to accomplish what I needed to accomplish, etc. Even the best software developers are doing keyword searches on Google and their codebase constantly as part of their development flow; if you find yourself doing this you should not consider it indicative of a problem.
Based on what you describe as your programming background, it sounds like you don’t have much experience with this modality of software development. Probably lots of other recent hires have experience as interns or teaching themselves stuff for independent projects, which helped them learn the skill of just-in-time knowledge acquisition. I might try working at a less demanding company just so you could feel less stressed out and give yourself the opportunity to gradually ramp up to this development style. If you work at a bigger, slower-moving company that nevertheless is using fairly up-to-date technologies and you spend 15 minutes every morning working to improve your tools & efficiency, my guess is you’ll be in a much better place after a year or so.
One framing that might be useful: Part of being a professional software engineer is learning new things constantly, whether it’s new languages, new frameworks, new codebases, etc. But this itself is a skill that can be learned and practiced. In addition to having the attitude of relentless resourcefulness, there are many small tricks that can be picked up: for example, grepping for a bit of text from the UI to quickly find the code that defines it, using Google’s site: operator to make it easier to do targeted documentation searches, using your language’s debugger to solve bugs, having an editor with lots of plugins installed that make you more efficient, etc. This sentence: “I was immediately assigned a list of bugs to fix and without context and understanding of the relevant background knowledge I frantically debug/google/ask for help until somehow I discover the subtle cause of the bug” sounds like a pretty good description of what I found it was like to work as a software engineer at a startup, minus the word “frantic”. I spent a lot of time learning just enough about the code I was working with to solve the problem I needed to, searching on google for just enough documentation to accomplish what I needed to accomplish, etc. Even the best software developers are doing keyword searches on Google and their codebase constantly as part of their development flow; if you find yourself doing this you should not consider it indicative of a problem.
Based on what you describe as your programming background, it sounds like you don’t have much experience with this modality of software development. Probably lots of other recent hires have experience as interns or teaching themselves stuff for independent projects, which helped them learn the skill of just-in-time knowledge acquisition. I might try working at a less demanding company just so you could feel less stressed out and give yourself the opportunity to gradually ramp up to this development style. If you work at a bigger, slower-moving company that nevertheless is using fairly up-to-date technologies and you spend 15 minutes every morning working to improve your tools & efficiency, my guess is you’ll be in a much better place after a year or so.