I am not a good programmer. My brain doesn't think in loops. Despite taking courses in college, completing homework assignments, and trying supplemental learning through code academy - I've never reached a point where I can easily write code. As a result - I dread it. Obviously, it's more fun to do what you're good at all the time. But as an engineer you can't avoid programming forever and for the past 6 months it has been the elephant in the [my] room. Some days I have victories and feel awesome; other days, like yesterday - I spend the entire day trying to make something work and it doesn't. Then (truthfully) I usually lose my shit at someone in my life - my parents, my boyfriend, or any of my lovely friends.
Because the engineering world so highly values strong technical skillsets, having programming not be your thing can be defeating. It makes you feel like you don't have a place in the discipline sometimes. I'm great at asking the right questions; but I wish I was better at finding the answers. While the PhD has given me a lot of opportunity to engage with things I am good at and enjoy [design, systems mapping, tech for dev, impact assessment, etc...] it's also made me jump through a bunch of technical hoops that haven't been fun for me. I get the argument that I'm better as a result however that still doesn't replace the fact that the process is discouraging. Anyways, when I'm feeling like an imposter and that I have no idea what I'm doing here are 3 ways I work around it:
1. Take a walk: This is the most immediate. When I am sitting at my computer and cannot figure out either what I'm doing wrong or what I should do next I go outside and take a walk. I remember when I was deciding between MIT and Berkeley I had the thought, "At MIT I see myself being stressed out and cold." Turns out -- I was totally right. The PhD process is incredibly stressful. I never take for granted the ability to walk outside at Berkeley, enjoy the sunshine and see a view of the bay. It lets me clear my mind, refreshes my motivation, and ultimately reminds me there's a lot more to life than programming.
2. Remind myself I don't have to be good at everything: No one is good at everything. No one. When I'm feeling frazzled I take a second to remind myself what my strengths are and why they're valuable for engineering. I'm great at (and love) framing questions, building a storyline around scientific research, and helping others do those things as well. That's where I see my career heading. I'm never going to be a data scientist. And that is okay.
3. Ask for help: The best part at being at a top university? There are a ton of smart people around. The other day I was feeling stupid but finally got frustrated enough to ask for help. The first person I asked -- who is a rockstar programmer -- didn't know how to help me because it was more of a math question than a coding one. While I wished that he would've had all the answers it served as a nice reminder that this stuff is HARD. harder than I give myself credit for. That gave me the courage to ask a second person for help which was incredibly beneficial for my work.