| Totally echo all the other comments in here about imposter syndrome. Also: > I can recall my last interview tripping up on questions about very basic OOP concepts, which you'd think I'd have internalized now and there's no way in hell I'd make it past a phone screen for your average whiteboarding company. I know many people much less experienced or even relatively new who are significantly better at this. Okay, so depending on the question, I'd probably have the same problem. It's hard when someone asks a question like "what are all the uses of static in C++?" It's just not the way a programmer thinks about it, or at least, not how I do. It's a tool, and when I see that word I know what it means, but I can't just rattle it off my head. So let's say one of the "basic" OOP concept was about multiple inheritance, which is basic in that it's easy to implement (and screw up), but given all the problems, I'd never implement something that way personally if there was any way around it. So I'm not familiar with all the ways vtables and inheritance might work, or which function gets called. I'd probably just say "I'd run the code and look at the output" Internalizing knowledge is hard. It's more of an instinct I feel than something that is necessarily easy to explain that you know to someone else. Also, a lot of people are great at interviewing and shit at getting work done. Interviewing has nothing at all to do with work. (which is why hiring is broken) > I also suppose that I'm an ok "hacker" in that I can get very interested / fixated on certain problems, although my solution is more likely to be a complete mess. This I think is the first rung for any solution for me. Get it working. Prove it's possible and that you have something that will work, not just "might work" or "hope it works". Then you can refine it. Look at things like names, lines of code, repeating yourself, etc. I've seen a lot of code that looks great but doesn't work. Messy code is sometimes the outcome of a messy problem! Also let me just close by the fact that at least you have self-awareness of your issues, which is required on fixing them (even if it's just a psychological issue). Many devs write terrible code and think they are gods. I'd rather have someone I could teach. |