I've recently started interviewing for software engineer positions in San Francisco. My first invitation to interview involved a coding walk-through where I was asked to bring a project that I was proud of, pick a segment of code and talk about what I'd written - any challenges faced, solutions that I was particularly proud of, that sort of thing. Lesson #1:
Showing the code is not the same as explaining the code.
I quickly realized, that although I am capable of writing the code, I fall short at being able to explain that code to another person. Doh! This is where being a teaching assistant comes into play as a helpful solution. Lesson #2:
Teaching someone else is the best way to learn.
A few weeks ago, I starting TA-ing the newest full stack web development cohort at General Assembly. I believe that helping people solve their problems, even if you don't know the answer, will broaden your knowledge base. Last week, I helped a student debug a problem he had with the Mongo database. Once we solved the problem, it turned out that several other students had the same problem. I was then able to point the in the direction of the bug.
I know that it's impossible to know all the things, even if I've seen it before - there is just too much to commit to memory. I also know that it's totally ok to do a Google search to better understand a topic I don't completely have a handle on, in order to help someone else solve a problem. In the end, I learn something new or have a better understanding of something I sort or knew before.