Let me describe my background.

I am currently a software developer co-op working at an architecture firm that has a large focus on research and development, mainly in mathematical modeling and physics simulations in better aid architecture design.

I am one of the three main software developers. Realistically, we're all people that specialize in different topics, for example, one developer is an architect that's been programming and doing mathematical models since he was in high school (he's like 30 years old), and the other architect also has a Masters in data analytics. We all specialize in different things, making us part of a very multi-disciplinary group of nine people in total.

Currently I am working on a project that handles Grasshopper 3D and Rhino 3D programming, making use of the Grasshopper SDK. I really enjoy what I am doing and appreciate the learning opportunity, however, with that said, the nature of Grasshopper programming has been difficult for me.

I don't think I am that poor programming-wise, however, since most of my projects involve extending functionality beyond what the default Grasshopper SDK does, there are often times I have to spend a good couple hours or even days to understand a problem and then apply code to it. The very nature of this "functionality beyond what the default Grasshopper SDK provides" means that finding a solution to a problem isn't as simple as Googling, because of the relatively rare resources available, whether it's documentation or help threads online.

The nature of getting stuck on an issue and the only remedy to said problem has been slowly chipping away at my confidence, and I evidently see that I am slowing down in shipping out components (that's what Grasshopper 3D "tools" are called).

I've already made a good impression in the first couple months of my co-op in being known as efficient, quick, and comprehensive, however, in my three month review, once I began this task of working on Grasshopper programming, my advisors have noticed that my progress has not been as quick, and they mentioned that they are wondering what/where better to put me to work on that will bring out my full potential.

I like the idea of working on another project, but I do not wish to do so until I've finished the current one I am on, which day by day I feel like I am making snail's pace progress because of some issues I am stuck with where finding help is a problem in itself.

I dislike making a bad impression on my colleagues (and on my school as well, since I am a co-op employee), as I really believe I have the potential to do great. However, this issue of getting stuck on something, making small progresses, then getting stuck again, is simply chipping away my confidence.

What are some things I can do? I feel like once I am stuck on a problem, I find myself closing up, unable to voice it, as if asking for help is a sign of incompetency.

  • Part of the description seems to match some psychological phenomenon and therefore not a strictly programming-related question. Try to identify which parts of your feelings are substantiated by facts and evidence, and which parts are just feeling, and then ask at [workplace.stackexchange.com]. For example, descriptions related to "impression", "on my school" (the fear of reputation) are likely to be feelings. – rwong Aug 19 '15 at 4:38
  • 1
    Keeping a work journal will be the first step in diagnosing work productivity and progress issues. In addition to that, try to keep a personal diary (if you feel comfortable doing so), which will help diagnose changes in emotions and perceptions over time. (Again this is not programming-related.) – rwong Aug 19 '15 at 4:42
  • Thank you for this comment but this question is more than a year old – theGreenCabbage Aug 19 '15 at 5:37
  • 1
    Have things changed / improved? – Jaydee Aug 19 '15 at 9:55

You must ask for help when you are stuck, regardless of how it makes you feel. You are using an SDK that is dragging down your productivity; it is not your fault. You cannot be considered incompetent. It is always easier to work on stand-alone code that does not depend on third party libraries, or only uses well designed, mature libraries. Your best choice in this case is is to ask for help, and publicly complain about deficiencies in the library.

| improve this answer | |

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