3 ms·
Like I suggested, developing the skill is largely a matter of practice and it becomes both more easy and more robust as you work to hone it. It is not the defi
by swatcoder 2y ago
Like I suggested, developing the skill is largely a matter of practice and it becomes both more easy and more robust as you work to hone it.
It is not the defining characteristic of "10x developers" like Carmack. He's of an especially rarified sort and not really someone to look at as a role model in the first place because his experience and background is so idiosyncratic.
What we're talking about here is just an essential characteristic of "competent developers" and is among the array of characteristics that distinguish early-career developers from more genuinely senior ones. Your stepwise growth of the skill is very highly correlated with what value you'll provide as a developer (and therefore what roles and rates you can pursue).
Next time you encounter a frustration like you found in (2), don't just blindly update ImGui and hope for the best. If you think it might be the problem (a great insight because you were modeling it!), open your local version of ImGui and see if you can find where it's a causing problem, because you're now going to be very invested in reading ImGui closely (to find the issue) and you're going to learn so much that will help you better model ImGui in the future, as well as better model other utilities.
After you've put some effort into that, and hopefully even found the issue (but perhaps not), then go to GitHub and try to use changelogs, issues, PR's, etc to see if you can find some specific commits that might be related to the issue. Analyze those commits yourself and see what you can learn from them, improving your understanding about utilities like ImGui and how they're implemented and where bugs like the one you encountered might lurk so you can track them down more quickly in the future. Only then should you consider updating your local version.
And while you might be reading this and thinking "who's got time for that?!", it doesn't really take that much time once you get the hang of it through practice, and every time you do it, you're making huge investments into your own proficiency and value (-> future roles and rates). Don't skimp, just do it!
(As for #1 - "getting tired" -- aspiring athletes, whether professional or amateur, get tired during training too. And that's okay, because again, it's all a process of development and growth. To train, you push as far through the tiredness as you can, and then make the compromises you need to, always trying to push yourself a little bit farther before you do. By doing this, that wall of tiredness moves further and further out and you become that much more capable and productive.)
- markus_zhang 2y agoI did. I did look into the source code and wired gdb to go through. I should mention that in the reply but I didn't because I didn't figure out the why. That's why I guessed the scancode is the issue, because it never went into the if statement for BACKSPACE, but I didn't confirm that, neither did I change the scancode to see which value is the correct one, because I got really tired after a few nights of debugging. Like I said I agree with you in principle. Sometimes I feel guilty not knowing the real issue instead of just glossing away. Wouldn't the 10x programmers want to figure out the root issue of this kind of bugs? But realistically -- this probably sounds defeatism, it burns me out quickly if I do that. It might just be that I'm genetically prone to be impatient and easy to frustrate, or be that I'm not mentally well, or whatever. I know it sounds defeatism so I would prefer not to speak these lines. But again I must thanks for your reply, and will keep trying pushing a bit further every time.
- jaredsohn 2y agoI think AI can help reduce the burnout. Send it some code that you think may be relevant and ask about it and then verify after you see the AI's explanation. Of course AI can burn you out, too, if it doesn't find something useful but it can be a time-saver for this purpose sometimes. Basically try to take advantage of when verification is easier than what you're asking AI to do for you.
- markus_zhang 2y agoThanks. I did use AI for my first pieces of the code because I couldn't wrap my head around ImGui at the moment. I was very alert about using AI to write code though, because I still want to understand things. So I stopped using it during the last two nights. I can't complain about the code quality as it's decent, but I just want to get better at reading the source code, I guess.