Ask HN: How to improve as a struggling junior software engineer?
&gt;  I made 2 costly mistake back-to-back that is pushing back the release of a production feature by a while month at this point<p>A responsible team would not let juniors have that much impact. They would monitor you closely, review your work and make sure the mistakes you make don&#x27;t afftect the team much. Having said that, a lot of the teams are growing and learning and maybe they end up learning things from their experience with you. Have they done something about preventing such problems from future junior hires? Have you suggested anything on how to prevent it in the future?<p>&gt; When I first joined I struggled to even know how to start things.<p>Why do you think you were supposed to know that? They should have explained or one of the seniors should have work closely together with you and helped you along the way. It seems that the big part of the probelm is the teams lack of experience with juniors. You didn&#x27;t mention how big the team is but if they are too small they may not have the resources to hire juniors and give them the environment to grow. I have written on the topic before: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30464521" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30464521</a><p>&gt; no one else on the team had done anything like before, so at times I couldn&#x27;t even ask the senior devs for help<p>Not true. You should have asked them to help you figure things out anyway. Of course you shouldn&#x27;t get them to do all of your work but what you should do is do your research on a few different ways on how you think you should start based on your understanding of the problem and try to explain your thinking process to a senior in a short session. If they think that is OK, you can go ahead and do some work and explain it again in a couple of days how it went and again explain how you intend to proceed. They should have thought about this before they decided they will hire a junior... but it&#x27;s never too late.<p>&gt; senior engineers also seem to assume I know more than I do<p>Do they assume that or do you let them assume that by pretending that you know everything and don&#x27;t have to ask anything about anything?<p>&gt; an experienced engineer joined the same time I did and is doing great<p>Juniors have to be treated differently. If the team doesn&#x27;t have a different processes for a junior, it&#x27;s their fault. You can make it clear to them by communicating more.<p>&gt; The problem is at this point I have been on the team too long to ask any basic questions<p>You ask what you don&#x27;t understand at any point. If you don&#x27;t, you just keep adding to the problem. Imagine you have been in the team for 3 years and still don&#x27;t know what you need to know because you didn&#x27;t ask now. That would be much worse, don&#x27;t you think?<p>&gt; one of the senior engineers even pointed out they shouldn&#x27;t be helping me with certain processes at this point<p>Avoid that one and ask someone else.<p>&gt; I know imposter syndrome is a thing,<p>I don&#x27;t think it is. I have written about it here: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30924557" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30924557</a><p>&gt; I am actively slowing the team down or causing problem<p>As I have indicated before, a good team would not let juniors have that much control. Of course, hiring a junior comes with extra costs (mostly that of senior developers&#x27; time with them) but it is supposed to pay off by giving the team some useful value... and some of the pay off will come later as you gain experience (and hopefully stay in the company).<p>&gt; I take a really long time when finishing stories unless one of the seniors is giving input.<p>Exactly! They should never give a junior a task unless there is a senior available to assist them. In fact, they should give the senior the full responsibility of the task and give him you as a resource that they can make use of so that they can spend more time on their primary task which may be more important.<p>&gt; Its hard to imagine anyone who is good at engineering delaying a teams release and causing problems<p>Everyone makes mistakes like that. Maybe different kinds or classes of mistakes as they gain more experience but there will always be mistakes and problems.<p>&gt; my manager has been gone since December<p>So you have nobody to report to since then? Why don&#x27;t they give someone else this responsibility?<p>&gt; Should I be writing reminders to myself to always double check everything?<p>You can&#x27;t check if you don&#x27;t know what to check. A senior should be reviewing all your work.<p>&gt; Should I write down the steps to every process?<p>For whom? Who is going to read this?<p>What you should do is talk to whoever you are supposed to report to... and tell them how you have not been as productive as you have wanted to... and that you think that it would be better for you and the team if there was a senior available for you to assist you with every task until you feel more comfortable to be more autonomous. It seems the team isn&#x27;t proactively helping you so it is up to you to proactively seek help if you are going to make progress. You should aslo ask for a monthly one-on-one meeting with your manager (or who is supposed to take that responsibility when he&#x27;s gone) where you can discuss these issues.