5

I started a new job 2 and a half weeks ago as a software engineer. This is not my first job but I've never felt this lost and demotivated so early. I was assigned a coding task three days ago and i still have not finished it, first because i misunderstood the task requirements and now i don't think that what my code outputs is correct.

Meanwhile there is a teammate who started one week later than me and has already had two code reviews approved, and the guy is a fresh graduate whereas I graduated a long time ago (this bit makes me feel embarrassed tbh). I know that everybody is different and we learn at different paces but i can't help feeling dumb and i am scared that my manager will compare me against him and I will obviously lose because i did not ask enough questions about my task. I also feel "behind" because the programming language is new to me.

I'm also fighting an internal battle between "read the code!" and "ask questions!". The code is readable but i think it does not help me understand the business logic. And i can ask questions and get answers fast but i don't want to bother people.

So basically I don't know how to proceed or how to stop feeling this low. I'm having a meeting with my manager in a few days and I don't know how to voice this concern beside saying "X is doing much better than me - how do I improve?"

I'm at a company that encourages you to ask questions and yet I feel scared to...

  • What are you asking? How to word this to your manager in a conversation? Or how you can get over your reluctance to actually tell him? As an aside, don't forget that a new graduate will be getting very basic stuff asigned, comparing his output with yours is largely meaningless. – Lilienthal Jul 27 '17 at 8:32
8

I've never felt this lost and demotivated so early.

Sounds to me like a case of broken expectations: Maybe you were expecting to be able to land and sprint, and that didn't happened. That's fine, it only means that you need to grok it better.

I was assigned a coding task three days ago and i still have not finished it, first because i misunderstood the task requirements and now i don't think that what my code outputs is correct.

So get a hold of someone that knows how the output should look like, and ask. 'Here's my implementation according to my understanding of the requirements, but something still feels out of place. What do you think?'

Meanwhile there is a teammate who started one week later than me and has already had two code reviews approved, and the guy is a fresh graduate whereas I graduated a long time ago.

Maybe he knows the technology, or had some lucky previous experience with a very similar implementation. Maybe you would fare much better if you took the assignments that were given to him, and maybe he would be completely stuck implementing your current task. We don't know: While I understand your concern, no PM worth its salt would rush to conclusions involving the performance of 2-week old developers.

I also feel "behind" because the programming language is new to me.

So that's one more factor, and completely understandable. Again, put some effort into really grokking the language. I have a background in strong-typed, event-driven languages. When I started implementing on JavaScript, I felt like I was trying to force JS to behave in a synchronous, unnatural way. Took me some time to relax and enjoy its async nature. Now I'm in love with it.

I'm also fighting an internal battle between "read the code!" and "ask questions!". [...] And i can ask questions and get answers fast but i don't want to bother people.

Now that's an easy one: Always ask the questions, until you feel confident enough to proceed on your own. They expect you to: You're fresh to their business model and codebase.

So basically I don't know how to proceed or how to stop feeling this low.

You feel that low because you perceive your current status as a mesh of negative situations - fighting the language, the implementation, the task, your lack of knowledge about the business model and finally the natural competition of your working environment.

YMHO you have only one problem: Focus. You need to steel yourself and attack your assigned task with all your might and deliver something above and beyond expectations. That'll give you confidence, assure your PM that you're a reliable resource and open the doors to a better professional experience at your new job.

Also, Good luck on your new job!

| improve this answer | |
5

A few thoughts on this:

  • What another developer does and how quickly he proceeds is not of any interest in your case. Just ignore this, and if you feel that you can't ignore this, ignore this feeling too. You can't accurately judge the progression of that guy, and you shouldn't waste your time and energy on it.
  • If you feel bad for asking and "wasting time", look at it this way: If you don't know what you are doing, you are wasting more time. Not asking is wasting time (and thus money of the company). And why would you want to waste time and money?
  • If you really don't know if you may bother people, check this with your manager. Typically, there is a certain amount of time reserved for helping a new member of the team (I am calculating two full weeks in such a case, so many many questions are possible) that is expected to spend on this topic. As a PM, I even get upset if I find out that this time is not used and the new guy does not ask any questions but is obviously irritated and underperforming. To state it clearly: As a PM, I am bothered by you NOT ASKING, not by you asking.
| improve this answer | |
3

The majority of previous answers have said ASK QUESTIONS and I would like to reaffirm this with more emphasis:

ASK. QUESTIONS.

As stated, it is expected of you - you are new to the system, new to the language and new to the environment. You've been told to ask so you should have no fear about it.

That said, I do understand the hesitation - it's hard, with people, systems and semantics that you don't understand yet to be completely surrounding you, and expecting you to know even the right questions to ask. I've been in the same position of crippling fear that is hindering me from doing my work. So the purpose of this answer is to try and help you to know what to ask and how to ask it.


Write things down

As you're going through code and you're not sure how something works, make a note of it. Write down the actual question you would like to ask. Often when I've done this, it has led me to think of potential solutions to the problem, and I've ended up not needing the help after all. Of course that's not always the case, but can happen. When you have a specific problem in mind, the solution for it might suddenly seem a little clearer.

Collate your questions

Once you have a good list of questions, read through them all and look for connections. Is this question related to this one? Might the answer to this question impact the outcome of this one? Know them inside out, and drill down to exactly what it is you want to know. It may seem like a daunting task initially, but when you really focus on the subject of the questions themselves you will hopefully be able to identify what exactly it is you're unsure of.

Make a note of all the things you've tried to solve problems, or all the different ideas you have about understanding the system - they will be useful later when you're explaining your thought process.

Approach the right person

Look at the people who are available to help and try and decide who will be able to answer these questions best. Is it a manager, a team member? Sometimes this is hard to identify when you're new to a working environment, but do your best - it might be worth asking an initial question of, "Who should I ask about this?" to be directed to the right person.

Once you have someone to ask, make it known what you want to ask about and specifically ask for some time, something like: "I have some questions about this application. Would you mind coming over to my station for about fifteen minutes so I can run them by you?" By doing this, you make your intentions very clear, and you've indicated to them that you require their direct attention for a little while. It means that they can clear a bit of time for you and focus on the task at hand.

Ask the questions!

You should have all your notes and any research that you undertook written down - that research will be handy if they ask you any follow up questions, like "What have you tried so far?" It's very good to show that you're competent enough to have looked into the issue, at least. If you were on the wrong track, that shouldn't be a problem - they'll be able to set you right.

Run through the questions in as structured a fashion as you can. This will help you to keep focused and not miss anything out. I find it useful to have a machine nearby with the code or system in question available, so that if they want to demonstrate something you don't have to go looking for files or snippets.

And try your very best to relax: this person has come over to help you so it's clear that they are encouraging you to ask questions. Be sure to thank them for their time, too.


That's the long and short of it. You will have to ask questions at some point, so better to do it sooner rather than later. Better to (worst case scenario) feel a little bit silly now for missing something obvious than spending weeks looking incompetent because you don't know what you're doing... because of missing something obvious.

It is hard. It can be embarrassing and belittling, especially if you feel like you should be doing better, but it will do you so much good down the line. And I am very confident that once you are on more solid ground, you will feel so much better about your work. Hope it goes well!

NB: One final point - don't compare yourself to your colleagues. It never does anyone any good. See yourselves as a unit focusing on achieving a task, and I guarantee that you will feel happier and more fulfilled.

| improve this answer | |
1

I'm also fighting an internal battle between "read the code!" and "ask questions!". The code is readable but i think it does not help me understand the business logic. And i can ask questions and get answers fast but i don't want to bother people.

I think lost at beginning is pretty common thing to be happened, so always stay keep on track with your senior or either manager to know what you can do next till you think that you are capable enough to do it alone , they wont be bothered after all. unless you are repeatedly ask similar question or either a question that you can search it alone

good luck and hope god bless you for your bright future.

EDITED for better readability

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .