| As I manager I hear this sort of thing regularly, 1. Imposter syndrome, a large portion of developers have it and this could be you. Chances are if you have a job and continue to ship code to prod you are at least partially suffering from imposter syndrome. 2. Overwhelmed by the wide variety of skills, being a software engineer in a professional environment requires way more than coding skills. You need to be adequate with GIT, Programming Languages, Unit Testing, Various Frameworks, CI, Deployments, Team Dynamics, and more. If you are only able to write code every day will feel like a big struggle to get anything done. Identifying which area is giving you the most trouble and doing focused learning will help you. 3. Lack of methodology in learning, a lot of people rely on their feelings to help decide what to do next. For some people that means learning a bit of this and a bit of that but never learning enough to be productive. Having a plan for what you need to learn and the order you want to learn it in can be tremendously helpful for growing your career. 4. Lack of methodology in coding, most coding jobs have similar steps when solving day to day problems. Making your self a checklist of steps can be very helpful for taking the stress and guesswork out of your day. For instance, step 1 pick up a ticket and understand the requirements. Step 2 pull from the git repo and run all tests. Step 3 Right down a development plan. Step 4 write code. step 5 write unit tests. step 6 submit a pull request. These steps will probably look different for each project and developer but help to ease the tension of figuring out what's next. I'm sure there are more things specific to your situation but don't give up and keep working towards your goals. |