18

I joined the automation team at a big company in my country about a year ago, straight out of university. Since then I've gotten involved in half a dozen projects, but haven't actually completed any of them. My coworkers have all completed multiple projects in this same time. Some of them have only been here 6 months longer than I have, so they don't have significantly more experience than I do, but they seem to be performing much better. I don't notice my coworkers asking each other for help, but I often have to ask for assistance. Sometimes I get stuck with my code for hours, trying to google solutions but not coming up with anything helpful and eventually just having to wait for someone on the team to give me a hand.

I don't slack off while I'm waiting. I continue to try implementing solutions I find online, or move onto one of my other projects. However, due to this, my output is very slow.

We have daily scrum calls for each project and often times I have to say I'm still working on something which should have been already completed. It's embarrassing for me, and frustrating for my scrum master.

My manager has asked me a few times to focus more on a certain project or to work faster, so I know it's not just in my head.

I'm starting to doubt that this is all just the Impostor Syndrome and wonder whether I'm just not cut out for programming. I know the obvious solution would be to study more in my free time. However, between the 8 hour work day, the 3 hour (round trip) commute, working out, eating, and spending time with family, I really don't have any free time left over.

I do ask questions at work, and my coworkers are very helpful about answering them. But they do have their own meetings and deadlines and understandably, can't be relied on.

I did work with someone once in a pair programming setting and that went very well, but that coworker got pulled onto another heavy project so that's no longer an option.

How can I tell whether I'm just dealing with Impostor Syndrome or if I'm actually not a good programmer? I don't know whether to keep trying or accept a loss and try to regroup.

  • Do you have performance reviews in your company? – DarkCygnus Sep 3 at 17:02
  • @DarkCygnus we have performance reviews once a year, I was skipped over during it because my manager said I was too new, and there haven't been any more since then – Trying_to_float Sep 3 at 17:20
  • If you only have 12 months of experience, it means that if your coworkers have 6 months of experience more than you then they have 50% more experience than you. – Carlos Campderrós Sep 4 at 16:11
  • You are a software developer! Therefore it's imposter syndrome! – David Sep 5 at 10:20
  • To improve yourself consider joining local user group meetings (most of user groups have a meeting once a month or so and can go for few hours). During the meetings you can connect with a people who work in the similar environment and might provide you advice or guidance that might be useful for your setup. Consider asking your boss to sponsor your attendance to the local conferences. You have 3 hours of commute. Use this time to read work related books, articles and training courses. If you are driving all the time consider car sharing where sometimes somebody else would drive. – AlexanderM Sep 5 at 16:13
11

Whether or not you're cut out to be a developer is unrelated to Imposter Syndrome.

If other people think, and act, as though you are better than you believe yourself to be, that would be Imposter Syndrome.

That said, no one went from completely inexperienced to a Rock Star in a day, month, week or year. No one is expecting you to be super-productive, never ask questions, never write a bug, never be late on an assignment. What matter is your ability to continually improve and recognize your own limitations. It is on that last point -- recognizing your limitations where you demonstrate you have a grasp on things.

10

Forget imposter syndrome. You're right that sometimes people think they aren't as good as others or don't belong, and are wrong to think that. But you have a more serious problem: you're not sure if your performance is good enough for your job, and have already received some unsolicited advice from your manager a few times. It's natural to conclude that perhaps your manager is, like you, unhappy with your pace.

I don't think studying in your free time is the solution to the problem you face. It presumes that the problem is you don't know enough facts or information -- and that you can guess what it is you need to study. I'm not at all sure either of those are right. Your problem might be that you get distracted, or that you spend too long finding problems, or that you're doing things the hard way, or you might not even have a problem at all. (Sure, self study is a good and useful thing to do, and might fit into your commute, and I'm not saying don't ever do that. I am saying doing that now is unlikely to fix your worry about whether you're doing your job properly right now, because you don't know what the problem is.)

You know who probably does know, at least to some extent, what your problem is? Your manager. They know if you're taking too long, making too many mistakes, not letting people know when plans go wrong, not writing things the way your team prefers, your knowledge of [library/language/framework/tool] isn't where it should be, or whatever else the symptoms are. They may have some concrete advice for you, such as "try splitting your tasks into smaller ones so that you can show progress and know how you're doing" or "we can get you training on X" and the like.

Perhaps you don't want to bother your manager by asking for help and guidance. Perhaps you imagine the manager would be annoyed with someone first not being good enough and then coming and asking for help. On the contrary, good managers will be thrilled that you've noticed a problem and want to improve. They are likely to give you solid information about where you stand, though not all managers are capable of providing solid advice about how to get better.

I suggest you email your manager and ask for half an hour to get some advice. Don't mention in advance that it's about your performance. At the start of the half hour, you can flat-out ask "is my performance where it needs to be? I'm worried that it isn't." Your manager should be able to take it from there.

Warning: a small number of poor managers will tell you "oh no, not at all, fine, fine, we all have to start somewhere, no problem, keep as you are" while planning to fire you. And another small number of poor managers will unload on you with how substandard you are without any good advice (although afterwards you might get good advice from here or a coworker.) These risks are real, but not bad enough to avoid the conversation. You're more likely to be seen as a self-starter who didn't wait until you "suddenly" got fired, and you may get the reassurance, or the practical advice, that you need.

  • "I don't think studying in your free time is a good idea at all." -- that is horrible advice. When I was early in my career, I learned most everything I needed to know through self-study. As I've progressed and technology has changed, more self-study. I think that if it weren't for self-study, I'd be a far more mediocre developer than I am today, and I'm pretty damned good. Mostly because of self-study. – Julie in Austin Sep 6 at 11:54
  • 3
    In general, self study is terrific. In a crowded life while struggling at work, thinking "I'll just learn that new framework for a few hours each night when I should be sleeping" is unlikely to fix the problem. I'm not opposed to self study in general, but I don't think it's a good fix for the situation the OP is in. – Kate Gregory Sep 6 at 11:56
  • As another responder noted, he has a 3 hour commute. Unless he's spending that time driving (as opposed to on a train or bus), that's 3 hours. There's also more than learning a new framework. I haven't learned a "framework" in 4 years. Right now I'm learning about the components of a processor I last used 6 years ago (I'm a bare-metal and O/S internals developer, so processors it is). It doesn't take hours a day. When I was learning Python, I just kept my Kindle handy. There are ways to learn, even with a crowded life. – Julie in Austin Sep 6 at 12:00
  • 3
    I am not anti-learning. I make online courses! Please, go ahead and watch Pluralsight on your commute, all of you. But it will not fix this problem any more than exercising more will, or getting a haircut. They are good things to do. They won't fix this problem. – Kate Gregory Sep 6 at 12:09
  • Hey, you just described my manager in the first sentence of your last paragraph... He did that to 3 colleagues already... Guess who will be searching for a new job before she gets fired too... – Cyonis Sep 9 at 7:48
3

Since then I've gotten involved in half a dozen projects, but haven't actually completed any of them

Given you are just one year into your career, is the general expectation that you are supposed to complete the project individually, or is it to work as a team to get them done? Do not compare your situation with your peers, as different projects and teams can carry their own expectations, even within the same company.

We have daily scum calls for each project and often times I have to say I'm still working on something which should have been already completed.

Are you underestimating the complexities? Check whether you overpromising and underdelivering, which is possible if you have the urge to give aggressive timelines.

I know the obvious solution would be to study more in my free time.

You have the right idea. Given you have a commute of 3 hours (which sounds a lot), can you find ways of utilizing it for studying? If using a tablet with ebooks or listening to podcasts is an option for you while you commute, it would be a good investment to get the device / subscriptions.`

2

The difficulties of tasks vary a lot. It is very common that some of them take longer than others. Some tasks that seem to be hard are actually self-contained and actually can be finished very quickly. So do not compare yourself with your coworkers. You are facing different tasks.

It is also not helpful to consider yourself as a victim of Imposter Syndrome. Try to focus on improving your self instead.

Actually I had these same concerns before, and following are what I (and my mentor) did to improve the situation. Hope they could be also helpful to you.

  1. Reduce the granularity of tasks. When I was working as an intern several years ago, I had a very huge item on my TODO list. It was sticking in my queue for a long time. I felt very uncomfortable to talk about it again and again at every scum meeting. My mentor helped me to split into smaller pieces, so that I can gradually move the finished items to the done queue.

  2. Profile your performance. We are software developers. If you are concerning your performance, why not profile it? When I was working on a project, I wrote down what I did (e.g. planing the solution, implementing a specific class, etc.), and put a timestamp after each item. When I finished the task, I review my list and find out which part took the longest time.

    That approach is not very accurate though, because some small actions might be omitted (e.g. browsing social media), and it is intrusive; as you need to stop and write down what you are doing. I would use a screen capturing tool to record my action if I would do it again.

    After you get the the "profiling report", we can do some analysis on it. There are some interesting things you may need to look at:

    (a) How much time did you spend in coding but later you realized it actually cannot solve your problem, and then had to revert the code. (hint: understand your question, plan first)

    (b) How much time did you spend in Google/StackOverflow to find a solution but the answers finally were not turned to be a working solution in your case. (hint: understand your question. Precisely describe what you are solving.)

    (c) How much time did you just read other people's module/document/comments to understand the design so that you are able to integrate your own work into the system. (suggestion: sometimes just talking to the module owner would be more efficient.)

    (d) How much time did you spend in reproducing a bug/compiling a project. (hint: try to make a minimal example first, try to isolate your problem from irrelevant dependencies)

    (e) Did you do the refinement or other tangential things too early? (hint: try to finish 80% of the task first, and then refine it. Also talk to your customer to learn what is the expected deliverable)

    (f) How much time did you spend in "context switching". You mentioned that you "move onto one of my other projects" while blocking. To me, this seems a bad practice. One might need even more time to get back to the previous task and get warmed up (again). (hint: find out what is blocking you and fix it.)

Finally, I would like to mention blindly "study more in your free time" might not be very helpful. You will need to identify your problem first, and address it specifically, since you do not have much free time.

0

I would say in a healthy environment you can head what Julie in Austin answered, unfortunately, those kinds of workplaces are few and far between, but only you would know which one you are in.

It takes being more conscious. What kind of language are they using? Are they making comments such as "oh you are not what we thought". If so, yeah, it's time to move on, something went wrong in the interview process. But don't leave if you can't afford to, let them walk you to the door if it comes to that and then examine the interview process so that next time you make your value proposition clearer.

Its not that you are an impostor but most probably its that there was a misunderstanding in what you had to offer.

For example, an employer really gets excited about a technology you used five years ago, but you yourself may no longer care about it. So if they said, oh we decided to hire you because we like that you did x...and x was something you did like three years ago and no longer care about it or feel strong in, well, that's something that will come back to bite you. Keep in mind as you figure this stuff out that the current trend is toward hiring "generalist" type of developers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.