| I think you need to make your concerns more objective and focus on what can change about each one. You don’t seem to lack the critical thinking skills that are the hallmark trait of a good developer. The most objective criteria you can ever pull from is, regardless of the messiness or efficiency of the solution, whether you’re able to solve problems. If I asked you to do some work, and you could do it in any amount of time, that is the most difficult milestone many fail to achieve — And it seems that bar is more than met with you. Perhaps you are worried with the quality of your solutions. I’d argue that in many situations, it comes down to domain knowledge. That is something you will naturally gain as you continue to code and read about CS theory, and especially so if you keep exposing yourself to new things out in the wild or at work. Brilliance is often witnessed or measured by the application of domain knowledge, but the genuine underlying brilliance comes from your ability to recognize patterns and having the discipline to see things through to a working solution. You’ll almost always find yourself with company that can work faster or slower than you and be different shades of brilliant, because our brains gravitate towards different things when we hear about a problem. It is not easily compared, and when forced it easily becomes unfair and unproductive. If you had to leave this post with anything, it’s this: don’t you dare judge your programming abilities by the typical big tech interview. They are created in a way that tries to gauge your critical thinking skills, and sometimes that is executed quite well, but more often it requires arcane domain knowledge that demands deliberate and specific attention you would be unlikely to give and come across otherwise. It is a specific process that is related to our daily work, but do not get it confused with the actual work we do. Many incredible programmers are rejected because they haven’t nailed the interview domain — that’s okay and can still be consistent with being a good developer. It’s a different isolated problem you can focus on. |